CN105528311A - 一种基于数据包的存储器读写电路及方法 - Google Patents
一种基于数据包的存储器读写电路及方法 Download PDFInfo
- Publication number
- CN105528311A CN105528311A CN201510925674.7A CN201510925674A CN105528311A CN 105528311 A CN105528311 A CN 105528311A CN 201510925674 A CN201510925674 A CN 201510925674A CN 105528311 A CN105528311 A CN 105528311A
- Authority
- CN
- China
- Prior art keywords
- read
- packet
- write
- data
- memory
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于数据包的存储器读写电路及方法,替代传统的基于总线的、随机访问的存储器读写电路,可以有效减少存储器读写电路大量外部引脚、大量地址空间,同时特别有利于多核SoC芯片、片上网络以及大量片上存储器的读写设计,其扩展性好,物理设计实现面积、功耗和工作频率指标都比较优异。
Description
技术领域
本发明属于计算机硬件技术,涉及一种基于数据包的存储器读写电路及方法。
背景技术
在超大规模集成电路设计中,集成电路内部经常需要集成大量片上存储器作为数据收发缓冲,对于某些通信专用集成电路,还需要外挂高速大容量存储器作为数据收发缓冲使用,常规的存储器读写电路都是基于总线访问的,存储器读写总线包括地址总线、数据总线和控制命令总线,其优点是控制简单,支持随机的直接访问,适合程序存储,例如内存,但缺点就是并行总线数目多,需要占用大量外部引脚和大量的地址空间,属于同步设计,总线结构对后端物理设计的面积、功耗和工作频率影响较大,可扩展性比较差;而用于数据收发缓冲的存储器的访问,其主要目的是用于数据交换,在工作时处理器并不需要直接、随机访问,可以以数据块、数据包的形式访问,基于数据包的存储器读写电路在减少集成电路设计资源、提高设计质量的同时,也为大量存储器的自检和故障定位提供了一种简单、有效的电路实现方法。
发明内容
本发明的目的:本发明提供一种基于数据包的存储器读写电路及方法,替代传统的基于总线的、随机访问的存储器读写电路。
本发明的技术解决方案:
一种基于数据包的存储器读写电路,其特殊之处在于:包括处理器访问接口、交换路由网络和至少一个存储器读写接口,
所述处理器访问接口包括处理器发送缓冲存储器、发送接收控制寄存器、处理器接收缓冲存储器;
处理器发送缓冲存储器用于存储要写入目标存储器的写数据载荷;
处理器接收缓冲存储器用于存储从目标存储器返回的读数据载荷;
发送接收控制模块:定义数据包结构;接收主机发送的操作指令;根据操作指令完成读操作数据包的组装和写操作数据包组装,并发送给交换路由网络;接收交换路由网络返回的读响应数据包,存储在处理器接收缓冲存储器;通知主机发读操作完成;
数据包包括数据包头和数据载荷,数据载荷用于传递存储写的数据或者存储器读的数据,数据包头包含数据包类型、目的ID和源ID、读写地址和数据载荷长度;
交换路由网络用于接收读操作数据包或写操作数据包,并根据数据包的目的ID完成数据包的路由寻址转发;接收来自存储器读写接口的读响应数据包并转发给处理器访问接口;
存储器读写接口包括发送接收状态机和存储器读写电路,
所述发送接收状态机用于接收来自交换路由网络的读操作数据包或写操作数据包,解析后将解析结果发送存储器读写电路同时将读数据包中目的ID和源ID交换后存储;接收存储器读写电路反馈的存储数据,将存储数据与存储的读数据包重新组装得到读响应数据包发送给交换路由网络;
存储器读写电路根据解析结果完成读写操作,具体为:写操作将写数据载荷写入目标存储器中;读操作将目标存储器中的存储数据反馈给发送接收状态机。
一种基于数据包的存储器读写方法,包括以下步骤:
步骤1、定义数据包结构,数据包结构包括数据包头和数据载荷,数据载荷用于传递存储写的数据或者存储器读的数据,数据包头包含数据包类型、目的ID、源ID、读写地址和数据载荷长度;
数据包类型包括存储器写操作、存储器读操作、存储器读响应;
步骤2、接收主机发送的操作指令;根据操作指令完成读操作数据包的组装和写操作数据包组装,并发送给交换路由网络;
步骤3、交换路由网络接收读操作数据包或写操作数据包,并根据数据包的目的ID完成数据包的路由寻址转发给对应的存储器读写接口;
步骤4、发送接收状态机接收来自交换路由网络的读操作数据包或写操作数据包:
若为写操作数据包,则解析后将解析结果发送存储器读写电路,存储器读写电路将写数据载荷写入目标存储器中;
若为读操作数据包,则解析后将解析结果发送存储器读写电路,同时将读数据包中目的ID和源ID交换,并将数据包类型改变为存储器读响应后存储;执行步骤5)
5)存储器读写电路从目标存储器中的读取存储数据,并反馈给发送接收状态机;
6)发送接收状态机将接收到存储数据以及存储数据包头重新组装成读响应数据包后发送给交换路由网络;
7)交换路由网络接收来自存储器读写接口的读响应数据包并转发给处理器访问接口;
8)处理器访问接口接收交换路由网络转发的读响应数据包,存储在处理器接收缓冲存储器;通知主机发读操作完成。本发明的优点是:
1、本发明的一种基于数据包、采用交换路由网络结构进行访问的存储器读写电路及方法,替代传统的基于总线的、随机访问的存储器读写电路,可以有效减少存储器读写电路外部引脚和地址空间。
2、本发明特别有利于多核SoC芯片、片上网络以及大量片上存储器的读写设计,其扩展性好,物理设计实现面积、功耗和工作频率指标都比较优异。
附图说明
图1是基于数据包的存储器读写电路功能框图
图2是数据包格式。
具体实施方式
下面结合附图和具体实施例,对本发明的技术方案进行清楚、完整地表述。显然,所表述的实施例仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,一种基于数据包的存储器读写电路,包括处理器访问接口、交换路由网络和至少一个存储器读写接口,处理器访问接口包括处理器发送缓冲存储器、发送接收控制寄存器、处理器接收缓冲存储器;处理器发送缓冲存储器用于存储要写入目标存储器的写数据载荷;处理器接收缓冲存储器用于存储从目标存储器返回的读数据载荷;发送接收控制模块:定义数据包结构;接收主机发送的操作指令;根据操作指令完成读操作数据包的组装和写操作数据包组装,并发送给交换路由网络;接收交换路由网络返回的读响应数据包,存储在处理器接收缓冲存储器;通知主机发读操作完成;数据包包括数据包头和数据载荷,数据载荷用于传递存储写的数据或者存储器读的数据,数据包头包含数据包类型、目的ID和源ID、读写地址和数据载荷长度;交换路由网络用于接收读操作数据包或写操作数据包,并根据数据包的目的ID完成数据包的路由寻址转发;接收来自存储器读写接口的读响应数据包并转发给处理器访问接口;存储器读写接口包括发送接收状态机和存储器读写电路,发送接收状态机用于接收来自交换路由网络的读操作数据包或写操作数据包,解析后将解析结果发送存储器读写电路同时将读数据包中目的ID和源ID交换后存储;接收存储器读写电路反馈的存储数据,将存储数据与存储的读数据包重新组装得到读响应数据包发送给交换路由网络;存储器读写电路根据解析结果完成读写操作,具体为:写操作将写数据载荷写入目标存储器中;读操作将目标存储器中的存储数据反馈给发送接收状态机。
本发明提供一种基于数据包的外部存储器读写电路及方法,包括以下步骤:
步骤1、用户定义存储器读写数据包格式,数据包包括数据包头和数据载荷,数据包用于描述数据包的功能和参数,数据载荷用于传递存储写的数据或者存储器读的数据,数据包头包含数据包类型、命令状态字、目的ID和源ID、读写地址、数据载荷长度等字段;
数据包类型包括存储器写操作、存储器读操作、存储器读响应,以及数据交换操作,命令状态字是数据包类型的补充,用于进一步详细描述数据包类型;
目的ID和源ID,用于描述数据包的接收端和数据包的发送端的设备ID,每一个存储器或处理器访问接口都有唯一的设备ID;读写地址是设备ID的补充,用于描述数据包接收端存储器的起始地址;
数据载荷长度用于描述存储器读写数据块的长度,数据载荷长度设计应兼顾资源与效率的考虑;
步骤2、构造基于数据包的存储器读写电路,电路包括处理器访问接口、存储器读写接口、交换路由网络和存储器;
处理器访问接口包括处理器发送缓冲、处理器接收缓冲和发送接收控制寄存器,处理器发送缓冲和处理器接收缓冲用于数据包的存储,发送接收控制寄存器用于处理器访问接口存储器写操作、存储器读操作、存储器读响应数据包的发送和接收;
存储器读写接口包括数据包的接收发送状态机和存储器读写电路,存储器读写接口通过交换路由网络接收数据包,并解析数据包头命令和地址,完成存储器的写操作,或者返回存储器读操作数据;
交换路由网络完成数据包的路由和转发;
步骤3、处理器对存储器的访问包含存储器写操作和读操作,处理器对存储器的访问操作必须基于数据块进行;
步骤3.1、处理器对某个存储器执行写操作,首先在处理器发送缓冲中构造要写的数据包,数据包类型为存储器写操作、命令状态字为写测试,目的ID为目标存储器,源ID为处理器访问接口,读写地址为目标存储器某段地址空间,数据载荷长度为存储器读写数据块的长度;
步骤3.2、处理器向发送接收控制寄存器写发送命令,完成存储器写操作包的发送;
步骤3.3、存储器写操作包经由交换路由网络,传递到目标存储器,目标存储器读写接口接收到数据包后,将解析数据包头,并根据数据包头参数执行存储器的写操作,将数据载荷写到存储器单元中;
步骤3.4、处理器对目标存储器执行读操作,首先在处理器发送缓冲中构造要写的数据包,数据包类型为存储器读操作、命令状态字为读测试,目的ID为目标存储器,源ID为处理器访问接口,读写地址为目标存储器某段地址空间,数据载荷长度为存储器读写数据块的长度,存储器读操作数据包不包含数据载荷,故数据载荷长度为0;
步骤3.5、处理器向发送接收控制寄存器写发送命令,完成存储器读操作包的发送;
步骤3.6、存储器读操作包经由交换路由网络,传递到目标存储器,目标存储器读写接口接收到数据包后,将解析数据包头,并根据数据包头参数执行存储器的读操作;
步骤3.7、存储器读写接口解析出来这是一个存储器读操作后,将根据读写地址、数据载荷长度,准备好指定存储器单元进行读操作,存储器读操作需要返回一个存储器读响应数据包,数据包类型为存储器读响应,命令状态字为读响应,目的ID为处理器访问接口设备ID,源ID为该存储器的设备ID,读写地址为访问的存储器起始地址,数据载荷长度为读取的存储器数据块长度,存储器读写接口接收发送状态机首先发送存储器读响应数据包头,然后顺序读取指定存储器地址空间数据,填充到存储器读响应数据包的数据载荷,直到所有数据块被读取并发送;
步骤3.8、存储器读响应数据包经由交换路由网络,传递到处理器访问接口,处理器访问接口接收到数据包后缓存到处理器接收缓冲,同时发送接收控制寄存器相应的状态位发生改变,表示接收到存储器读响应数据包;
步骤3.9、处理器查询发送接收控制寄存器,发现接收到一个存储器读响应数据包,然后读取处理器接口接收缓冲数据,其中数据载荷部分就是目标存储器指定读写地址空间的数据。
Claims (2)
1.一种基于数据包的存储器读写电路,其特征在于:包括处理器访问接口、交换路由网络和至少一个存储器读写接口,
所述处理器访问接口包括处理器发送缓冲存储器、发送接收控制寄存器、处理器接收缓冲存储器;
处理器发送缓冲存储器用于存储要写入目标存储器的写数据载荷;
处理器接收缓冲存储器用于存储从目标存储器返回的读数据载荷;
发送接收控制模块:定义数据包结构;接收主机发送的操作指令;根据操作指令完成读操作数据包的组装和写操作数据包组装,并发送给交换路由网络;接收交换路由网络返回的读响应数据包,存储在处理器接收缓冲存储器;通知主机发读操作完成;
数据包包括数据包头和数据载荷,数据载荷用于传递存储写的数据或者存储器读的数据,数据包头包含数据包类型、目的ID和源ID、读写地址和数据载荷长度;
交换路由网络用于接收读操作数据包或写操作数据包,并根据数据包的目的ID完成数据包的路由寻址转发;接收来自存储器读写接口的读响应数据包并转发给处理器访问接口;
存储器读写接口包括发送接收状态机和存储器读写电路,
所述发送接收状态机用于接收来自交换路由网络的读操作数据包或写操作数据包,解析后将解析结果发送存储器读写电路同时将读数据包中目的ID和源ID交换后存储;接收存储器读写电路反馈的存储数据,将存储数据与存储的读数据包重新组装得到读响应数据包发送给交换路由网络;
存储器读写电路根据解析结果完成读写操作,具体为:写操作将写数据载荷写入目标存储器中;读操作将目标存储器中的存储数据反馈给发送接收状态机。
2.一种基于数据包的存储器读写方法,其特征在于,包括以下步骤:
步骤1、定义数据包结构,数据包结构包括数据包头和数据载荷,数据载荷用于传递存储写的数据或者存储器读的数据,数据包头包含数据包类型、目的ID、源ID、读写地址和数据载荷长度;
数据包类型包括存储器写操作、存储器读操作、存储器读响应;
步骤2、接收主机发送的操作指令;根据操作指令完成读操作数据包的组装和写操作数据包组装,并发送给交换路由网络;
步骤3、交换路由网络接收读操作数据包或写操作数据包,并根据数据包的目的ID完成数据包的路由寻址转发给对应的存储器读写接口;
步骤4、发送接收状态机接收来自交换路由网络的读操作数据包或写操作数据包:
若为写操作数据包,则解析后将解析结果发送存储器读写电路,存储器读写电路将写数据载荷写入目标存储器中;
若为读操作数据包,则解析后将解析结果发送存储器读写电路,同时将读数据包中目的ID和源ID交换,并将数据包类型改变为存储器读响应后存储;执行步骤5)
5)存储器读写电路从目标存储器中的读取存储数据,并反馈给发送接收状态机;
6)发送接收状态机将接收到存储数据以及存储数据包头重新组装成读响应数据包后发送给交换路由网络;
7)交换路由网络接收来自存储器读写接口的读响应数据包并转发给处理器访问接口;
8)处理器访问接口接收交换路由网络转发的读响应数据包,存储在处理器接收缓冲存储器;通知主机发读操作完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510925674.7A CN105528311A (zh) | 2015-12-11 | 2015-12-11 | 一种基于数据包的存储器读写电路及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510925674.7A CN105528311A (zh) | 2015-12-11 | 2015-12-11 | 一种基于数据包的存储器读写电路及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105528311A true CN105528311A (zh) | 2016-04-27 |
Family
ID=55770549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510925674.7A Pending CN105528311A (zh) | 2015-12-11 | 2015-12-11 | 一种基于数据包的存储器读写电路及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105528311A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426105A (zh) * | 2017-07-17 | 2017-12-01 | 中国电子科技集团公司第五十四研究所 | 一种高效路由结构及其维护和读取方法 |
WO2021134521A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN113138711A (zh) * | 2020-01-20 | 2021-07-20 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN114328311A (zh) * | 2021-12-15 | 2022-04-12 | 珠海一微半导体股份有限公司 | 一种存储控制器架构、数据处理电路及数据处理方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105830A1 (en) * | 2001-12-03 | 2003-06-05 | Duc Pham | Scalable network media access controller and methods |
CN101753388A (zh) * | 2008-11-28 | 2010-06-23 | 中国科学院微电子研究所 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
US20100161791A1 (en) * | 2008-12-23 | 2010-06-24 | At&T Intellectual Property I.L.P. | System and method for sampling network traffic |
CN101950175A (zh) * | 2010-10-21 | 2011-01-19 | 广州数控设备有限公司 | 一种基于工业以太网的高速现场总线实现方法 |
CN103412849A (zh) * | 2013-08-02 | 2013-11-27 | 桂林电子科技大学 | ARM处理器的NoC资源网络接口及其驱动方法 |
CN105095150A (zh) * | 2015-08-14 | 2015-11-25 | 中国电子科技集团公司第五十八研究所 | 一种支持片上网络的网络接口 |
-
2015
- 2015-12-11 CN CN201510925674.7A patent/CN105528311A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030105830A1 (en) * | 2001-12-03 | 2003-06-05 | Duc Pham | Scalable network media access controller and methods |
CN101753388A (zh) * | 2008-11-28 | 2010-06-23 | 中国科学院微电子研究所 | 适用于多核处理器片上和片间扩展的路由及接口装置 |
US20100161791A1 (en) * | 2008-12-23 | 2010-06-24 | At&T Intellectual Property I.L.P. | System and method for sampling network traffic |
CN101950175A (zh) * | 2010-10-21 | 2011-01-19 | 广州数控设备有限公司 | 一种基于工业以太网的高速现场总线实现方法 |
CN103412849A (zh) * | 2013-08-02 | 2013-11-27 | 桂林电子科技大学 | ARM处理器的NoC资源网络接口及其驱动方法 |
CN105095150A (zh) * | 2015-08-14 | 2015-11-25 | 中国电子科技集团公司第五十八研究所 | 一种支持片上网络的网络接口 |
Non-Patent Citations (2)
Title |
---|
21世纪计算机网络工程丛书编写委员会: "《网络技术基础》", 31 January 2001, 北京希望电子出版社 * |
李良俊: "《大学计算机应用基础》", 31 August 2008, 中国铁道出版社 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107426105A (zh) * | 2017-07-17 | 2017-12-01 | 中国电子科技集团公司第五十四研究所 | 一种高效路由结构及其维护和读取方法 |
CN107426105B (zh) * | 2017-07-17 | 2019-10-22 | 中国电子科技集团公司第五十四研究所 | 一种高效路由装置及其维护和读取方法 |
WO2021134521A1 (zh) * | 2019-12-31 | 2021-07-08 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN113138711A (zh) * | 2020-01-20 | 2021-07-20 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN113138711B (zh) * | 2020-01-20 | 2023-11-17 | 北京希姆计算科技有限公司 | 一种存储管理装置及芯片 |
CN114328311A (zh) * | 2021-12-15 | 2022-04-12 | 珠海一微半导体股份有限公司 | 一种存储控制器架构、数据处理电路及数据处理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190324643A1 (en) | Data Distribution Method In Storage System, Distribution Apparatus, And Storage System | |
CN105528311A (zh) | 一种基于数据包的存储器读写电路及方法 | |
US10318165B2 (en) | Data operating method, device, and system | |
KR102004849B1 (ko) | 동적 메모리 재할당 관리 방법과 상기 방법을 수행할 수 있는 장치 | |
CN101236774B (zh) | 单端口存储器实现多端口存储功能的装置和方法 | |
CN102819517A (zh) | Pcie接口卡 | |
CN110419034A (zh) | 一种数据访问方法及装置 | |
CN113507532A (zh) | 网络地址转换的方法及相应服务器、存储介质和电子设备 | |
CN108090018A (zh) | 数据交换方法及系统 | |
CN204390227U (zh) | 计算设备扩展装置、以及可扩展的计算系统 | |
CN114296638A (zh) | 存算一体化固态硬盘控制器、固态硬盘、数据存储系统及方法 | |
CN108139989A (zh) | 配备有存储器中的处理和窄访问端口的计算机设备 | |
CN104598404A (zh) | 计算设备扩展方法和装置、以及可扩展的计算系统 | |
CN109285580B (zh) | 数据预处理装置、方法及异步双端随机存取存储器系统 | |
US11847049B2 (en) | Processing system that increases the memory capacity of a GPGPU | |
CN216014252U (zh) | 基于hp接口的多通道数据采集存储回放卡及系统 | |
CN101968856A (zh) | 移动存储扩展卡及计算机 | |
CN114741331A (zh) | 一种数据缓存装置、系统及数据处理方法 | |
CN111599390B (zh) | 基于动态可重配技术的块状存储单元 | |
CN114422801A (zh) | 优化视频压缩控制逻辑的方法、系统、设备和存储介质 | |
CN102685003B (zh) | 数据交换设备及回读方法 | |
CN109388344B (zh) | 一种基于带宽扩展交叉编址的双端口sram访问控制系统及方法 | |
CN107066208B (zh) | 一种外存设备的非对称读写方法及nvm外存设备 | |
CN105763231A (zh) | 一种具有主动模式的近距离无线通信芯片 | |
CN117591450B (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160427 |