Multiprocessor cache buffer management
US-2016224481-A1 · Aug 4, 2016 · US
US10521371B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10521371-B2 |
| Application number | US-201815954873-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 17, 2018 |
| Priority date | Apr 17, 2017 |
| Publication date | Dec 31, 2019 |
| Grant date | Dec 31, 2019 |
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.
Embodiments of the present disclosure provide a cache system and associated method. The cache system includes a first pipeline module including a first plurality of sequential processing phases for executing a plurality of operations. The first plurality of operations is executed in response to Input/Output (I/O) requests of a first plurality of types for the persistent storage device, and each of the first plurality of operations is a common operation for the I/O requests of at least two of the first plurality of types. The cache system also includes a control module configured to: determine a first type of a first pending processing I/O request for the persistent storage device, and in response to the first type being one of the first plurality of types, cause the first pipeline module to be executed to process the first pending processing I/O request.
Opening claim text (preview).
We claim: 1. A cache system, the cache system providing read and/or write caching for a persistent storage device and comprising: a first pipeline module including a first plurality of sequential processing phases for executing a first plurality of operations, the first plurality of operations being executed in response to Input/Output (I/O) requests of a first plurality of types for the persistent storage device, and each of the first plurality of operations being a common operation for the I/O requests of at least two of the first plurality of types; and a control module configured to: determine a first type of a first pending processing I/O request for the persistent storage device, and in response to the first type being one of the first plurality of types, cause the first pipeline module to be executed to process the first pending processing I/O request, wherein the first plurality of operation include at least one operation that involves access to the persistent storage device. 2. The cache system of claim 1 , wherein the I/O requests of the first plurality of types include more than one of the following: a read request, a write request, a zero-fill request, a pre-fetch request, and a data removal request. 3. The cache system of claim 1 , wherein the control module is further configured to: determine a second type of a second pending processing I/O request for the persistent storage device; and in response to determining that the second type is one of the first plurality of types, while a first one of the first plurality of sequential processing phases is executing, cause the first pipeline module to be executed to process the second pending processing I/O request using a second sequential processing phase prior to the first sequential processing phase in the first plurality of sequential processing phases. 4. The cache system of claim 1 , wherein the control module is configured to: select at least one of the first plurality of processing phases for the first pending processing I/O request; cause the at least one selected processing phase to be executed for the first pending processing I/O request; and cause other processing phases in the first plurality of processing phases to be skipped. 5. The cache system of claim 1 , wherein a third one of the first plurality of sequential processing phases is operable to be suspended for a predetermined period of time in response to cache resources available for the third sequential processing phase in the cache system being below a predetermined threshold, and to be executed in response to the cache resource exceeding the predetermined threshold. 6. The cache system of claim 1 , further comprising: a second pipeline module including a second plurality of sequential processing phases for executing a second plurality of operations, the second plurality of operations being executed in response to an I/O request of a third type for the persistent storage device, and wherein the control module is further configured to: determine a type of a third pending processing I/O request received by the cache system, and in response to the determined type being the third type, cause the second pipeline module to be executed to process the third pending processing I/O request. 7. The cache system of claim 6 , wherein the control module is further configured to: cause the second pipeline module to be executed while the first pipeline module is executing the first pending processing I/O request. 8. The cache system of claim 7 , wherein the control module is further configured to: allocate cache resources of the cache system for the first and second pipeline modules based on respective priorities of the first and second pipeline modules. 9. A method for a cache system providing read and/or write caching for a persistent storage device, the method comprising: receiving a first pending processing Input/Output (I/O) request for the persistent storage device, the cache system including a first pipeline module having a first plurality of sequential processing phases for executing a first plurality of operations, the first plurality of operations being executed in response to I/O requests of a first plurality of types for the persistent storage device, and each of the first plurality of operations being a common operation for the I/O requests of at least two of the first plurality of types; determining a first type of a first pending processing I/O request; and in response to the first type being one of the first plurality of types, causing the first pipeline module to be executed to process the first pending processing I/O request, wherein the I/O requests of the first plurality of types include more than one of the following: a read request, a write request, a zero-fill request, a pre-fetch request, and a data removal request. 10. The method of claim 9 , wherein the first plurality of operations include at least at least one operation associated with access to the persistent storage device. 11. The method of claim 9 , further comprising: receiving a second pending processing I/O request for the persistent storage device; determining a second type of the second pending processing I/O request; and in response to determining that the second type is one of the first plurality of types, while a first one of the first plurality of sequential processing phases is executing, causing the first pipeline module to be executed to process the second pending processing I/O request using a second sequential processing phase prior to the first sequential processing phase in the first plurality of sequential processing phases. 12. The method of claim 9 , wherein causing the first pipeline module to be executed comprises: selecting at least one of the first plurality of processing phases for the first pending processing I/O request; causing the at least one selected processing phase to be executed for the first pending processing I/O request; and causing other processing phases in the first plurality of processing phases to be skipped. 13. The method of claim 9 , wherein causing the first pipeline module to be executed comprises: in response to cache resources available for a third one of the first plurality of sequential processing phases in the cache system being below a predetermined threshold, suspending execution of the third sequential processing phase for a predetermined period of time; and in response to the cache resources exceeding the predetermined threshold, causing the third sequential processing phase to be executed. 14. The method of claim 9 , wherein the cache system further includes a second pipeline module having a second plurality of sequential processing phases for executing a second plurality of operations, the second plurality of operations being executed in response to an I/O request of a third type for the persistent storage device, and wherein the method further comprises: receiving a third pending processing I/O request for the persistent storage device, determining a type of the third pending processing I/O request, and in response to the determined type being the third type, causing the second pipeline module to be executed to process the third pending processing I/O request. 15. The method of claim 14 , wherein causing the second pipeline module to be executed comprises: causing the second pipeline module to be executed while the first pipeline module is executing the first pending processing I/O request. 16. The method of claim 15 , further comprising: allocating cache resources of the cache system for the firs
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Bus transfer protocol, e.g. handshake; Synchronisation · CPC title
for multiprocessing or multitasking · CPC title
Synchronisation and timing concerns (synchronisation on a memory bus G06F13/4234) · CPC title
Data transfer between cache memory and other subsystems, e.g. storage devices or host systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.