APPARATUS,SYSTEM,AND METHOD FOR MANAGING COMMANDS OF SOLID-STATE STORAGE USING BANK INTERLEAVE
16 Assignments
0 Petitions
Accused Products
Abstract
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.
132 Citations
47 Claims
-
1-22. -22. (canceled)
-
23. A method for storing data on non-volatile solid-state storage, the method comprising:
-
directing a solid-state storage command to a command queue of one of two or more banks of solid-state storage elements for a non-volatile solid-state storage device each bank configured to operate independently and each bank comprising one or more command queues; and
sequencing execution of the commands from the command queue of each bank such that a command of a first execution duration executes on a first bank concurrent with execution of a command of a second execution duration on a second bank. - View Dependent Claims (24, 25, 26)
-
-
27. A method for storing data on non-volatile solid-state storage, the method comprising:
-
providing a non-volatile solid-state storage device comprising two or more banks of solid-state storage elements, each bank configured to operate independently and each bank comprising a set of command queues;
directing a solid-state storage command to a command queue of one of the two or more banks based on a command type for each solid-state storage command; and
sequencing execution of the commands between the two or more banks such that a command of a first type executes on a first bank concurrent with execution of a command of a second type on a second bank. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A solid-state storage device comprising:
-
a solid-state storage arranged in two or more banks, each bank configured to operate independently and each bank comprising two or more solid-state storage elements accessed in parallel by a storage input/output (“
I/O”
) bus, the solid-state storage comprising non-volatile memory; and
a bank interleave controller that directs a plurality of solid-state storage command to two or more queues, the plurality of commands separated by command type into the queues, each bank comprising a set of queues comprising a queue for each command type; and
coordinates among the banks, execution of the commands stored in the queues, wherein a command of a first type executes on one bank while a command of a second type executes on a second bank. - View Dependent Claims (46)
-
-
47. A computer program product comprising a computer readable medium having computer usable program code executable to perform operations for storing data on non-volatile solid-state storage, the computer program product comprising:
-
directing a solid-state storage command to a command queue of one of two or more banks of solid-state storage elements for a non-volatile solid-state storage device based on a command type for each solid-state storage command, each bank configured to operate independently and each bank comprising one or more command queues; and
coordinating execution of the commands between the two or more banks such that a command of a first type executes on a first bank concurrent with execution of a command of a second type on a second bank.
-
Specification