Abstract: The various embodiments described herein include methods, devices, and systems for processing memory operation requests. In one aspect, a method is performed at a computing system having one or more processors and non-volatile memory: (1) obtaining a plurality of internal memory operation requests for the non-volatile memory, the plurality of internal memory operation requests originating from within the computing system; (2) obtaining a plurality of external memory operation requests for the non-volatile memory, the plurality of external memory operation requests originating from one or more devices remote and distinct from the computing system; and (3) regulating a rate at which the plurality of internal memory operation requests are transferred to the non-volatile memory based on an amount of external memory operation requests in the plurality of external memory requests.
Abstract: The various embodiments described herein include methods, devices, and systems for caching data. In one aspect, a method is performed at a computing system having one or more processors and memory including a plurality of distinct memory types each assigned to a respective memory tier of a plurality of memory tiers based on a read latency of the memory type. The method includes: (1) identifying a plurality of extents, including a first extent, each of the extents comprising a respective set of related data stored within the memory; (2) determining a first read frequency for the first extent; and (3) storing the first extent in a particular memory tier of the plurality of distinct memory tiers based on the determined first read frequency.
Abstract: A method and system of replicating data stored on a storage device where an update is stored in a snapshot. The update includes a copy of at least one portion of the data stored on the storage device. Metadata relating to the update is also stored. The replica is periodically updated by copying the contents of the snapshot into the replica in accordance with the stored metadata. After the replica is updated, the snapshot can be deleted.
Abstract: A method and system of replicating data where data is copied from a host server to a storage device in a first group of storage devices. A receipt is sent from the first group of storage devices to the host server when the data has been copied to all storage devices within the first group. The data is copied from the first group to at least one further group of storage devices. A receipt is sent from each further group of storage devices to the first group of storage devices when the data has been copied to all storage devices within each further group.