Patent classifications
G06F3/0649
STORAGE SYSTEM, STORAGE CONTROL DEVICE, AND STORAGE CONTROL METHOD
A storage system performs storage tiering including a first storage device and a second storage device. The first storage device that stores data, the second storage device that stores data that is stored in the first storage device and elapses for a predetermined period of time. A storage control device that stores data in time series in the second storage device, reads the time-series data at a predetermined timing, and reorganizes the read data for each key to store the reorganized data in the second storage device and read the reorganized data from the second storage device when the data is read by the key.
System and method for managing storage space
Disclosed herein is a technique for managing storage space in a user device. Users are provided with options to manage storage space usage in an organized and efficient manner. The options can include recommendations to the user regarding automatically and/or manually purging data from the user device to free up a particular amount of storage space that is needed to carry out a particular task.
Distributed storage system for long term data storage
A distributed storage system for the long-term storage of data objects that is implemented utilizing one or more distinct storage sites that may be comprised of system controllers and object storage systems that act in concert to embody a single distributed storage system. A system may include a one or more types and/or instances of object storage systems. A system may include object storage systems that are powered on for a limited time as required to complete queued data operations. A system may further include system controllers associated with logical and/or physical sites that coordinate object, user, device, and system management functionally.
Distributed dataset modification, retention, and replication
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for data retention and modification. One of the methods includes dividing partitions into a set of generations according to a retention policy; accumulating modification and deletion events that define changes to be applied to data of the distributed dataset; and when a triggering event occurs for a triggered generation in the set of generations, rolling an oldest partition out of the triggered generation, the rolling comprising: if the oldest partition has reached the end of a retention period for the dataset, marking the oldest partition for deletion in the triggered generation; otherwise: creating a new partition corresponding to the data of the oldest partition, wherein the data is cleaned using a scrubbing process; adding the new partition to a next generation in the set of generations; and marking the oldest partition for deletion in the triggered generation.
DATABASE OPTIMIZATION USING RECORD CORRELATION AND INTERMEDIATE STORAGE MEDIA
An embodiment includes deriving usage data associated with records of a database by monitoring requests to perform read operations on the records of the database. The embodiment generates record correlation data representative of correlations between respective groups of records of the database by parsing the usage data associated with the records of the database. The embodiment stores a plurality of records received as respective write requests during a first time interval in an intermediate storage medium. The embodiment identifies a correlation in the record correlation data between a first record of the plurality of records and a second record of the plurality of records. The embodiment selects, responsive to identifying the correlation, a first location in the database for writing the first record and a second location in the database for writing the second record based on a proximity of the first location to the second location.
USER-SPACE REMOTE MEMORY PAGING
Techniques for implementing user-space remote memory paging are provided. In one set of embodiments, these techniques include a user-space remote memory paging (RMP) runtime that can: (1) pre-allocate one or more regions of remote memory for use by an application; (2) at a time of receiving/intercepting a memory allocation function call invoked by the application, map the virtual memory address range of the allocated local memory to a portion of the pre-allocated remote memory; (3) at a time of detecting a page fault directed to a page that is mapped to remote memory, retrieve the page via Remote Direct Memory Access (RDMA) from its remote memory location and store the retrieved page in a local main memory cache; and (4) on a periodic basis, identify pages in the local main memory cache that are candidates for eviction and write out the identified pages via RDMA to their mapped remote memory locations if they have been modified.
Integrated hierarchical storage management
File access statistics associated with a content file are maintained by a file tier agent of a secondary storage system. The content file is accessible via a primary storage system. A target storage tier corresponding to the file access statistics associated with the content file is determined according to one or more policies. At least a portion of data of the content file is migrated to the determined storage tier while accessibility of the content file via the primary storage system is maintained.
Adjustable NAND write performance
Devices and techniques for adjustable memory device write performance are described herein. An accelerated write request can be received at a memory device from a controller of the memory device. The memory device can identify that a target block for external writes is opened as a multi-level cell block. The memory device can then write data for the accelerated write request to the target block using a single-level cell encoding.
Memory system for binding data to a memory namespace
A computer system includes physical memory devices of different types that store randomly-accessible data in a main memory of the computer system. In one approach, an operating system allocates memory from a namespace for use by an application. The namespace is a logical reference to physical memory devices in which physical addresses are defined. The namespace is bound to a memory type. In response to binding the namespace to the memory type, the operating system adjusts a page table to map a logical memory address in the namespace to a memory device of the memory type.
Software Lifecycle Management For A Storage System
Software lifecycle management for a storage system, including: generating, based on user input, a user-defined software lifecycle management policy for software on one or more storage systems; identifying, in dependence upon on a software configuration of the one or more storage systems, one or more candidate updates for the software; and generating, in dependence upon the user-defined software lifecycle management policy, lifecycle management data that identifies one or more conforming updates from among the one or more candidate updates.