CN102567219A - Data transmission method of solid state hard disk SATA (serial advanced technology attachment) interface - Google Patents
Data transmission method of solid state hard disk SATA (serial advanced technology attachment) interface Download PDFInfo
- Publication number
- CN102567219A CN102567219A CN2011104584408A CN201110458440A CN102567219A CN 102567219 A CN102567219 A CN 102567219A CN 2011104584408 A CN2011104584408 A CN 2011104584408A CN 201110458440 A CN201110458440 A CN 201110458440A CN 102567219 A CN102567219 A CN 102567219A
- Authority
- CN
- China
- Prior art keywords
- prd
- data
- sata interface
- memory
- controller
- 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.)
- Granted
Links
Images
Abstract
The invention provides a data transmission method of a solid state hard disk SATA (serial advanced technology attachment) interface. The data transmission method is applied to a solid state hard disk system, the system comprises an internal memory and a buffer memory, and the solid state hard disk comprises a SATA interface controller and a flash memory controller; and the SATA interface controller and the flash memory controller are both provided with PRD (polytechnical research and development) storage areas. The method comprises the following steps of: writing 32 PRD commands into the buffer memory, wherein each PRD comprises an address, a transmission form and direction information; writing block data into the internal memory by the SATA interface controller; reading out the PRD in the buffer memory, corresponding to the block data, by the SATA interface controller, and writing the PRD in the PRD storage areas of the SATA interface controller; and obtaining the PRD by the flash memory controller, and reading corresponding block data from the internal memory according to the PRD. Therefore, the data transmission method provided by the invention can greatly improve data processing speed of a SATA interface solid state hard disk.
Description
Technical field
The present invention relates to field of computer technology, relate in particular to a kind of data transmission method of solid state hard disc SATA interface.
Background technology
Solid state hard disc is because its storage medium is Nand Flash, so functions such as that it has is light, storage density is big, low in energy consumption and antidetonations, the transmission of its data also is one of important performance.The SATA Device interface and the transmission plan between flash controller that are applied at present in the solid state hard disc store a PRD storage area into for 32 PRD that institute will be transmitted, and these PRD are mapped to the memory block of storing data.Each PRD comprises information such as address, data volume size, reception or transmission, and is as shown in the table.
But the PRD content of this formation is tediously long; Significance bit is few; For automatically transmission is unfavorable between SATA and flash controller, and classic method all can produce an interruption pulse signal before each transmission data, and SATA and flash controller all obtain and resolve PRD after visiting the PRD buffer memory; The data storage area of visiting this PRD sensing afterwards carries out the data write operation, and is as shown in Figure 1.In the current solid state hard disc main adopt be used for the method that SATA Host and flash controller read and write data from data buffer area, but do not have direct path to be connected between the SATA of this method and flash controller, can produce certain delay.Assign order such as CPU at first to SATA to the DDR write data; CPU goes to notify flash controller to go SRAM to read a PRD again after having write; Flash controller obtains to SRAM reads PRD after, being saved in after the order flash controller inside DMA again and resolves; The operation that this data transmission method software will be participated in is more, and the hardware participation is less, thereby influences data rate.
Can know that to sum up the data transmission method of existing SATA interface solid hard disk obviously exists inconvenience and defective, so be necessary to improve on reality is used.
Summary of the invention
To above-mentioned defective, the object of the present invention is to provide a kind of data transmission method of solid state hard disc SATA interface, it can improve the data rate of SATA interface solid hard disk.
To achieve these goals; The present invention provides a kind of data transmission method of solid state hard disc SATA interface; Be applied to the solid state hard disc system, said system comprises internal memory and buffer memory, and said solid state hard disc comprises SATA interface controller and flash controller; Said SATA interface controller and flash controller all have the PRD memory block, and said method comprises the steps:
Write 32 PRD orders to said buffer memory, each said PRD comprises address, transmission form and directional information;
Said SATA interface controller writes block data to internal memory;
Said SATA interface controller will be corresponding with said block data said buffer memory in PRD read and said PRD be written to the PRD memory block of said SATA interface controller;
Said flash controller obtains said PRD, and reads corresponding said block data according to said PRD from said internal memory.
According to data transmission method of the present invention, said SATA interface controller and flash controller all have the DMA passage, and said flash controller directly obtains said PRD through the DMA passage.
According to data transmission method of the present invention, said PRD memory block comprises the storage space of two continuous 32bit.
According to data transmission method of the present invention, each said PRD specifically comprises:
Memory address is the corresponding memory address of data in said internal memory of said PRD, and said flash controller is according to said memory address reading of data in the said internal memory;
Trigger data comprises log-on data and/or stops data;
Data bit comprises the size information of data;
Zone bit, the transmission mode of flag data.
According to data transmission method of the present invention; When said flash controller has read the data of one group of PRD correspondence; Said SATA interface controller reads PRD from said buffer memory, and said PRD is written to the PRD memory block of said SATA interface controller, and said flash controller obtains said PRD; And read corresponding said block data from said internal memory according to said PRD, change up to the log-on data of the said PRD trigger data that reads.
The present invention also provides the data transmission method of other a kind of solid state hard disc SATA interface; Be applied to the solid state hard disc system; Said system comprises internal memory and buffer memory; Said solid state hard disc comprises SATA interface controller and flash controller, and said SATA interface controller and flash controller all have the DMA passage, and said method comprises the steps:
Write 32 PRD orders to said buffer memory, each said PRD comprises address, transmission form and directional information;
Said flash controller writes block data to internal memory;
Said flash controller will be corresponding with said block data said buffer memory in PRD read, and said PRD is written to the PRD memory block of said flash controller;
Said SATA interface controller obtains said PRD, and directly reads corresponding said block data from said internal memory according to said PRD.
According to data transmission method of the present invention, said SATA interface controller and flash controller all have the DMA passage, and said SATA interface controller directly obtains said PRD through the DMA passage.
According to data transmission method of the present invention, said PRD memory block comprises the storage space of two continuous 32bit.
According to data transmission method of the present invention, said PRD specifically comprises:
Memory address is the corresponding memory address of data in said internal memory of said PRD, and said SATA interface controller is according to said memory address reading of data in the said internal memory;
Trigger data comprises log-on data and/or stops data;
Data bit comprises the size information of data;
Zone bit, the transmission mode of flag data.
According to data transmission method of the present invention; When said SATA interface controller has read the data of one group of PRD correspondence; Said flash controller reads PRD from said buffer memory, and said PRD is written to the PRD memory block of said flash controller, and said SATA interface controller obtains said PRD; And read corresponding said block data from said internal memory according to said PRD, change up to the log-on data of the said PRD trigger data that reads.
The present invention makes it can obtain and store PRD information through the PRD memory block all is set on the SATA of solid state hard disc interface controller and flash controller.When the SATA interface controller after internal memory writes block data; Its PRD memory block will be read and said PRD will be written to this SATA interface controller with the PRD in the said block data corresponding cache; Flash controller obtains this PRD; And be addressed directly to internal memory according to the information of this PRD and read corresponding data, and needn't pass through caching process, improve the transfer efficiency of data whereby.
Description of drawings
Fig. 1 is the synoptic diagram of the solid state hard disc data transmission of prior art;
Fig. 2 is the structural representation of the solid state hard disc system of one embodiment of the invention;
Fig. 3 is the process flow diagram of the data transmission method of one embodiment of the invention;
Fig. 4 is the process flow diagram of the data transmission method of another enforcement row of the present invention.
Embodiment
In order to make the object of the invention, technical scheme and advantage clearer,, the present invention is further elaborated below in conjunction with accompanying drawing and embodiment.Should be appreciated that specific embodiment described herein only in order to explanation the present invention, and be not used in qualification the present invention.
Referring to Fig. 2, the invention provides a kind of solid state hard disc system, it comprises solid state hard disc 10, internal memory 20, buffer memory 30 and CPU 40.
Solid state hard disc 10 has SATA interface controller 11 and flash controller 12, and SATA interface controller 11 is equipped with the PRD memory block with flash controller 12, and this PRD memory block comprises the storage space of two continuous 32bit, is used to store PRD information.Preferably; SATA interface controller 11 all has DMA (Direct Memory Access with flash controller 12; Direct memory access) passage; And SATA interface controller 11 and flash controller 12 are arbitrary can be directly obtaining the opposing party's PRD information through the DMA passage, and arbitrary can being addressed directly to according to the PRD information of obtaining obtain corresponding data in the internal memory 20, improves the message transmission rate of solid state hard disc 10 whereby.
Referring to Fig. 3; The invention provides a kind of data transmission method of solid state hard disc SATA interface; What this method specifically illustrated is that SATA interface controller 11 writes data to internal memory 20; The process of flash controller 12 reading of data, it realizes that through system as shown in Figure 2 this method specifically comprises the steps:
Step S301, CPU 40 send instruction and write 32 PRD order to said buffer memory 30, and each PRD comprises address, transmission form and directional information, promptly send write order to SATA interface controller 11 after writing PRD.Concrete, each PRD has comprised memory address (address), trigger data (trigger), data bit (Memory Dword Count) and zone bit (SNAT), and is as shown in the table:
Wherein, memory address is the memory addresss of the corresponding data of said PRD 20 li of internal memories, and flash controller 12 can read corresponding data according to this memory address in internal memory 20; Trigger data comprises log-on data and/or stops data; Data bit comprises the size information of data; The transmission mode of zone bit flag data.
Step S302, SATA interface controller 11 writes block data to internal memory 20.In this step, when writing data, the generation PRD information of meeting correspondence in buffer memory 30.
Step S303, SATA interface controller 11 will read and this PRD will be written to the PRD memory block of SATA interface controller 11 with the PRD of 30 li of block data corresponding cache.Combine to go up table, DW0 comprises address again, and declarative data is ready to when trigger is 2 ' b01, can make flash controller 12 carry out read data operation.The big or small counter that comprises valid data among the block in the data bit of DW1 (Memory Dword Count); Zone bit SNAT (SATA-flash controller Auto Transaction) informs when being 2 ' b 01 that flash controller 12, the transmission mode of current support are the automatic transmission mode of 12 of SATA interface controller 11 and flash controllers.
Step S304, flash controller 12 obtains PRD, and reads corresponding said block data according to PRD from internal memory 20.In this step, flash controller 12 directly reads PRD information twice through the DMA passage from the PRD memory partitioning of SATA interface controller 11, and is stored in its PRD memory block.If detect trigger and SNAT this moment when all being 2 ' b01; Read the address of DW0 then; Flash controller 12 jumps to the appropriate address in the internal memory 20 automatically, from block, reads the data of corresponding size again according to the Memory Dword Count of DW1.
Need to prove; After Memory Dword Count becomes 0, be that declarative data runs through; This moment, flash controller 12 was written as 2 ' b00 with the trigger of DW0 among the PRD; Expression SATA interface controller 11 requires the read command of flash controller 12 to accomplish, and this PRD is sent to SATA interface controller 11 notify., SATA interface controller 11 can detect trigger information after receiving this PRD; If trigger is 2 ' b00; Then SATA interface controller 11 reads in next group PRD information and passes to flash controller 12 from the PRD tabulation of buffer memory 30; Thereby return execution in step S302~S304, so circulation is read till trigger information is not 2 ' b01, i.e. DTD.
The invention provides the data transmission method of other a kind of solid state hard disc SATA interface referring to Fig. 4; What this method specifically illustrated is that flash controller 12 writes data to internal memory 20; The process of SATA interface controller 11 reading of data; It also realizes that through system as shown in Figure 2 this method specifically comprises the steps:
Step S401, CPU 40 send instruction and write 32 PRD order to said buffer memory 30, and each PRD comprises address, transmission form and directional information, promptly send write order to flash controller 12 after writing PRD.The PRD information content among this embodiment is identical with previous embodiment, so repeat no more at this.
Step S402, flash controller 12 writes block data to internal memory 20.In this step, when writing data, the generation PRD information of meeting correspondence in buffer memory 30.
Step S403, flash controller 12 will read and this PRD will be written to the PRD memory block of flash controller 12 with the PRD of 30 li of block data corresponding cache.Combine to go up table RAD content again, DW0 comprises address, and declarative data is ready to when trigger is 2 ' b11, can make SATA interface controller 11 carry out read data operation.The big or small counter that comprises valid data among the block in the data bit of DW1 (Memory Dword Count); Zone bit SNAT (SATA-flash controller Auto Transaction) informs when being 2 ' b 01 that SATA interface controller 11, the transmission mode of current support are the automatic transmission mode of 12 of SATA interface controller 11 and flash controllers.
Step S404, SATA interface controller 11 obtains PRD, and reads corresponding said block data according to PRD from internal memory 20.In this step, SATA interface controller 11 directly reads PRD information twice through the DMA passage from the PRD memory partitioning of flash controller 12, and is stored in the PRD memory block of himself.If detect trigger this moment is 2 ' b11; When SNAT is 2 ' b01; Read the address of DW0 then, SATA interface controller 11 jumps to the appropriate address in the internal memory 20 automatically, from block, reads the data of corresponding size again according to the Memory Dword Count of DW1.
Same; After Memory Dword Count becomes 0, be that declarative data runs through; This moment, SATA interface controller 11 trigger with DW0 among the PRD were written as 2 ' b10; Expression flash controller 12 requires the read command of SATA interface controller 11 to accomplish, and this PRD is sent to flash controller 12 notify., flash controller 12 can detect trigger information after receiving this PRD; If trigger is 2 ' b10; Then flash controller 12 reads in next group PRD information and passes to SATA interface controller 11 from the PRD tabulation of buffer memory 30; Thereby return execution in step S402~S404, so circulation is read till trigger information is not 2 ' b11, i.e. DTD.
12 of SATA interface controller 11 of the present invention and flash controllers have the DMA transmission channel can directly transmit PRD; Therefore SATA interface controller 11 and flash controller 12 after the side sends PRD information, just do not need the opposing party once more access cache 30 can be addressed directly to data position in the internal memory 20, reduced the detour that will walk when reading and writing data; And PRD structure provided by the invention, content is simplified optimization, not only can reduce storage PRD capacity, and goes between SATA and flash controller automatically the whole transmission course major part of transmission and accomplished by hardware, has improved the data transmission performance of solid state hard disc.
In sum, the present invention makes it can obtain and store PRD information through the PRD memory block all is set on the SATA of solid state hard disc interface controller and flash controller.When the SATA interface controller after internal memory writes block data; Its PRD memory block will be read and said PRD will be written to this SATA interface controller with the PRD in the said block data corresponding cache; Flash controller obtains this PRD; And be addressed directly to internal memory according to the information of this PRD and read corresponding data, and needn't pass through caching process, improve the transfer efficiency of data whereby.
Certainly; The present invention also can have other various embodiments; Under the situation that does not deviate from spirit of the present invention and essence thereof; Those of ordinary skill in the art work as can make various corresponding changes and distortion according to the present invention, but these corresponding changes and distortion all should belong to the protection domain of the appended claim of the present invention.
Claims (10)
1. the data transmission method of a solid state hard disc SATA interface; Be applied to the solid state hard disc system; Said system comprises internal memory and buffer memory, and said solid state hard disc comprises SATA interface controller and flash controller, it is characterized in that; Said SATA interface controller and flash controller all have the PRD memory block, and said transmission method comprises the steps:
Write 32 PRD orders to said buffer memory, each said PRD comprises address, transmission form and directional information;
Said SATA interface controller writes block data to said internal memory;
Said SATA interface controller will be corresponding with said block data said buffer memory in PRD read and said PRD be written to the PRD memory block of said SATA interface controller;
Said flash controller obtains said PRD, and reads corresponding said block data according to said PRD from said internal memory.
2. data transmission method according to claim 1 is characterized in that, said SATA interface controller and flash controller all have the DMA passage, and said flash controller directly obtains said PRD through the DMA passage.
3. data transmission method according to claim 1 is characterized in that, said PRD memory block comprises the storage space of two continuous 32bit.
4. data transmission method according to claim 1 is characterized in that, each said PRD specifically comprises:
Memory address is the corresponding memory address of data in said internal memory of said PRD, and said flash controller is according to said memory address reading of data in the said internal memory;
Trigger data comprises log-on data and/or stops data;
Data bit comprises the size information of data;
Zone bit, the transmission mode of flag data.
5. data transmission method according to claim 1; It is characterized in that when said flash controller had read the data of one group of PRD correspondence, said SATA interface controller read PRD from said buffer memory; And said PRD is written to the PRD memory block of said SATA interface controller; Said flash controller obtains said PRD, and reads corresponding said block data according to said PRD from said internal memory, up to the log-on data change of the said PRD trigger data that reads.
6. the data transmission method of a solid state hard disc SATA interface; Be applied to the solid state hard disc system; Said system comprises internal memory and buffer memory, and said solid state hard disc comprises SATA interface controller and flash controller, it is characterized in that; Said SATA interface controller and flash controller all have the DMA passage, and said transmission method comprises the steps:
Write 32 PRD orders to said buffer memory, each said PRD comprises address, transmission form and directional information;
Said flash controller writes block data to said internal memory;
Said flash controller will be corresponding with said block data said buffer memory in PRD read, and said PRD is written to the PRD memory block of said flash controller;
Said SATA interface controller obtains said PRD, and directly reads corresponding said block data from said internal memory according to said PRD.
7. data transmission method according to claim 6 is characterized in that, said SATA interface controller and flash controller all have the DMA passage, and said SATA interface controller directly obtains said PRD through the DMA passage.
8. data transmission method according to claim 6 is characterized in that, said PRD memory block comprises the storage space of two continuous 32bit.
9. data transmission method according to claim 6 is characterized in that, said PRD specifically comprises:
Memory address is the corresponding memory address of data in said internal memory of said PRD, and said SATA interface controller is according to said memory address reading of data in the said internal memory;
Trigger data comprises log-on data and/or stops data;
Data bit comprises the size information of data;
Zone bit, the transmission mode of flag data.
10. data transmission method according to claim 6; It is characterized in that when said SATA interface controller had read the data of one group of PRD correspondence, said flash controller read PRD from said buffer memory; And said PRD is written to the PRD memory block of said flash controller; Said SATA interface controller obtains said PRD, and reads corresponding said block data according to said PRD from said internal memory, up to the log-on data change of the said PRD trigger data that reads.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110458440.8A CN102567219B (en) | 2011-12-31 | 2011-12-31 | The data transmission method of solid state hard disc SATA interface |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110458440.8A CN102567219B (en) | 2011-12-31 | 2011-12-31 | The data transmission method of solid state hard disc SATA interface |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567219A true CN102567219A (en) | 2012-07-11 |
CN102567219B CN102567219B (en) | 2015-08-05 |
Family
ID=46412682
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110458440.8A Active CN102567219B (en) | 2011-12-31 | 2011-12-31 | The data transmission method of solid state hard disc SATA interface |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567219B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102937939A (en) * | 2012-10-10 | 2013-02-20 | 无锡众志和达存储技术股份有限公司 | DMA (Direct Memory Access) address couple pre-reading method based on SATA (Serial Advanced Technology Attachment) controller |
CN105404596A (en) * | 2015-10-30 | 2016-03-16 | 华为技术有限公司 | Data transmission method, device and system |
CN108563399A (en) * | 2018-03-13 | 2018-09-21 | 中山市江波龙电子有限公司 | Method for reading data, device, terminal device and the storage medium of storage device |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697885B1 (en) * | 1999-05-22 | 2004-02-24 | Anthony E. B. Goodfellow | Automated DMA engine for ATA control |
US20090006670A1 (en) * | 2007-06-26 | 2009-01-01 | Ngek Leong Guok | Cache for a host controller |
CN101498994A (en) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | Solid state disk controller |
CN102096559A (en) * | 2011-01-26 | 2011-06-15 | 浪潮电子信息产业股份有限公司 | Method for improving data transmission efficiency of SATA interface solid state disk |
-
2011
- 2011-12-31 CN CN201110458440.8A patent/CN102567219B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6697885B1 (en) * | 1999-05-22 | 2004-02-24 | Anthony E. B. Goodfellow | Automated DMA engine for ATA control |
US20090006670A1 (en) * | 2007-06-26 | 2009-01-01 | Ngek Leong Guok | Cache for a host controller |
CN101498994A (en) * | 2009-02-16 | 2009-08-05 | 华中科技大学 | Solid state disk controller |
CN102096559A (en) * | 2011-01-26 | 2011-06-15 | 浪潮电子信息产业股份有限公司 | Method for improving data transmission efficiency of SATA interface solid state disk |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102937939A (en) * | 2012-10-10 | 2013-02-20 | 无锡众志和达存储技术股份有限公司 | DMA (Direct Memory Access) address couple pre-reading method based on SATA (Serial Advanced Technology Attachment) controller |
CN102937939B (en) * | 2012-10-10 | 2015-12-16 | 无锡众志和达数据计算股份有限公司 | Based on the DMA address of SATA controller to pre-reading method |
CN105404596A (en) * | 2015-10-30 | 2016-03-16 | 华为技术有限公司 | Data transmission method, device and system |
CN105404596B (en) * | 2015-10-30 | 2018-07-20 | 华为技术有限公司 | A kind of data transmission method, apparatus and system |
CN108563399A (en) * | 2018-03-13 | 2018-09-21 | 中山市江波龙电子有限公司 | Method for reading data, device, terminal device and the storage medium of storage device |
WO2019174206A1 (en) * | 2018-03-13 | 2019-09-19 | 中山市江波龙电子有限公司 | Data reading method and apparatus of storage device, terminal device, and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN102567219B (en) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10860477B2 (en) | Apparatus and method for low power low latency high capacity storage class memory | |
US10268382B2 (en) | Processor memory architecture | |
KR102335838B1 (en) | Permanent write data to energy-back memory | |
US20160118130A1 (en) | Performance acceleration during shutdown of a data storage device | |
CN110032530A (en) | The method and apparatus to degrade for the multi-level store early stage page | |
CN101038531A (en) | Shared interface for cmponents in an embedded system | |
CN109791522A (en) | Method, system and the intelligent network adapter of Data Migration | |
CN106326140A (en) | Data copying method, direct memory access controller and computer system | |
CN104239252A (en) | Data transmission method, device and system of data storage system | |
US11669265B2 (en) | Memory sub-system-bounded memory function | |
US20210191870A1 (en) | Efficient processing of commands in a memory sub-system | |
CN102567219A (en) | Data transmission method of solid state hard disk SATA (serial advanced technology attachment) interface | |
CN206411658U (en) | A kind of NandFlash storage systems based on FPGA | |
CN115905057A (en) | Efficient buffer management for media management commands in a memory device | |
CN102591823A (en) | NAND flash controller with instruction queue function | |
US20180074709A1 (en) | Stream management for storage devices | |
CN113760796A (en) | SSD solid state dish based on HBM cache | |
US20210303470A1 (en) | Sequential prefetching through a linking array | |
JP2023517080A (en) | Maintaining Queues to the Memory Subsystem | |
US20130205074A1 (en) | Data i/o controller and system including the same | |
CN102362263A (en) | SSD controller, and method for operating an SSD controller | |
KR102516539B1 (en) | Memory controller and operating method thereof | |
CN102646073B (en) | Data processing method and device | |
KR102516584B1 (en) | Memory system | |
EP4118521A1 (en) | Methods, systems and readable storage mediums for managing queues of amemory sub-system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |