CN110362278A - 一种高速传输的弹性缓存装置 - Google Patents
一种高速传输的弹性缓存装置 Download PDFInfo
- Publication number
- CN110362278A CN110362278A CN201910666995.8A CN201910666995A CN110362278A CN 110362278 A CN110362278 A CN 110362278A CN 201910666995 A CN201910666995 A CN 201910666995A CN 110362278 A CN110362278 A CN 110362278A
- Authority
- CN
- China
- Prior art keywords
- data
- unit
- flag bit
- character
- speed
- 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
- 238000012546 transfer Methods 0.000 title claims abstract description 14
- 238000012545 processing Methods 0.000 claims abstract description 24
- 239000003550 marker Substances 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 238000000151 deposition Methods 0.000 claims description 2
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 description 3
- 238000000034 method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- 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/0656—Data buffering arrangements
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)
- Communication Control (AREA)
Abstract
本发明提供了一种高速传输的弹性缓存装置,经过锁存单元进行锁存,序列处理单元对锁存的数据和原始数据进行分析,存储单元对数据和标志位进行存储,并使用存取指针指示当前存取位置,输出控制单元对从存储单元取出的标志位进行分析,并最终决定输出的数据。这样就可以很好的抵消在高速传输的过程中产生的一定范围内的时钟偏差,从而提高了数据传输的可靠性。
Description
技术领域
本发明属于计算机体系结构和数据高速传输的过程技术领域,尤其是涉及一种高速传输的弹性缓存装置。
背景技术
随着科技的进步,片上系统应用的发展,特别是工业控制、科学计算的需求,设备之间需要交互的数据也越来越多,这就要求数据的交换速率越来越快。早先,人们普遍认为提高数据位宽就能提高数据传输速率,这是谁都会想到的问题,早期的总线确实是这样设计的。但是随着工作频率的提升,并行数据线的串扰变得越来越严重,从而影响数据的传输速率,而串行总线采用差分对来传输信号,可以很好的抵消串扰。所以现在越来越多的设备,特别是高速设备(比如,USB,RAPID IO,PCIe等),都基于差分串行总线设计。
而在高速设备进行数据传输时,其一般都将时钟嵌入到数据中,然后跟数据一起发送到链路对端,而在链路的对端含有时钟数据恢复模块,该模块从数据中将传输时钟恢复出来。但是恢复出来的时钟和本地的接收时钟会有一定的偏差,如果任由这种偏差进行累加,最终可能导致数据传输错误。
发明内容
有鉴于此,本发明旨在提出一种高速传输的弹性缓存装置,可以很好的抵消在高速传输的过程中产生的一定范围内的时钟偏差,从而提高了数据传输的可靠性。
为达到上述目的,本发明的技术方案是这样实现的:
一种高速传输的弹性缓存装置,包含:
数据锁存单元,链路在接收到数据后首先进入该单元,对输入的数据进行锁存,并将锁存之后的数据和之后接收的外部原始数据组成序列,传输给序列处理单元;
序列处理单元,对数据锁存单元传递过来的序列进行处理,从中查找和匹配可以进行删除或重复的序列,从而得到时钟补偿序列;并用标志位进行标记是删除一个补偿字符或者增加一个补偿字符,标志位的选择根据存储单元的存取指针的变化情况来决定;
存储单元,用来存储由序列处理单元处理之后的数据及标志位,若标志位被标记为删除一个补偿字符,则存储单元在存储该数据时,将会减少一个字符的存入,如果标记为增加一个补偿字符时,则存储单元正常存入该数据;同时通过存取指针指示当前数据在该单元的存储位置;
输出控制单元,从存储单元读取数据和标志位,对标志位进行判断,若标志位被标记为删除一个补偿字符,该单元对读取的数据不做任何处理;若标志位被标记为增加一个补偿字符,该单元在下次读取数据时减少一个数据的取出,并在输出数据时自动增加一个补偿字符的输出。
进一步的,存取指针的值由链路接收到数据的速度和本地读取数据的速度共同决定,若链路接收数据的速度和本地读取数据的速度相同,则存取指针的值保持不变;若链路接收数据的速度大于本地读取数据的速度,则存取指针的值增大,序列处理单元的标记位被标记为删除一个补偿字符;反之若存取指针的值减小,序列处理单元的标记位被标记为增加一个补偿字符。
相对于现有技术,本发明具有以下优势:
本发明可以在时钟偏差在可控的条件下,消除由于链路两端时钟不一致可能导致的数据传输错误,从而提高了数据传输的稳定性。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述高速传输的弹性缓存装置的原理框图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
一种高速传输的弹性缓存装置,如图1所示,包含数据锁存单元、序列处理单元、存储单元和输出控制单元:
数据锁存单元,链路在接收到数据后首先进入该单元,对输入的数据进行锁存,并将锁存之后的数据和之后接收的外部原始数据组成序列,传输给序列处理单元;
序列处理单元,在高速传输协议中,一般都会定义用于时钟偏差补偿的传输序列,本单元对数据锁存单元传递过来的序列进行处理,从中查找和匹配可以进行删除或重复的序列,从而得到时钟补偿序列;并用标志位进行标记是删除一个补偿字符或者增加一个补偿字符,标志位的选择根据存储单元的存取指针的变化情况来决定;
存储单元,用来存储由序列处理单元处理之后的数据及标志位,若标志位被标记为删除一个补偿字符,则存储单元在存储该数据时,将会减少一个字符的存入,如果标记为增加一个补偿字符时,则存储单元正常存入该数据;同时该单元具有存取指针,通过存取指针指示当前数据在该单元的存储位置;
输出控制单元,从存储单元读取数据和标志位,对标志位进行判断,若标志位被标记为删除一个补偿字符,该单元对读取的数据不做任何处理;若标志位被标记为增加一个补偿字符,该单元在下次读取数据时减少一个数据的取出,并在输出数据时自动增加一个补偿字符的输出;从而实现时钟补偿序列的弹性取出,并最终将取出的数据正确的输出出去。
其中,存取指针的值由链路接收到数据的速度和本地读取数据的速度共同决定,理想状态下,链路接收数据的速度和本地读取数据的速度相同,则存取指针的值将会一直保持不变;但是,若链路接收数据的速度大于本地读取数据的速度,则存取指针的值增大,序列处理单元的标记位被标记为删除一个补偿字符;反之若存取指针的值减小,序列处理单元的标记位被标记为增加一个补偿字符。
高速传输过程中,链路输入数据和本地使用的数据可能会存在时钟的偏差,外部数据进入本装置后,经过锁存单元进行锁存,序列处理单元对锁存的数据和原始数据进行分析,存储单元对数据和标志位进行存储,并使用存取指针指示当前存取位置,输出控制单元对从存储单元取出的标志位进行分析,并最终决定输出的数据。这样就可以很好的抵消在高速传输的过程中产生的一定范围内的时钟偏差,从而提高了数据传输的可靠性。
以上描述了本发明的基本原理、主要特征和实施方案等信息,但是本发明不受上述实施过程的限制,在不脱离发明精神和范围的前提下,本发明还可以有各种变化和改进。因此,除非这种变化和改进脱离了本发明的范围,它们应该被看作包含在本发明中。
Claims (2)
1.一种高速传输的弹性缓存装置,其特征在于包含:
数据锁存单元,链路在接收到数据后首先进入该单元,对输入的数据进行锁存,并将锁存之后的数据和之后接收的外部原始数据组成序列,传输给序列处理单元;
序列处理单元,对数据锁存单元传递过来的序列进行处理,从中查找和匹配可以进行删除或重复的序列,从而得到时钟补偿序列;并用标志位进行标记是删除一个补偿字符或者增加一个补偿字符,标志位的选择根据存储单元的存取指针的变化情况来决定;
存储单元,用来存储由序列处理单元处理之后的数据及标志位,若标志位被标记为删除一个补偿字符,则存储单元在存储该数据时,将会减少一个字符的存入,如果标记为增加一个补偿字符时,则存储单元正常存入该数据;同时通过存取指针指示当前数据在该单元的存储位置;
输出控制单元,从存储单元读取数据和标志位,对标志位进行判断,若标志位被标记为删除一个补偿字符,该单元对读取的数据不做任何处理;若标志位被标记为增加一个补偿字符,该单元在下次读取数据时减少一个数据的取出,并在输出数据时自动增加一个补偿字符的输出。
2.根据权利要求1所述的一种高速传输的弹性缓存装置,其特征在于:存取指针的值由链路接收到数据的速度和本地读取数据的速度共同决定,若链路接收数据的速度和本地读取数据的速度相同,则存取指针的值保持不变;若链路接收数据的速度大于本地读取数据的速度,则存取指针的值增大,序列处理单元的标记位被标记为删除一个补偿字符;反之若存取指针的值减小,序列处理单元的标记位被标记为增加一个补偿字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910666995.8A CN110362278A (zh) | 2019-07-23 | 2019-07-23 | 一种高速传输的弹性缓存装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910666995.8A CN110362278A (zh) | 2019-07-23 | 2019-07-23 | 一种高速传输的弹性缓存装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110362278A true CN110362278A (zh) | 2019-10-22 |
Family
ID=68219699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910666995.8A Pending CN110362278A (zh) | 2019-07-23 | 2019-07-23 | 一种高速传输的弹性缓存装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110362278A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708086A (zh) * | 2012-05-10 | 2012-10-03 | 无锡华大国奇科技有限公司 | 一种应用于usb3.0的弹性缓冲结构及方法 |
CN103885527A (zh) * | 2014-04-15 | 2014-06-25 | 东南大学 | 一种基于rrc编码的时钟偏差补偿装置 |
CN108614798A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | PCIe链路弹性缓冲区电路 |
CN109857693A (zh) * | 2019-02-28 | 2019-06-07 | 天津芯海创科技有限公司 | 一种自适应串行时钟序列检测装置及方法 |
-
2019
- 2019-07-23 CN CN201910666995.8A patent/CN110362278A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102708086A (zh) * | 2012-05-10 | 2012-10-03 | 无锡华大国奇科技有限公司 | 一种应用于usb3.0的弹性缓冲结构及方法 |
CN103885527A (zh) * | 2014-04-15 | 2014-06-25 | 东南大学 | 一种基于rrc编码的时钟偏差补偿装置 |
CN108614798A (zh) * | 2016-12-12 | 2018-10-02 | 中国航空工业集团公司西安航空计算技术研究所 | PCIe链路弹性缓冲区电路 |
CN109857693A (zh) * | 2019-02-28 | 2019-06-07 | 天津芯海创科技有限公司 | 一种自适应串行时钟序列检测装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US3017610A (en) | Electronic data file processor | |
CN105320490A (zh) | 用于异步fifo电路的方法和设备 | |
CN102708086B (zh) | 一种应用于usb3.0的弹性缓冲结构及方法 | |
JP3503957B2 (ja) | 遠隔データベースの制御方法及び装置 | |
US9423972B2 (en) | Error recovery in a data processing system which implements partial writes | |
CN107908494A (zh) | 异常事件的处理方法、装置、电子设备及存储介质 | |
CN109471824A (zh) | 基于axi总线的数据传输系统及方法 | |
EP0826179A1 (en) | Source synchronous clocked data link | |
CN103885527A (zh) | 一种基于rrc编码的时钟偏差补偿装置 | |
CN104639410A (zh) | 一种现场总线光纤通信接口的设计方法 | |
US11762017B2 (en) | Performing scan data transfer inside multi-die package with SERDES functionality | |
US5425020A (en) | Skew measurement for receiving frame-groups | |
CN105993148B (zh) | 网络接口 | |
CN1890627A (zh) | 通过用于点到点链路的非数据符号处理的缓冲器管理 | |
CN110362278A (zh) | 一种高速传输的弹性缓存装置 | |
US20030185325A1 (en) | Method and apparatus for testing serial connections | |
CN105808476A (zh) | 跨时钟域数据的传输方法及装置 | |
CN107425848A (zh) | 时钟数据恢复电路和方法 | |
CN101404797B (zh) | 长短消息的存储方法、存储管理装置以及存储系统 | |
CN107463340A (zh) | 计算机的数据存储系统 | |
CN101998135A (zh) | 移动电视信号采集及播放系统、控制方法 | |
US7913124B2 (en) | Apparatus and methods for capture of flow control errors in clock domain crossing data transfers | |
DE112013004782T5 (de) | Techniken für robuste Kommunikation | |
JPS5979655A (ja) | デ−タ伝送システム | |
CN111475621B (zh) | 同义词替换表的挖掘方法及装置、电子设备、计算机可读介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191022 |