Hybrid in-memory/pageable spatial column data
US-2024311371-A1 · Sep 19, 2024 · US
US9836404B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9836404-B2 |
| Application number | US-201514826703-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 14, 2015 |
| Priority date | Aug 14, 2015 |
| Publication date | Dec 5, 2017 |
| Grant date | Dec 5, 2017 |
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.
Systems and techniques are disclosed for the mirroring of cache data from a storage controller to a storage class memory (“SCM”) device. The storage controller receives a write request, caches the write data, and mirrors the write data to the SCM device instead of to a cache of another storage controller. The SCM device stores the mirrored data in the SCM device. The storage controller acknowledges the write to the host. If the storage controller later fails, an alternate controller assumes ownership of storage volumes associated with the failed controller. Upon receipt of a new read request to the failed controller, the alternate controller checks the SCM device for a cache hit. If there is, the data is read from the SCM device; otherwise, it is read from the storage volume(s). The read data is cached at the alternate controller and then sent on to the requesting host.
Opening claim text (preview).
What is claimed is: 1. A method comprising: receiving, at a storage server, a write request with write data from a host directed toward a storage volume associated with a storage controller of the storage server; caching, at a cache of the storage controller, the write data in response to receiving the write request; mirroring, by the storage controller, the write data to a first partition of a multi-ported nonvolatile memory (“NVM”) device of the storage server, the first partition comprising a metadata section and a content section, wherein the NVM device is addressable by both the storage controller and a redundant controller of the storage server, and wherein the storage controller and the redundant controller concurrently mirror data to the multi-ported NVM device; and storing the mirrored write data to the storage volume after the storage controller mirrors the write data to the multi-ported NVM device. 2. The method of claim 1 , wherein the mirroring further comprises: storing second mirrored write data from the redundant controller in a second partition of the multi-ported NVM device, the first and second partitions being different from each other, wherein the second partition comprises a second metadata section and a second content section. 3. The method of claim 2 , further comprising: transferring, in response to failure of the storage controller, ownership of the storage volume previously associated with the storage controller to the redundant controller; and transferring ownership of data stored in the first partition of the multi-ported NVM device to the redundant controller. 4. The method of claim 3 , further comprising: receiving, at the redundant controller, a read request directed toward the storage volume previously associated with the storage controller; and serving, by the redundant controller, the read request by checking a metadata portion of the first partition of the multi-ported NVM device to determine whether there is a cache hit. 5. The method of claim 4 , further comprising: reading, by the redundant controller, read data identified by the read request from the first partition in response to determining that there is a cache hit; caching, by the redundant controller, the read data at a cache of the redundant controller in response to reading the read data from the first partition of the multi-ported NVM device; sending, from the redundant controller, the read data in response to the read request; and invalidating, by the redundant controller, the read data in the first partition of the multi-ported NVM device in response to caching the read data at the cache of the redundant controller. 6. The method of claim 3 , further comprising: receiving, at the storage server, installation of a replacement controller to replace the failed storage controller; and recovering, by the replacement controller, metadata and cache blocks previously associated with the failed storage controller from the first partition of the multi-ported NVM device, the recovered cache blocks comprising at least in part dirty data. 7. The method of claim 1 , wherein the multi-ported NVM device is attached to the storage controller via a communications bus. 8. A computing device comprising: at least one memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of mirroring to a multi-ported NVM device; and at least one processor coupled to the at least one memory, the at least one processor configured to execute the machine executable code to cause the at least one processor to: store, in a cache, write data received from a host directed to a storage volume managed by a storage controller; mirror the write data to a multi-ported NVM device, wherein the multi-ported NVM device is addressable by both the storage controller and a redundant controller, wherein the storage controller and the redundant controller concurrently mirror data to the multi-ported NVM device; store the mirrored write data to a first partition of the multi-ported NVM device, the first partition comprising a metadata section and a content section; and store the mirrored write data to the storage volume after the storage controller mirrors the write data to the multi-ported NVM device. 9. The computing device of claim 8 , wherein the redundant controller comprises a second cache, the redundant controller further to: store second write data in the second cache; mirror the second write data to the multi-ported NVM device; and store the mirrored second write data to a second partition of the multi-ported NVM device, the second partition being different from the first partition and comprising a second metadata section and a second content section. 10. The computing device of claim 9 , the redundant controller further to: transfer, in response to failure of the storage controller, ownership of the storage volume previously associated with the storage controller to the redundant controller. 11. The computing device of claim 10 , the redundant controller further to: receive a read request directed toward the storage volume previously associated with the failed storage controller; and serve the read request by checking the metadata section of the first partition of the multi-ported NVM device to determine whether there is a cache hit. 12. The computing device of claim 11 , the redundant controller further to: access read data identified by the read request from the content section of the first partition in response to determining that there is a cache hit; cache the read data at the second cache of the redundant controller in response to reading the read data from the content section of the first partition of the multi-ported NVM device; send the read data in response to the read request; and invalidate the read data in the first partition of the multi-ported NVM device in response to caching the read data at the second cache of the redundant controller. 13. The computing device of claim 10 , further comprising a replacement controller to replace the failed storage controller, the replacement controller being coupled to the memory and comprising a third cache, the replacement controller to: recover metadata and cache blocks previously associated with the failed storage controller from the first partition of the multi-ported NVM device, the recovered cache blocks comprising at least in part dirty data. 14. The computing device of claim 8 , further comprising: a communications bus configured to couple the multi-ported NVM device to the storage controller and the redundant controller. 15. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the at least one machine to: receive a write request with write data from a host directed toward a storage volume associated with a storage controller of the machine; cache, at a cache of the storage controller, the write data in response to receiving the write request; mirror, by the storage controller, the write data to a nonvolatile memory (“NVM”) device of the machine that is addressable by both the storage controller and a redundant controller of a storage server, wherein the storage controller and the redundant controller concurrently mirror data to the NVM device; store the mirrored write data to a first partition of the NVM device, the first partition comprising a metadata section and a content section; and store the mirrored write data to the storage volume a
using more than 2 mirrored copies · CPC title
in relation to availability · CPC title
Digital input from, or digital output to, record carriers {, e.g. RAID, emulated record carriers or networked record carriers} · CPC title
on the same storage unit · CPC title
Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.