IP Library Granted Patent US 8,972,674
Granted Patent B2
US 8,972,674 · App. 14/147,453 · Granted Mar 3, 2015

Compensation for solid state storage

Inventors: Kenneth J. Eldredge (Boise, ID); Stephen P. Van Aken (Boulder, CO)
Assignee: Benhov GmbH, LLC
G06F12/0246G11C11/56G11C11/5628G11C11/5642G11C2211/5641
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 8,972,674
App. No.
14/147,453
Granted
Mar 3, 2015
Kind
B2
Abstract

A method and system for storing and retrieving data using flash memory devices. One example system includes an apparatus within a flash memory configuration. The flash memory configuration includes a plurality of memory cells, where each memory cell has a charge storage capacity for use in implementing digital storage. The apparatus includes a processing arrangement configured to access each of the memory cells in a write operation and a read operation. The apparatus also includes an instruction set for instructing the processor to impose target charge levels for defining a plurality of data values for each of the memory cells. The target charge levels are programmably movable with respect to the charge storage capacity.

Claims (65)

1. A flash memory device comprising:

flash memory; and

a controller, the controller configured to:

receive one or more memory symbols corresponding to data to be written, where each of the memory symbols identifies a charge level; and

for each of the one or more memory symbols:

perform one or more pre-compensation adjustments to modify the charge level identified by the memory symbol, the modification defined by a pre-defined rule corresponding to one or more of: a type of the flash memory and a calibration previously performed on the flash memory; and

perform a write operation to the flash memory with the modified charge level.

2. The flash memory device of claim 1 , wherein:

each of the one or more memory symbols is from a set of possible memory symbols;

the pre-defined rule is a rule from a set of at least two rules, wherein each rule in the set of at least two rules:

corresponds to an item in the set of possible memory symbols; and

has a pre-determined adjustment value to apply to the corresponding memory symbol during pre-compensation; and

the adjustment value of at least one of the rules in the set of at least two rules is different from the adjustment value of at least one other of the rules in the set of at least two rules.

3. The flash memory device of claim 1 , wherein:

each of the one or more memory symbols is in a set of possible memory symbols; and

the pre-defined rule defines a pre-determined adjustment value to apply to at least two of the items in the set of possible memory symbols during pre-compensation.

4. The flash memory device of claim 1 , wherein the pre-defined rule corresponds to the type of the flash memory.

5. The flash memory device of claim 1 , wherein the pre-defined rule corresponds to the calibration previously performed on the flash memory.

6. The flash memory device of claim 5 , wherein the pre-defined rule identifies an adjustment value to apply to the memory symbol during pre-compensation adjustment, the adjustment value determined by the calibration previously performed on the flash memory by:

applying a target charge level to a location in the flash memory;

reading a stored charge level stored at the location;

comparing the read charge level to the applied target charge level to determine a difference value; and

calculating the adjustment value based on the difference value.

7. The flash memory device of claim 1 , wherein the controller is further configured to:

read one or more additional symbols from the flash memory corresponding to a read request, where each of the additional memory symbols identifies a value determined from an additional charge level stored by the flash memory; and

for each of the one or more additional memory symbols:

perform one or more post-compensation adjustments to modify the value identified by the memory symbol, the modification corresponding to an additional pre-defined rule; and

provide, in response to the read request, the modified value.

8. A flash memory device comprising:

flash memory; and

a controller, the controller configured to:

read one or more charge values from the flash memory in response to a read request, where each of the memory charge values is determined from a charge level stored by the flash memory; and

for each of the one or more charge values:

perform one or more post-compensation adjustments to modify the charge value, the modification corresponding to a pre-defined rule defining an adjustment value corresponding to a characteristic of the flash memory;

determine a memory symbol corresponding to the adjusted charge value; and

provide, in response to the read request, the determined memory symbol.

9. The flash memory device of claim 8 , wherein two or more pre-defined rules are defined to provide different adjustment values each corresponding to a different memory symbol.

10. The flash memory device of claim 8 , wherein the pre-defined rule defines an adjustment value to apply during post-compensation that compensates for persistent distortion or noise during read or write operations to the flash memory.

11. The flash memory device of claim 8 , wherein the pre-defined rule corresponds to the type of the flash memory.

12. The flash memory device of claim 8 , wherein the pre-defined rule corresponds to the calibration previously performed on the flash memory.

13. The flash memory device of claim 12 , wherein the adjustment value is determined by the calibration previously performed on the flash memory by:

applying to a target charge level to a location in the flash memory;

reading a stored charge level stored at the location;

comparing the read charge level to the applied target charge level to determine a difference value; and

calculating the adjustment value based on the difference value.

14. A method for writing to a flash memory device using compensated values, the method comprising:

receive one or more memory symbols corresponding to data to be written, where each of the memory symbols identifies a charge level; and

for each of the one or more memory symbols:

performing one or more pre-compensation adjustments to modify the charge level identified by the particular memory symbol, the modification corresponding to a first pre-defined rule; and

storing the modified charge level to the flash memory device.

15. The method of claim 14 , wherein:

the one or more memory symbols comprise at least two memory symbols;

the rule defines an adjustment value to apply to the particular memory symbol during pre-compensation; and

the adjustment value is based on the order of at least two of the memory symbols.

16. The method of claim 14 , wherein the pre-defined rule defines an adjustment value to apply during pre-compensation that compensates for persistent distortion or noise during read or write operations to the flash memory device.

17. The method of claim 14 , wherein:

each of the one or more memory symbols corresponds to a possible set of memory symbols; and

the pre-defined rule defines a pre-determined adjustment value to apply to at least two of the items in the set of memory symbols during pre-compensation.

18. The method of claim 14 , wherein the pre-defined rule corresponds to a type of the flash memory.

19. The method of claim 14 , wherein the pre-defined rule corresponds to a calibration previously performed on the flash memory.

20. The method of claim 19 , wherein the pre-defined rule identifies an adjustment value to apply to the memory symbol during pre-compensation adjustment, the adjustment value determined by the calibration previously performed on the flash memory by:

applying to a target charge level to a location in the flash memory;

reading a stored charge level stored at the location;

comparing the read charge level to the applied target charge level to determine a difference value; and

calculating the adjustment value based on the difference value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2015
From: ELDREDGE, KENNETH J.; VAN AKEN, STEPHEN P.
To: BENHOV GMBH, LLC
Reel/Frame 034674/0698 →
Continuity (8)
Continuation 13543191 · Jul 6, 2012
Continuation 12975153 · Dec 21, 2010
Continuation 11834565 · Aug 6, 2007
Provisional Application 60886926 · Jan 27, 2007
Provisional Application 60863950 · Nov 1, 2006
Provisional Application 60843117 · Sep 9, 2006
Provisional Application 60835624 · Aug 5, 2006
Related Publication 20140189219A1 · Jul 3, 2014