CN102184150B - 高功能环形缓冲缓存系统及其控制方法 - Google Patents

高功能环形缓冲缓存系统及其控制方法 Download PDF

Info

Publication number
CN102184150B
CN102184150B CN2011100806902A CN201110080690A CN102184150B CN 102184150 B CN102184150 B CN 102184150B CN 2011100806902 A CN2011100806902 A CN 2011100806902A CN 201110080690 A CN201110080690 A CN 201110080690A CN 102184150 B CN102184150 B CN 102184150B
Authority
CN
China
Prior art keywords
content
module
engine modules
related controller
administration module
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.)
Active
Application number
CN2011100806902A
Other languages
English (en)
Other versions
CN102184150A (zh
Inventor
张劲帆
倪洁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spectrum Technology Co.,Ltd.
Original Assignee
KUNSHAN KUWEI MICROELECTRONIC TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by KUNSHAN KUWEI MICROELECTRONIC TECHNOLOGY Co Ltd filed Critical KUNSHAN KUWEI MICROELECTRONIC TECHNOLOGY Co Ltd
Priority to CN2011100806902A priority Critical patent/CN102184150B/zh
Publication of CN102184150A publication Critical patent/CN102184150A/zh
Application granted granted Critical
Publication of CN102184150B publication Critical patent/CN102184150B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Bus Control (AREA)

Abstract

本发明提供一种高功能环形缓冲缓存系统及其控制方法,该系统包含传递管理模块,以及分别与该传递管理模块双向电路连接的内容关联管理模块和内容存储器;上述的传递管理模块还双向电路连接外接的DMA引擎模块和主机控制接口。本发明实现TRB的比特信息被紧凑的缓存在局部缓冲区,DMA引擎将不再需要去主内存去获得每个即将移动的数据包的TRB,本芯片可直接进行内存访问,只需要更短的周期来获取DMA需要的信息,提高满足了对USB3.0带宽的要求,体积小而紧凑,不仅降低功耗减少芯片面积更有利于芯片后端电路布线。

Description

高功能环形缓冲缓存系统及其控制方法
技术领域
本发明涉及一种用于高速传输领域的缓存技术,具体涉及一种高功能环形缓冲缓存系统及其控制方法。
背景技术
USB3.0是下一代超高速USB传输技术,传输速率大约是5Gbps,理论上的最高速率是4.8Gbps,是现有USB2.0传输速率的10倍。用于USB2.0控制器中的DMA引擎一般是采用流量控制,根据USB2.0交易转移器的要求用流量控制的方法来尝试或重试。对调度到USB交易转换器的定期交通流量而言,派遣时刻表是根据一组规则事先确定的,而不是根据实时运行。对于比现有技术的USB2.0技术快10倍的USB3.0控制器来说,这种办法就不能满足USB3.0带宽的要求。
发明内容
本发明公开一种高功能环形缓冲缓存系统及其控制方法,适用于USB3.0技术,并提高分散及收集式直接内存访问DMA引擎的功能。
为实现上述目的,本发明提供一种高功能环形缓冲缓存系统,其特点是,该系统包含传递管理模块,以及分别与该传递管理模块双向电路连接的内容关联管理模块和内容存储器;
上述的传递管理模块还双向电路连接外接的DMA引擎模块和主机控制接口。
上述的传递管理模块包含:
内部内容关联控制器;该内部内容关联控制器与上述的内容关联管理模块和内容存储器双向电路连接;以及,
分别与上述的内部内容关联控制器双向电路连接的传递引擎模块和完成引擎模块。
一种高功能环形缓冲缓存系统的传递控制方法,其特点是,该方法包含以下步骤:
步骤1  DMA引擎模块向完成引擎模块发送重试=1的信号;
步骤2 完成引擎模块执行读修改写指令;
步骤2.1 完成引擎模块接收到DMA引擎模块发送的一个完成事件;
步骤2.2 完成引擎模块向内部内容关联控制器发送读修改写指令;
步骤2.3 内部内容关联控制器判断该读修改写指令是否与传递引擎模块冲突,若是则不执行该指令,若否,则开始执行该指令,并跳转到步骤2.4;
步骤2.4 内部内容关联控制器读重试状态标识为端点任务设置为0;
步骤2.5 内部内容关联控制器更新重试状态,写为1;
步骤3 传递引擎模块通过执行读修改写指令来独立访问内容存储器;
步骤3.1 传递引擎模块发送读修改写指令至内部内容关联控制器;
步骤3.2 内部内容关联控制器判断该读修改写指令是否与完成引擎模块冲突,若是,若是则不执行该指令,若否,则开始执行该指令,并跳转到步骤3.3;
步骤3.3 内部内容关联控制器读重试状态标识为端点任务设置为1;
步骤3.4 内部内容关联控制器更新重试状态,写为0;
步骤4 传递引擎模块执行重试处理。
本发明一种高功能环形缓冲缓存系统及其控制方法和现有技术中采用流量控制的控制技术相比,其优点在于,本发明设有内容关联管理模块以及电路连接的内部内容关联控制器,实现TRB的比特信息被紧凑的缓存在局部缓冲区,这个局部缓冲区包含了有关TRB的必要信息,以便DMA引擎将不再需要去主内存去获得每个即将移动的数据包的TRB,当TRB被获取,其信息就被存储在引擎中使得DMA数据开始被初始化直到TRB完全被直接内存访问,由于芯片可直接进行内存访问,只需要更短的周期来获取DMA需要的信息以支持PCIe和USB3的速率,提高满足了对USB3.0带宽的要求,又不会大量增加门电路,体积小而紧凑,不仅降低功耗减少芯片面积更有利于芯片后端电路布线。
附图说明
图1为本发明一种高功能环形缓冲缓存系统的结构模块图;
图2为本发明高功能环形缓冲缓存系统的传递控制方法的方法流程图;
图3为本发明一种高功能环形缓冲缓存系统的传输数据流的实施例的示意图。
具体实施方式
以下结合附图说明本发明的具体实施方式。
本发明公开了一种环形缓冲缓存系统及其控制方法主要应用于USB3.0的主端控制器。该USB3.0主控器可以是独立的芯片配置在计算机或数字电视机的主机板上提供USB3.0的主机端口或集成在各种需要USB3.0主端口的系统芯片,外面可接各种不同的USB3.0应用,如U盘、外接硬盘等,当USB3.0的端口不足时,可通过外接集线器来拓展多个USB3.0端口。该缓存机制主要是用于提高分散及收集式直接内存访问DMA(Direct Memory Access,直接内存存取)引擎的功能。TRB(Transmit Ring Buffer)特指发送端环形缓冲,它描述了在获取或在主记忆器内存放的USB交易的数据块,主记忆器指USB3.0的主控制器芯片内带的记忆器,用于缓存数据块。该TRB的缓存能力可以让DMA引擎永远不会耗尽数据流,换句话说,TRB可以填满DMA管道,实现对PCI Express或USB3.0连接的最大效能。
上述的缓存机制是建立在每个端点内的缓存,这样每个USB3.0的主控制器可以处理高达256x32 多个外设端点(EP)。但是如果把每一个16字节的TRB 都缓存起来,由于其门电路急剧扩张,集成电路的实现将是非常昂贵且不现实的。本发明环形缓冲缓存系统及其控制方法使得我们仅需存储必要的TRB内容关联信息而不是整个TRB来维持DMA的数据移动。
如图1所示,本发明说明一种环形缓冲缓存系统,该系统包含传递管理模块1、内容关联管理模块2、内容存储器3。该传递管理模块1分别与内容关联管理模块2和内容存储器3双向电路连接。传递管理模块1还与外接的DMA引擎模块4和主机控制接口5双向电路连接,该主机控制接口5指计算机主机桥芯片, 或中央处理器,或所有需带USB3.0主端口的接口。
传递管理模块1包含内部内容关联控制器13,以及分别与该内部内容关联控制器13电路连接的传递引擎模块11和完成引擎模块12。内部内容关联控制器13分别与内容关联管理模块2和内容存储器3双向电路连接。传递引擎模块11用于解析传递环,并向DMA引擎模块4产生请求。完成引擎模块12用于处理所有接收到的完成交易。内部内容关联控制器13用于仲裁传递引擎模块11和完成引擎模块12对内容存储器3的访问。
传递引擎模块11用于来决定传递的数据量。传递引擎模块11全面执行或部分执行了交易之后,传递引擎模块11便会更新存储在内部控制内存行中的一个或多个状态领域,其反映了交易的状态。 当一个响应从下游的集线器接收到后,完成引擎模块12用于刷新存储在一个或多个状态领域的数据来反映交易的状态。
内容关联管理模块2与上述的DMA引擎模块4电路连接。该内容关联管理模块2中设有局部缓冲区,TRB缓存在局部缓冲区中,该局部缓冲区内存储了有关TRB的必要信息,以便DMA引擎模块4将不再需要去计算机的主内存去获得每个即将移动的数据包的TRB。该内容关联管理模块2便是主机DMA引擎性能增强的关键,一旦TRB被获取,其信息就被存储在DMA引擎模块4中使得DMA数据开始被初始化直到TRB完全被计算机的主内存访问。由于芯片可直接进行内存访问,因此只需要更短的周期来获取TRB被获取,其信息就被存储在DMA引擎模块4需要的信息以支持PCIe和USB3的速率。
以下结合图2说明本发明环形缓冲缓存系统的传递管理控制方法。
图2中说明了传递引擎模块11和完成引擎模块12协调变更内容存储器3中的重试标识。传递引擎模块11和完成引擎模块12是独立运行的,传递引擎模块11处理调度器请求的端点(endpoint,USB标准里的术语)任务,而完成引擎模块12处理按顺序接到的完成(Completion是USB的术语,指数据传送完成后的一个指令叫完成)。传递引擎模块11和完成引擎模块12利用内容数据来相互间传递状态信息。为了协调端点内容数据的修正,传递引擎模块11和完成引擎模块12施行控制内存的读修改写指令。
一种环形缓冲缓存系统的传递控制方法,该方法包含以下步骤:
步骤1  DMA引擎模块4向完成引擎模块12发送一个完成事件,该完成事件包含不成功交易必须重试的信号,该信号为重试=1。
步骤2 完成引擎模块12执行读修改写(计算机里的术语,read modified write)指令 。
步骤2.1 完成引擎模块12接收到DMA引擎模块4发送的一个完成事件。
步骤2.2 完成引擎模块12向内部内容关联控制器13发送读修改写指令。
步骤2.3 内部内容关联控制器13判断该读修改写指令是否与传递引擎模块11冲突,即完成引擎模块12和传递引擎模块11是否同时想进入内容记忆器3,若是则不执行该指令,若否,则开始执行该指令,并跳转到步骤2.4。
步骤2.4 内部内容关联控制器13读重试状态标识为端点任务设置为0。
步骤2.5 内部内容关联控制器13更新重试状态,写为1,修改了断端点内容。
步骤3 传递引擎模块11通过执行一个读修改写指令来独立访问内容存储器。
步骤3.1 传递引擎模块11发送读修改写指令至内部内容关联控制器13。
步骤3.2 内部内容关联控制器13判断该读修改写指令是否与完成引擎模块12冲突,即完成引擎模块12和传递引擎模块11是否同时想进入内容记忆器3,若是,若是则不执行该指令,若否,则开始执行该指令,并跳转到步骤3.3。
步骤3.3 内部内容关联控制器13读重试状态标识为端点任务设置在1。
步骤3.4 内部内容关联控制器13更新重试状态,写为0,修改了断端点内容。
步骤4 传递引擎模块11执行重试处理,重新进行DMA引擎模块4所发送的不成功交易。
以下结合图3说明本发明环形缓冲缓存系统中传输数据流的一种实施例。
局部TRB缓存读写指针形成了该循环局部TRB缓存的头指针和尾指针, 局部TRB缓存1210含有四组数据,该四组数据或也可应于4个TRBs的缓存位置。每一组数据含有特定于单一TRB数据,比如第1180行到1188 行。 当一个新的TRB从传递环内读出时,TRB的长度偏移是1180,IOC是1182,ISP是1184,TRB 类型是1186,链的偏移是1188。数据缓存在有TRB缓存写指针1190指向的局部TRB缓存1210位置,以及其它可适用的TRB数据缓存在1110到1162行。传递引擎模块11于是采用局部TRB缓存1210的内容关联数据来处理新的TRB。处理完成后,局部TRB缓存写指针1190移动到下一个可行的缓存位置,另一个TRB进入缓存,第1110至1162行被刷新来反映新缓存的TRB。同时,当完成事件收到,局部TRB读指针1192指向以前的缓存位置来刷新TRB长度偏移1180。当TRB长度偏移1180达到0,或收到短数据包或一个错误情况被检测到,局部TRB缓存读指针1192发生改变,以前的缓存位置被腾空出来,局部TRB缓存写指针1190可以用为新的TRB。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述才内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。

Claims (2)

1.一种高功能环形缓冲缓存系统,其特征在于,该系统包含传递管理模块(1),以及分别与所述的传递管理模块(1)双向电路连接的内容关联管理模块(2)和内容存储器(3);
所述的传递管理模块(1)还双向电路连接外接的DMA引擎模块(4)和主机控制接口(5);
所述内容关联管理模块(2)包含局部缓冲区,该局部缓冲区为读写指针结构,用于存储发送端环形缓冲的必要信息,便于缓存系统不再需要去计算机的主内存去获得每个即将移动的数据包的发送端环形缓冲;
所述DMA引擎模块(4)用于所述高功能环形缓冲缓存系统的信息输入和输出;
所述主机控制接口(5)用于外接计算机主机;
所述的传递管理模块(1)包含:
内部内容关联控制器(13);该内部内容关联控制器(13)与所述的内容关联管理模块(2)和内容存储器(3)双向电路连接;以及,
分别与所述的内部内容关联控制器(13)双向电路连接的传递引擎模块(11)和完成引擎模块(12);
所述传递引擎模块(11)用于解析传递环并向DMA引擎产生请求;
所述完成引擎模块(12)用于处理所有接收到的完成交易;
所述内部内容关联控制器(13)用于仲裁传递引擎模块(11)和完成引擎模块(12)对所述局部缓冲区和内容存储器(3)的访问。
2.一种高功能环形缓冲缓存系统的传递控制方法,其特征在于,该方法包含以下步骤:
步骤1  DMA引擎模块(4)向完成引擎模块(12)发送重试=1的信号;
步骤2 完成引擎模块(12)执行读修改写指令;
步骤2.1 完成引擎模块(12)接收到DMA引擎模块(4)发送的一个完成事件;
步骤2.2 完成引擎模块(12)向内部内容关联控制器(13)发送读修改写指令;
步骤2.3 内部内容关联控制器(13)判断该读修改写指令是否与传递引擎模块(11)冲突,若是则不执行该指令,若否,则开始执行该指令,并跳转到步骤2.4;
步骤2.4 内部内容关联控制器(13)读重试状态标识为端点任务设置为0;
步骤2.5 内部内容关联控制器(13)通过内容关联管理模块(2)对局部缓冲区和内容存储器(3)进行访问,对其中发送端环形缓冲进行读修改写操作;内部内容关联控制器(13)更新重试状态,写为1;
步骤3 传递引擎模块(11)通过执行读修改写指令来独立访问内容关联管理模块(2)的局部缓冲区和内容存储器(3);
步骤3.1 传递引擎模块(11)发送读修改写指令至内部内容关联控制器(13);
步骤3.2 内部内容关联控制器(13)判断该读修改写指令是否与完成引擎模块(12)冲突,若是,若是则不执行该指令,若否,则开始执行该指令,并跳转到步骤3.3;
步骤3.3 内部内容关联控制器(13)读重试状态标识为端点任务设置为1;
步骤3.4 内部内容关联控制器(13)通过内容关联管理模块(2)对局部缓冲区和内容存储器(3)进行访问,对其中发送端环形缓冲进行读修改写操作;内部内容关联控制器(13)更新重试状态,写为0;
步骤4 传递引擎模块(11)执行重试处理。
CN2011100806902A 2011-04-01 2011-04-01 高功能环形缓冲缓存系统及其控制方法 Active CN102184150B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100806902A CN102184150B (zh) 2011-04-01 2011-04-01 高功能环形缓冲缓存系统及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100806902A CN102184150B (zh) 2011-04-01 2011-04-01 高功能环形缓冲缓存系统及其控制方法

Publications (2)

Publication Number Publication Date
CN102184150A CN102184150A (zh) 2011-09-14
CN102184150B true CN102184150B (zh) 2013-08-28

Family

ID=44570328

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100806902A Active CN102184150B (zh) 2011-04-01 2011-04-01 高功能环形缓冲缓存系统及其控制方法

Country Status (1)

Country Link
CN (1) CN102184150B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106294213B (zh) * 2016-08-02 2019-07-16 芯启源电子科技有限公司 存储装置、电子设备及存储装置管理方法
TWI743736B (zh) 2020-04-08 2021-10-21 瑞昱半導體股份有限公司 資料傳輸系統、電路與方法
CN113971151A (zh) * 2021-10-28 2022-01-25 上海兆芯集成电路有限公司 串行传输控制器及其数据传输方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570896A (zh) * 2003-03-20 2005-01-26 松下电器产业株式会社 直接存储器存取控制器
CN101539902A (zh) * 2009-05-05 2009-09-23 中国科学院计算技术研究所 多计算机系统中节点的dma设备及通信方法
US7610415B2 (en) * 2005-07-28 2009-10-27 Digi International System and method for processing data streams
CN202257552U (zh) * 2011-04-01 2012-05-30 昆山酷威微电子科技有限公司 高功能环形缓冲缓存系统
CN102541779A (zh) * 2011-11-28 2012-07-04 曙光信息产业(北京)有限公司 一种提高多数据缓冲区dma效率的系统和方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1570896A (zh) * 2003-03-20 2005-01-26 松下电器产业株式会社 直接存储器存取控制器
US7610415B2 (en) * 2005-07-28 2009-10-27 Digi International System and method for processing data streams
CN101539902A (zh) * 2009-05-05 2009-09-23 中国科学院计算技术研究所 多计算机系统中节点的dma设备及通信方法
CN202257552U (zh) * 2011-04-01 2012-05-30 昆山酷威微电子科技有限公司 高功能环形缓冲缓存系统
CN102541779A (zh) * 2011-11-28 2012-07-04 曙光信息产业(北京)有限公司 一种提高多数据缓冲区dma效率的系统和方法

Also Published As

Publication number Publication date
CN102184150A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
KR100840140B1 (ko) 메모리 허브 메모리 모듈들을 사용하여 데이터 전송들을조직화하는 시스템 및 방법
US8700830B2 (en) Memory buffering system that improves read/write performance and provides low latency for mobile systems
US8359420B2 (en) External memory based FIFO apparatus
US7543114B2 (en) System and controller with reduced bus utilization time
US8296541B2 (en) Memory subsystem with positional read data latency
US8880745B2 (en) Efficient scheduling of transactions from multiple masters
US20140181427A1 (en) Compound Memory Operations in a Logic Layer of a Stacked Memory
CN101135993A (zh) 一种嵌入式系统芯片及数据读写处理方法
CN103201725A (zh) 用于在多个处理器之间共享的存储器的存储器访问设备及其访问方法
CN112035388B (zh) 一种基于PCI-e通道的高性能加解密方法
CN103207846A (zh) 内存控制器及控制方法
CN113900974B (zh) 一种存储装置、数据存储方法及相关设备
CN102521179A (zh) 一种dma读操作的实现装置和方法
CN104021097A (zh) 数据传输方法、装置及直接存储器存取
CN102184150B (zh) 高功能环形缓冲缓存系统及其控制方法
US7409486B2 (en) Storage system, and storage control method
US7774513B2 (en) DMA circuit and computer system
CN102236625A (zh) 一种可同时进行读写操作的多通道NANDflash控制器
US8886844B2 (en) Efficient scheduling of read and write transactions in dynamic memory controllers
US7913013B2 (en) Semiconductor integrated circuit
CN202257552U (zh) 高功能环形缓冲缓存系统
US20230195368A1 (en) Write Request Buffer
CN100357920C (zh) 平行输入/输出数据传输控制器
KR102334473B1 (ko) 적응형 딥러닝 가속 장치 및 방법
WO2020087239A1 (zh) 大数据运算加速系统

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
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20191227

Address after: No.1-3, building 5, No.39 Xinggu Road, Jiulongpo District, Chongqing 400052

Patentee after: Ruisi Semiconductor (Chongqing) Co., Ltd.

Address before: Room 605, block A, Modern Plaza, 18 Albert Road, Kunshan Development Zone, Jiangsu, Suzhou, 215300

Patentee before: Kunshan Kuwei Microelectronic Technology Co., Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200828

Address after: California, USA

Patentee after: Spectrum Technology Co.,Ltd.

Address before: No.1-3, building 5, No.39 Xinggu Road, Jiulongpo District, Chongqing 400052

Patentee before: Ruisi Semiconductor (Chongqing) Co.,Ltd.