Processor and memory communication in a stacked memory system
US-2024411709-A1 · Dec 12, 2024 · US
US9116624B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9116624-B2 |
| Application number | US-201414197010-A |
| Country | US |
| Kind code | B2 |
| Filing date | Mar 4, 2014 |
| Priority date | Jun 18, 2010 |
| Publication date | Aug 25, 2015 |
| Grant date | Aug 25, 2015 |
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.
Techniques using scalable storage devices represent a plurality of host-accessible storage devices as a single logical interface, conceptually aggregating storage implemented by the devices. A primary agent of the devices accepts storage requests from the host using a host-interface protocol, processing the requests internally and/or forwarding the requests as sub-requests to secondary agents of the storage devices using a peer-to-peer protocol. The secondary agents accept and process the sub-requests, and report sub-status information for each of the sub-requests to the primary agent and/or the host. The primary agent optionally accumulates the sub-statuses into an overall status for providing to the host. Peer-to-peer communication between the agents is optionally used to communicate redundancy information during host accesses and/or failure recoveries. Various failure recovery techniques reallocate storage, reassign agents, recover data via redundancy information, or any combination thereof.
Opening claim text (preview).
What is claimed is: 1. A system comprising: host interface logic of a primary agent storage device visible to a host, the host interface logic enabled to interface to the host via a host-interface protocol and to interface to a secondary agent storage device invisible to the host via a peer-to-peer protocol, the interfacing to the host comprising reading a storage request from an entry in a submission queue, the interfacing to the secondary agent storage device comprising forwarding a storage sub-request to the secondary agent storage device, the interfacing to the host and the interfacing to the secondary agent storage device being via a same physical channel; sub-request generation logic of the primary agent storage device enabled to generate the storage sub-request based at least in part on address information comprised in the storage request; and storage capacity reporting logic of the primary agent storage device enabled to report back to the host a total storage capacity, the total storage capacity based at least in part on a storage capacity of the secondary agent storage device. 2. The system of claim 1 , wherein the storage request comprises a read command with a first logical address, the storage sub-request comprises a corresponding read command with a different, second logical address, and the secondary agent storage device transfers data stored in mass storage of the secondary agent storage device directly to the host via the physical channel, the data corresponding to the second logical address. 3. The system of claim 1 , further comprising one or more of the host, the secondary agent storage device, and a switch coupling the host to the secondary agent storage device. 4. The system of claim 1 , the primary agent storage device further comprising storage interface logic and mass storage, the storage interface logic enabled to interface to the mass storage, and wherein the total storage capacity is further in accordance with a storage capacity of the mass storage. 5. The system of claim 1 , wherein the interfacing to the host further comprises writing an overall status to an entry in a completion queue and the interfacing to the secondary agent storage device further comprises forwarding a sub-status from the secondary agent storage device to the host as at least part of the overall status via the writing of the overall status to the completion queue; and further comprising sub-status accumulation logic enabled to determine the overall status based at least in part on the sub-status. 6. The system of claim 1 , wherein each of the primary and secondary agent storage devices is a Solid-State Disk (SSD). 7. A method comprising: via host interface logic of a primary agent storage device accessible by a host, interfacing to the host via a host-interface protocol and interfacing to a secondary agent storage device inaccessible by the host via a peer-to-peer protocol, the interfacing to the host comprising reading a storage request from an entry in a submission queue, the interfacing to the secondary agent storage device comprising forwarding a storage sub-request to the secondary agent storage device, the interfacing to the host and the interfacing to the secondary agent storage device being via a same physical channel; via sub-request generation logic of the primary agent storage device, generating the storage sub-request based at least in part on address information comprised in the storage request; and via storage capacity reporting logic of the primary agent storage device, reporting back to the host a total storage capacity, the total storage capacity based at least in part on a storage capacity of the secondary agent storage device. 8. The method of claim 7 , wherein the physical channel is compatible with at least one of a Peripheral Component Interconnect express (PCIe) channel and an Inifiniband channel. 9. The method of claim 7 , further comprising detecting an error condition associated with the primary agent storage device, removing the primary agent storage device from service, and transitioning the secondary agent storage device from an inaccessible state to an accessible state with respect to the host so that the secondary agent storage device becomes a new primary agent storage device, and wherein the interfacing, generating and reporting steps are repeated for a new host request by the new primary agent storage device in conjunction with a different secondary agent storage device inaccessible to the host. 10. The method of claim 7 , wherein the host is a first host to which the primary agent storage device is visible and to which the secondary agent storage device is invisible, and wherein the interfacing, generating and reporting steps are repeated using a second host to which the secondary agent storage device is visible and the primary agent storage device is invisible. 11. The method of claim 7 , wherein the interfacing to the host further comprises writing an overall status to an entry in a completion queue and the interfacing to the secondary agent storage device further comprises forwarding a sub-status from the secondary agent storage device to the host as at least part of the overall status via the writing of the overall status to the completion queue; and further comprising, via sub-status accumulation logic, determining the overall status based at least in part on the sub-status. 12. The method of claim 7 , wherein the primary agent storage device forms a portion of a first plurality of storage devices visible to the host, wherein the secondary agent storage device forms a portion of a second plurality of storage devices invisible to the host, each of the first and second plurality of storage devices characterized as a Solid-State Disk (SSD) coupled to the physical channel. 13. A storage system comprising a plurality of storage devices each having a controller and memory, the plurality of storage devices interconnected to a common physical channel via a peer-to-peer communication protocol, a first portion of the plurality of storage devices configured as primary agents visible to a host coupled to the physical channel, a second portion of the plurality of storage devices configured as secondary agents not visible to the host, wherein responsive to a storage request from the host to transfer user data between the host and at least a selected one of the plurality of storage devices, a selected primary agent generates and transfers a sub-request to a selected secondary agent, and responsive to the sub-request the selected secondary agent transfers user data directly to the host and transfers status information to the selected primary agent indicative of a storage capacity of the secondary agent. 14. The storage system of claim 13 , wherein each of the plurality of storage devices is characterized as a Solid-State Disk (SSD) storage device. 15. The storage system of claim 13 , wherein the plurality of storage devices further comprises a third portion which provide a combination of host visible storage and host invisible storage to the host. 16. The storage system of claim 13 , wherein each of the primary agents comprise host interface logic configured to communicate with the host, sub-request generation logic configured to convert a received host storage request to a corresponding sub-request based on address information in the received host storage request, and storage capacity reporting logic configured to report a total storage capacity value to the host based on at least a storage capacity of the memory of the primary agent and a storage capacity of at least one secondary agent.
Plurality of storage devices · CPC title
Reducing size or complexity of storage systems · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
at device level, e.g. emulation of a storage device or system · CPC title
using switching circuits, e.g. switching matrix, connection or expansion network (G06F13/4009 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.