Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device

US10031845B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10031845-B2
Application numberUS-201615089315-A
CountryUS
Kind codeB2
Filing dateApr 1, 2016
Priority dateApr 1, 2016
Publication dateJul 24, 2018
Grant dateJul 24, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

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.

First claim

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.

Assignees

Inventors

Classifications

  • 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

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10031845B2 cover?
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 sequenti…
Who is the assignee on this patent?
Intel Corp
What technology area does this patent fall under?
Primary CPC classification G06F12/0246. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jul 24 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).