Method for sharing a storage device among multiple processors and associated electronic device
US-2024211415-A1 · Jun 27, 2024 · US
US11340794B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11340794-B2 |
| Application number | US-201816223083-A |
| Country | US |
| Kind code | B2 |
| Filing date | Dec 17, 2018 |
| Priority date | Apr 9, 2013 |
| Publication date | May 24, 2022 |
| Grant date | May 24, 2022 |
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 system has a collection of central processing units. Each central processing unit is connected to at least one other central processing unit and has a path into flash memory resources. A central processing unit supports a mapping from a data address space, to a flash memory virtual address space, to a flash memory virtual page number to a flash memory physical address space.
Opening claim text (preview).
What is claimed is: 1. A system, comprising: a collection of central processing units, wherein a first central processing unit is connected to at least a second central processing unit via a memory-speed interface and a first path into flash memory resources, wherein the second central processing unit of the collection of central processing units is connected to at least the first central processing unit of the collection of central processing units and a second path into flash memory resources independent of the first path into flash memory resources, wherein the flash memory resources including a plurality of branches and leaves is connected to a respective one of the collection of central processing units via a memory controller controlling the plurality of branches and leaves, wherein the first and the second central processing units each supports a mapping from a data address space, to a flash memory virtual address space, to a flash memory virtual page number to a flash memory physical address space, the flash memory virtual address space comprising a plurality of virtual blocks varying in size, the flash memory physical address space comprising a plurality of physical blocks varying in size, wherein the mapping is performed using virtual page tables, wherein the virtual page tables include a set of shared page virtualization table entries associated with a plurality of pages, wherein the set of shared page virtualization table entries include a base quantity operative as an index to a flash memory location indicative of a position of a foremost page in the plurality of pages, wherein the system is configured to support lockless queues for transmitting commands and command completion acknowledgements between central processing units, and wherein the lockless queues further comprise a circular queue of time bucket accumulators, each time bucket accumulator representing a time period N, the first central processing unit incrementing a respective time bucket accumulator for the time period N without locks, the second central processing unit updating a global accumulator and a time bucket index based on adding and subtracting values from each time bucket accumulator. 2. The system of claim 1 , further comprising: an execution queue; a completion queue; a first central processing unit configured to write tail values to the execution queue and consume head values from the completion queue; and a second central processing unit configured to write tail value to the completion queue and consume head values from the execution queue. 3. The system of claim 2 , further comprising a bit table accessible to the first central processing unit and the second central processing unit, the bit table including entries specifying completed tasks, wherein the second central processing unit allocates one of the entries on the completion queue indicating the completed tasks upon completion. 4. A system of claim 1 wherein a core of a central processing unit has an individual input/output data structure supported by an operating system, individual interrupt path within the operating system and dedicated hardware resource to facilitate parallel processing. 5. The system of claim 1 configured to periodically defer reads during garbage collection. 6. The system of claim 1 configured to store ranges of trim information to reduce logging requirements, wherein trim information characterizes expired pages of data. 7. The system of claim 1 configured to reconstruct data in response to the identification of a busy memory resource. 8. The system of claim 1 configured to adaptively implement a more conservative data protection protocol as a function of operational time of the system. 9. The system of claim 1 configured to randomize flash page contents to minimize read and write disturbances. 10. The system of claim 1 wherein a central processing unit is configured to store write data in DRAM until the write data is committed to flash memory. 11. The system of claim 1 configured to utilize a single sequence number for each data protection stripe. 12. The system of claim 1 configured for adaptive garbage collection utilizing a read queue, a write queue and a garbage collection queue to selectively load jobs from the read queue and the write queue.
using a common memory, e.g. mailbox · CPC title
Cleaning, compaction, garbage collection, erase control · CPC title
by selection of backup contents · CPC title
Logical to physical mapping or translation of blocks or pages · CPC title
in a storage system, e.g. in a DASD or network based storage system (drivers for digital recording or reproducing units G06F3/06; circuits for error detection or correction within digital recording or reproducing units G11B20/18; for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS], H04L67/1097) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.