IP Library Granted Patent US 10,742,237
Granted Patent B2
US 10,742,237 · App. 16/014,128 · Granted Aug 11, 2020

Memory device with adaptive descrambling

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,742,237
App. No.
16/014,128
Granted
Aug 11, 2020
Kind
B2
Abstract

Disclosed herein is a memory device and a method of descrambling and decoding encoded data. In one aspect, encoded data is received. A scrambling seed is obtained from the encoded data prior to decoding the encoded data. The encoded data is descrambled according to the scrambling seed, and the descrambled data is decoded. The descrambled data may be decoded according to statistics of the descrambled data.

Claims (80)

1. A device comprising:

a receiver configured to receive encoded data;

an adaptive decoding controller configured to:

obtain a plurality of candidate scrambling seeds from the encoded data,

descramble the encoded data using the plurality of candidate scrambling seeds,

evaluate the plurality of candidate scrambling seeds according to descrambled data, and

select a scrambling seed from the plurality of candidate scrambling seeds; and

a decoder configured to decode the descrambled data obtained from descrambling according to the scrambling seed.

2. The device of claim 1 , wherein the adaptive decoding controller is configured to obtain the scrambling seed directly from the encoded data without decoding the encoded data.

3. The device of claim 1 , wherein the adaptive decoding controller is configured to:

obtain statistics of the descrambled data, and

wherein the decoder is configured to decode the descrambled data based on the statistics of the descrambled data.

4. The device of claim 1 , wherein the adaptive decoding controller is further configured to:

evaluate the scrambling seed based on one or more metrics, the one or more metrics including an entropy of descrambled data, and

select the scrambling seed based on an evaluation of the one or more metrics.

5. The device of claim 1 , wherein the adaptive decoding controller is configured to:

obtain a first candidate scrambling seed and a second candidate scrambling seed from the encoded data, the scrambling seed being one of the first candidate scrambling seed and the second candidate scrambling seed,

descramble the encoded data based on the first candidate scrambling seed to obtain first descrambled data, and

descramble the encoded data based on the second candidate scrambling seed to obtain second descrambled data.

6. The device of claim 5 , wherein the adaptive decoding controller is configured to:

compare the first descrambled data and the second descrambled data, and

select one of the first candidate scrambling seed and the second candidate scrambling seed as the scrambling seed based on the comparison.

7. The device of claim 5 , wherein the adaptive decoding controller is configured to:

obtain a first entropy of the first descrambled data,

obtain a second entropy of the second descrambled data,

compare the first entropy and the second entropy, and

select the one of the first candidate scrambling seed and the second candidate scrambling seed rendering the descrambled data having a lower entropy as the scrambling seed.

8. A system comprising:

an extraction circuit configured to extract a scrambling key from encoded data, the scrambling key indicating a candidate scrambling sequence for scrambling of data in the encoded data;

a descrambling circuit configured to descramble the encoded data;

an entropy analysis circuit coupled to the descrambling circuit, the entropy analysis circuit configured to obtain an entropy of the descrambled data;

a scrambling seed evaluation circuit coupled to the entropy analysis circuit, the scrambling seed evaluation circuit configured to evaluate the scrambling key indicating the candidate scrambling sequence for scrambling of the data in the encoded data, according to the entropy of the descrambled data, to determine an effectiveness of the scrambling key; and

a decoding circuit coupled to the scrambling seed evaluation circuit, the decoding circuit configured to decode the descrambled data based on the determined scrambling key.

9. The system of claim 8 , wherein the extraction circuit is configured to extract the scrambling key located at a predetermined location in the encoded data.

10. The system of claim 8 , wherein the extraction circuit is configured to obtain the scrambling key by changing one or more bits of another candidate scrambling key.

11. The system of claim 8 , wherein the scrambling seed evaluation circuit is further configured to determine whether the entropy of the descrambled data satisfies a threshold entropy,

wherein, in response to determining that the entropy of the descrambled data satisfies the threshold entropy, the entropy analysis circuit is further configured to update the entropy of the descrambled data to be the threshold entropy, and

wherein the extraction circuit is further configured to obtain another scrambling key.

12. The system of claim 8 , wherein the scrambling seed evaluation circuit is configured to determine whether the entropy of the descrambled data satisfies a threshold entropy, and

wherein the extraction circuit is further configured to obtain another scrambling key, in response to detecting the entropy of the descrambled data does not satisfy the threshold entropy.

