Command and interrupt grouping for a data storage device
First Claim
Patent Images
1. A data storage device, comprising:
- multiple memory chips; and
a controller that is operably coupled to the memory chips and that is arranged and configured to;
receive multiple groups of commands from a host, wherein each group of commands is assigned a group number and each command in a specific group includes a same group number to identify the commands as part of the specific group,process the groups of the commands using the memory chips, andgenerate and send a single interrupt to the host for each of the groups when each of the groups of the commands completes processing,wherein the controller is capable of maintaining an order of the commands within a same group designated for a same storage location and, at a same time, is capable of reordering and dispatching commands from different groups designated for different storage locations in a non-contiguous order.
2 Assignments
0 Petitions
Accused Products
Abstract
A data storage device may include multiple memory chips and a controller that is operably coupled to the memory chips and that is arranged and configured to receive a group of commands from a host, where each of the commands in the group includes a same group number to identify the commands as part of the group, process the group of the commands using the memory chips and generate and send a single interrupt to the host when the group of the commands completes processing.
-
Citations
30 Claims
-
1. A data storage device, comprising:
-
multiple memory chips; and a controller that is operably coupled to the memory chips and that is arranged and configured to; receive multiple groups of commands from a host, wherein each group of commands is assigned a group number and each command in a specific group includes a same group number to identify the commands as part of the specific group, process the groups of the commands using the memory chips, and generate and send a single interrupt to the host for each of the groups when each of the groups of the commands completes processing, wherein the controller is capable of maintaining an order of the commands within a same group designated for a same storage location and, at a same time, is capable of reordering and dispatching commands from different groups designated for different storage locations in a non-contiguous order. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for processing a group of commands on a data storage device having multiple memory chips, the method comprising:
-
receiving multiple groups of commands from a host, wherein each group of commands is assigned a group number and each command in a specific group includes a same group number to identify the commands as part of the specific group; processing the groups of commands using multiple memory chips; and generating and sending a single interrupt to the host for each of the groups when each of the groups of the commands completes processing, wherein processing the groups of commands includes maintaining an order of the commands within a same group designated for a same storage location and, at a same time, reordering and dispatching commands from different groups designated for different storage locations in a non-contiguous order. - View Dependent Claims (26, 27, 28)
-
-
13. An apparatus for tracking commands in a controller, the apparatus comprising:
-
multiple group counters, wherein each of the group counters is configured to track a group of commands being processed by a controller by incrementing when a command in the group begins processing by the controller and decrementing when a command in the group completes processing; and interrupt send logic that is operably coupled to the group counters and that is arranged and configured to generate and send a single interrupt for each of the group counters when all of the commands in a group complete processing, wherein the controller is capable of maintaining an order of the commands within a same group designated for a same storage location and, at a same time, is capable of reordering and dispatching commands from different groups designated for different storage locations in a non-contiguous order. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A method for tracking commands in a controller, the method comprising:
-
incrementing a group counter when a command in a group of commands begins processing; decrementing the group counter when a command in the group of commands completes processing; generating and sending a single interrupt for the group of commands when all of the commands in the group complete processing; and maintaining an order of the commands within a same group designated for a same storage location and, at a same time, reordering and dispatching commands from different groups designated for different storage locations in a non-contiguous order. - View Dependent Claims (19, 29, 30)
-
-
20. A system comprising:
-
a data storage device including a plurality of memory chips and multiple physical channels for communication of data between a host and the plurality of memory chips, each channel being operably connected to a different plurality of the memory chips; and a host operably coupled to the data storage device using an interface, the host comprising a driver that is configured to; send commands to the data storage device for processing by the data storage device using the plurality of memory chips, group the commands into one or more different groups and to assign a group number to each of the commands in a group, and mark a last command in a group, wherein the data storage device is capable of maintaining an order of the commands within a same group designated for a same storage location and, at a same time, is capable of reordering and dispatching commands from different groups designated for different storage locations in a non-contiguous order. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification