Dynamically assigning inactive pages not used in Reed-Solomon code in non-volatile solid-state storage array
US-9026893-B1 · May 5, 2015 · US
US10031845B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10031845-B2 |
| Application number | US-201615089315-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 1, 2016 |
| Priority date | Apr 1, 2016 |
| Publication date | Jul 24, 2018 |
| Grant date | Jul 24, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Provided are an apparatus and method for processing sequential writes to a block group of physical blocks in a memory device. Sequential write data for a plurality of consecutive logical addresses is received and a determination is made of consecutive physical blocks comprising a block group. Each of the physical blocks has data for a plurality of the consecutive logical addresses. The sequential write data is written to consecutive physical data locations having data for the determined consecutive physical blocks of the block group. The block group metadata for the block group is updated.
Opening claim text (preview).
What is claimed: 1. An apparatus, comprising: memory dies to store data in addressable locations; a controller to perform write operations with respect to the memory dies, to: receive sequential write data for a plurality of consecutive logical addresses; determine consecutive physical blocks comprising a physical block group, wherein each of the consecutive physical blocks has data for a plurality of the consecutive logical addresses; write the sequential write data to consecutive physical data locations having data for the determined consecutive physical blocks of the physical block group; and update block group metadata for the physical block group, wherein metadata for one physical block of the consecutive physical blocks in the physical block group comprises the block group metadata for the physical block group, and wherein metadata for physical blocks in the physical block group, other than the metadata for the physical block comprising the block group metadata, does not comprise the block group metadata. 2. The apparatus of claim 1 , wherein the controller is further to: determine consecutive logical blocks corresponding to the consecutive logical addresses, wherein each logical block is comprised of a plurality of consecutive logical addresses; and determine from a block address map the determined consecutive physical blocks corresponding to the determined consecutive logical blocks. 3. The apparatus of claim 1 , wherein the controller is further to: read the block group metadata for the physical block group, wherein the write of the sequential write data mapping to the consecutive physical blocks of the physical block group is performed after reading the block group metadata, wherein metadata for a plurality of the consecutive physical blocks in the physical block group is not read before writing the sequential write data to the consecutive physical data locations in the physical block group. 4. The apparatus of claim 3 , wherein the controller is further to: indicate in metadata for a first physical block of the consecutive physical blocks in the physical block group that the metadata for the first physical block comprises the block group metadata for the physical block group; and indicate in metadata for the consecutive physical blocks in the physical block group following the first physical block that the metadata does not comprise the block group metadata. 5. The apparatus of claim 1 , wherein there is metadata for each of the consecutive physical blocks of the physical block group, wherein the block group metadata comprises the metadata for a predetermined physical block of the consecutive physical blocks in the physical block group, wherein the metadata for the consecutive physical blocks other than the predetermined physical block are not updated when writing the sequential write data to the consecutive physical blocks in the physical block group. 6. The apparatus of claim 1 , wherein the controller is programmed to identify each of the physical block groups as starting at a fixed offset in the consecutive physical data locations based on a mapping of a first physical block of the physical block group to a corresponding first physical data location of the physical block group. 7. The apparatus of claim 1 , wherein the controller is further to: determine to move a source physical block group of consecutive physical blocks mapping to consecutive physical data locations to a target physical block group of consecutive physical blocks mapping to consecutive physical data locations non-overlapping with the consecutive physical data locations of the source physical block group; write each of the consecutive physical data locations of the source physical block group to consecutive physical data locations of the target physical block group; and update information to map the source physical block group to the consecutive physical data locations of the target physical block group. 8. The apparatus of claim 7 , wherein to update the information to map the source physical block group comprises updating the block group metadata for the source physical block group to indicate that the data for the source physical block group maps to the consecutive physical data locations of the target physical block group. 9. The apparatus of claim 7 , wherein to move the source physical block group of consecutive physical blocks is performed as part of a wear levelling operation to move the source physical block group of consecutive physical blocks that have a relatively high number of accesses to the target physical block group of consecutive physical blocks having a relatively low number of read accesses. 10. The apparatus of claim 1 , wherein the controller is further to: update the block group metadata to increment a number of writes for the physical block group indicating a number of writes to each of the consecutive physical blocks in the physical block group in response to a write of the sequential write data to one of the consecutive physical blocks of the physical block group; and use the number of writes indicated in the block group metadata to determine whether to move the data in the physical block group to a target block group of non-overlapping consecutive physical data locations as part of a wear leveling operation. 11. The apparatus of claim 1 , wherein the consecutive physical data locations in the physical block group are spread across multiple of the memory dies. 12. A system, comprising, a processor; a bus interface; and a memory subsystem coupled to the bus interface to which the processor reads and write data, comprising: memory dies to store data in addressable locations; a controller to perform write operations with respect to the memory dies, to: receive sequential write data for a plurality of consecutive logical addresses; determine consecutive physical blocks comprising a physical block group, wherein each of the consecutive physical blocks has data for a plurality of the consecutive logical addresses; write the sequential write data to consecutive physical data locations having data for the determined consecutive physical blocks of the physical block group; and update block group metadata for the physical block group, wherein metadata for one physical block of the consecutive physical blocks in the physical block group comprises the block group metadata for the physical block group, and wherein metadata for physical blocks in the physical block group, other than the metadata for the physical block comprising the block group metadata, does not comprise the block group metadata. 13. The system of claim 12 , wherein the controller is further to: read the block group metadata for the physical block group, wherein the write of the sequential write data mapping to the consecutive physical blocks of the physical block group is performed after reading the block group metadata, wherein metadata for a plurality of the consecutive physical blocks in the physical block group is not read before writing the sequential write data to the consecutive physical data locations in the physical block group. 14. The system of claim 12 , wherein there is metadata for each of the consecutive physical blocks of the physical block group, wherein the block group metadata comprises the metadata for a predetermined physical block of the consecutive physical blocks in the physical block group, wherein the metadata for the consecutive physical blocks other than the predetermined physical block are not updated when writing the sequential write data to the consecutive physical blocks in the physical block group.
Logical to physical mapping or translation of blocks or pages · CPC title
Performance improvement · CPC title
Wear leveling · CPC title
Life time enhancement · CPC title
Multiple device management, e.g. distributing data over multiple flash devices · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.