Method and system for data block sparing in a solid-state storage device
AssigneeHewlett-Packard Development Company, L.P.
InventorWilliam G. Hooper, III
Life of this patent
Estimating the term…
Abstract
A method and system for enhancing the reliability of a solid-state storage device based on electronic memory. The electronic memory is organized into low-address and high-address spare table regions, low-address and high-address spare page regions, and a large data page region. Data blocks within the memory are specified by accessing devices using a logical data block address, including a page index and a data block index. The page index selects a particular spare table, a particular spare page, and a particular data page. The data block index selects a spare table element within the spare table, and a data block within a data page. When an LDBA has been remapped, information in a corresponding spare table element is used to locate a physical block within a spare page.
Claims17
A solid-state storage device comprising:
- a physical electronic memory including a spare table region containing spare tables, a spare page region containing spare pages, and a data page region containing data pages;
- said three regions are physically separate and distinct from each other;
- an electronic memory interface that provides, to devices that access the electronic memory, memory operations directed to target data blocks specified by the accessing device via a logical data block address;
- and
- a logic component that maps a logical data block address to a physical address describing the location of a data block in the electronic memory;
- wherein the logical data block address comprises:
- a page index that indexes a data page within the data page region, a spare table within the spare table region, and a spare page within the spare page region without searching for in a table search;
- and
- a data block index that indexes a data block within the data page indexed by the page index and a spare table element within the spare table indexed by the page index without searching for in a table search.
A method for transforming a logical data block address into a physical electronic memory address, the method comprising:
- providing an electronic memory having a spare table region containing spare tables, a spare page region containing spare pages, and a data page region containing data pages;
- said three regions are physically separate and distinct from each other;
- extracting a page index and a data block index from the logical data block address;
- and
- using the extracted page index and data block index to identify the address of a physical data block within the electronic memory corresponding to the logical data block address;
- wherein the logical data block address comprises:
- a page index that indexes a data page within the data page region, a spare table within the spare table region, and a spare page within the spare page region without searching for in a table search;
- and
- a data block index that indexes a data block within the data page indexed by the page index and a spare table element within the spare table indexed by the page index without searching for in a table search.
A method for remapping a logical data block address to a different physical electronic memory address, the method comprising:
- providing an electronic memory having a spare table region containing spare tables, a spare page region containing spare pages, and a data page region containing data pages;
- said three regions are physically separate and distinct from each other;
- extracting a page index and a data block index from the logical data block address;
- using the extracted page index and data block index to select the address of a physical data block within a spare page in the spare page region of the electronic memory to which to remap the logical data block address;
- and
- storing indications within an element of a spare table corresponding to the logical data block address that remap the logical data block address to the selected address;
- wherein the logical data block address comprises:
- a page index that indexes a data page within the data page region, a spare table within the spare table region, and a spare page within the spare page region without searching for in a table search;
- and
- a data block index that indexes a data block within the data page indexed by the page index and a spare table element within the spare table indexed by the page index without searching for in a table search.
Dependencies are inferred from the claim text.