Flash EEprom System With Simultaneous Multiple Data Sector Programming and Storage of Physical Block Characteristics in Other Designated Blocks
First Claim
1. A memory system, comprising:
- at least two groups of re-programmable non-volatile memory cells, wherein the memory cells of the at least two groups are divided into a number of blocks of memory cells that are individually operable to store a given quantity of data, a plurality of the blocks of memory cells being designated to store user data,a memory controller, anda record stored in the memory system that contains non-overlapping ranges of logical addresses of the designated blocks of memory cells within each of the at least two groups, thereby to allow the controller to determine, from a received logical block address, one of the at least two groups in which a corresponding designated block of memory cells is located and the address of the corresponding designated block of memory cells within the determined group.
2 Assignments
0 Petitions
Accused Products
Abstract
A non-volatile memory system is formed of floating gate memory cells arranged in blocks as the smallest unit of memory cells that are erasable together. The system includes a number of features that may be implemented individually or in various cooperative combinations. One feature is the storage in separate blocks of the characteristics of a large number of blocks of cells in which user data is stored. These characteristics for user data blocks being accessed may, during operation of the memory system by its controller, be stored in a random access memory for ease of access and updating. According to another feature, multiple sectors of user data are stored at one time by alternately streaming chunks of data from the sectors to multiple memory blocks. Bytes of data in the stream may be shifted to avoid defective locations in the memory such as bad columns. Error correction codes may also be generated from the streaming data with a single generation circuit for the multiple sectors of data. The stream of data may further be transformed in order to tend to even out the wear among the blocks of memory. Yet another feature, for memory systems having multiple memory integrated circuit chips, provides a single system record that includes the capacity of each of the chips and assigned contiguous logical address ranges of user data blocks within the chips which the memory controller accesses when addressing a block, making it easier to manufacture a memory system with memory chips having different capacities. A typical form of the memory system is as a card that is removably connectable with a host system but may alternatively be implemented in a memory embedded in a host system. The memory cells may be operated with multiple states in order to store more than one bit of data per cell.
105 Citations
20 Claims
-
1. A memory system, comprising:
-
at least two groups of re-programmable non-volatile memory cells, wherein the memory cells of the at least two groups are divided into a number of blocks of memory cells that are individually operable to store a given quantity of data, a plurality of the blocks of memory cells being designated to store user data, a memory controller, and a record stored in the memory system that contains non-overlapping ranges of logical addresses of the designated blocks of memory cells within each of the at least two groups, thereby to allow the controller to determine, from a received logical block address, one of the at least two groups in which a corresponding designated block of memory cells is located and the address of the corresponding designated block of memory cells within the determined group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of operating a memory system having an array of re-programmable non-volatile memory cells organized into distinct blocks of a plurality of simultaneously erasable memory cells that are capable of storing a given quantity of data, comprising:
-
utilizing a map of logical block addresses into corresponding physical addresses of the blocks that groups the logical block addresses into a plurality of distinct non-overlapping ranges of continuous logical block addresses, and accessing at least one of the physical blocks in response to a logical block address received by the memory system by identifying at least one of the plurality of ranges in which the received logical block address exists and the physical address of the block being accessed that corresponds to the received logical block address within the identified range. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification