CN1300707C - 外部sdram读写处理方法 - Google Patents

外部sdram读写处理方法 Download PDF

Info

Publication number
CN1300707C
CN1300707C CNB021267960A CN02126796A CN1300707C CN 1300707 C CN1300707 C CN 1300707C CN B021267960 A CNB021267960 A CN B021267960A CN 02126796 A CN02126796 A CN 02126796A CN 1300707 C CN1300707 C CN 1300707C
Authority
CN
China
Prior art keywords
signal
data
read
write
packet
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.)
Expired - Fee Related
Application number
CNB021267960A
Other languages
English (en)
Other versions
CN1470996A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB021267960A priority Critical patent/CN1300707C/zh
Publication of CN1470996A publication Critical patent/CN1470996A/zh
Application granted granted Critical
Publication of CN1300707C publication Critical patent/CN1300707C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Communication Control (AREA)

Abstract

一种涉及电数字数据处理的外部SDRAM读写处理方法,其特征在于:在外部SDRAM前端FIFO中进行如下处理:在以太网传送过来的数据包头信号到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据放入该包包头信号前面的单元;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间;在外部SDRAM读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部SDRAM的写操作时,只进行突发写操作;在进行读操作时,直接从外部SDRAM进行突发读操作,本发明简化控读写制,节省了带宽,实现了比较简单的状态转换,有效提高了SDRAM的读写带宽利用率。

Description

外部SDRAM读写处理方法
技术领域
本发明涉及电数字数据处理,尤其涉及一种外部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、在外部SDRAM中进行如下处理:在以太网传送过来的数据包包头信号到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据,将所述状态数据放在所述数据包包头信号前面的单元和数据包统一存放;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间;
B、在外部SDRAM读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部SDRAM的写操作时,只进行突发写操作;在进行读操作时,直接从外部存储器进行突发读操作;所述的步骤B中,在对外部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操作,预留一个地址;
所述的外部SDRAM读写仲裁中,采用如下控制结构:
waddr=(wr_eop_dly && wr_vld_dly)waddr_state:waddr_d
上式中,waddr是对外部SDRAM前端FIFO的实际操作地址;waddr_state表示状态数据的状态字节地址;waddr_d是写入外部SDRAM前端FIFO的数据地址;该式表示,如果数据包的包尾信号延时一个时钟周期的信号为1且数据有效信号延时一个时钟周期的信号同时为1,那么就操作状态字节的地址;否则就操作数据地址。
本发明的有益效果为:本专利提出了一种简化外部SDRAM控制和读写开销的方法,将包的状态信息编码后写入外部SDRAM中,从而在对外部SDRAM进行读写仲裁时节约了读写之间的额外开销周期与操作周期,简化外部SDRAM控制仲裁模块的状态转换,从而简化读写控制,节省了带宽,实现了比较简单的状态转换,外部SDRAM不分区处理,在进行读、写操作时只需一套指针等,有效提高了外部SDRAM的读写带宽利用率。
附图说明
图1为现有SDRAM读写仲裁流程示意图;
图2为本发明模块示意图;
图3为本发明SDRAM读写流程示意图;
图4为SDRAM前端FIFO数据存储方式;
图5为前端FIFO对包尾信号的处理时序。
具体实施方式
下面根据附图和实施例对本发明作进一步详细说明:
根据图2、图3、图4和图5所示,本发明在外部SDRAM前端FIFO中进行如下处理:如图2和图4所示,在以太网传送过来的数据包头信号(SOP)到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据放入该包包头信号(SOP)前面的单元;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间,其在FIFO中的数据顺序如图4所示;在外部SDRAM读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部存储器的写操作时,只进行突发写操作;在进行读操作时,直接从外部SDRAM进行突发读操作。
如图3所示,本发明对外部SDRAM的读写仲裁大大简化,首先,外部SDRAM中状态数据和数据包统一存放,不用进行分区处理,因此在进行读/写操作时只需管理一套指针;其次,在进行外部SDRAM的写操作时,无须考虑写到包尾时的处理,只需进行突发写操作;在进行读操作时,不用从状态数据区读取包长数据,直接从外部SDRAM进行突发读操作即可。
由于在外部SDRAM控制器的前端FIFO中进行了状态和数据的统一、有序存放,因此在对外部SDRAM进行写操作时,只需向前端FIFO发出写允许信号,前端FIFO根据写允许信号送出写数据,外部SDRAM控制器将接收到的写数据按照突发方式写入外部SDRAM,这样就避免原来方案中需要对包长进行计数操作并分区对外部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是对外部SDRAM前端FIFO的实际操作地址;waddr_state表示状态数据的状态字节地址;waddr_d是写入外部SDRAM前端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 (5)

