CN108595111A - A kind of method and solid state disk promoting solid state disk performance - Google Patents
A kind of method and solid state disk promoting solid state disk performance Download PDFInfo
- Publication number
- CN108595111A CN108595111A CN201810209120.0A CN201810209120A CN108595111A CN 108595111 A CN108595111 A CN 108595111A CN 201810209120 A CN201810209120 A CN 201810209120A CN 108595111 A CN108595111 A CN 108595111A
- Authority
- CN
- China
- Prior art keywords
- order
- ssd
- csq
- ssd controller
- mark
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The invention discloses a kind of methods and solid state disk promoting solid state disk performance, it is characterized in that increasing order in SSD controller submits queue CSQ, after SSD firmwares receive the order that host issues, and push operations of joining the team are executed after getting out the caching of the order, the mark of the order is written to by push pointers in CSQ;SSD controller determine CSQ be non-empty when, order mark is obtained by pop pointers, after obtaining order mark, SSD controller actively first discharges SATA buses 250ns, after SSD controller actively first discharges SATA buses, host judges whether there is that there are newer commands to submit to SSD during 250ns, if there is being then handed down to SSD firmwares;The 250ns times start the data transfer operation of the order to rear SSD controller application SATA buses.SATA bus 250ns are actively first discharged by SSD controller, enough hosts issue new command information during 250ns, can promote the overall performance of multiple orders.
Description
Technical field
The present invention relates to technical field of memory more particularly to a kind of methods and solid state disk promoting solid state disk performance.
Background technology
Fig. 1 is SATA bus fundamental diagrams, and the characteristic of SATA universal serial bus is host or after mono- sides of SSD occupy bus,
Another party cannot get bus control right, need after waiting for it to be released, and could apply arriving.Host issues life by bus
It enables, SSD passes through bus transfer data or commands in return state.In NCQ, (Native Command Queuing at full speed arrange by order
Team) function open in the case of, host can as possible it is multiple order to SSD, make full use of the high bandwidth of SSD.
In the prior art, if SSD firmwares prepare the speed of caching buffer quickly, the controller of SSD will one
SATA buses directly are occupied, then host is the right to use for not getting SATA buses during this period, so can not issue new
It orders to controller.Fig. 2 is that conventional NCQ function operations enable schematic diagram, for example, NCQ functions are opened, host for theory
32 orders can be sent to SSD:
The first step:Host sends 32 orders to SSD;
Second step:After SSD takes 32 orders, firmware gets out rapidly buffer, while the controller of SSD occupies SATA
Bus establishes data transmission with the main memory of host, and SSD can be accounted for always as long as the buffer of available for transmission in the prior art
With SATA buses, i.e., during SSD controller 32 order of transmission, host is the right to use applied less than SATA buses,
Until the data of 32 orders have all passed, after SSD controller releases bus, host could obtain the SATA bus rights to use, hair
Play next group of 32 orders.
Fig. 3 is conventional SSD activity commands number schematic diagram, this illustrates that movable order is not to be always maintained at 32 in SSD,
But 0 is slowly dropped to from 32,32 are then suddenly increased to, then 0 is slowly dropped to from 32, it is clear that there is no play for this
Go out the potentiality of NCQ functions.
Invention content
For disadvantages described above, present invention aims at any effective functionality advantages for playing NCQ, improve command process
Speed.
To achieve the goals above, the present invention provides a kind of methods promoting solid state disk performance, it is characterised in that
Increasing order in SSD controller submits queue CSQ, the order to submit queue for caching the order mark that host issues, SSD
After firmware receives the order that host issues, and push operations of joining the team are executed after getting out the caching of the order, by the order
Mark is written to by push pointers in CSQ;SSD controller determine CSQ be non-empty when, pass through pop pointers obtain order mark
Will, after obtaining order mark, SSD controller actively first discharges SATA bus 250ns, and actively first release SATA is total for SSD controller
After line, host judges whether there is that there are newer commands to submit to SSD during 250ns, if there is being then handed down to SSD firmwares;
The 250ns times start the data transfer operation of the order to rear SSD controller application SATA buses.
The method of the described promotion solid state disk performance, it is characterised in that it is 32 that the length of queue CSQ is submitted in order, can be with
32 order marks of caching.
A kind of solid state disk, it is characterised in that increase order in the SSD controller of solid hard disk and submit queue CSQ, institute
Stating order submits queue for caching the order mark that host issues, and after SSD firmwares receive the order that host issues, and prepares
Push operations of joining the team are executed after the caching of the good order, and the mark of the order is written to by push pointers in CSQ;SSD is controlled
Device processed determine CSQ be non-empty when, by pop pointers obtain order mark, obtain order mark after, SSD controller actively first
SATA bus 250ns are discharged, after SSD controller actively first discharges SATA buses, host judges whether there is presence during 250ns
Newer command will submit to SSD, if there is being then handed down to SSD firmwares;The 250ns times to rear SSD controller application SATA buses, and
Start the data transfer operation of the order.
The solid state disk, it is characterised in that it is 32 that the length of queue CSQ is submitted in order, can cache 32 order marks
Will.
Advantageous effect of the present invention:SATA bus 250ns are actively first discharged by SSD controller, it is main enough during 250ns
Machine issues new command information, and host sends a newer command and probably expends 60ns;Each order delayed data transmits 250ns,
The performance for having substantially no effect on single command, by taking the order of 4KB as an example, the data of 4KB pass through SATA buses (theoretical bandwidth 600MB/
S) it needs to spend 6600ns, spends more 250ns on this basis, influence to can be ignored substantially, and the entirety of multiple orders can be promoted
Performance.
Description of the drawings
Fig. 1 is SATA bus fundamental diagrams;
Fig. 2 is that conventional NCQ function operations enable schematic diagram;
Fig. 3 is conventional SSD activity commands number schematic diagram;
Fig. 4 is that queue schematic diagram is submitted in order;
Fig. 5 is improved work flow diagram;
Fig. 6 is the activity command number schematic diagram increased after CQS.
Specific implementation mode
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete
Site preparation describes, it is clear that described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.It is based on
Embodiment in the present invention, those of ordinary skill in the art are obtained every other without creative efforts
Embodiment shall fall within the protection scope of the present invention.
Analysis knows that SSD controller will occupy always if the firmware of SSD prepares the speed of buffer quickly
SATA bus transfer datas, host application issues more order less than SATA buses during causing leads to NCQ functions to SSD
Due effect is not played.
This programme is proposed makes optimization to SSD controller, enables it to coordinate with host tacit agreement, and rationally shared SATA is total
Line plays the function of NCQ, promotes the performance of SSD.
Increase order in SSD controller and submit queue (CSQ), such as Fig. 4, order submits queue to include at least Push pointers
With Pop pointers;Wherein Push pointers are used by SSD firmwares;Wherein Pop pointers, SSD controller use;The queue occupies 32*4B
The SRAM space of=128B.Timer Timer is set in SD controllers, before the data transmission that SSD controller starts newer command,
It first discharges SATA buses and starts timing, stop timing after having crossed 250ns and apply for that SATA buses carry out data transmission.
Fig. 5 is improved work flow diagram, or with NCQ functions open, host submit 32 order for, SSD and
The mode that SATA buses are shared in host cooperation is as follows:
1) host issues several newer commands, polishing 32;
2) SSD firmwares get out the buffer of some order;
3) mark of order is written to CSQ by SSD firmwares by push pointers, and moves push pointers afterwards;
4) when SSD controller judges CSQ non-emptys, order mark is obtained by pop pointers, buffer is ready for;
5) SSD controller discharges SATA buses, while starting timer Timer and starting timing;
6) host judges whether to need to submit new order to SSD, if so, then submitting, SATA buses are idle at this time
's;
7) after 250ns, SSD controller application SATA buses and the data transmission for starting the order.
New technology allows host within this time by discharging the one small meeting time of SATA buses before each order transmission data
New order is issued, 32 orders of polishing can so ensure that the SSD moment is in the state of 32 orders of processing, such as Fig. 6 institutes
Show, plays whole abilities of NCQ.
Ensure that SSD controller release SATA bus 250ns reasons have 2, reason 1:Enough hosts issue newly during 250ns
Command information, host send a newer command probably expend 60ns;Reason 2:Each order delayed data transmits 250ns, base
This does not influence the performance of single command, and by taking the order of 4KB as an example, the data of 4KB pass through SATA buses (theoretical bandwidth 600MB/s)
It needs to spend 6600ns, spends more 250ns on this basis, influence to can be ignored substantially, and the globality of multiple orders can be promoted
Can, the advantages outweigh the disadvantages.
Above disclosed is only an embodiment of the present invention, cannot limit the right model of the present invention with this certainly
It encloses, those skilled in the art can understand all or part of the processes for realizing the above embodiment, and is wanted according to right of the present invention
Equivalent variations made by asking still fall within the range that the present invention is covered.
Claims (4)
1. a kind of method promoting solid state disk performance, it is characterised in that increase order in SSD controller and submits queue CSQ,
The order submits queue for caching the order mark that host issues, after SSD firmwares receive the order that host issues, and it is accurate
Push operations of joining the team are executed after getting the caching of the order ready, the mark of the order is written to by push pointers in CSQ;SSD
Controller determine CSQ be non-empty when, by pop pointers obtain order mark, obtain order mark after, SSD controller actively
SATA bus 250ns are first discharged, after SSD controller actively first discharges SATA buses, host, which judges whether there is, during 250ns deposits
SSD is submitted in newer command, if there is being then handed down to SSD firmwares;The 250ns times to rear SSD controller application SATA buses,
And start the data transfer operation of the order.
2. the method according to claim 1 for promoting solid state disk performance, it is characterised in that the length of queue CSQ is submitted in order
Degree is 32, can cache 32 order marks.
3. a kind of solid state disk, it is characterised in that the increase order submission queue CSQ in the SSD controller of solid hard disk, it is described
Order submits queue for caching the order mark that host issues, and after SSD firmwares receive the order that host issues, and is ready to
Push operations of joining the team are executed after the caching of the order, and the mark of the order is written to by push pointers in CSQ;SSD is controlled
Device determine CSQ be non-empty when, by pop pointers obtain order mark, obtain order mark after, SSD controller actively first release
SATA bus 250ns are put, after SSD controller actively first discharges SATA buses, host is judged whether there is in the presence of new during 250ns
Order will submit to SSD, if there is being then handed down to SSD firmwares;The 250ns times open to rear SSD controller application SATA buses
Begin the data transfer operation of the order.
4. solid state disk according to claim 3, it is characterised in that it is 32, Ke Yihuan that the length of queue CSQ is submitted in order
Deposit 32 order marks.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810209120.0A CN108595111A (en) | 2018-03-14 | 2018-03-14 | A kind of method and solid state disk promoting solid state disk performance |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810209120.0A CN108595111A (en) | 2018-03-14 | 2018-03-14 | A kind of method and solid state disk promoting solid state disk performance |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108595111A true CN108595111A (en) | 2018-09-28 |
Family
ID=63626367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810209120.0A Pending CN108595111A (en) | 2018-03-14 | 2018-03-14 | A kind of method and solid state disk promoting solid state disk performance |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108595111A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413549A (en) * | 2019-06-06 | 2019-11-05 | 深圳市金泰克半导体有限公司 | Data transmission method, device, computer equipment and storage medium |
CN112363670A (en) * | 2020-10-14 | 2021-02-12 | 天津津航计算技术研究所 | SATA NCQ command scheduling method |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103467A (en) * | 2009-12-16 | 2011-06-22 | 英特尔公司 | Improving performance of a solid state disk by using a programmable bus arbiter to delay interface requests |
CN103744796A (en) * | 2013-09-29 | 2014-04-23 | 记忆科技(深圳)有限公司 | Caching method and system by means of uSSD |
US20140281600A1 (en) * | 2013-03-14 | 2014-09-18 | Steven E. Wells | Apparatus and method to provide near zero power devslp in sata drives |
CN107608909A (en) * | 2017-09-19 | 2018-01-19 | 记忆科技(深圳)有限公司 | A kind of method that NVMe solid state disk writes accelerate |
-
2018
- 2018-03-14 CN CN201810209120.0A patent/CN108595111A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102103467A (en) * | 2009-12-16 | 2011-06-22 | 英特尔公司 | Improving performance of a solid state disk by using a programmable bus arbiter to delay interface requests |
US20140281600A1 (en) * | 2013-03-14 | 2014-09-18 | Steven E. Wells | Apparatus and method to provide near zero power devslp in sata drives |
CN103744796A (en) * | 2013-09-29 | 2014-04-23 | 记忆科技(深圳)有限公司 | Caching method and system by means of uSSD |
CN107608909A (en) * | 2017-09-19 | 2018-01-19 | 记忆科技(深圳)有限公司 | A kind of method that NVMe solid state disk writes accelerate |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110413549A (en) * | 2019-06-06 | 2019-11-05 | 深圳市金泰克半导体有限公司 | Data transmission method, device, computer equipment and storage medium |
CN110413549B (en) * | 2019-06-06 | 2023-05-09 | 深圳市金泰克半导体有限公司 | Data transmission method, device, computer equipment and storage medium |
CN112363670A (en) * | 2020-10-14 | 2021-02-12 | 天津津航计算技术研究所 | SATA NCQ command scheduling method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5159900B2 (en) | Computer program, apparatus, and method for reducing access conflict of reserved device | |
US8001298B2 (en) | Providing extended measurement data in an I/O processing system | |
US7937507B2 (en) | Extended measurement word determination at a channel subsystem of an I/O processing system | |
CN105243033B (en) | Data processing method and electronic equipment | |
TWI278755B (en) | An apparatus and method for high performance volatile disk drive memory access using an integrated DMA engine | |
US10026442B2 (en) | Data storage mechanism using storage system determined write locations | |
US7818479B2 (en) | Interface apparatus and packet transfer method | |
US20090210579A1 (en) | Open exchange limiting in an i/o processing system | |
WO2020000485A1 (en) | Nvme-based data writing method, device, and system | |
JP2004185349A (en) | Update data writing method using journal log | |
US8275925B2 (en) | Methods and apparatus for improved serial advanced technology attachment performance | |
WO2013170731A1 (en) | Method for writing data into storage device and storage device | |
TWI700590B (en) | Interface adapter circuit | |
JP2002540526A (en) | Host adapter for combining I / O completion reporting and method of using same | |
KR20180037099A (en) | Non-volatile storage system and data storage access protocol for non-volatile storage devices | |
JP2007233896A (en) | Storage device and control method thereof | |
CN108595111A (en) | A kind of method and solid state disk promoting solid state disk performance | |
US7130932B1 (en) | Method and apparatus for increasing the performance of communications between a host processor and a SATA or ATA device | |
JP2012048704A (en) | Method and apparatus for improved host/initiator utilization in serial advanced technology attachment communication | |
JP2000293436A (en) | Support for a plurality of unsolved request to a plurality of targets of pipeline memory system | |
TWI275943B (en) | Method, system, and computer readable recording medium for returning data to read requests | |
CN106909523B (en) | Large-scale data transmission method and system | |
JP2010092493A (en) | Interface device and packet transfer method | |
US20100161853A1 (en) | Method, apparatus and system for transmitting multiple input/output (i/o) requests in an i/o processor (iop) | |
JP2000132507A (en) | Command processing method for scsi protocol and device used for the processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180928 |
|
RJ01 | Rejection of invention patent application after publication |