CN1470996A - 外部存储器sdram读写处理方法 - Google Patents
外部存储器sdram读写处理方法 Download PDFInfo
- Publication number
- CN1470996A CN1470996A CNA021267960A CN02126796A CN1470996A CN 1470996 A CN1470996 A CN 1470996A CN A021267960 A CNA021267960 A CN A021267960A CN 02126796 A CN02126796 A CN 02126796A CN 1470996 A CN1470996 A CN 1470996A
- Authority
- CN
- China
- Prior art keywords
- signal
- memory storage
- external memory
- data
- write
- 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
Landscapes
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Abstract
一种涉及电数字数据处理的外部存储器SDRAM读写处理方法,其特征在于:在外部存储器的前端FIFO中进行如下处理:在以太网传送过来的数据包头信号SOP到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据放入该包包头信号SOP前面的单元;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间;在外部存储器读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部存储器的写操作时,只进行突发写操作;在进行读操作时,直接从外部存储器进行突发读操作,本发明简化控读写制,节省了带宽,实现了比较简单的状态转换,有效提高了SDRAM的读写带宽利用率。
Description
技术领域
本发明涉及电数字数据处理,尤其涉及一种外部存储器SDRAM读写处理方法。
背景技术
在对以太网包或者IP包这种带有包头包尾以及错误标志的数据包进行存储转发时,必须使用大容量的外部存储器,一般常用的大容量外部存储器包括外部存储器SDRAM以及SSRAM,其中SDRAM因为价格较低而应用范围相当大,但是存在着控制复杂、读写开销较大的缺点,从而影响SDRAM的读写带宽。
目前,利用SDRAM进行存储控制涉及到对SDRAM的读写仲裁问题,存在于利用SDRAM对以太网包进行存储转发中,对SDRAM分成两个部分用来存储数据:正常包数据以及数据包长度等状态数据,将SDRAM划分为两个数据区进行操作带来的最直接问题就是需要管理两套指针:正常包数据区的读/写指针和状态数据区读/写指针,在进行读写操作时比较复杂。
在进行正常包数据的读写时,将数据放入正常包数据区;在写操作中,当包头信号wr_sop出现时将对当前包进行计数,然后进行写操作的突发,当包尾信号wr_eop出现时,当前包计数结束,接着将当前包的长度打包成状态数据放入状态数据区;在读操作中,首先判断是否是上一个包的结束,如果是的话将给出包头rd_sop,然后从状态数据区中取出该包的长度信息进行减法计数,如果正在读取的数据是当前包的中间数据,则继续进行读操作的突发,当当前包计数器计数到0时,给出包尾信号Rd_eop,因此对SDRAM进行读写仲裁需要多个附加状态,其详细的SDRAM读写控制流程图如图1所示。
从上面的流程图可以看出,对SDRAM进行一次读写仲裁需要遍历多个状态,从而导致读写周期太常,因此不可避免SDRAM读写带宽的利用率低下。
发明内容
本发明的目的在于提供一种提高SDRAM的读写带宽利用率的外部存储器SDRAM读写处理方法。
本发明所采用的方法为:这种外部存储器SDRAM读写处理方法,其特征在于:
A、在外部存储器的前端FIFO中进行如下处理:在以太网传送过来的数据包头信号SOP到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据放入该包包头信号SOP前面的单元;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间;
B、在外部存储器读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部存储器的写操作时,只进行突发写操作;在进行读操作时,直接从外部存储器进行突发读操作;
所述的步骤B中,在对外部存储器SDRAM进行写操作时,向前端FIFO发出写允许信号,前端FIFO根据写允许信号送出写数据,外部存储器SDRAM控制器将接收到的写数据按照突发方式写入;当外部存储器SDRAM控制器处于读状态时,向外部存储器SDRAM发出读命令和读地址,外部存储器SDRAM将向控制器按照突发方式顺序送出数据;
所述的外部存储器SDRAM中状态数据和数据包统一存放,在进行读、写操作时只需一套指针;
所述的状态标志包括数据有效信号及其延迟项信号、数据包的包尾信号及其延迟项信号等;
所述的前端FIFO对数据包的处理中,采用如下控制结构:
If(wr_vld||(wr_vld_dly && wr_eop_dly))waddr_d+1;
上式中,信号wr_vld表示数据有效信号;wr_vld_dly表示数据有效信号延时一个时钟周期的信号;wr_eop_dly表示数据包的包尾信号延时一个时钟周期的信号;waddr_d表示写入外部存储器前端FIFO的数据地址;该式表示,如果当前数据都是有效数据的话,前端FIFO地址加1;如果到了数据包的包尾后,且数据有效信号延时一个时钟周期的信号有效,仍然进行加1操作,预留一个地址;
所述的外部存储器读写仲裁中,采用如下控制结构:
waddr=(wr_eop_dly && wr_vld_dly)waddr_state:waddr_d
上式中,waddr是对外部存储器前端FIFO的实际操作地址;waddr_state表示状态数据的状态字节地址;waddr_d是写入外部存储器前端FIFO的数据地址;该式表示,如果数据包的包尾信号延时一个时钟周期的信号wr_eop_dly为1且数据有效信号延时一个时钟周期的信号wr_vld_dly信号同时为1,那么就操作状态字节的地址;否则就操作数据地址。
本发明的有益效果为:本专利提出了一种简化外部存储器SDRAM控制和读写开销的方法,将包的状态信息编码后写入外部存储器SDRAM中,从而在对外部存储器SDRAM进行读写仲裁时节约了读写之间的额外开销周期与操作周期,简化外部存储器SDRAM控制仲裁模块的状态转换,从而简化读写控制,节省了带宽,实现了比较简单的状态转换,外部存储器SDRAM不分区处理,在进行读、写操作时只需一套指针等,有效提高了外部存储器SDRAM的读写带宽利用率。
附图说明
图1为现有SDRAM读写仲裁流程示意图;
图2为本发明模块示意图;
图3为本发明SDRAM读写流程示意图;
图4为SDRAM前端FIFO数据存储方式;
图5为前端FIFO对包尾信号的处理时序。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明:
根据图2、图3、图4和图5所示,本发明在外部存储器的前端FIFO中进行如下处理:如图2和图4所示,在以太网传送过来的数据包头信号SOP到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据放入该包包头信号SOP前面的单元;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间,其在FIFO中的数据顺序如图4所示;在外部存储器读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部存储器的写操作时,只进行突发写操作;在进行读操作时,直接从外部存储器进行突发读操作。
如图3所示,本发明对外部存储器SDRAM的读写仲裁大大简化,首先,外部存储器SDRAM中状态数据和数据包统一存放,不用进行分区处理,因此在进行读/写操作时只需管理一套指针;其次,在进行SDRAM的写操作时,无须考虑写到包尾时的处理,只需进行突发写操作;在进行读操作时,不用从状态数据区读取包长数据,直接从SDRAM进行突发读操作即可。
由于在外部存储器SDRAM控制器的前端FIFO中进行了状态和数据的统一、有序存放,因此在对外部存储器SDRAM进行写操作时,只需向前端FIFO发出写允许信号,前端FIFO根据写允许信号送出写数据,外部存储器SDRAM控制器将接收到的写数据按照突发方式写入外部存储器SDRAM,这样就避免原来方案中需要对包长进行计数操作并分区对外部存储器的进行写操作;
同理,当SDRAM控制器处于读状态时,只需向外部存储器发出读命令和读地址,外部存储器将向SDRAM控制器送出数据,读操作也是按照突发方式顺序进行的,这样也简化了现有技术中需要判断当前包的状态从而在数据区和状态区中进行操作切换。
状态标志包括数据有效信号及其延迟项信号、数据包的包尾信号及其延迟项信号等,前端FIFO对数据包的处理中,采用如下控制结构:
If(wr_vld||(wr_vld_dly && wr_eop_dly))waddr_d+1;
上式中,信号wr_vld表示数据有效信号;wr_vld_dly表示数据有效信号延时一个时钟周期的信号;wr_eop_dly表示数据包的包尾信号延时一个时钟周期的信号;waddr_d表示写入外部存储器前端FIFO的数据地址;
该式表示,如果当前数据都是有效数据的话,前端FIFO地址加1;如果到了数据包的包尾后,且数据有效信号延时一个时钟周期的信号有效,仍然进行加1操作,预留一个地址;
在外部存储器读写仲裁中,采用如下控制结构:
waddr=(wr_eop_dly && wr_vld_dly)waddr_state:waddr_d
上式中,waddr是对外部存储器前端FIFO的实际操作地址;waddr_state表示状态数据的状态字节地址;waddr_d是写入外部存储器前端FIFO的数据地址;
该式表示,如果数据包的包尾信号延时一个时钟周期的信号wr_eop_dly为1且数据有效信号延时一个时钟周期的信号wr_vld_dly信号同时为1,那么就操作状态字节的地址;否则就操作数据地址,前端FIFO对包尾信号的处理时序如图5所示,各信号的代表的含义为:CLK50表示时钟信号;wr_data、wr_sop、wr_eop分别表示写入前端FIFO的数据信号、包头、包尾信号;waddr_st、waddr_d、waddr分别表示应写入FIFO的状态字节地址、数据字节地址、实际操作的地址;pkg_st表示状态字节;wren表示写信号;wdata表示写入FIFO的数据。
Claims (6)
1.一种外部存储器SDRAM读写处理方法,其特征在于:
A、在外部存储器的前端FIFO中进行如下处理:在以太网传送过来的数据包头信号SOP到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据放入该包包头信号SOP前面的单元;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间;
B、在外部存储器读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部存储器的写操作时,只进行突发写操作;在进行读操作时,直接从外部存储器进行突发读操作。
2.根据权利要求1所述的外部存储器SDRAM读写处理方法,其特征在于:所述的步骤B中,在对外部存储器SDRAM进行写操作时,向前端FIFO发出写允许信号,前端FIFO根据写允许信号送出写数据,外部存储器SDRAM控制器将接收到的写数据按照突发方式写入;当外部存储器SDRAM控制器处于读状态时,向外部存储器SDRAM发出读命令和读地址,外部存储器SDRAM将向控制器按照突发方式顺序送出数据。
3.根据权利要求1或2所述的外部存储器SDRAM读写处理方法,其特征在于:所述的外部存储器SDRAM中状态数据和数据包统一存放,在进行读、写操作时只需一套指针。
4.根据权利要求1所述的外部存储器SDRAM读写处理方法,其特征在于:所述的状态标志包括数据有效信号及其延迟项信号、数据包的包尾信号及其延迟项信号等。
5.根据权利要求1或2所述的外部存储器SDRAM读写处理方法,其特征在于:所述的前端FIFO对数据包的处理中,采用如下控制结构:
If(wr_vld||(wr_vld_dly && wr_eop_dly))waddr_d+1;
上式中,信号wr_vld表示数据有效信号;wr_vld_dly表示数据有效信号延时一个时钟周期的信号;wr_eop_dly表示数据包的包尾信号延时一个时钟周期的信号;waddr_d表示写入外部存储器前端FIFO的数据地址;
该式表示,如果当前数据都是有效数据的话,前端FIFO地址加1;如果到了数据包的包尾后,且数据有效信号延时一个时钟周期的信号有效,仍然进行加1操作,预留一个地址。
6.根据权利要求1或2所述的外部存储器SDRAM读写处理方法,其特征在于:所述的外部存储器SDRAM读写仲裁中,采用如下控制结构:
waddr=(wr_eop_dly && wr_vld_dly)waddr_state:waddr_d
上式中,waddr是对外部存储器前端FIFO的实际操作地址;waddr_state表示状态数据的状态字节地址;waddr_d是写入外部存储器前端FIFO的数据地址;
该式表示,如果数据包的包尾信号延时一个时钟周期的信号wr_eop_dly为1且数据有效信号延时一个时钟周期的信号wr_vld_dly信号同时为1,那么就操作状态字节的地址;否则就操作数据地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021267960A CN1300707C (zh) | 2002-07-23 | 2002-07-23 | 外部sdram读写处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB021267960A CN1300707C (zh) | 2002-07-23 | 2002-07-23 | 外部sdram读写处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1470996A true CN1470996A (zh) | 2004-01-28 |
CN1300707C CN1300707C (zh) | 2007-02-14 |
Family
ID=34143397
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB021267960A Expired - Fee Related CN1300707C (zh) | 2002-07-23 | 2002-07-23 | 外部sdram读写处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1300707C (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006000139A1 (fr) * | 2004-06-25 | 2006-01-05 | Zte Corporation | Procede de stockage de paquet de donnees a l'aide d'une technique de pointage |
CN100444131C (zh) * | 2004-03-24 | 2008-12-17 | 米克伦技术公司 | 具有仲裁分组协议的存储器仲裁系统及方法 |
CN103592489A (zh) * | 2013-11-14 | 2014-02-19 | 江苏绿扬电子仪器集团有限公司 | 数字示波器深存储设计方法 |
CN108108149A (zh) * | 2017-12-06 | 2018-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于分离统计高效收集的性能统计电路 |
US10545867B2 (en) | 2015-06-26 | 2020-01-28 | Sanechips Technology Co., Ltd. | Device and method for enhancing item access bandwidth and atomic operation |
CN111654886A (zh) * | 2020-05-27 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种限制用户带宽的方法和装置 |
CN111935020A (zh) * | 2020-09-22 | 2020-11-13 | 四川科道芯国智能技术股份有限公司 | 报文生成方法及电路及存储介质 |
CN113709061A (zh) * | 2021-07-23 | 2021-11-26 | 合肥忆芯电子科技有限公司 | 一种报文转发的方法和电路 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5721860A (en) * | 1994-05-24 | 1998-02-24 | Intel Corporation | Memory controller for independently supporting synchronous and asynchronous DRAM memories |
JP2914360B2 (ja) * | 1997-09-30 | 1999-06-28 | ソニー株式会社 | 外部記憶装置及びデータ処理方法 |
KR100304963B1 (ko) * | 1998-12-29 | 2001-09-24 | 김영환 | 반도체메모리 |
JP2000315173A (ja) * | 1999-04-30 | 2000-11-14 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
CN1265494A (zh) * | 2000-04-24 | 2000-09-06 | 后健慈 | 加解密内存及其存取控制方法 |
CN2447825Y (zh) * | 2000-10-18 | 2001-09-12 | 微星科技股份有限公司 | 存储器相容控制器 |
-
2002
- 2002-07-23 CN CNB021267960A patent/CN1300707C/zh not_active Expired - Fee Related
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100444131C (zh) * | 2004-03-24 | 2008-12-17 | 米克伦技术公司 | 具有仲裁分组协议的存储器仲裁系统及方法 |
WO2006000139A1 (fr) * | 2004-06-25 | 2006-01-05 | Zte Corporation | Procede de stockage de paquet de donnees a l'aide d'une technique de pointage |
CN103592489A (zh) * | 2013-11-14 | 2014-02-19 | 江苏绿扬电子仪器集团有限公司 | 数字示波器深存储设计方法 |
US10545867B2 (en) | 2015-06-26 | 2020-01-28 | Sanechips Technology Co., Ltd. | Device and method for enhancing item access bandwidth and atomic operation |
CN108108149A (zh) * | 2017-12-06 | 2018-06-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于分离统计高效收集的性能统计电路 |
CN108108149B (zh) * | 2017-12-06 | 2021-12-24 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于分离统计高效收集的性能统计电路 |
CN111654886A (zh) * | 2020-05-27 | 2020-09-11 | 杭州迪普科技股份有限公司 | 一种限制用户带宽的方法和装置 |
CN111935020A (zh) * | 2020-09-22 | 2020-11-13 | 四川科道芯国智能技术股份有限公司 | 报文生成方法及电路及存储介质 |
CN113709061A (zh) * | 2021-07-23 | 2021-11-26 | 合肥忆芯电子科技有限公司 | 一种报文转发的方法和电路 |
Also Published As
Publication number | Publication date |
---|---|
CN1300707C (zh) | 2007-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1300707C (zh) | 外部sdram读写处理方法 | |
CN101515898B (zh) | 芯片的统计数据的管理方法和装置 | |
CN100346289C (zh) | 一种先入先出存储器及其输出空满标志的方法 | |
CN112084136B (zh) | 队列缓存管理方法、系统、存储介质、计算机设备及应用 | |
CN1957422A (zh) | Dram中的自动隐藏刷新及其方法 | |
WO2017208182A1 (en) | Packet descriptor storage in packet memory with cache | |
US6571362B1 (en) | Method and system of reformatting data blocks for storage as larger size data blocks | |
JPH01293431A (ja) | メモリアクセス方式 | |
CN105868136A (zh) | 处理多个命令/命令帧的电子装置及命令帧处理方法 | |
CN1798091A (zh) | 一种提高sdram处理带宽的方法 | |
CN1062668C (zh) | 具有错误检测与纠正装置的fifo缓存系统 | |
CN114153758B (zh) | 具有帧计数功能的跨时钟域数据处理方法 | |
CN1669279A (zh) | 提高分组应用的存储器存取效率 | |
CN1293479C (zh) | 异步先进先出方式缓存数据时空信号或满信号的生成方法 | |
CN1213546C (zh) | 一种数据传输过程中提高带宽利用率的方法 | |
US6799229B1 (en) | Data-burst-count-base receive FIFO control design and early packet discard for DMA optimization | |
CN1295629C (zh) | 优化先进先出满载条件控制的方法及系统 | |
CN113886287A (zh) | 一种基于SoC的自适应实时缓存系统及方法 | |
US7337246B2 (en) | Apparatus, system, and method for quick access grid bus connection of storage cells in automated storage libraries | |
CN1713612A (zh) | 采用指针技术存储数据包的方法 | |
CN102200945A (zh) | 一种ram存储器及其使用方法 | |
US20070133581A1 (en) | Memory buffering with fast packet information access for a network device | |
CN1052094C (zh) | 串行存取的存贮器装置 | |
CN1138272A (zh) | 数据存储装置 | |
CN111159064B (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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070214 Termination date: 20110723 |