13. The system of claim 8 , wherein the decoding circuit is further configured to decode the descrambled data, in response to the scrambling seed evaluation circuit determining that the descrambled data descrambled according to the scrambling key has a lowest entropy from a set of descrambled data descrambled according to a plurality of scrambling keys.

14. A system comprising:

a plurality of memory cells storing encoded data; and

a memory interface circuit coupled to the plurality of memory cells, the memory interface circuit including:

a receiver coupled to the plurality of memory cells, the receiver configured to receive the encoded data from the plurality of memory cells,

an adaptive decoding controller coupled to the receiver, the adaptive decoding controller configured to:

select, from a plurality of candidate scrambling seeds, according to entropy of data descrambled using the plurality of candidate scrambling seeds, a scrambling seed rendering descrambled data having a lower entropy than other candidate scrambling seeds, and

descramble the encoded data according to the selected scrambling seed, and

a decoder configured to decode the descrambled data descrambled according to the selected scrambling seed.

15. The system of claim 14 , wherein the adaptive decoding controller includes:

a statistics analyzer coupled to the descrambler, the statistics analyzer configured to determine statistics of the descrambled data,

wherein the decoder is configured to decode the descrambled data according to the determined statistics of the descrambled data.

16. The system of claim 15 , wherein the statistics analyzer is configured to obtain a plurality of entropies of descrambled data obtained by descrambling the encoded data according to a plurality of candidate scrambling seeds, and wherein the adaptive decoding controller includes:

a seed evaluator coupled to the statistics analyzer, the seed evaluator configured to:

compare the plurality of entropies, and

select the scrambling seed from the plurality of candidate scrambling seeds rendering a lowest entropy of the plurality of entropies.

17. The system of claim 14 , wherein the plurality of candidate scrambling seeds includes at least a first candidate scrambling seed and a second candidate scrambling seed,

wherein the adaptive decoding controller includes a scrambling seed extractor coupled to the receiver, the scrambling seed extractor configured to:

extract a first candidate scrambling seed located at a predetermined location in the encoded data, and

obtain a second candidate scrambling seed by changing one or more bits of the first candidate scrambling seed.

18. The system of claim 14 , wherein the adaptive decoding controller includes:

a scrambling seed extractor coupled to the receiver, the scrambling seed extractor configured to obtain a first candidate scrambling seed and a second candidate scrambling seed from the encoded data of the plurality of candidate scrambling seeds, and

a descrambler coupled to the scrambling seed extractor, the descrambler configured to:

descramble the encoded data based on the first candidate scrambling seed to obtain first descrambled data, and

descramble the encoded data based on the second candidate scrambling seed to obtain second descrambled data.

19. A method comprising:

extracting a scrambling seed from encoded data prior to decoding the encoded data;

descrambling the encoded data according to the scrambling seed;

obtaining statistics of the descrambled data that are indicative of a type of data in the encoded data; and

decoding the descrambled data according to the type of data.

20. The method of claim 19 , further comprising:

descrambling the encoded data based on a first candidate scrambling seed to obtain a first descrambled data;

descrambling the encoded data based on a second candidate scrambling seed to obtain a second descrambled data;

comparing the first descrambled data and the second descrambled data; and

selecting one of the first candidate scrambling seed and the second candidate scrambling seed as the scrambling seed based on the comparison.

21. A system comprising:

an extracting circuit configured to extract a scrambling seed from encoded data prior to decoding the encode data;

a descrambling circuit configured to descramble the encoded data according to the scrambling seed;

a statistics and analysis circuit configured to obtain statistics of the descrambled data; and

a decoding circuit configured to decode the descrambled data according to the statistics of the descrambled data.

Assignments (10)
PARTIAL RELEASE OF SECURITY INTERESTS Recorded Apr 25, 2025
From: JPMORGAN CHASE BANK, N.A., AS AGENT
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 071382/0001 →
SECURITY AGREEMENT Recorded Apr 25, 2025
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 071050/0001 →
PATENT COLLATERAL AGREEMENT Recorded Aug 23, 2024
From: SANDISK TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS THE AGENT
Reel/Frame 068762/0494 →
CHANGE OF NAME Recorded Jun 27, 2024
From: SANDISK TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067982/0032 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2024
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: SANDISK TECHNOLOGIES, INC.
Reel/Frame 067567/0682 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2018
From: FAINZILBER, OMER; SHARON, ERAN; BAZARSKY, ALEX; AVRAHAM, DUDY DAVID; ALROD, IDAN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 046161/0654 →