IP Library Granted Patent US 9,842,022
Granted Patent B2
US 9,842,022 · App. 15/001,358 · Granted Dec 12, 2017

Technologies for reducing latency in read operations

Inventor: Ravi H. Motwani (San Diego, CA)
Assignee: Intel Corporation
G06F11/1048G06F3/0611G06F3/0659G06F3/0679G06F11/1008G06F11/1068G11C29/52
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 9,842,022
App. No.
15/001,358
Granted
Dec 12, 2017
Kind
B2
Abstract

Technologies for reducing latency in read operations include an apparatus to perform a read attempt of a target data set from a memory, to obtain a candidate data set. A controller performs the read attempt using an initial read parameter, such as an initial read reference voltage. The controller is also to determine a candidate ratio of instances of data values in a portion of the candidate data set, compare the candidate ratio to a predefined reference ratio, determine whether the candidate ratio is within a predefined range of the predefined reference ratio, and, in response to a determination that the candidate ratio is not within the predefined range, adjust the read parameter and perform a subsequent read attempt of the target data set with the adjusted read parameter.

Claims (77)

1. An apparatus comprising:

a memory to store a target data set; and

a controller to manage read attempts of the target data set, wherein the controller is to:

perform, in response to a read request, a first read attempt of the target data set from the memory with a read parameter to obtain a first candidate data set;

determine a first candidate ratio of instances of data values in at least a first portion of the first candidate data set;

compare the first candidate ratio to a predefined reference ratio;

select a predefined range as one of a first predefined range stored in association with a first error correction process and a second predefined range that is different from the first predefined range and is stored in association with a second error correction process that is different from the first error correction process;

determine whether the first candidate ratio is within the selected predefined range of the predefined reference ratio;

adjust the read parameter in response to a determination that the first candidate ratio is not within the selected predefined range; and

perform a second read attempt of the target data set with the adjusted read parameter.

2. The apparatus of claim 1 , wherein the controller is further to selectively increase or decrease a read reference voltage to adjust the read parameter.

3. The apparatus of claim 1 , wherein the controller is further to:

identify an error correction codeword associated with the first candidate data set; and

determine the first candidate ratio as a ratio of zeros to ones in the error correction codeword.

4. The apparatus of claim 1 , wherein the controller is further to:

in response to a determination that the first candidate ratio is within the predefined range, perform an error correction process on the first candidate data set.

5. The apparatus of claim 1 , wherein the controller is further to:

perform an error correction encode process on the target data set to generate an error correction codeword associated with the target data set;

scramble the error correction codeword; and

store the target data set and the error correction codeword to the memory prior to the first read attempt.

6. The apparatus of claim 5 , wherein the controller is further to perform an exclusive OR of a predefined pattern of ones and zeros with the error correction codeword to scramble the error correction codeword.

7. The apparatus of claim 1 , wherein the controller is further to:

perform the second read attempt to obtain a second candidate data set; and

determine whether the second candidate data set has a second candidate ratio of data values in at least a first portion of the second candidate data set that is within the selected predefined range of the predefined reference ratio.

8. The apparatus of claim 7 , wherein the controller is further to perform an error correction process on the second candidate data set to obtain the target data set in response to a determination that the second candidate ratio is within the selected predefined range of the predefined reference ratio.

9. The apparatus of claim 7 , wherein the error correction process is one or more of a Reed-Solomon error correction process or a Bose-Chaudhuri-Hocquenghem (BCH) error correction process.

10. The apparatus of claim 1 , further comprising one or more of:

at least one processor communicatively coupled to the memory,

a network interface communicatively coupled to a processor,

a display communicatively coupled to a processor, or

a battery coupled to the apparatus.

11. The apparatus of claim 1 , wherein to determine whether the first candidate ratio is within the selected predefined range comprises to determine whether the first candidate ratio is within ten percent of the predefined reference ratio.

12. One or more machine-readable storage media comprising a plurality of instructions stored thereon that, when executed, cause an apparatus to:

perform, in response to a read request, a first read attempt of a target data set from a memory of the apparatus with a read parameter to obtain a first candidate data set;

determine a first candidate ratio of instances of data values in at least a first portion of the first candidate data set;

compare the first candidate ratio to a predefined reference ratio;

