Flash EEPROM system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
DC CAFCFirst Claim
1. A method of operating a re-programmable non-volatile memory system having an array of memory cells organized into distinct blocks that individually include a number of simultaneously erasable memory cells capable of storing a particular quantity of data, the distinct memory cell blocks being further organized into a plurality of sub-arrays, comprising:
- receiving and temporarily storing in a buffer memory at least a given number of sectors of user data to be programmed into the memory system,moving data from one of the given number of sectors of user data in the buffer at a time to a respective one of a plurality of storage registers at a time, wherein moving data additionally comprises generating a redundancy code from the user data of the individual sectors and adding the generated code to the user data from which they are generated, andthereafter moving the user data and the redundancy codes generated therefrom from the plurality of storage registers in parallel to respective ones of a plurality of memory cell blocks that are located within different ones of the plurality of sub-arrays.
2 Assignments
Litigations
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.
-
Citations
24 Claims
-
1. A method of operating a re-programmable non-volatile memory system having an array of memory cells organized into distinct blocks that individually include a number of simultaneously erasable memory cells capable of storing a particular quantity of data, the distinct memory cell blocks being further organized into a plurality of sub-arrays, comprising:
-
receiving and temporarily storing in a buffer memory at least a given number of sectors of user data to be programmed into the memory system, moving data from one of the given number of sectors of user data in the buffer at a time to a respective one of a plurality of storage registers at a time, wherein moving data additionally comprises generating a redundancy code from the user data of the individual sectors and adding the generated code to the user data from which they are generated, and thereafter moving the user data and the redundancy codes generated therefrom from the plurality of storage registers in parallel to respective ones of a plurality of memory cell blocks that are located within different ones of the plurality of sub-arrays. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of operating a memory system having a plurality of re-programmable non-volatile memory cells organized into distinct blocks of memory cells that are simultaneously erasable, comprising:
-
designating a first group of said blocks for storing user data and a second group of said blocks for storing information of physical characteristics of said first group of blocks or their operation, storing, in individual ones of the first group of said blocks, user data plus information of at least one characteristic of the user data being stored therein, by simultaneously writing the user data plus information of said at least one characteristic of the user data into a plurality of blocks in the first group of blocks until at least a different sector of the user data plus the information of said at least one characteristic of the different sector of user data are written into each of the plurality of blocks in the first group, and storing, in individual ones of the second group of said blocks, information of physical characteristics of the first group of blocks or their operation that does not include either user data or information of said at least one characteristic of the user data. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24)
-
Specification