Source and Shadow Wear-Leveling Method and Apparatus
First Claim
1. An flash memory system comprising:
- flash memory organized into a plurality of blocks of pages, for storage of information, a page including data and spare, the blocks being identifiable, within the flash memory, by a physical address; and
a flash controller adapted to communicate with a host and the flash memory and including volatile memory configured to store a source-shadow table of logical addresses addressable by the physical addresses, the logical addresses identifying the blocks, by the controller, the table having an address mapping table and a property value table, the property value table including property values, each of which is associated with a block of a predetermined group of blocks and indicative of the number of times a block has been written, the property values corresponding to the logical addresses of the address mapping table, wherein a block having been written no more than two times is re-written to different areas of the flash memory without requiring an erase operation.
2 Assignments
0 Petitions
Accused Products
Abstract
A flash memory system includes flash memory organized into a plurality of blocks of pages for storage of information, a page including data and spare, the blocks being identifiable, within the flash memory, by a physical address. The system further has a flash controller for communicating with a host and the flash memory and includes volatile memory for storing a source-shadow table of logical addresses identifying blocks addressable by the physical addresses. The source-shadow table has an address mapping table and a property value table. The property value table is used to store property values, each of which is associated with a block of a predetermined group of blocks and is indicative of the number of times a block has been written since the last erase operation performed thereon. The property values correspond to the logical addresses of the address mapping table, wherein a block having been written no more than two times is re-written to different areas of the flash memory without requiring an erase operation.
-
Citations
31 Claims
-
1. An flash memory system comprising:
-
flash memory organized into a plurality of blocks of pages, for storage of information, a page including data and spare, the blocks being identifiable, within the flash memory, by a physical address; and
a flash controller adapted to communicate with a host and the flash memory and including volatile memory configured to store a source-shadow table of logical addresses addressable by the physical addresses, the logical addresses identifying the blocks, by the controller, the table having an address mapping table and a property value table, the property value table including property values, each of which is associated with a block of a predetermined group of blocks and indicative of the number of times a block has been written, the property values corresponding to the logical addresses of the address mapping table, wherein a block having been written no more than two times is re-written to different areas of the flash memory without requiring an erase operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An flash controller comprising:
-
a flash controller adapted to communicate with a host and a flash memory, the flash memory organized into a plurality of blocks of pages, for storage of information, a page including data and spare, the blocks being identifiable, within the flash memory, by a physical address;
the controller including volatile memory configured to store a source-shadow table of logical addresses addressable by the physical addresses, the logical addresses identifying the blocks, by the controller, the table having an address mapping portion and a property value portion, the property value portion including property values, each of which is associated with a block of a predetermined group of blocks and indicative of the number of times a block has been written, the property values corresponding to the logical addresses of the address mapping portion,wherein a block having been written no more than two times is re-written to different areas of the flash memory without requiring an erase operation. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A method of wear-leveling used in a flash memory system comprising:
-
receiving information to be written into a block of flash memory, the flash memory organized into a plurality of blocks of pages, for storage of information, a page including data and spare, the blocks being identifiable, within the flash memory, by a physical address;
determining whether the received block of information has been written thereto without having been erased since the last time it was written; and
upon determining that the received block of information has not been written thereto since it was last written, writing the received block of information into a “
source”
block within the flash memory, identified by a physical address; and
upon determining that the received block of information has been previously written, writing the received block of information into a “
shadow”
block, within the flash memory, identified by a physical address. - View Dependent Claims (31)
-
Specification