Systems and methods for handling immediate data errors in flash memory
First Claim
Patent Images
1. A system comprising:
- a multiplicity of flash memory cells;
a reading apparatus;
a writing apparatus for writing logical data from temporary memory into individual flash memory cells from among said multiplicity of flash memory cells, thereby to generate a physical representation of the logical data including a plurality of physical levels at least some of which represent, to said reading apparatus, at least one bit-worth of said logical data; and
a special cell marking apparatus operative to store an earmark in a certain flash memory cell of said multiplicity of flash memory cells for subsequent special-treatment by programming the certain flash memory cell to store a dummy physical level, said dummy physical level differs from any physical level used for representing one or more logical data bits in the certain flash memory cell.
9 Assignments
0 Petitions
Accused Products
Abstract
A system that includes a multiplicity of flash memory cells; a reading apparatus; a writing apparatus for writing logical data from temporary memory into individual flash memory cells from among said multiplicity of flash memory cells, thereby to generate a physical representation of the logical data including a plurality of physical levels at least some of which represent, to said reading apparatus, at least one bit-worth of said logical data; and a special cell marking apparatus operative to store an earmark in at least an individual one of said multiplicity of flash memory cells for subsequent special treatment.
324 Citations
20 Claims
-
1. A system comprising:
-
a multiplicity of flash memory cells; a reading apparatus; a writing apparatus for writing logical data from temporary memory into individual flash memory cells from among said multiplicity of flash memory cells, thereby to generate a physical representation of the logical data including a plurality of physical levels at least some of which represent, to said reading apparatus, at least one bit-worth of said logical data; and a special cell marking apparatus operative to store an earmark in a certain flash memory cell of said multiplicity of flash memory cells for subsequent special-treatment by programming the certain flash memory cell to store a dummy physical level, said dummy physical level differs from any physical level used for representing one or more logical data bits in the certain flash memory cell. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A flash memory utilization method comprising:
-
writing logical data from temporary memory into individual flash memory cells from among a multiplicity of flash memory cells, thereby to generate a physical representation of the logical data including a plurality of physical levels at least some of which represent, to reading apparatus, at least one bit-worth of said logical data; and earmarking, by a special cell marking apparatus, a certain flash memory cell of said multiplicity of flash memory cells for subsequent special treatment by programming the certain flash memory cells to store a dummy physical, said dummy physical level differs from any physical level used for representing one or more logical data bits in the certain flash memory cell. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A flash memory utilization method comprising:
-
writing first logical data from temporary memory into flash memory cells having at least two levels, thereby to generate a physical representation of the first logical data including known errors; reading said physical representation from the cells, thereby to generate, and store in said temporary memory, second logical data which if read immediately is identical to said first logical data other than said known errors; and controlling, by a controlling apparatus, said writing apparatus and said reading apparatus, wherein the controlling comprises;
identifying said known errors by comparing said first logical data to second logical data read immediately after said physical representation is generated, storing information characterizing said known errors;wherein said information enables addresses of said known errors to be reconstructed when said second logical data is next read; wherein said information comprises a total number of known errors to be identified by the controlling apparatus and a serial number of a set comprising the addresses of the known errors, within a sequence out of multiple sequences, the sequence having a predetermined order of all possible sets of the addresses of the known errors given the total number of known errors;
wherein different sequences of the multiple sequences are associated with different numbers of known addresses; andusing said information, when said second logical data is next read, to correct said known errors.
-
-
14. A non-transitory machine readable memory that stores instructions for:
-
writing logical data from temporary memory into individual flash memory cells from among a multiplicity of flash memory cells, thereby to generate a physical representation of the logical data including a plurality of physical levels at least some of which represent, to reading apparatus, at least one bit-worth of said logical data; and earmarking a certain flash memory cell of said multiplicity of flash memory cells for subsequent treatment by programming the certain flash memory cells to store a dummy physical level, said dummy physical level differs from any physical level used for representing one or more logical data bits in the certain flash memory cells. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A non-transitory machine readable memory that stores instructions for:
-
writing first logical data from temporary memory into flash memory cells having at least two levels, thereby to generate a physical representation of the first logical data including known errors; reading said physical representation from the cells, thereby to generate, and store in said temporary memory, second logical data which if read immediately is identical to said first logical data other than said known errors; and controlling said writing apparatus and said reading apparatus, wherein the controlling comprises;
identifying said known errors by comparing said first logical data to second logical data read immediately after said physical representation is generated, storing information characterizing said known errors;
wherein said information enables addresses of said known errors to be reconstructed when said second logical data is next read;
wherein said information comprises a total number of known errors to be identified by a controlling apparatus and a serial number of a set comprising the addresses of the known errors, within a sequence out of multiple sequences, the sequence having a predetermined order of all possible sets of the addresses of the known errors given the total number of known errors;
wherein different sequences of the multiple sequences are associated with different numbers of known addresses; andusing said information, when said second logical data is next read, to correct said known errors.
-
Specification