Flash memory controller and associated control method
US-2024377989-A1 · Nov 14, 2024 · US
US9304692B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9304692-B2 |
| Application number | US-201314032266-A |
| Country | US |
| Kind code | B2 |
| Filing date | Sep 20, 2013 |
| Priority date | Feb 2, 2009 |
| Publication date | Apr 5, 2016 |
| Grant date | Apr 5, 2016 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An apparatus and other embodiments associated with solid-state drive command grouping are described. In one embodiment, an apparatus includes a hardware memory configured to store a plurality of commands that are to be executed on a solid-state drive. The apparatus also includes organization logic implemented with at least hardware and configured to arrange at least two commands of the plurality of commands into a command pack based, at least in part, on one or more attributes of the at least two commands.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: determining an execution priority for each of a plurality of commands; grouping at least two commands from the plurality of commands into a command pack based, at least in part, on one or more attributes of the at least two commands, wherein grouping the at least two commands includes grouping the at least two commands based, at least in part, on the execution priority for each of the at least two commands; and controlling a solid-state drive to execute the command pack by causing the at least two commands to execute concurrently on separate channels of the solid-state drive. 2. The method of claim 1 , wherein grouping the at least two commands into the command pack includes generating a plurality of command packs that collectively include the plurality of commands, wherein the plurality of commands are waiting for execution on the solid-state drive, wherein the one or more attributes include a channel of execution for each of the at least two commands, wherein grouping the at least two commands includes defining the command pack using a set of tags associated with each of the at least two commands, and wherein grouping the at least two commands includes adapting the at least two commands to create a relationship between the at least two commands that causes the at least two commands to be executed in parallel. 3. The method of claim 1 , wherein a command from the plurality of commands is not grouped into the command pack when the command is a high priority command. 4. The method of claim 1 , further comprising: collecting the plurality of commands in a queue until an occurrence of a predefined queue-related event, wherein the queue is a separate storage location from a host device that is configured to store commands waiting to be executed on the solid-state drive. 5. The method of claim 4 , wherein the predefined queue-related event includes the queue satisfying a threshold level of commands waiting in the queue or a command being resident in the queue for a predetermined threshold amount of time. 6. The method of claim 1 , comprising: selectively grouping the at least two commands into the command pack upon determining that each of the at least two commands do not exceed a command size threshold, wherein grouping the at least two commands into the command pack creates a relationship between the at least two commands that causes the commands to be executed in parallel. 7. An apparatus, comprising: a hardware memory configured to store a plurality of commands that are to be executed on a solid-state drive; and organization logic implemented with at least hardware and configured to arrange at least two commands of the plurality of commands into a command pack based, at least in part, on one or more attributes of the at least two commands, wherein the organization logic is configured to determine execution priorities for the plurality of commands, wherein the organization logic is configured to arrange the at least two commands into the command pack based, at least in part, on the execution priorities for each of the at least two commands. 8. The apparatus of claim 7 , wherein the one or more attributes include a channel for execution, a priority, or a command size and wherein the organization logic is configured to arrange the at least two commands into the command pack to create a relationship between the at least two commands that links the at least two commands together, and wherein the organization logic is configured to arrange the at least two commands by adapting the at least two commands to create a relationship between the at least two commands that causes the at least two commands to be executed in parallel. 9. The apparatus of claim 7 , further comprising: function logic configured to control the solid-state drive to execute the command pack, wherein commands in the command pack are executed simultaneously in parallel, and wherein executing a command on the solid-state drive consumes a channel of a plurality of channels for execution. 10. The apparatus of claim 7 , wherein the organization logic is configured to not group a command of the plurality of commands into the command pack upon determining that the command is a high priority command, and to cause the command to be executed independent of the command pack when the commands is a high priority command. 11. The apparatus of claim 7 , wherein the hardware memory includes a queue and wherein the organization logic is configured to collect the plurality of commands in the queue until an occurrence of a queue-related event. 12. The apparatus of claim 7 , wherein the organization logic is configured to create a relationship that indicates that the at least two commands are part of the command pack, and wherein the organization logic is configured to selectively group a command of the plurality of commands into the command pack upon determining that a size of the command satisfies a threshold. 13. The apparatus of claim 7 , wherein the organization logic is configured to arrange the at least two commands of the plurality of commands into the command pack upon determining that the at least two commands do not share a channel for execution on the solid-state drive. 14. An apparatus, comprising: management logic implemented in at least hardware and configured to collect a plurality of commands into a queue, wherein the plurality of commands are data access commands for a solid-state drive; and organization logic implemented in at least hardware and configured to link at least two commands from the plurality of commands together into a command pack based, at least in part, on one or more attributes of the at least two commands, wherein the organization logic is configured to determine execution priorities for the plurality of commands, wherein the organization logic is configured to link the at least two commands into the command pack based, at least in part, on the execution priorities for each of the at least two commands. 15. The apparatus of claim 14 , wherein the organization logic is configured to link the at least two commands by adapting the at least two commands to create a relationship between the at least two commands that causes the at least two commands to be executed in parallel, and wherein the organization logic is configured to link the at least two commands from the plurality of commands into the command pack by defining a relationship between the at least two commands to cause the at least two commands to be executed concurrently on separate channels of the solid-state drive. 16. The apparatus of claim 14 , wherein the one or more attributes include a channel for execution assigned to each of the plurality of commands, an execution priority for each of the plurality of commands or a size of each of the plurality of commands. 17. The apparatus of claim 14 , wherein the organization logic is configured to link the at least two commands into the command pack based, at least in part, on a priority of the at least two commands when the at least two commands are not high priority commands. 18. The apparatus of claim 14 , wherein the management logic is configured to collect the plurality of commands until an occurrence of a queue related event that causes the organization logic to link commands from the plurality of commands into one or more command packs. 19. The apparatus of claim 14 , further comprising: function logic implemented in at least hardware and configured to cause the command pack to execute on a solid-state
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
in relation to throughput · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.