G06F2211/103

Apparatus, system, and method for managing commands of solid-state storage using bank interleave

An apparatus, system, and method are disclosed for efficiently managing commands in a solid-state storage device that includes a solid-state storage arranged in two or more banks. Each bank is separately accessible and includes two or more solid-state storage elements accessed in parallel by a storage input/output bus. The solid-state storage includes solid-state, non-volatile memory. The solid-state storage device includes a bank interleave that directs one or more commands to two or more queues, where the one or more commands are separated by command type into the queues. Each bank includes a set of queues in the bank interleave controller. Each set of queues includes a queue for each command type. The bank interleave controller coordinates among the banks execution of the commands stored in the queues, where a command of a first type executes on one bank while a command of a second type executes on a second bank.

Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array

A RAID controller stores data in a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array, wherein a first side of the RAID 1 mirror includes a single data storage device storing an operating system image and a second side of the RAID 1 mirror includes a plurality of data storage devices forming a parity-based RAID array. The RAID controller normally calculates parity using data from both the single data storage device and the plurality of data storage devices. However, in response to a user command, the RAID controller recalculates parity stripes on each of the plurality of data storage devices using a predetermined data pattern for a logical data storage device logically replacing the single data storage device storing the operating system. Accordingly, the same stripe count is maintained and the parity-based RAID array maintains redundancy despite physical separation of the single data storage device.

Systems and Methods for Identifying Storage Resources That Are Not in Use

A method for managing data in a NAND flash storage system is provided. The method includes one or more of receiving an empty data segment directive at a storage controller, returning a data string including data of a predetermined logic level in response to a read command requesting to read data associated with a logical identifier included in the empty data segment directive, maintaining an index of mapping between the logical identifier and a physical storage location, updating the index to indicate data at the physical storage location does not need to be preserved, monitoring one or more physical storage locations, including the physical storage location, to determine a percentage of the one or more physical storage locations that do not need to be preserved, and initiating garbage collection on the one or more physical storage locations in response to the percentage reaching a threshold. The empty data segment directive includes a logical identifier associated with the physical storage location.

Apparatus, System, and Method for Managing Commands of Solid-State Storage Using Bank Interleave

A system is provided. The system includes a solid state storage including a plurality of banks, a first controller that directs one or more commands to a queue of a set of a plurality of queues, and a second controller configured to receive the one or more commands from the plurality of queues. The one or more commands are separated into the set of the plurality of queues based on a command type of each command of the one or more commands, and each set of the plurality of queues includes a first queue configured to store management commands and a second queue configured to store other commands. Each bank of the plurality of banks corresponds to a different set of the plurality of queues. The second controller is configured to generate subcommands based on the commands and direct the subcommands to a bank of the solid state storage.

Systems and methods for identifying storage resources that are not in use

An apparatus, system, and method are disclosed for managing a non-volatile storage medium. A storage controller receives a message that identifies data that no longer needs to be retained on the non-volatile storage medium. The data may be identified using a logical identifier. The message may comprise a hint, directive, or other indication that the data has been erased and/or deleted. In response to the message, the storage controller records an indication that the contents of a physical storage location and/or physical address associated with the logical identifier do not need to be preserved on the non-volatile storage medium.

APPARATUS, SYSTEM, AND METHOD FOR MANAGING COMMANDS OF SOLID-STATE STORAGE USING BANK INTERLEAVE

An apparatus, system, and method are disclosed for efficiently managing commands in a solid-state storage device that includes a solid-state storage arranged in two or more banks. Each bank is separately accessible and includes two or more solid-state storage elements accessed in parallel by a storage input/output bus. The solid-state storage includes solid-state, non-volatile memory. The solid-state storage device includes a bank interleave that directs one or more commands to two or more queues, where the one or more commands are separated by command type into the queues. Each bank includes a set of queues in the bank interleave controller. Each set of queues includes a queue for each command type. The bank interleave controller coordinates among the banks execution of the commands stored in the queues, where a command of a first type executes on one bank while a command of a second type executes on a second bank.

Apparatus, system, and method for managing commands of solid-state storage using bank interleave

An apparatus, system, and method are disclosed for efficiently managing commands in a solid-state storage device that includes a solid-state storage arranged in two or more banks. Each bank is separately accessible and includes two or more solid-state storage elements accessed in parallel by a storage input/output bus. The solid-state storage includes solid-state, non-volatile memory. The solid-state storage device includes a bank interleave that directs one or more commands to two or more queues, where the one or more commands are separated by command type into the queues. Each bank includes a set of queues in the bank interleave controller. Each set of queues includes a queue for each command type. The bank interleave controller coordinates among the banks execution of the commands stored in the queues, where a command of a first type executes on one bank while a command of a second type executes on a second bank.

Apparatus, system, and method for managing commands of solid-state storage using bank interleave

A system is provided. The system includes a solid state storage including a plurality of banks, a first controller that directs one or more commands to a queue of a set of a plurality of queues, and a second controller configured to receive the one or more commands from the plurality of queues. The one or more commands are separated into the set of the plurality of queues based on a command type of each command of the one or more commands, and each set of the plurality of queues includes a first queue configured to store management commands and a second queue configured to store other commands. Each bank of the plurality of banks corresponds to a different set of the plurality of queues. The second controller is configured to generate subcommands based on the commands and direct the subcommands to a bank of the solid state storage.

REDUCING INCIDENTS OF DATA LOSS IN RAID ARRAYS OF DIFFERING RAID LEVELS

A method for reducing incidents of data loss in RAIDs of differing RAID levels is disclosed. Such a method identifies, in a data storage environment, first and second sets of RAIDs. The first set contains RAIDs providing more robust data protection (e.g., RAID-6 arrays), and the second set contains RAIDs providing less robust data protection (e.g., RAID-5 arrays). The method identifies, in the data storage environment, higher risk storage drives having a failure risk above a threshold and lower risk storage drives having a failure risk below the threshold. The method swaps higher risk storage drives from RAIDs of the second set with lower risk storage drives from RAIDs of the first set. In certain embodiments, the swapping may be performed such that no RAID of the second set includes more than a selected number of higher risk storage drives. A corresponding system and computer program product are also disclosed.

Apparatus, System, and Method for Data Block Usage Information Synchronization for a Non-Volatile Storage Volume

An apparatus, system, and method are disclosed for data block usage information synchronization for a non-volatile storage volume. The method includes referencing first data block usage information for data blocks of a non-volatile storage volume managed by a storage manager. The first data block usage information is maintained by the storage manager. The method also includes synchronizing second data block usage information managed by a storage controller with the first data block usage information maintained by the storage manager. The storage manager maintains the first data block usage information separate from second data block usage information managed by the storage controller.