Patent classifications
G06F11/108
ERROR RATES FOR MEMORY WITH BUILT IN ERROR CORRECTION AND DETECTION
The methods and systems improve uncorrectable error (UE) and silent data corruption (SDC) rates for memory chips and improve error correction of the memory chips. The systems may include a memory bank with a plurality of memory chips in communication with a memory controller. The memory bank may use one additional memory chip that stores a bitwise parity of the data stored in the remaining memory chips of the memory bank. The parity bits are used to rebuild corrupted data when a UE occurs. The parity bits are also used to detect whether a SDC occurred in the data.
PERFORMANCE AND DEADLOCK MITIGATION DURING A MEMORY DIE FAIL STORM
A method is described that includes processing, by a memory subsystem, a read memory command that is addressed to a first die of a memory device. The memory subsystem determines whether processing the read memory command failed to correctly read user data from the first die and, in response to determining that processing the read memory command failed to correctly read user data from the first die, determines whether the first die has failed. In response to determining that the first die has failed, the memory subsystem performs an abbreviated error recovery procedure to successfully perform the read memory command instead of a full error recovery procedure.
Coexisting differing erasure codes
A method for proactively rebuilding user data in a plurality of storage nodes of a storage cluster is provided. The method includes distributing user data and metadata throughout the plurality of storage nodes such that the plurality of storage nodes can read the user data, using erasure coding, despite loss of two of the storage nodes. The method includes determining that one of the storage nodes is unreachable and determining to rebuild the user data for the one of the storage nodes that is unreachable. The method includes reading the user data across a remainder of the plurality of storage nodes, using the erasure coding and writing the user data across the remainder of the plurality of storage nodes, using the erasure coding. A plurality of storage nodes within a single chassis that can proactively rebuild the user data stored within the storage nodes is also provided.
Method and apparatus for flexible RAID in SSD
A solid state drive (SSD) employing a redundant array of independent disks (RAID) scheme includes a flash memory chip, erasable blocks in the flash memory chip, and a flash controller. The erasable blocks are configured to store flash memory pages. The flash controller is operably coupled to the flash memory chip. The flash controller is also configured to organize certain of the flash memory pages into a RAID line group and to write RAID line group membership information to each of the flash memory pages in the RAID line group.
Migration of data in a distributed storage network using storage records
A method for execution in a storage network begins by generating a set of query requests for each data segment of a plurality of data segments that includes a corresponding set of slice identifiers of a plurality of sets of slice identifiers, where each slice identifier of the corresponding set of slice identifiers includes a pillar index based on a vault affiliated with the plurality of data segments. The method continues by transmitting the set of query requests to a set of storage units affiliated with the storage network, receiving a plurality of sets of query responses from the storage units, obtaining a data identifier for slice location identification and generating a storage record that includes the data identifier and an identity of the set of storage units. The method then continues by facilitating migration of at least some encoded data slices associated with the plurality of sets of slice identifiers when the storage record compares unfavorably to a storage record requirement.
DISTRIBUTION OF RESOURCES FOR A STORAGE SYSTEM
A method for managing processing power in a storage system is provided. The method includes providing a plurality of blades, each of a first subset having a storage node and storage memory, and each of a second, differing subset having a compute-only node. The method includes distributing authorities across the plurality of blades, to a plurality of nodes including at least one compute-only node, wherein each authority has ownership of a range of user data.
Verifying and Migrating Data Slices in a Storage Network
A method for execution by a storage network includes receiving a request pertaining to a data object. Metadata associated with the data object is determined and used to identify data segments associated with the data object and a set of storage units associated with the data segments. Based on a set of query requests, a response is received from a storage unit from the set of storage units. When the response indicates a storage environment that is unfavorable as compared to predetermined performance metrics, the storage network facilitates migration of encoded data slices associated with the storage unit to another storage unit.
Generating Recovery Information Using Data Redundancy
Continuous value data redundancy, including: receiving, by a storage system, a dataset; determining, based on a data resiliency metric, an integer redundancy value for the dataset from among a plurality of redundancy values; and generating, based on the integer redundancy value for the dataset, data recovery information for the dataset, wherein the integer redundancy value for the dataset is different from at least one other integer redundancy value for another dataset stored within the storage system.
REDUNDANCY METADATA FOR MULTI-PLANE MEMORY ACCESS FAILURE
A first data item is programmed to a first set of logical units of a memory sub-system. The first set of logical units is associated with a first fault tolerant stripe. A second data item is programmed to a second set of logical units of a memory sub-system. The second set of logical units is associated with a second fault tolerant stripe. A first set of redundancy metadata corresponding to the first data item and a second set of redundancy metadata corresponding to the second data item is generated. A combined set of redundancy metadata is generated based on at least the first set of redundancy metadata and the second set of redundancy metadata. The combined set of redundancy metadata is stored at a specified memory device of the memory sub-system.
Dynamic memory management system
A memory system uses a dynamic RAID scheme to dynamically encode RAID address space geometries. The dynamic RAID scheme solves issues with the algorithmic layout approach and flat virtual address space used in conventional RAID systems. The dynamic RAID scheme can be used for any RAID algorithm and does not require static mapping. In other words, there is no requirement that each strip be located in the same relative location in memory devices and there is no requirement that stripes use the same combination of memory devices.