Multiprocessor system with independent direct access to bulk solid state memory resources

US11340794B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11340794-B2
Application numberUS-201816223083-A
CountryUS
Kind codeB2
Filing dateDec 17, 2018
Priority dateApr 9, 2013
Publication dateMay 24, 2022
Grant dateMay 24, 2022

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.

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.

First claim

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.

Assignees

Inventors

Classifications

  • G06F15/167Primary

    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

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 US11340794B2 cover?
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.
Who is the assignee on this patent?
Emc Ip Holding Co Llc
What technology area does this patent fall under?
Primary CPC classification G06F15/167. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 24 2022 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).