G06F2212/264

File storage system, cache appliance, and method

A file storage system for storing data of a file received from a client includes a back-end file server in which the data is stored. The system includes a cache appliance in communication with the file server, such that the appliance stores portions of the data or attributes of the file, and uses the stored data or attributes to process file system requests received from the client, and which reads and writes data and attributes to the back-end file server independently. A system for responding to a file system protocol request in regard to a back-end server includes a token server. The system includes a plurality of cache appliances in communication with the token server, each of which receives tokens from the token server to synchronize access to data and attributes caches of the cache appliances, and reading and writing data and attributes to the back-end servers when tokens are revoked, the cache appliance having persistent storage in which data are stored, and the token server having persistent storage in which tokens are stored. A storage system includes a plurality of backend servers. The system includes a token server which grants permission to read and write file attributes and data system, and includes a plurality of cache appliances in communication with at least one of the backend servers and the token server for processing an incoming NFS request to the one backend server. Each cache appliance comprises an NFS server which converts incoming NFS requests into cache manager operations; a token client module in communication with the token server having a cache of tokens obtained from the token server; a cache manager that caches data and attributes and uses tokens from the token client module to ensure that the cached data or attributes are the most recent data or attributes, and an NFS client which sends outgoing NFS requests to the back-end file server. Methods for storing data of a file received from a client.

USER DATA RECOVERY IN A CONTENT AWARE STORAGE SYSTEM
20200242039 · 2020-07-30 · ·

A method is disclosed for recovering data, the method comprising: retrieving a mapping structure associated with a volume in a storage system, the mapping structure including a plurality of entries, each entry including a respective short hash digest of a data block stored in the volume and an identifier of a location where the data block is stored; generating a plurality of long hash digests, each of the long hash digests being generated based on a different one of a plurality of data blocks that are stored in the storage system; comparing each of the long hash digests to a short hash digest of a missing data block, and adding the long hash digest to a candidate list when the long hash digest matches the short hash digest of the missing data block; generating a filtered candidate based on the candidate list; and recovering the missing data.

Methods and systems for maintaining cache coherency between caches of nodes in a clustered environment

Disclosed herein are methods, systems, and processes to provide coherency across disjoint caches in clustered environments. It is determined whether a data object is owned by an owner node, where the owner node is one of multiple nodes of a cluster. If the owner node for the data object is identified by the determining, a request is sent to the owner node for the data object. However, if the owner node for the data object is not identified by the determining, selects a node in the cluster is selected as the owner node, and the request for the data object is sent to the owner node.

HIGH PERFORMANCE SPACE EFFICIENT DISTRIBUTED STORAGE
20200159698 · 2020-05-21 ·

High performance space efficient distributed storage is disclosed. For example, a distributed storage volume (DSV) is deployed on a plurality of hosts, with a first host storing a local cache, and a storage controller executing on a processor of the first host receives a request to store a first file. The first file is stored to the local cache. The DSV is queried to determine whether a second file that is a copy of the first file is stored in the DSV. In response to determining that the DSV lacks the second file, the first file is transferred from the local cache to the DSV and then replicated to a second host of the plurality of hosts. In response to determining that the second file resides in the DSV, a reference to the second file is stored in the DSV and then replicated to the second host.

Read caching with early refresh for eventually-consistent data store

A technique for managing a read cache in an eventually-consistent data store includes, in response to a read request for a specified data element, receiving the specified data element from the read cache as well as a remaining TTL (time to live) of the data element, as indicated by a timer for that data element in the read cache. If the remaining TTL falls below a predetermined value, the technique triggers an early refresh of the specified data element, prior to its expiration. Consequently, later-arriving read requests to the same data element that arrive before the data element has been refreshed experience cache hits, thus avoiding the need to perform their own time-consuming refresh operations.

Read ahead management in a multi-stream workload

Implementations described and claimed herein provide a method and system for managing execution of commands for a storage device, the method comprising identifying individual streams processing read ahead operations in a storage controller, determining an amount of read ahead data that each individual stream is processing in the read ahead operations, determining a total amount of read cache available for the storage controller, and determining a total amount of read ahead data that all the individual streams are processing in the read ahead operations.

Application cache replication to secondary application(s)

Replicating a primary application cache that serves a primary application on one network node into a secondary application cache that serves a secondary application on a second network node. Cache portions that are within the primary application cache are identified, and then identifiers (but not the cache portions) are transferred to the second network node. Once these identifiers are received, the cache portions that they identify may then be retrieved into the secondary application caches. This process may be repeatedly performed such that the secondary application cache moves towards the same state as the primary application cache though the state of the primary application cache also changes as the primary application operates by receiving read and write requests.

Hierarchical pre-fetch pipelining in a hybrid memory server

A method, hybrid server system, and computer program product, prefetch data. A set of prefetch requests associated with one or more given datasets residing on the server system are received from a set of accelerator systems. A set of data is prefetched from a memory system residing at the server system for at least one prefetch request in the set of prefetch requests. The set of data satisfies the at least one prefetch request. The set of data that has been prefetched is sent to at least one accelerator system, in the set of accelerator systems, associated with the at least one prefetch request.

Data access management in a hybrid memory server

Once or more embodiments manage access to data by accelerator systems in an out-of-core processing environment. In one embodiment, a request from an accelerator system is received for access to a given data set. An access context associated with the given data set is determined. The accelerator system is dynamically configured, based on the access context that has been determined, based on the access context that has been determined, to one of access the given data set directly from the server system; locally store a portion of the given data set in a memory; and locally store all of the given data set in the memory.

System and method for the synchronization of a file in a cache
10552382 · 2020-02-04 · ·

The invention provides a system and method for file synchronization. One embodiment of the system of this invention includes a software program stored on a computer readable medium. The software program can be executed by a computer processor to receive a file from a server; store the file as a cached file in a cache; determine if the cached file has been modified; and if the cached file has been modified, communicate the cached file directly to the database.