Method and system for integrity protection for accelerator device firmware using virtualization-based security
US-2024354415-A1 · Oct 24, 2024 · US
US9514057B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9514057-B2 |
| Application number | US-201314096965-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 4, 2013 |
| Priority date | Dec 4, 2013 |
| Publication date | Dec 6, 2016 |
| Grant date | Dec 6, 2016 |
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 storage module and method for managing logical-to-physical address mapping are disclosed. In one embodiment, a storage module is provided comprising a memory having a plurality of wordlines and a controller. The controller is configured to use a logical-to-physical address map to convert a logical address to a physical address of a wordline. A plurality of logical addresses in the map point to a single wordline, and the single wordline contains both data associated with the plurality of logical addresses and information about where to find each of the plurality of logical addresses in the single wordline . Storing the information about where to find each of the plurality of logical addresses in the wordline itself avoids the delay and complexity of using a larger logical-to-physical address map or multiple maps.
Opening claim text (preview).
What is claimed is: 1. A storage module comprising: a memory comprising a plurality of wordlines; and a controller configured to: receive, from a host, first data identified by a first logical address and second data identified by a second logical address, wherein a size of the first and second data is larger than a size of a wordline in the memory; compress the first and second data, wherein, after being compressed, the first and second data are sized to both be stored in the wordline; store the compressed first and second data in the wordline, wherein the wordline is identified by a physical address; store information in the wordline that indicates where each of the compressed first and second data is stored in the wordline; and update a logical-to-physical address map to indicate that both the first and second logical addresses point to a physical address of the wordline, wherein, after being updated, the logical-to-physical address map indicates which wordline contains the compressed first and second data, as identified by the first and second logical addresses, but not where in the wordline the first or second data is stored. 2. The storage module of claim 1 , wherein additional wordlines in the memory also contain compressed data, and wherein a compression rate varies between wordlines. 3. The storage module of claim 2 , wherein all data stored in a given wordline has a same compression rate. 4. The storage module of claim 1 , wherein the information that indicates where the compressed first and second data is stored in the wordline is stored in a header of the wordline. 5. The storage module of claim 4 , wherein a size of the header is dynamically set as a function of an amount of compression used in the wordline. 6. The storage module of claim 1 , wherein the storage module is embedded in a host. 7. The storage module of claim 1 , wherein the storage module is removably connected to a host. 8. The storage module of claim 1 , wherein the memory is a NAND memory. 9. The storage module of claim 1 , wherein the storage module is a solid-state drive. 10. The storage module of claim 1 , wherein the logical-to-physical address map is stored in the memory, and wherein at least part of the logical-to-physical address map is temporarily cached in random access memory in the controller. 11. The storage module of claim 1 , wherein the information that indicates where the compressed first and second data is stored in the wordline comprises an offset and a length. 12. A storage module comprising: a memory comprising a plurality of wordlines; and a controller configured to use a logical-to-physical address map to convert a logical address to a physical address of a wordline, wherein a plurality of logical addresses in the map point to a single wordline, and wherein the single wordline contains both data associated with the plurality of logical addresses and information about where to find each of the plurality of logical addresses in the single wordline; wherein the controller is further configured to generate an error correction code of a codeword comprising the data associated with the plurality of logical addresses and the information about where to find each of the plurality of logical addresses. 13. A storage module comprising: a memory comprising a plurality of wordlines; and a controller configured to use a logical-to-physical address map to convert a logical address to a physical address of a wordline, wherein a plurality of logical addresses in the map point to a single wordline, and wherein the single wordline contains both data associated with the plurality of logical addresses and information about where to find each of the plurality of logical addresses in the single wordline; wherein the controller is further configured to perform the following: in response to a command to read one of the plurality of logical addresses, read an entirety of the single wordline before using the information about where to find each of the plurality of logical addresses to find the one of the plurality of logical addresses. 14. The storage module of claim 13 , wherein the data stored in the single wordline is compressed. 15. A storage module comprising: a memory comprising a plurality of wordlines; and a controller configured to use a logical-to-physical address map to convert a logical address to a physical address of a wordline, wherein a plurality of logical addresses in the map point to a single wordline, and wherein the single wordline contains both data associated with the plurality of logical addresses and information about where to find each of the plurality of logical addresses in the single wordline; wherein the controller is further configured to predict an amount of invalid memory addresses in the single wordline by tracking updates to the plurality of logical block addresses. 16. A storage module comprising: a memory comprising a plurality of wordlines; and a controller configured to use a logical-to-physical address map to convert a logical address to a physical address of a wordline, wherein a plurality of logical addresses in the map point to a single wordline, and wherein the single wordline contains both data associated with the plurality of logical addresses and information about where to find each of the plurality of logical addresses in the single wordline; wherein the data is a pointer to another address which holds a pattern of data repeatedly used in the memory. 17. A storage module comprising: a memory comprising a plurality of wordlines; and a controller configured to use a logical-to-physical address map to convert a logical address to a physical address of a wordline, wherein a plurality of logical addresses in the map point to a single wordline, and wherein the single wordline contains both data associated with the plurality of logical addresses and information about where to find each of the plurality of logical addresses in the single wordline; wherein there is a 1:1 relationship between wordlines and logical addresses, and wherein compression causes the plurality of logical addresses to point to the single wordline. 18. A storage module comprising: a memory comprising a plurality of wordlines; and a controller configured to use a logical-to-physical address map to convert a logical address to a physical address of a wordline, wherein a plurality of logical addresses in the map point to a single wordline, and wherein the single wordline contains both data associated with the plurality of logical addresses and information about where to find each of the plurality of logical addresses in the single wordline; wherein there is a N:1 relationship between wordlines and logical addresses prior to compression, wherein N is a number greater than 1, and wherein the plurality of logical addresses point to a same offset region in the single wordline. 19. A method for managing logical-to-physical address mapping, the method comprising: performing the following in a storage device having a memory comprising a plurality of wordlines and a logical-to-physical address map: receiving, from a host, a read request containing a first logical address; converting the first logical address to a physical address of a wordline using the logical-to-physical address map, wherein the logical-to-physical address map shows that both the first logical address and a second logical address point to a single wordline, wherein the single wordline contains information about where to find each of the first and second logical add
Compressed data · CPC title
Logical to physical mapping or translation of blocks or pages · CPC title
using page tables, e.g. page table structures · CPC title
in block erasable memory, e.g. flash memory · CPC title
Virtual address space management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.