Abstract:
A method for predicting a time-to-failure of a target storage device may include training a machine learning scheme with a time-series dataset, and applying the telemetry data from the target storage device to the machine learning scheme which may output a time-window based time-to-failure prediction. A method for training a machine learning scheme for predicting a time-to-failure of a storage device may include applying a data quality improvement framework to a time-series dataset of operational and failure data from multiple storage devices, and training the scheme with the pre-processed dataset. A method for training a machine learning scheme for predicting a time-to-failure of a storage device may include training the scheme with a first portion of a time-series dataset of operational and failure data from multiple storage devices, testing the machine learning scheme with a second portion of the time-series dataset, and evaluating the machine learning scheme.
Abstract:
A Solid State Drive (SSD) is disclosed. The SSD may comprise flash storage for data, the flash storage organized into a plurality of blocks. A controller may manage reading data from and writing data to the flash storage. Metadata storage may store device-based log data for errors in the SSD. Identification firmware may identify a block responsive to the device-based log data. In some embodiments of the inventive concept, verification firmware may determine whether the suspect block is predicted to fail responsive to both precise block-based data and the device-based log data.
Abstract:
A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data. An SSD controller may manage reading and writing data to the flash memory. The SSD may include an automatic stream detection logic to select a stream identifier responsive to attributes of data. A garbage collection logic may select an erase block and program valid data in the erase block into a second block responsive to a stream ID determined the automatic stream detection logic. The stream ID may be determined after the garbage collection logic has selected the erase block for garbage collection.
Abstract:
A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data. An SSD controller may manage reading and writing data to the flash memory. The SSD may include an automatic stream detection logic to select a stream identifier responsive to attributes of data. A garbage collection logic may select an erase block and program valid data in the erase block into a second block responsive to a stream ID determined the automatic stream detection logic. The stream ID may be determined after the garbage collection logic has selected the erase block for garbage collection.
Abstract:
A Solid State Drive (SSD) is disclosed. The SSD may include a flash memory to store data and support for a number of device streams. The SSD may also include an SSD controller to manage reading data from and writing data to the flash memory. The SSD may also include a host interface logic, which may include a receiver to receive the commands associated with software streams from a host, a timer to time a window, a statistics collector to determine values for at least one criterion for the software streams from the commands, a ranker to rank the software streams according to the values, and a mapper to establish a mapping between the software streams and device streams.
Abstract:
A Solid State Drive (SSD) is disclosed. The SSD may include flash memory to store data and may support a plurality of device streams. A SSD controller may manage reading and writing data to the flash memory, and may store a submission queue and a chunk-to-stream mapper. A flash translation layer may include a receiver to receive a write command, an LBA mapper to map an LBA to a chunk identifier (ID), stream selection logic to select a stream ID based on the chunk ID, a stream ID adder to add the stream ID to the write command, a queuer to place the chunk ID in the submission queue, and background logic to update the chunk-to-stream mapper after the chunk ID is removed from the submission queue.
Abstract:
An embodiment includes a system, comprising: a server coupled to a plurality of nodes and configured to: select a node from among the nodes to perform a maintenance operation; instruct the selected node to perform the maintenance operation; and respond to access requests based on the selected node; wherein performing the maintenance operation by the selected node decreases a performance of the selected node.
Abstract:
A storage device for deduplicating data includes a memory that stores machine instructions and a controller coupled to the memory to execute the machine instructions in order to compare a data pattern associated with a write request to stored data. If the data pattern matches the stored data, the controller further executes the machine instructions to increment a counter associated with the data pattern and map a source storage address corresponding to the data pattern to a physical storage address associated with the storage device.
Abstract:
Systems and methods for buffer data preservation. In some embodiments, the method includes: receiving, by a persistent storage device including non-volatile memory and a buffer storing data, a first memory-addressed instruction; and copying a portion of the data in the buffer of the persistent storage device to the non-volatile memory, based on receiving the first memory-addressed instruction.
Abstract:
In a method of operating a memory system disclosed, whether a first condition is satisfied is determined. The first condition is associated with free blocks and garbage collection (GC) target blocks from among a plurality of memory blocks. In response to the first condition being satisfied, a size of a data sample associated with executions of a host input/output request and GC is adjusted. The data sample is generated based on the adjusted size of the data sample. The data sample includes a downscaled current valid page count (VPC) ratio and the first number of previous host input/output request to GC processing ratios. A current host input/output request to GC processing ratio is calculated based on the data sample. The host input/output request and the GC are performed based on the current host input/output request to GC processing ratio.