1.一种外部SDRAM读写处理方法,其特征在于:
A、在外部SDRAM前端FIFO中进行如下处理:在以太网传送过来的数据包包头信号到来之后就进行包计数,当计数到包尾信号之后,停止包长计数,然后将数据包长度加上状态标志后作为状态数据,将所述状态数据放在所述数据包包头信号前面的单元和数据包统一存放;同时写指针加一,预留一个单元作为下一个数据包的状态数据空间;
B、在外部SDRAM读写仲裁中,根据数据包的状态数据进行读写仲裁,在进行外部SDRAM的写操作时,只进行突发写操作;在进行读操作时,直接从外部SDRAM进行突发读操作。
2.根据权利要求1所述的外部SDRAM读写处理方法,其特征在于:所述的步骤B中,在对外部SDRAM进行写操作时,向前端FIFO发出写允许信号,前端FIFO根据写允许信号送出写数据,外部SDRAM控制器将接收到的写数据按照突发方式写入;当外部SDRAM控制器处于读状态时,向外部SDRAM发出读命令和读地址,外部SDRAM将向外部SDRAM控制器按照突发方式顺序送出数据。
3.根据权利要求1所述的外部SDRAM读写处理方法,其特征在于:所述的状态标志包括数据有效信号及其延迟项信号、数据包的包尾信号及其延迟项信号。
4.根据权利要求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表示写入外部SDRAM前端FIFO的数据地址;
该式表示,如果当前数据都是有效数据的话,前端FIFO的数据地址加1;如果数据包的包尾信号延时一个时钟周期的信号有效,且数据有效信号延时一个时钟周期的信号有效,仍然进行加1操作,预留一个地址。
5.根据权利要求1或2所述的外部SDRAM读写处理方法,其特征在于:所述的外部SDRAM读写仲裁中,采用如下控制结构:
waddr=(wr_eop_dly && wr_vld_dly)waddr_state:waddr_d
上式中,waddr是对外部SDRAM前端FIFO的实际操作地址;
waddr_state表示状态数据的状态字节地址;waddr_d是写入外部SDRAM前端FIFO的数据地址;
该式表示,如果数据包的包尾信号延时一个时钟周期的信号为1且数据有效信号延时一个时钟周期的信号同时为1,那么就操作状态字节的地址;否则就操作数据地址。
CNB021267960A 2002-07-23 2002-07-23 外部sdram读写处理方法 Expired - Fee Related CN1300707C (zh)

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 CN1470996A (zh) 2004-01-28
CN1300707C true 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)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7257683B2 (en) * 2004-03-24 2007-08-14 Micron Technology, Inc. Memory arbitration system and method having an arbitration packet protocol
CN100499566C (zh) * 2004-06-25 2009-06-10 中兴通讯股份有限公司 采用指针技术存储数据包的方法
CN103592489A (zh) * 2013-11-14 2014-02-19 江苏绿扬电子仪器集团有限公司 数字示波器深存储设计方法
CN106302374B (zh) 2015-06-26 2019-08-16 深圳市中兴微电子技术有限公司 一种用于提高表项访问带宽和原子性操作的装置及方法
CN108108149B (zh) * 2017-12-06 2021-12-24 中国航空工业集团公司西安航空计算技术研究所 一种基于分离统计高效收集的性能统计电路
CN111654886B (zh) * 2020-05-27 2023-06-27 杭州迪普科技股份有限公司 一种限制用户带宽的方法和装置
CN111935020A (zh) * 2020-09-22 2020-11-13 四川科道芯国智能技术股份有限公司 报文生成方法及电路及存储介质
CN113709061A (zh) * 2021-07-23 2021-11-26 合肥忆芯电子科技有限公司 一种报文转发的方法和电路

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893136A (en) * 1994-05-24 1999-04-06 Intel Corporation Memory controller for independently supporting Synchronous and Asynchronous DRAM memories
CN1220424A (zh) * 1997-09-30 1999-06-23 索尼公司 外部存储设备和数据处理方法
CN1265494A (zh) * 2000-04-24 2000-09-06 后健慈 加解密内存及其存取控制方法
US6147926A (en) * 1998-12-29 2000-11-14 Lg Semicon Co., Ltd. Semiconductor memory device
CN1302405A (zh) * 1999-04-30 2001-07-04 松下电器产业株式会社 存储器控制单元
CN2447825Y (zh) * 2000-10-18 2001-09-12 微星科技股份有限公司 存储器相容控制器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5893136A (en) * 1994-05-24 1999-04-06 Intel Corporation Memory controller for independently supporting Synchronous and Asynchronous DRAM memories
CN1220424A (zh) * 1997-09-30 1999-06-23 索尼公司 外部存储设备和数据处理方法
US6147926A (en) * 1998-12-29 2000-11-14 Lg Semicon Co., Ltd. Semiconductor memory device
CN1302405A (zh) * 1999-04-30 2001-07-04 松下电器产业株式会社 存储器控制单元
CN1265494A (zh) * 2000-04-24 2000-09-06 后健慈 加解密内存及其存取控制方法
CN2447825Y (zh) * 2000-10-18 2001-09-12 微星科技股份有限公司 存储器相容控制器

