Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
US-10031845-B2 · Jul 24, 2018 · US
US10664409B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10664409-B2 |
| Application number | US-201816110420-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 23, 2018 |
| Priority date | Jan 16, 2018 |
| Publication date | May 26, 2020 |
| Grant date | May 26, 2020 |
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.
A data storage apparatus includes a nonvolatile memory device including block groups, a random access memory including a sequential map table that stores a sequential map entry for consecutive sequential write logical addresses, among write addresses received from a host apparatus, greater than or equal to a predetermined threshold number, and a processor configured to determine whether or not first sequential write logical addresses are present among logical addresses corresponding to physical addresses for a first region of a first block group when a write operation for the first region of the first block group in response to a write request received from the host apparatus is completed, generate a first sequential map entry for the first sequential write logical addresses when the first sequential write logical addresses are present, and store the first sequential map entry in the sequential map table.
Opening claim text (preview).
What is claimed is: 1. A data storage apparatus comprising: a nonvolatile memory device including a plurality of block groups; a random access memory including a sequential map table that stores a sequential map entry for consecutive sequential write logical addresses, among write addresses received from a host apparatus, greater than or equal to a predetermined threshold number; and a processor configured to determine whether or not first sequential write logical addresses are present among logical addresses corresponding to physical addresses for a first region of a first block group when a write operation for the first region of the first block group in response to a write request received from the host apparatus is completed, generate a first sequential map entry for the first sequential write logical addresses when the first sequential write logical addresses are present, and store the first sequential map entry in the sequential map tables, wherein, when a read request and a logical address are received from the host apparatus, the processor converts the logical address to a physical address based on a sequential map entry including the received logical address in the sequential map table. 2. The data storage apparatus of claim 1 , wherein the random access memory further includes: an address buffer in which physical to logical (P2L) entries for the first region of the first block group are stored; and a map cache buffer in which logical to physical (L2P) entries for the logical addresses are cached. 3. The data storage apparatus of claim 2 , wherein the processor determines whether or not the first sequential write logical addresses are present based on the P2L entries stored in the address buffer. 4. The data storage apparatus of claim 2 , wherein the first sequential map entry includes a start logical address for the first sequential write logical addresses, a logical address length, and a start physical address among physical addresses corresponding to the first sequential write logical addresses. 5. The data storage apparatus of claim 4 , wherein the first block group includes a plurality of pages including a plurality of sectors, and the start physical address of the first sequential map entry includes an index of the first block group and an index of a sector corresponding to the start logical address among the plurality of sectors. 6. The data storage apparatus of claim 4 , wherein when a write for a second region consecutive to the first region of the first block group is completed and second sequential write logical addresses among logical address corresponding to physical addresses for the second region of the first block group are present, the processor determines whether or not an end logical address of the first sequential write logical addresses is consecutive to a start logical address of the second sequential write logical addresses. 7. The data storage apparatus of claim 6 , wherein when the end logical address of the first sequential write logical addresses is consecutive to the start logical address of the second sequential write logical addresses, the processor changes the logical address length in the first sequential map entry to a length in which the second sequential write logical addresses are added. 8. The data storage apparatus of claim 6 , wherein when the end logical address of the first sequential write logical addresses is not consecutive to the start logical address of the second sequential write logical addresses, the processor generates a second sequential map entry for the second sequential write logical addresses and stores the second sequential map entry in the sequential map table. 9. The data storage apparatus of claim 4 , further comprising a sequential map search engine configured to search for the sequential map entry including the received logical address in the sequential map table and provide a search result to the processor. 10. The data storage apparatus of claim 9 , wherein the processor converts the received logical address to a physical address based on the sequential map entry including the received logical address or the L2P entries stored in the map cache buffer according to the search result provided from the sequential map search engine. 11. The data storage apparatus of claim 10 , wherein when an index of the sequential map entry including the received logical address is provided from the sequential map search engine, the processor calculates an offset between a start logical address of the sequential map entry corresponding to the index provided from the sequential map search engine and the received logical address, and converts the received logical address to the physical address by adding a calculated offset to the start physical address. 12. An operating method of a data storage apparatus, the method comprising: determining whether or not consecutive first sequential logical addresses that are greater than or equal to a predetermined threshold number are present based on physical to logical (P2L) entries stored in an address buffer when map updating operation is performed; generating a first sequential map entry including a start logical address for the first sequential logical addresses, a logical address length, and a start physical address corresponding to the start logical address when the first sequential logical addresses are present; and converting a logical address to a physical address based on a sequential map entry including the logical address in the sequential map table when a read request and the logical address are received from the host apparatus. 13. The method of claim 12 , wherein the generating of the first sequential map entry includes: determining whether or not a sequential map entry having an end logical address consecutive to the start logical address of the first sequential logical addresses is present, and generating the first sequential map entry when the sequential map entry having the end logical address consecutive to the start logical address is not present. 14. The method of claim 12 , further comprising: determining whether or not second sequential logical addresses are present based on the P2L entries stored in the address buffer when next map updating operation is performed; determining whether or not an end logical address of the first sequential map entry is consecutive to a start logical address of the second sequential logical addresses; and changing the logical address length of the first sequential map entry to a length in which the second sequential logical addresses are added when the end logical address of the first sequential map entry is consecutive to the start logical address of the second sequential logical addresses. 15. The method of claim 14 , further comprising generating a second sequential map entry for the second sequential logical addresses when the end logical address of the first sequential map entry is not consecutive to the start logical address of the second sequential logical addresses. 16. The method of claim 12 , wherein the converting of the logical address includes: determining whether or not the sequential map entry including the received logical address is present; calculating an offset between the received logical address and a start logical address of the sequential map entry including the received logical address when the sequential map entry including the received logical address is present; and converting the received logical address to a corresponding physical address by adding a calculated offset to the start physical address of the sequential m
in block erasable memory, e.g. flash memory · CPC title
Logical to physical mapping or translation of blocks or pages · CPC title
Multiple device management, e.g. distributing data over multiple flash devices · CPC title
Caching of specific data in cache memory · CPC title
using page tables, e.g. page table structures · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.