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

US10209904B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10209904-B2
Application numberUS-201514641201-A
CountryUS
Kind codeB2
Filing dateMar 6, 2015
Priority dateApr 9, 2013
Publication dateFeb 19, 2019
Grant dateFeb 19, 2019

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 multiprocessor computing system, comprising: a collection of central processing units (CPUs), wherein a first central processing unit of the collection of central processing units is connected to at least a second central processing unit of the collection of central processing units 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 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, wherein a core of the first or the second central processing unit has access to a set of shared page virtualization table (PVT) entries associated with a plurality of pages, wherein the set of shared PVT 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, and further include offset quantities specifying stride values from the flash memory location indicative of positions of other pages in the plurality of pages. 2. The system of claim 1 configured to support lockless queues for transmitting commands and command completion acknowledgements between the first and second central processing units. 3. The system of claim 2 comprising: an execution queue; a completion queue; wherein the first central processing unit is configured to write tail values to the execution queue and consume head values from the completion queue,and wherein the second central processing unit is configured to write tail values to the completion queue and consume head values from the execution queue. 4. The system of claim 3 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. 5. A system of claim I wherein a core of each of the first and second central processing units 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. 6. The system of claim 1 further comprising a flash memory controller to coordinate data transfers between flash memory resources without utilization of the collection of central processing units. 7. The system of claim 1 wherein the flash memory resources are configured to periodically defer reads during garbage collection. 8. The system of claim 1 wherein the flash memory resources are configured to store ranges of trim information to reduce logging requirements, wherein the trim information characterizes expired pages of data. 9. The system of claim 1 wherein the flash memory resources are configured to store data blocks and associated virtualization tables together to facilitate data recovery operations from a single location. 10. The system of claim 9 wherein the associated virtualization tables are stored in a stripe across a set of pages. 11. The system of claim 1 wherein the flash memory resources are configured to reconstruct data in response to the identification of a busy memory resource. 12. The system of claim 1 wherein the flash memory resources are configured to adaptively implement a more conservative data protection protocol as a function of operational time of the system. 13. The system of claim 1 wherein the flash memory resources are configured to randomize flash page contents to minimize read and write disturbances. 14. The system of claim 1 wherein at least one of the first and second central processing units is configured to store write data in Dynamic Random-Access Memory (DRAM) until the write data is committed to flash memory. 15. The system of claim 1 wherein the flash memory resources are configured to utilize a single sequence number for each data protection stripe. 16. The system of claim 1 wherein the flash memory resources are 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. 17. The system of claim 1 , wherein the offset quantities are fixed quantities such that 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 can be computed by a fixed indexing scheme.

Assignees

Inventors

Classifications

  • Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units (interface circuits for specific input/output devices G06F3/00 {; multiprogram control therefor  G06F9/46}; multiprocessor systems  G06F15/16 ) · CPC title

  • Cleaning, compaction, garbage collection, erase control · 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

  • Logical to physical mapping or translation of blocks or pages · CPC title

  • Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage 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 US10209904B2 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 Corp, 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 Feb 19 2019 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).