Also Published As

Publication number Publication date
CN1470996A (zh) 2004-01-28

Similar Documents

Publication Publication Date Title
CN1300707C (zh) 外部sdram读写处理方法
CN112084136B (zh) 队列缓存管理方法、系统、存储介质、计算机设备及应用
JP4272678B2 (ja) 情報記録装置、そのデータフロー・コントローラ、及びそのデータフローの制御方法
CN101515898B (zh) 芯片的统计数据的管理方法和装置
CN111339003B (zh) 一种基于fpga的通用多通道数据发送系统及方法
CN1798091A (zh) 一种提高sdram处理带宽的方法
CN100375466C (zh) 一种数据包转发控制装置和方法
CN1221104C (zh) 一种利用帧定位实现包方式数据高位宽到低位宽的格式转换方法
CN114153758B (zh) 具有帧计数功能的跨时钟域数据处理方法
CN1669279A (zh) 提高分组应用的存储器存取效率
CN100358320C (zh) 一种数据包存储的管理方法和装置
CN1293479C (zh) 异步先进先出方式缓存数据时空信号或满信号的生成方法
CN1213546C (zh) 一种数据传输过程中提高带宽利用率的方法
US6799229B1 (en) Data-burst-count-base receive FIFO control design and early packet discard for DMA optimization
CN1210917C (zh) 虚级联中序列号排序的处理方法
CN1453786A (zh) 数据处理装置
CN102200945A (zh) 一种ram存储器及其使用方法
CN1057180C (zh) 消息分组发送器
CN111159064B (zh) 一种低复杂度数据块缓存方法
JP2005078647A (ja) マルチバンクメモリのスケジューリング方法
CN1138272A (zh) 数据存储装置
CN117440273B (zh) 一种xgspon olt上行数据拼包的系统及方法
CN1052365C (zh) 高清晰度电视分配器
CN2666045Y (zh) 一种通用高效数据包的数据缓存器
CN115237353A (zh) 一种arm查询fpga长度寄存器的方法

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