System and method for uniform interleaving of data across a multiple-channel memory architecture with asymmetric storage capacity
US-2015100746-A1 · Apr 9, 2015 · US
US11550473B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11550473-B2 |
| Application number | US-202016845922-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 10, 2020 |
| Priority date | May 3, 2016 |
| Publication date | Jan 10, 2023 |
| Grant date | Jan 10, 2023 |
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 method of operating a storage system is disclosed. The method includes determining a storage cluster among storage arrays of the storage system. Each storage array includes at least two controllers and at least one storage shelf. The at least two controllers are configured to function as both a primary controller for a first storage array and a secondary controller for a second storage array.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: providing a high availability controller pair comprising a first controller and a second controller for a first storage array having first storage memory and a second storage array having second storage memory that is distinct from the first storage memory of the first storage array; tracking input/output (I/O) requests to determine a number of relay events for one or more of the I/O requests, wherein a relay event indicates an I/O request that was assigned to the second controller and was forwarded to the second controller by the first controller; and reducing the number of relay events by reassigning the first controller to handle a request that is assigned to the second controller, responsive to the tracking. 2. The method of claim 1 wherein the secondary controller is shared by multiple primary controllers. 3. The method of claim 1 wherein the secondary controller is shared by more than one storage component. 4. The method of claim 1 further comprising: accessing global metadata; and forwarding I/O requests based on the global metadata. 5. The method of claim 1 further comprising: receiving an I/O request at the first controller; determining the I/O request is associated with second controller; and forwarding the I/O request to the second controller. 6. The method of claim 1 further comprising: suggesting actions to reduce the number of relay events based on the tracking, wherein the actions include at least one from a set consisting of migrating a volume from one storage array to another, adding storage capacity to a storage array, removing storage capacity from a storage array, and changing cabling for relay minimization purposes. 7. The method of claim 1 wherein the reducing the number of relay events for one or more I/O requests comprises: modifying metadata replicated across storage arrays; and communicating the modified metadata across the storage arrays. 8. A storage system, comprising: a first controller and a second controller arranged in a high availability configuration for a first storage array having first storage memory and a second storage array having second storage memory that is distinct from the first storage memory of the first storage array; controllers of a storage cluster comprising the first storage array and the second storage array monitoring forwarded input/output (I/O) requests to determine a number of relay events for one or more I/O requests, wherein a relay event indicates an I/O request that was assigned to the second controller and was forwarded to the second controller by the first controller; and the controllers of the storage cluster, responsive to the monitoring, reducing the number of relay events by reassigning the first controller to handle a request that is assigned to the second controller, responsive to the monitoring. 9. The storage system of claim 8 wherein the secondary controller is shared by multiple primary controllers. 10. The storage system of claim 8 wherein the secondary controller is shared by more than one storage array. 11. The storage system of claim 8 further comprising: a global metadata accessing component that accesses global metadata; and an I/O forwarding component that forwards I/O requests based on the global metadata. 12. The storage system of claim 8 wherein an I/O request that is received at the first controller is forwarded to the second controller if it is determined that the I/O request is associated with the second controller. 13. The storage system of claim 8 , further comprising the s controllers of the storage cluster suggesting actions to reduce the number of relay events based on the first component, wherein the actions include at least one from a set consisting of migrating a volume from one storage array to another, adding storage capacity to a storage array, removing storage capacity from a storage array, and changing cabling for relay minimization purposes. 14. The storage system of claim 8 wherein the second component reduces the number of relay events for at least one I/O request by modifying metadata replicated across storage arrays, and communicating the modified metadata across the storage arrays. 15. A non-transitory computer-readable storage medium having program instructions stored thereon, which when executed by at least one processor, cause the at least one processor to perform a method comprising: providing a high availability controller pair comprising a first controller and a second controller for a first storage array having first storage memory and a second storage array having second storage memory that is distinct from the first storage memory of the first storage array; tracking input/output (I/O) requests to determine a number of relay events for one or more I/O requests, wherein a relay event indicates an I/O request that was assigned to the second controller and was forwarded to the second controller by the first controller; and reducing the number of relay events by reassigning the first controller to handle a request that is assigned to the second controller, responsive to the tracking. 16. The medium of claim 15 wherein the secondary controller is shared by multiple primary controllers. 17. The medium of claim 15 wherein the secondary controller is shared by more than one storage array. 18. The medium of claim 15 wherein the method further comprises: accessing global metadata; and forwarding I/O requests based on the global metadata. 19. The medium of claim 15 wherein the method further comprises: receiving an I/O request at the first controller; determining the I/O request is associated with the second controller; and forwarding the I/O request to the second controller. 20. The medium of claim 15 , wherein the method further comprises: suggesting actions to reduce the number of relay events based on the tracking, wherein the actions include at least one from a set consisting of migrating a volume from one storage array to another, adding storage capacity to a storage array, removing storage capacity from a storage array, and changing cabling for relay minimization purposes.
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Controller construction arrangements · CPC title
Migration mechanisms · CPC title
by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.