IP Library Granted Patent US 9,671,973
Granted Patent B2
US 9,671,973 · App. 14/651,091 · Granted Jun 6, 2017

Data storage in degraded solid state memory

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,671,973
App. No.
14/651,091
Granted
Jun 6, 2017
Kind
B2
Abstract

Technologies are generally described for systems, devices, and methods effective to operate a memory device. A memory controller may compress initial data to produce compressed data. The memory controller may select a storage block in the memory device. The memory controller may identify one or more positions of defective cells in the selected storage block. The memory controller may manipulate the compressed data based on the identified one or more positions to produce manipulated data. The memory controller may store the manipulated data in the selected storage block.

Claims (60)

1. A method to operate a memory device, the method comprising:

identifying initial data to be stored in a memory;

compressing the initial data to produce compressed data;

selecting a storage block in the memory device;

identifying one or more positions of defective cells in the selected storage block;

manipulating the compressed data, by inserting one or more dummy bits in the compressed data at locations corresponding to the identified one or more positions of the defective cells, to produce manipulated data;

storing the manipulated data in the selected storage block;

encoding the compressed data to produce an error correction code;

storing, in the selected storage block, the produced error correction code in association with the manipulated data;

reading the manipulated data from the selected storage block;

removing the one or more dummy bits from the manipulated data to re-produce the compressed data; and

decoding the compressed data by use of the produced error correction code.

2. The method of claim 1 , wherein compressing the initial data includes using a lossless compression technique.

3. The method of claim 1 , wherein:

compressing the initial data to produce the compressed data is performed such that the compression increases an amount of unoccupied storage space to be available in the memory when the manipulated data is stored in the selected storage block; and

manipulating the compressed data includes:

storing one or more bits at the identified one or more positions of the defective cells; and

storing the one or more bits in the unoccupied storage space to produce one or more appended bits.

4. The method of claim 3 , wherein the error correction code includes a first error correction code, the method further comprising:

encoding the manipulated data to produce a second error correction code;

storing, in the selected storage block, the produced second error correction code in association with the manipulated data;

reading the manipulated data from the selected storage block; and

decoding the manipulated data by use of the produced second error correction code.

5. The method of claim 4 , further comprising:

determining that decoding the manipulated data has failed; and

based on the determination that decoding the manipulated data has failed, reading the one or more appended bits from the selected storage block.

6. The method of claim 1 , wherein:

compressing the initial data to produce the compressed data is performed such that the compression increases an amount of unoccupied storage space to be available when the manipulated data is stored in the selected storage block; and

selecting the storage block includes determining that an identified number of the defective cells is less than a number of cells available in the unoccupied storage space.

7. An article of manufacture comprising a non-transitory computer-readable medium having stored thereon computer-executable instructions, which are executable by a controller to operate the controller to perform or cause to be performed the method of claim 1 .

8. A memory device, comprising:

a memory controller; and

a memory chip configured to be in communication with the memory controller, wherein the memory controller is effective to, or cause one or more other devices to be effective to:

identify initial data to be stored in the memory chip;

compress the initial data to produce compressed data;

select a storage block in the memory chip;

identify one or more positions of defective cells in the selected storage block;

manipulate the compressed data, by insertion of one or more dummy bits at the identified one or more positions of the defective cells, to produce manipulated data;

store the manipulated data in the selected storage block;

encode the compressed data to produce an error correction code;

store, in the selected storage block, the produced error correction code in association with the manipulated data;

read the manipulated data from the selected storage block;

remove the one or more dummy bits from the manipulated data to re-produce the compressed data; and

decode the compressed data with use of the produced error correction code.

9. The memory device of claim 8 , wherein:

the compression of the initial data to produce the compressed data is performed such that the compression increases an amount of unoccupied storage space to be available when the manipulated data is stored in the selected storage block; and

manipulation of the compressed data includes:

storage of one or more bits at the one or more positions of the defective cells; and

storage of the one or more bits in the unoccupied storage space to produce one or more appended bits.

10. The memory device of claim 9 , wherein the error correction code includes a first error correction code, and wherein the memory controller is further effective to, or to cause the one or more other devices to be effective to:

encode the manipulated data to produce a second error correction code;

store, in the selected storage block, the produced second error correction code in association with the manipulated data;

read the manipulated data from the selected storage block; and

decode the manipulated data by use of the produced second error correction code.

11. The memory device of claim 10 , wherein the memory controller is further effective to, or to cause the one or more other devices to be effective to:

determine that the manipulated data could not be decoded by the produced second error correction code; and

based on the determination that the manipulated data could not be decoded, read the one or more appended bits from the selected storage block.

12. The memory device of claim 8 , wherein:

the compression of the initial data to produce the compressed data is performed such that the compression increases an amount of unoccupied storage space to be available when the manipulated data is stored in the selected storage block; and

selection of the storage block includes a determination that a number of the defective cells is less than a number of cells available in the unoccupied storage space.

Assignments (1)
SECURITY INTEREST Recorded Jan 29, 2019
From: EMPIRE TECHNOLOGY DEVELOPMENT LLC
To: CRESTLINE DIRECT FINANCE, L.P.
Reel/Frame 048373/0217 →