Abstract:
Apparatuses, systems, methods, and computer program products are disclosed for a persistent data structure. A method includes associating a logical identifier with a data structure. A method includes writing data of a data structure to a first region of a volatile memory module. A volatile memory module may be configured to ensure that data is preserved in response to a trigger. A method includes copying data of a data structure from a volatile memory module to a non-volatile storage medium such that the data of the data structure remains associated with a logical identifier.
Abstract:
Apparatuses, systems, methods, and computer program products are disclosed for a persistent data structure. A method includes associating a logical identifier with a data structure. A method includes writing data of a data structure to a first region of a volatile memory module. A volatile memory module may be configured to ensure that data is preserved in response to a trigger. A method includes copying data of a data structure from a volatile memory module to a non-volatile storage medium such that the data of the data structure remains associated with a logical identifier.
Abstract:
An apparatus, system, and method are disclosed for data management. The method includes writing data in a sequential log structure. The method also includes receiving a time sequence request from a client. The method further includes servicing the time sequence request based on a temporal order of the data in the sequential log structure.
Abstract:
An apparatus, system, and method are disclosed for auto-commit memory management. The method includes receiving an auto-commit request from a client, such as a barrier request or a checkpoint request. The auto-commit request is associated with an auto-commit buffer of a non-volatile recording device. The method includes issuing a serializing instruction that flushes data from a processor complex to the auto-commit buffer. The method includes determining completion of the serializing instruction flushing the data to the auto-commit buffer.
Abstract:
Apparatuses, systems, and methods for data expiry include examining metadata associated with data in a non-volatile recording medium. Apparatuses, systems, and methods include expiring data from a non-volatile recording medium in response to metadata indicating that an expiration period for the data has been satisfied.
Abstract:
Techniques are disclosed relating to reclaiming data on recording media. In one embodiment, an apparatus has a solid-state memory array including a plurality of blocks. The solid-state memory array may implement a cache for one or more storage devices. Respective operational effects are determined relating to reclaiming ones of the plurality of blocks. One of the plurality of blocks is selected as a candidate for reclamation based on the determined operational effects, and the selected block is reclaimed. In some embodiments, the determined operational effects for a given block indicate a number of write operations to be performed to reclaim the given block. In some embodiments, operational effects are determined based on criteria relating to assigned quality-of-service levels. In some embodiments, operational effects are determined based on information relating to virtual storage units.
Abstract:
Apparatuses, systems, methods, and computer program products are disclosed for persistent memory management. Persistent memory management may include providing a persistent data structure stored at least partially in volatile memory configured to ensure persistence of the data structure in a non-volatile memory medium. Persistent memory management may include replicating a persistent data structure in volatile memory buffers of at least two non-volatile storage devices. Persistent memory management may include preserving a snapshot copy of data in association with completion of a barrier operation for the data. Persistent memory management may include determining which interface of a plurality of supported interfaces is to be used to flush data from a processor complex.
Abstract:
Apparatuses, systems, and methods are disclosed for data expiry. A method includes examining metadata associated with data in a non-volatile recording medium. A method includes expiring data from a non-volatile recording medium in response to metadata indicating that an expiration period for the data has been satisfied.
Abstract:
Apparatuses, systems, methods, and computer program products are disclosed for hybrid checkpointed memory. A method includes referencing data of a range of virtual memory of a host. The referenced data is already stored by a non-volatile medium. A method includes writing, to a non-volatile medium, data of a range of virtual memory that is not stored by the non-volatile medium. A method includes providing access to data of a range of virtual memory from a non-volatile medium using a persistent identifier associated with referenced data and written data.
Abstract:
A storage module may be configured to perform log storage operations on a storage log maintained on a non-volatile storage medium. An I/O client may utilize storage services of the storage module to maintain an upper-level log. The storage module may be configured to coordinate log storage and/or management operations between the storage log and the upper-level log. The coordination may include adapting a segment size of the logs to reduce write amplification. The coordination may further include coordinating validity information between log layers, adapting log grooming operations to reduce storage recovery overhead, defragmenting upper-level log data within the storage address space, preventing fragmentation of upper-level log data, and so on. The storage module may coordinate log operations by use of log coordination messages communicated between log layers.
Abstract translation:存储模块可以被配置为对保存在非易失性存储介质上的存储日志执行日志存储操作。 I / O客户端可以利用存储模块的存储服务来维护上级日志。 存储模块可以被配置为协调存储日志和上级日志之间的日志存储和/或管理操作。 协调可能包括调整日志的段大小以减少写入放大。 协调可以进一步包括协调日志层之间的有效性信息,适应日志修饰操作以减少存储恢复开销,对存储地址空间内的上层日志数据进行碎片整理,防止上级日志数据的分段等。 存储模块可以通过使用在日志层之间传送的日志协调消息来协调日志操作。