Disaggregating a memory side cache data array and cache controller
US-2024211400-A1 · Jun 27, 2024 · US
US9361229B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9361229-B2 |
| Application number | US-19781908-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 25, 2008 |
| Priority date | Aug 25, 2008 |
| Publication date | Jun 7, 2016 |
| Grant date | Jun 7, 2016 |
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 methods for distributed shared caching in a clustered file system, wherein coordination between the distributed caches, their coherency and concurrency management, are all done based on the granularity of data segments rather than files. As a consequence, this new caching system and method provides enhanced performance in an environment of intensive access patterns to shared files.
Opening claim text (preview).
The invention claimed is: 1. A method for distributed shared caching for of a clustered the system (CFS) in a computing environment, the method comprising: accessing, by the CFS, file system data on a shared storage, wherein a plurality of CFS agents are included in the CFS; including in the CFS one or more the access components, each having a local cache memory and a distributed shared memory (DSM), to reduce the system access to the shared storage; managing a global cache coherency between a plurality of cache components in the CFS in a resolution of variable size data segments by using the DSM, wherein the DSM interacts with each local cache memory and the the one or more the access components by using a plurality of protocols for the managing; including a distributed shared memory (DSM) agent in the DSM, wherein the DSM agent performs: collectively managing access permissions to the entire space of the CFS data while interacting with each local cache memory, wherein each local cache memory is holding only a fraction of the entire space of the CFS data; and comparing the capacity of each local cache memory to the entire space of the CFS; and upon a user's request for allocating a new data segment, the DSM agent granting an exclusive access permission on the allocated data segment in the shared storage; and partitioning a plurality of the system metadata into regions, wherein each region is assigned to a respective one of the plurality of CFS agents, such that each region is modified and coordinated by the respective one of the plurality of CFS agents. 2. The method of claim 1 , wherein: the DSM agent determines the latest contents of file system data to maintain the global cache coherency between the plurality of cache components of the CFS, wherein the DSM agents determine if the contents of data segments are to be retrieved from one of the plurality of cache components and a disk, a remote cache memory and one or more of the local cache memories included in the plurality of cache components. 3. The method of claim 2 , wherein: in response to a user request to a local node, user operations are applied to data segments in one or more of the local cache memories in accordance with permissions granted by the DSM agent, wherein the user operations include at least one of reading requested data segments to the one or more of the local cache memories and modifying data segments within the local cache memory. 4. The method of claim 3 , wherein: users performing read only operations are allowed to access the file system data concurrently, otherwise, the operations of users that require access for modification of a same data segment are serialized. 5. The method of claim 1 , wherein: each node has a CFS agent maintaining a local set of data segments in one or more of the local cache memories and associated local parameters which include an access permission and ownership by the local DSM agent. 6. The method of claim 1 , including: upon a user's request for de-allocating a data segment, and prior to the de-allocation, the DSM agent granting an exclusive access permission on the de-allocated data segment in the shared storage, and subsequent to de-allocation, the DSM agent releasing the data segment. 7. The method of claim 1 , wherein: upon a user's request for accessing a data segment, the DSM agent granting the user an access permission on the data segment, and pursuant to the user's request, the DSM agent being informed on the existence of the data segment contents in one of the plurality of cache components. 8. The method of claim 7 , including: following grant of the access permission; the DSM agent instructing a respective one of the local cache memories on how to obtain the latest contents of the data segment. 9. The method of claim 8 , including: the DSM agent instructing the respective one of the local cache memories to obtain the latest contents of the data segment from one of; the local cache memory; a remote cache memory via communication of the local DSM agent with a remote DSM agent; the shared storage. 10. The method of claim 9 , wherein: if the DSM agent instructs a respective one of the local cache memories to obtain the latest contents of the data segment from the shared storage, reading the data segment from the shared storage; and if the DSM agent instructs the respective one of the local cache memories to obtain the latest contents of the data segment from the respective one of the local cache memories, but the data segment is not found present in the respective one of the local cache memories, reading the data segment from the shared storage; and if the DSM agent instructs the respective one of the local cache memories to obtain the latest contents of the data segment from the respective one of the local cache memories, and the data segment is found present in the respective one of the local cache memories, obtaining the data segment from the respective one of the local cache memories; and if the DSM agent provides to the respective one of the local cache memories the latest contents of the data segment from the remote cache memory, using the provided data segment. 11. The method of claim 9 , including: one DSM agent sending the latest contents to an alternative DSM agent. 12. The method of claim 7 , including: upon a user's request for releasing a data segment, the DSM agent releasing the data segment. 13. The method of claim 8 , wherein: the DSM agent determines the latest contents of a data segment requested by a user by: if ownership of the data segment is with a local agent and there is no valid access permission on that data segment, then the data segment should be read from the shared storage; if ownership of the data segment is with the local agent and there is a valid permission on the data segment (shared or exclusive), then the data segment contents in a respective one of the local cache memories, if it exists, is the latest; if ownership of the data segment is with a remote agent and the request is for shared permission and the local permission on the data segment is shared and the data segment exists in the respective one of the local cache memories, then the data segment contents in the respective one of the local cache memories is the latest; and if ownership of the data segment is with the remote agent and the previous condition does not apply, then a request message is sent to the remote DSM agent and the data segment latest contents is either transported with a response if it is in a remote cache memory and with a valid permission, otherwise the data segment latest contents should be read from the shared storage. 14. The method of claim 1 , wherein: the DSM agent determines the latest contents of a data segment by: upon processing a request from a remote DSM agent for a data segment, a local DSM agent determines whether the requested data segment contents exists in local cache memory; and if the requested data segment contents exists in a respective one of the local cache memories and the local DSM agent holds a valid permission on that data segment, then the local DSM agent obtains it from the respective one of the local cache memories and sends it with a response to the remote DSM agent, and then informs the respective one of the local cache memories on completion of usage of the data segment; and otherwise the local DSM agent does not send that data segment with the response, signifies a remote cache memory to read that data segment from the shared storage, and transfers ownership of that data segment to the remote DSM agent. 15. The method of claim 14 , wherein: upon transferring ownership of
Caching, prefetching or hoarding of files · CPC title
Distributed file systems · CPC title
Cache consistency protocols · CPC title
for peripheral storage systems, e.g. disk cache · CPC title
with a shared cache · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.