Method of and architecture for controlling system data with automatic wear leveling in a semiconductor non-volatile mass storage memory
First Claim
Patent Images
1. A mass storage system comprising:
- at least one semiconductor non-volatile memory means having a plurality of individually addressable sector storage locations for storing information; and
a controller circuit coupled to said memory means and operative to define a first partition within said memory means having sector storage locations for storing user files, and a second partition within said memory means having sector storage locations for storing system files, the sector storage locations of said second partition being grouped in a plurality of clusters, each said cluster being uniquely identifiable by a predetermined logical block address, said controller circuit being further operative upon initial access of a particular cluster identified by a particular logical block address to store a first system sector information in one of the sector storage locations of the particular cluster, and upon subsequent accesses of the particular cluster identified by the particular logical block address, the controller circuit further being operative to store replacement system sector information into an empty sector storage location of the particular cluster, leaving intact the system sector information previously stored in the particular cluster, said controller circuit further being operative to generate an indication for subsequently identifying the location of the most recently stored sector information within the cluster,thereby avoiding the need to erase the memory means every time a cluster identified by a logical block address is re-accessed.
12 Assignments
0 Petitions
Accused Products
Abstract
A semiconductor non-volatile mass storage memory is partitioned into user files and system files. The system files partition is further subdivided into clusters, each cluster having a plurality of sectors. Each cluster stores the system file for a single predetermined LBA. As the information within the LBA is changed, the new information is written into an empty sector within the cluster. Once the cluster is filled, the system either erases for recycling the cluster or preferably locates an empty cluster and repeats the process with that new cluster. Once all the clusters are filled, all clusters containing old data are erased for recycling.
495 Citations
22 Claims
-
1. A mass storage system comprising:
-
at least one semiconductor non-volatile memory means having a plurality of individually addressable sector storage locations for storing information; and a controller circuit coupled to said memory means and operative to define a first partition within said memory means having sector storage locations for storing user files, and a second partition within said memory means having sector storage locations for storing system files, the sector storage locations of said second partition being grouped in a plurality of clusters, each said cluster being uniquely identifiable by a predetermined logical block address, said controller circuit being further operative upon initial access of a particular cluster identified by a particular logical block address to store a first system sector information in one of the sector storage locations of the particular cluster, and upon subsequent accesses of the particular cluster identified by the particular logical block address, the controller circuit further being operative to store replacement system sector information into an empty sector storage location of the particular cluster, leaving intact the system sector information previously stored in the particular cluster, said controller circuit further being operative to generate an indication for subsequently identifying the location of the most recently stored sector information within the cluster, thereby avoiding the need to erase the memory means every time a cluster identified by a logical block address is re-accessed. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory system for storing data comprising:
-
a semiconductor non-volatile mass storage memory partitioned into at least two areas, one of which includes sector storage locations used to store system files, a predetermined plurality of said sector storage locations of said one area being grouped in clusters, each said cluster being uniquely identifiable by a predetermined logical block address, a first sector storage location of a particular cluster being used for storing system sector information upon initial access of the particular cluster, and upon re-accesses of the particular cluster, prior to erasure of the particular cluster'"'"'s sector information, subsequent sector storage locations of the particular cluster being used for storing replacement system sector information; and a control circuit coupled to the semiconductor non-volatile mass storage memory for controlling the partitioning thereof, for storing system sector information within the cluster, and for storing replacement system sector information within the cluster while leaving intact the system sector information previously stored in the particular cluster, said control circuit further being operative to generate an indication of the location of the most recent sector information stored within the particular cluster, thereby avoiding the need to erase the non-volatile mass storage memory every time a cluster identified by a logical block address is re-accessed. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A method of storing information in a semiconductor nonvolatile mass storage memory adapted to store information in sector storage spaces, comprising:
-
partitioning the memory into a first group of sector storage spaces for storing a plurality of user files and a second group of sector storage spaces for storing a plurality of system files; combining the sector storage spaces of the second such group into clusters of storage spaces, each such cluster being uniquely identifiable by a logical block address and used for storing a current system sector within one of the sector storage spaces in that cluster; storing a system file in a particular one of said clusters; determining which sector storage space in the particular cluster is an empty sector storage space; writing a replacement system file for the stored system file into the empty sector storage space; providing an indication for identifying the location of the most recently written sector storage space of the particular cluster; and marking the particular cluster as old when a last sector storage space within the particular cluster is replaced and there is no remaining empty sector storage space within the particular cluster. - View Dependent Claims (21, 22)
-
Specification