Adaptive mode switching of flash memory address mapping based on host usage characteristics
First Claim
Patent Images
1. In a memory system having non-volatile memory cells arranged in blocks as a unit of erase, pages therein as a unit of data programming and reading, and planes of a plurality of blocks that are independently accessible, a method of operation of the memory system, comprising:
- logically forming metablocks that individually include blocks from a plurality of the planes,sequentially receiving write commands with a varying number of units of data and logical addresses of the individual units of data,determining from the write commands whether (1) a given one or more units of data having consecutive logical addresses are being received or (2) more than said given number of one or more units of data having consecutive logical addresses are being received, andwriting all the data received with individual write commands by (1), in response to determining that the given one or more units of data having consecutive logical addresses are being received, writing the given one or more units of data into at least one page within at least one of the blocks of only one of the planes, and (2), in response to determining that more than said given number of one or more units of data having consecutive logical addresses are being received, writing the more than said given number of units of data in parallel into pages within two or more blocks of one of the metablocks in two or more planes.
3 Assignments
0 Petitions
Accused Products
Abstract
In a non-volatile memory storage system such as a flash EEPROM system, a controller switches the manner in which data sectors are mapped into blocks and metablocks of the memory in response to host programming and controller data consolidation patterns, in order to improve performance and reduce wear. Data are programmed into the memory with different degrees of parallelism.
-
Citations
5 Claims
-
1. In a memory system having non-volatile memory cells arranged in blocks as a unit of erase, pages therein as a unit of data programming and reading, and planes of a plurality of blocks that are independently accessible, a method of operation of the memory system, comprising:
-
logically forming metablocks that individually include blocks from a plurality of the planes, sequentially receiving write commands with a varying number of units of data and logical addresses of the individual units of data, determining from the write commands whether (1) a given one or more units of data having consecutive logical addresses are being received or (2) more than said given number of one or more units of data having consecutive logical addresses are being received, and writing all the data received with individual write commands by (1), in response to determining that the given one or more units of data having consecutive logical addresses are being received, writing the given one or more units of data into at least one page within at least one of the blocks of only one of the planes, and (2), in response to determining that more than said given number of one or more units of data having consecutive logical addresses are being received, writing the more than said given number of units of data in parallel into pages within two or more blocks of one of the metablocks in two or more planes. - View Dependent Claims (2)
-
-
3. In a memory system having a plurality of non-volatile memory cells arranged in a plurality of blocks of memory cells as a unit of erase that are provided in a plurality of independently accessible sub-arrays and multiple pages within individual blocks as units of data programming and reading, a method of operation of the memory system, comprising:
-
logically forming metablocks that individually include blocks from a plurality of the sub-arrays, sequentially receiving individual write commands with a number of sectors of data to be written into either a signal page or into a plurality of pages, in response to receiving the write commands with a number of sectors of data for a plurality of pages, writing all the received data in parallel into pages within a plurality of blocks of at least one of the metablocks in a plurality of the sub-array, in response to receiving the write commands with a number of one or more sectors of data for only a single page of data writing all the received data in parallel into individual pages of individual blocks of only one of the sub-arrays, and maintaining indications in the non-volatile memory cells that are associated with the written sectors of data when the individual sectors have been written into pages within a plurality of blocks of at least one of the metablocks in a plurality of the sub-arrays, and when the individual sectors have been written into individual pages of individual blocks of only one of the sub-arrays. - View Dependent Claims (4, 5)
-
Specification