Memory management in a non-volatile solid state memory device
First Claim
Patent Images
1. A non-volatile solid state memory device comprising:
- a memory unit having (i) stored data which is readable using a read operation; and
(ii) an error-correcting code for correcting a potential error in said data;
a controller with a logic for programming said memory unit according to a monitored occurrence of said error during said read operation, by monitoring end of life blocks stored in the memory unit;
a first counter coupled to the controller and associated with a first block in the memory unit, the first counter being configured to count the accumulated number of errors since a second counter was last incremented, wherein the first counter is reset at the being nine of each of a plurality of write-erase cycles of the memory unit; and
the second counter coupled to the first counter and configured to count the number of times a threshold is exceeded within the write-erase cycles by counting the number of times the first counter exceeds the threshold, wherein a predetermined count by the second counter indicates that an end of life of the first block has been reached.
2 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile solid state memory device and method for balancing write/erase cycles among blocks to level block usage. The non-volatile solid state memory device includes a memory unit having data stored therein and a controller with logic for programming the memory unit according to a monitored occurrence of an error during a read operation. The method includes monitoring an occurrence of an error during a read operation in a memory unit of the device and programming the memory unit according to the monitored occurrence of the error.
26 Citations
22 Claims
-
1. A non-volatile solid state memory device comprising:
-
a memory unit having (i) stored data which is readable using a read operation; and
(ii) an error-correcting code for correcting a potential error in said data;a controller with a logic for programming said memory unit according to a monitored occurrence of said error during said read operation, by monitoring end of life blocks stored in the memory unit; a first counter coupled to the controller and associated with a first block in the memory unit, the first counter being configured to count the accumulated number of errors since a second counter was last incremented, wherein the first counter is reset at the being nine of each of a plurality of write-erase cycles of the memory unit; and the second counter coupled to the first counter and configured to count the number of times a threshold is exceeded within the write-erase cycles by counting the number of times the first counter exceeds the threshold, wherein a predetermined count by the second counter indicates that an end of life of the first block has been reached. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A computer system for managing a memory of a non-volatile solid state memory device by balancing write/erase cycles among blocks to level block usage, said system comprising:
-
a non-volatile solid state memory device with a memory unit having stored therein data that is readable by a read operation and is correctable using error-correcting code; and a non-transitory article of manufacture tangibly embodying computer readable instructions which, when implemented, cause said computer system to carry out the steps of a method of managing said memory unit of said non-volatile solid state memory device, wherein said method comprises the steps of; monitoring an occurrence of an error during said read operation in said memory unit of said device; monitoring a first counter coupled to the controller and associated with a first block in the memory unit, the first counter being configured to count the accumulated number of errors since a second counter was last incremented, wherein the first counter is reset at the being nine of each of a plurality of write-erase cycles of the memory unit; monitoring the second counter coupled to the first counter and configured to count the number of times a threshold is exceeded within the write-erase cycles by counting the number of times the first counter exceeds the threshold, wherein a predetermined count by the second counter indicates that an end of life of the first block has been reached; marking the first block as bad in response to the predetermined count having been reached by the second counter; and programming said memory unit according to said monitored occurrence of said error; wherein the step of monitoring the occurrence of said error is carried out for at least one said block; and wherein said step of programming comprises wear-leveling said monitored block according said error monitored for said monitored block. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification