Sending packets using optimized pio write sequences without sfences
US-2015378737-A1 · Dec 31, 2015 · US
US9311045B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9311045-B2 |
| Application number | US-201213597258-A |
| Country | US |
| Kind code | B2 |
| Filing date | Aug 29, 2012 |
| Priority date | Jul 12, 2012 |
| Publication date | Apr 12, 2016 |
| Grant date | Apr 12, 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 elastic buffer module including a memory unit, a write control module, and a read control module is provided. The memory unit receives, stores, and outputs a data sequence from a transmitting side. The write control module removes at least part of auxiliary data from the data sequence and writes the data sequence that has the auxiliary data removed into the memory unit. The read control module reads the data sequence from the memory unit and adds auxiliary data to the data sequence to adjust a write state of the transmitting side and a read state of a receiving side. Additionally, an elastic buffering method of a transmission interface is also provided.
Opening claim text (preview).
What is claimed is: 1. An elastic buffer module, comprising: a memory unit, disposed between a transmitting side and a receiving side, wherein a data sequence is written to the memory unit and the data sequence is received from the transmitting side, stored in the memory unit and outputted by the memory unit in a single read or write process; a write control module, coupled to the memory unit, disposed at the transmitting side, and configured to remove at least a part of auxiliary data from the data sequence, and writing the data sequence that has the auxiliary data removed into the memory unit in the signal read or write process; and a read control module, coupled to the memory unit and disposed at the receiving side, configured to read the data sequence from the memory unit according to a First-In-First-Out rule, and add auxiliary data to the data sequence in the signal read or write process. 2. The elastic buffer module according to claim 1 further comprising: a state detection unit, coupled to the write control module, and configured to detect an operation state of the memory unit and output a detection result of the operation state to the read control module, wherein the read control module adds the auxiliary data to the data sequence according to the detection result. 3. The elastic buffer module according to claim 2 , wherein the state detection unit is configured to output the detection result to the write control module, and the write control module is configured to remove the auxiliary data from the data sequence according to the detection result. 4. The elastic buffer module according to claim 2 , wherein the state detection unit is configured to detect the operation state of the memory unit according to a write state of the transmitting side and a read state of the receiving side. 5. The elastic buffer module according to claim 1 , wherein the write control module comprises: a write indicator generating unit, configured to generate a write indicator, wherein the write indicator is configured to indicate an address in the memory unit for writing the data sequence; and a write control unit, coupled to the write indicator generating unit, and configured to receive the data sequence, remove the auxiliary data from the data sequence, and write the data sequence that has the auxiliary data removed into the memory unit according to the write indicator. 6. The elastic buffer module according to claim 1 , wherein the read control module comprises: a read indicator generating unit, configured to generate a read indicator, wherein the read indicator is configured to indicate an address in the memory unit for storing the data sequence; and a read control unit, coupled to the read indicator generating unit, and configured to read the data sequence from the memory unit according to the read indicator, and add the auxiliary data to the data sequence. 7. The elastic buffer module according to claim 1 further comprising: an auxiliary judgment unit, configured to record a first information of the removed auxiliary data and a second information of the added auxiliary data, determine whether in general auxiliary data in the data sequence output by the read control module is added or removed according to the first information and the second information, and output a judgment result to a controller disposed at the receiving side. 8. The elastic buffer module according to claim 7 , wherein the auxiliary judgment unit comprises: a first counting unit, coupled to the write control module, and configured to counts a first number of the removed auxiliary data; a second counting unit, coupled to the read control module, and configured to count a second number of the added auxiliary data; and a complementary detection unit, configured to determine whether in general auxiliary data in the data sequence output by the read control module is added or removed according to the first number and the second number, and output the judgment result to the controller disposed at the receiving side. 9. The elastic buffer module according to claim 1 , wherein an auxiliary data is a skip symbol in a skip order set defined by a transmission interface standard. 10. The elastic buffer module according to claim 9 , wherein the transmission interface standard is a serial advanced technology attachment (SATA) standard, a peripheral component interconnect (PCI) standard, or a universal serial bus (USB) 3.0 standard. 11. The elastic buffer module according to claim 1 , wherein the memory unit remains in a non-overflow state. 12. The elastic buffer module according to claim 1 , wherein the read control module is configured to adjust a difference between a write speed of the transmitting side and a read speed of the receiving side to be within an acceptable range by adding the auxiliary data to the data sequence. 13. An elastic buffering method of a transmission interface, wherein the transmission interface is configured to transmit a data sequence from a transmitting side to a receiving side in a single read or write process, the elastic buffering method comprising: receiving the data sequence from the transmitting side in the single read or write process; removing at least a part of auxiliary data from the data sequence, and writing the data sequence that has the auxiliary data removed into a memory unit in the single read or write process; reading the data sequence from the memory unit according to a First-In-First-Out rule in the single read or write process; and adding auxiliary data to the read data sequence in the single read or write process, wherein the data sequence is received from the transmitting side, stored in the memory unit, and outputted by the memory unit in the single read or write process. 14. The elastic buffering method according to claim 13 further comprising: detecting an operation state of the memory unit according to a write state of the transmitting side and a read state of the receiving side, and outputting a detection result. 15. The elastic buffering method according to claim 14 , wherein in the step of removing the auxiliary data from the data sequence, the auxiliary data is removed from the data sequence according to the detection result. 16. The elastic buffering method according to claim 14 , wherein in the step of adding the auxiliary data to the data sequence, the auxiliary data is added to the data sequence according to the detection result. 17. The elastic buffering method according to claim 13 , wherein the step of writing the data sequence that has the auxiliary data removed into the memory unit comprises: generating a write indicator; and writing the data sequence that has the auxiliary data removed into the memory unit according to the write indicator, wherein the write indicator indicates an address in the memory unit for writing the data sequence. 18. The elastic buffering method according to claim 13 , wherein the step of reading the data sequence from the memory unit comprises: generating a read indicator; and reading the data sequence from the memory unit according to the read indicator, wherein the read indicator indicates an address in the memory unit for storing the data sequence. 19. The elastic buffering method according to claim 13 further comprising: recording a first information of the removed auxiliary data and a second information of the added auxiliary data; and determining whether in general auxiliary data in the data sequence output by the read control module is added or removed acco
for overflow or underflow handling, e.g. full or empty flags · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.