Abstract:
Techniques are disclosed relating to storage device failover. In one embodiment, a plurality of storage devices are represented as cluster resources to a cluster resource manager that manages cluster resources on a plurality of cluster nodes. An indication may be received that a failover operation is requested with respect to one of the plurality of storage devices. In response to the indication, the cluster resource manager may initiate the failover operation. In some embodiments, the failover operation includes changing a first access state of the storage device and a second access state of another storage device. In such an embodiment, the storage device and the other storage device may be associated with a logical unit number. In some embodiments, the storage device is located within a first of the plurality of cluster nodes; the other storage device is located within a second of the plurality of cluster nodes.
Abstract:
An apparatus, system, and method are disclosed for storage address translation. The method includes storing, in volatile memory, a plurality of logical-to-physical mapping entries for a non-volatile recording device. The method includes persisting a logical-to-physical mapping entry from the volatile memory to recording media of the non-volatile recording device. The logical-to-physical mapping entry may be selected for persisting based on a mapping policy indicated by a client. The method includes loading the logical-to-physical mapping entry from the recording media of the non-volatile recording device into the volatile memory in response to a storage request associated with the logical-to-physical mapping entry.
Abstract:
Apparatuses, systems, methods, and computer program products are disclosed for conditional iteration. A method includes receiving a request comprising a condition. A method includes checking an address mapping structure for entries satisfying a condition for a request. A method includes providing a result for a request based on one or more entries satisfying a condition for a request.
Abstract:
Apparatuses, systems, methods, and computer program products are disclosed for error correcting code (ECC) decoding. A soft information module may be configured to determine whether to obtain an indication of the accuracy of a data value for a variable node of an ECC decoder such as a low density parity check (LDPC) code decoder. A score module may be configured to assign and update a score for the variable node. The score may be based on the accuracy indication and on a count of unsatisfied check nodes of the ECC decoder that are associated with the variable node. A precision for the score may be based on an estimated number of errors for the received code word. A check node update module may be configured to update check nodes associated with the variable node based on the score.
Abstract:
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.
Abstract:
An apparatus, system, and method are disclosed for managing configuration parameters of a non-volatile storage device. The method includes storing a first set of configuration parameters for a non-volatile recording device. The first set of configuration parameters are configured for a storage operation on a storage element of the non-volatile recording device. The method also includes storing a second set of configuration parameters for the non-volatile recording device during execution of the storage operation on the storage element. The second set of configuration parameters are configured for a second storage operation on the storage element of the non-volatile recording device.
Abstract:
Apparatuses, systems, and methods are disclosed for managing non-volatile a medium. A method includes determining whether a first error correcting code (ECC) code word of a non-volatile storage device is correctable using a first error correcting code. A method includes determining whether a second ECC code word is correctable using a second error correcting code in response to determining that a first ECC code word is uncorrectable using a first error correcting code. A method includes adjusting one or more media parameters for accessing a non-volatile medium of a non-volatile storage device based on error information. Error information may include information from a decoder for a second error correcting code. Adjusting one or more media parameters may be in response to determining that a second ECC code word is correctable using a second error correcting code.
Abstract:
Apparatuses, systems, methods, and computer program products are disclosed for grouping storage ports based on distance. A distance module may be configured to assign distance values to a plurality of ports. Distance values may be for data communications between a node and ports. A group module may be configured to assign one or more ports of a plurality of ports to one of a first port group and a second port group based on assigned distances. A selection module may be configured to select a second port group for data communications between a node and a non-volatile storage medium in response to a first port group being unavailable.
Abstract:
Techniques are disclosed relating to writing data across multiple storage blocks in a storage device. In one embodiment, physical erase blocks in a bank of a storage device are erasable. Ones of the physical erase blocks may be associated with different respective communication channels. In such an embodiment, a data stripe may be written across a set of physical erase blocks such that the set of physical erase blocks includes physical erase blocks of different banks and includes physical erase blocks associated with different communication channels. In some embodiments, a request to read a portion of the data stripe may be received. In response to the request, a determination may be made that one of the set of physical erase blocks is unavailable to service the request. The request may then be serviced by reassembling data of the unavailable physical erase block.
Abstract:
An apparatus, system, and method are disclosed for managing data reliability. A priority module is configured to receive a storage request for a non-volatile memory device. The storage request may include data associated with a priority. The non-volatile memory device includes a plurality of cells, and each cell encodes a plurality of bits. The bits for a cell provide distinct levels of quality of service. A select module is configured to select a bit for storing the data based on the priority of the data and the level of quality of service of the selected bit. A data management module is configured to manage the data to satisfy a write order for the plurality of bits.