Solid state memory command queue in hybrid device
US-2016011966-A1 · Jan 14, 2016 · US
US9529707B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9529707-B2 |
| Application number | US-201414510157-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 9, 2014 |
| Priority date | Oct 24, 2013 |
| Publication date | Dec 27, 2016 |
| Grant date | Dec 27, 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.
Write commands for a storage device specify write data with either a first data step size or a second data step size. In the former case, the storage device performs a read-modify-write (RMW) cycle which includes reading data with the second data step size. In the latter case, the storage device executes the command in a single write cycle. A command sorting unit sorts received commands into two groups, first commands and second commands, when storing them in a memory. First commands are write commands whose data boundaries do not match with the second data step size. Second commands include write commands whose data boundaries match with the second data step size. A command issuing unit converts first commands into a second command upon predetermined conditions. The command issuing unit issues the second commands to the storage device, in preference to the first commands.
Opening claim text (preview).
What is claimed is: 1. A storage control apparatus that controls input and output operations on a storage device in response to received commands, the received commands specifying data with a first data step size, the storage device being configured to store data with a second data step size that is an integer multiple of the first data step size, the storage control apparatus comprising: a memory configured to store commands; and a controller configured to perform a procedure including: storing the received commands in the memory, while sorting the received commands into first commands and second commands, the first commands being write commands whose data boundaries do not match with the second data step size, the second commands including read commands and write commands whose data boundaries match with the second data step size, receiving a read command from a host device and issuing the received read command to the storage device, receiving a response to the read command issued to the storage device, combining read data contained in the received response to the issued read command and write data of one or more first commands in the memory into a new piece of write data, and issuing a new write command specifying the new piece of write data. 2. The storage control apparatus according to claim 1 , wherein the procedure further includes: converting at least two first commands in the memory into a second command by combining the at least two first commands when a predetermined condition is met, and issuing the second commands to the storage device, in preference to the first commands; the memory includes a first queue and a second queue; the storing the received commands includes storing the second commands to the first queue, and the first commands to the second queue; and the converting includes dequeuing the at least two first commands from the second queue when the predetermined condition is met and producing a second command from the dequeued first commands. 3. The storage control apparatus according to claim 2 , wherein the procedure performed by the controller further includes enqueuing the produced second command to a head position of the first queue. 4. The storage control apparatus according to claim 2 , wherein the converting includes producing a single write command, as a second command, from the at least two first commands in the memory when write areas of the at least two first commands are both located within a single physical sector. 5. The storage control apparatus according to claim 4 , wherein the controller performs the producing of a single write command when the at least two first commands overwrite entire data stored in the single physical sector. 6. The storage control apparatus according to claim 2 , wherein the procedure performed by the controller further includes: finding in the memory two or more first commands whose write areas fall within a limited area in the storage device, and producing a pseudo read command specifying a read area that contains the limited area. 7. A storage control apparatus that controls input and output operations on a storage device in response to received commands, the received commands specifying data with a first data step size, the storage device being configured to store data with a second data step size that is an integer multiple of the first data step size, the storage control apparatus comprising: a memory configured to store commands; and a controller configured to perform a procedure including: storing the received commands in the memory, while sorting the received commands into first commands and second commands, the first commands being write commands whose data boundaries do not match with the second data step size, the second commands including write commands whose data boundaries match with the second data step size, converting one or more first commands in the memory into a second command when a predetermined condition is met, and issuing the second commands to the storage device, in preference to the first commands, wherein: the memory includes a first queue and a second queue; the storing the received commands includes storing the second commands to the first queue, and the first commands to the second queue; the converting includes dequeuing the one or more first commands from the second queue when the predetermined condition is met and producing a second command from the dequeued first commands; the second commands further include read commands; and the converting also includes producing an expanded read command from a read command specifying a read area that is adjacent to a pseudo read area containing write areas of the one or more first commands, the expanded read command specifying an expanded read area containing both the read area and the pseudo read area. 8. The storage control apparatus according to claim 7 , wherein the procedure performed by the controller further includes: evaluating queuing status of the first commands in the second queue; and determining whether to enable or disable the producing of an expanded read command, based on a result of the evaluating. 9. A storage control apparatus that controls input and output operations on a storage device in response to received commands, the received commands specifying data with a first data step size, the storage device being configured to store data with a second data step size that is an integer multiple of the first data step size, the storage control apparatus comprising: a memory including a first queue and a second queue to store commands; and a controller configured to perform a procedure including: storing the received commands in the memory, while sorting the received commands into first commands and second commands and enqueuing the second commands to the first queue and the first commands to the second queue, the first commands being write commands whose data boundaries do not match with the second data step size, the second commands including read commands and write commands whose data boundaries match with the second data step size, converting at least two first commands dequeued from the second queue in the memory into a second command by combining the dequeued first commands when a predetermined condition is met, issuing the second commands to the storage device, in preference to the first commands, finding in the memory two or more first commands whose write areas fall within a limited area in the storage device, producing a pseudo read command specifying a read area that contains the limited area, evaluating queuing status of the first commands in the second queue, and determining whether to enable or disable the producing of a pseudo read command, based on a result of the evaluating. 10. A non-transitory computer-readable storage medium storing a program for controlling input and output operations on a storage device in response to received commands, the received commands specifying data with a first data step size, the storage device being configured to store data with a second data step size that is an integer multiple of the first data step size, wherein the program causes a computer to perform a procedure comprising: storing the received commands in a memory, while sorting the received commands into first commands and second commands, the first commands being write commands whose data boundaries do not match with the second data step size, the second commands including read commands and write commands whose data boundaries match with the second data step size; receiving a read command from a host device and issuing the received read command to the storage device; receiving a response to the read command issued
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Free address space management · CPC title
Format or protocol conversion arrangements · CPC title
Disk arrays, e.g. RAID, JBOD · CPC title
in relation to response time · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.