Abstract:
A distributed storage system node is disclosed. The distributed storage system node may include at least one storage device, which may act as the primary replica for data subject to an Input/Output (I/O) request. A cost analyzer may calculate a local estimated time required to complete the I/O request at the primary replica, and a remote estimated time required to complete the I/O request at a secondary replica of the data. An I/O redirector may direct the I/O request to either the primary replica or the secondary replica based on the local estimated time required and the one remote estimated time required.
Abstract:
A multi-streaming memory system includes a memory, and a processor coupled to the memory, the processor executing a software component that is configured to identify multiple attributes that are each related to logical block addresses (LBAs), and that each correspond to each of a plurality of streams of data writes, evaluate an importance factor for each of the attributes for each of the streams, and clustering two or more of the LBAs by assigning a stream ID to each of the LBAs based on all of the importance factors for each of the LBAs and the assigned stream.
Abstract:
A storage device. The device includes both low-latency persistent memory and higher-latency nonvolatile memory. The persistent memory may be used for write caching or for journaling. A B-tree may be used to maintain an index of write requests temporarily stored in the persistent memory. Garbage collection may be performed in the nonvolatile memory while write requests are being stored in the persistent memory.
Abstract:
A storage device. The device includes both low-latency persistent memory and higher-latency nonvolatile memory. The persistent memory may be used for write caching or for journaling. A B-tree may be used to maintain an index of write requests temporarily stored in the persistent memory. Garbage collection may be performed in the nonvolatile memory while write requests are being stored in the persistent memory.
Abstract:
A system and method for satisfying Quality of Service (QoS) attributes for a stream using a storage device with multi-stream capability is described. The storage device may include memory to store data. A host interface may receive requests, some of which may be associated with a stream. A host interface layer may schedule the requests in a manner that may satisfy the QoS attribute for the stream.
Abstract:
A multi-streaming memory system includes a memory, and a processor coupled to the memory, the processor executing a software component that is configured to identify multiple attributes that are each related to logical block addresses (LBAs), and that each correspond to each of a plurality of streams of data writes, evaluate an importance factor for each of the attributes for each of the streams, and clustering two or more of the LBAs by assigning a stream ID to each of the LBAs based on all of the importance factors for each of the LBAs and the assigned stream.
Abstract:
A multi-streaming memory system includes a memory, and a processor coupled to the memory, the processor executing a software component that is configured to identify multiple attributes that are each related to logical block addresses (LBAs), and that each correspond to each of a plurality of streams of data writes, evaluate an importance factor for each of the attributes for each of the streams, and clustering two or more of the LBAs by assigning a stream ID to each of the LBAs based on all of the importance factors for each of the LBAs and the assigned stream.
Abstract:
An interface for enabling a computer device to utilize data property-based data placement inside a nonvolatile memory device comprises: executing a software component at an operating system level in the computer device that monitors update statistics of all data item modifications into the nonvolatile memory device, including one or more of update frequencies for each data item, accumulated update and delete frequencies specific to each file type, and an origin of the data item; storing the update statistics of each of the data items and each of the data item types in a database; and intercepting all operations, including create, write, and update, of performed by applications to all the data items, and automatically assigning a data property identifier to each of the data items based on current update statistics in the database, such that the data items and assigned data property identifiers are transmitted over a memory channel to the non-volatile memory device.
Abstract:
Example embodiments are described for data property-based data placement inside a nonvolatile memory device performed by a storage controller of the nonvolatile memory device. In one aspect, the embodiments include: executing a software component on the computer device that detects at least one of an executing application and a hardware device connecting to the computing device; responsive to detecting the at least one executing application and the hardware device, searching, by the software component, a workflow repository to find a predetermined workflow associated with the at least one executing application and the hardware device, wherein the predetermined workflow associates predefined data property identifiers to different types of data items written to the nonvolatile memory device by the executing application or the hardware device; comparing, by the software component, activities of the at least one executing application and the hardware device to the predetermined workflow; and using the predetermined workflow to automatically assign the data property identifiers to the data items used by the application or the hardware device, such that the data items and assigned data property identifiers are transmitted over a channel to the nonvolatile memory device for storage wherein the nonvolatile memory device reads the data property identifiers and identifies which blocks of the nonvolatile memory device to store the corresponding data items, such that the data items having the same data property identifiers are stored in a same block.
Abstract:
A system and method for satisfying Quality of Service (QoS) attributes for a stream using a storage device with multi-stream capability is described. The storage device may include memory to store data. A host interface may receive requests, some of which may be associated with a stream. A host interface layer may schedule the requests in a manner that may satisfy the QoS attribute for the stream.