select a predefined range as one of a first predefined range stored in association with a first error correction process and a second predefined range that is different from the first predefined range and is stored in association with a second error correction process that is different from the first error correction process;

determine whether the first candidate ratio is within the selected predefined range of the predefined reference ratio;

adjust the read parameter in response to a determination that the first candidate ratio is not within the selected predefined range; and

perform a second read attempt of the target data set with the adjusted read parameter.

13. The one or more machine-readable storage media of claim 12 , wherein the plurality of instructions, when executed, further cause the apparatus to selectively increase or decrease a read reference voltage to adjust the read parameter.

14. The one or more machine-readable storage media of claim 12 , wherein the plurality of instructions, when executed, further cause the apparatus to:

identify an error correction codeword associated with the first candidate data set; and

determine the first candidate ratio as a ratio of zeros to ones in the error correction codeword.

15. The one or more machine-readable storage media of claim 12 , wherein the plurality of instructions, when executed, further cause the apparatus to:

perform an error correction encode process on the target data set to generate an error correction codeword associated with the target data set;

scramble the error correction codeword; and

store the target data set and the error correction codeword to the memory prior to the first read attempt.

16. The one or more machine-readable storage media of claim 15 , wherein the plurality of instructions, when executed, further cause the apparatus to perform an exclusive OR of a predefined pattern of ones and zeros with the error correction codeword to scramble the error correction codeword.

17. The one or more machine-readable storage media of claim 12 , wherein the plurality of instructions, when executed, further cause the apparatus to:

perform the second read attempt to obtain a second candidate data set; and

determine whether the second candidate data set has a second candidate ratio of data values in at least a first portion of the second candidate data set that is within the selected predefined range of the predefined reference ratio.

18. The one or more machine-readable storage media of claim 17 , wherein the plurality of instructions, when executed, further cause the apparatus to perform an error correction process on the second candidate data set to obtain the target data set in response to a determination that the second candidate ratio is within the selected predefined range of the predefined reference ratio.

19. A method comprising:

performing, by a controller of an apparatus and in response to a read request, a first read attempt of a target data set from a memory of the apparatus with a read parameter to obtain a first candidate data set;

determining, by the controller, a first candidate ratio of instances of data values in at least a first portion of the first candidate data set;

comparing, by the controller, the first candidate ratio to a predefined reference ratio;

selecting, by the controller, a predefined range as one of a first predefined range stored in association with a first error correction process and a second predefined range that is different from the first predefined range and is stored in association with a second error correction process that is different from the first error correction process;

determining, by the controller, whether the first candidate ratio is within the selected predefined range of the predefined reference ratio;

adjusting, by the controller, the read parameter in response to a determination that the first candidate ratio is not within the selected predefined range; and

performing, by the controller, a second read attempt of the target data set with the adjusted read parameter.

20. The method of claim 19 , further comprising selectively increasing or decreasing a read reference voltage to adjust the read parameter.

21. The method of claim 19 , further comprising:

identifying an error correction codeword associated with the first candidate data set; and

determining the first candidate ratio as a ratio of zeros to ones in the error correction codeword.

22. The method of claim 19 , further comprising:

performing an error correction encode process on the target data set to generate an error correction codeword associated with the target data set;

combining the error correction codeword with a predefined set of data values; and

storing the target data set and the error correction codeword to the memory prior to the first read attempt.

23. The method of claim 19 , further comprising:

performing an error correction encode process on the target data set to generate an error correction codeword associated with the target data set;

scrambling the error correction codeword; and

storing the target data set and the error correction codeword to the memory prior to the first read attempt.

24. The method of claim 23 , further comprising performing an exclusive OR of a predefined pattern of ones and zeros with the error correction codeword to scramble the error correction codeword.

25. The method of claim 19 , further comprising:

performing the second read attempt to obtain a second candidate data set; and

determining whether the second candidate data set has a second candidate ratio of data values in at least a first portion of the second candidate data set that is within the selected predefined range of the predefined reference ratio.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2023
From: INTEL CORPORATION
To: SK HYNIX NAND PRODUCT SOLUTIONS CORP.
Reel/Frame 062702/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 20, 2016
From: MOTWANI, RAVI H.
To: INTEL CORPORATION
Reel/Frame 037531/0911 →
Continuity (1)
Related Publication 20170206023A1 · Jul 20, 2017