Patent application number | Description | Published |
20140095775 | SYSTEMS AND METHODS FOR CACHE ENDURANCE - A cache and/or storage module may be configured to reduce write amplification in a cache storage. Cache layer write amplification (CLWA) may occur due to an over-permissive admission policy. The cache module may be configured to reduce CLWA by configuring admission policies to avoid unnecessary writes. Admission policies may be predicated on access and/or sequentiality metrics. Flash layer write amplification (FLWA) may arise due to the write-once properties of the storage medium. FLWA may be reduced by delegating cache eviction functionality to the underlying storage layer. The cache and storage layers may be configured to communicate coordination information, which may be leveraged to improve the performance of cache and/or storage operations. | 04-03-2014 |
20140195480 | PERSISTENT MEMORY MANAGEMENT - 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. | 07-10-2014 |
20140195564 | PERSISTENT DATA STRUCTURES - 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. | 07-10-2014 |
20140281260 | ESTIMATING ACCESS FREQUENCY STATISTICS FOR STORAGE DEVICE - Techniques are disclosed relating to determining statistics associated with the storage of data on a medium. In one embodiment, a computing system maintains a management statistic for a storage device, and uses the management statistic as a proxy for a workload statistic for a storage block within the storage device. In some embodiments, the storage block is a first storage block included within a second storage block of the storage device. In one embodiment, the management statistic is a timestamp indicative of when a write operation was performed for the second storage block; the workload statistic is a write frequency of the first storage block. In one embodiment, the management statistic is a number of read operations performed for the second storage block; the using includes deriving, based on the number of read operation, a read frequency for the first storage block as the workload statistic. | 09-18-2014 |
20140281307 | HANDLING SNAPSHOT INFORMATION FOR A STORAGE DEVICE - Techniques are disclosed relating to handling snapshot data for a storage device. In one embodiment, a computing system maintains information that indicates the state of data associated with an application at a particular point in time. In this embodiment, the computing system assigns an epoch number to a current epoch, where the current epoch is an interval between the particular point in time and a future point in time. In this embodiment, the computing system writes, during the current epoch, a block of data to the storage device. In this embodiment, the writing the block of data includes storing the epoch number with the block of data. | 09-18-2014 |
20140310499 | SYSTEMS, METHODS AND INTERFACES FOR DATA VIRTUALIZATION - A data services module performs log storage operations in response to requests by storing data on one or more storage devices, and appending information pertaining to the requests to a separate metadata log. A log order of the metadata log may correspond to an order in which the requests were received, regardless of the order in which data of the requests are written to the storage devices. The requests may correspond to identifiers of a logical address space. The data services module implements an any-to-any translation layer configured to map identifiers of the logical address space to the stored data. The virtualization module may include a metadata management module configured to checkpoint the translation layer metadata by, inter alia, appending aggregate, checkpoint entries to the metadata log. The data services module may leverage the translation layer between the logical identifiers and underlying storage locations to efficiently implement logical manipulation operations. | 10-16-2014 |
20150039577 | SYSTEMS AND METHODS FOR ATOMIC STORAGE OPERATIONS - An atomic storage module may be configured to implement atomic storage operation directed to a first set of identifiers in reference to a second, different set of identifiers. In response to completing the atomic storage operation, the atomic storage module may move the corresponding data to the first, target set of identifiers. The move operation may comprise modifying a logical interface of the data. The move operation may further include storing persistent metadata configured to bind the data to the first set of identifiers. | 02-05-2015 |
20150113326 | SYSTEMS AND METHODS FOR DISTRIBUTED ATOMIC STORAGE OPERATIONS - An aggregation module combines a plurality of logical address spaces to form a conglomerated address space. The logical address spaces comprising the conglomerated address space may correspond to different respective storage modules and/or storage devices. An atomic aggregation module coordinates atomic storage operations within the conglomerated address space, and which span multiple storage modules. The aggregation module may identify the storage modules used to implement the atomic storage request, assign a sequence indicator to the atomic storage request, and issue atomic storage requests (sub-requests) to the storage modules. The storage modules may be configured to store a completion tag comprising the sequence indicator upon completing the sub-requests issued thereto. The aggregation module may identify incomplete atomic storage requests based on the completion information stored on the storage modules. | 04-23-2015 |