CN1918541A - 具有非易失性存储级的先入先出存储设备 - Google Patents

具有非易失性存储级的先入先出存储设备 Download PDF

Info

Publication number
CN1918541A
CN1918541A CNA2005800046697A CN200580004669A CN1918541A CN 1918541 A CN1918541 A CN 1918541A CN A2005800046697 A CNA2005800046697 A CN A2005800046697A CN 200580004669 A CN200580004669 A CN 200580004669A CN 1918541 A CN1918541 A CN 1918541A
Authority
CN
China
Prior art keywords
fifo
memory device
data
fifo memory
level
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
Application number
CNA2005800046697A
Other languages
English (en)
Inventor
A·拉杜勒斯库
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN1918541A publication Critical patent/CN1918541A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/04Arrangements for selecting an address in a digital store using a sequential addressing device, e.g. shift register, counter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/10Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
    • G06F5/12Means for monitoring the fill level; Means for resolving contention, i.e. conflicts between simultaneous enqueue and dequeue operations
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Information Transfer Systems (AREA)
  • Communication Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种FIFO存储设备(300)包含存储级(321),所述存储级是包含多个非易失性存储元件或锁存器的非易失性FIFO。该FIFO存储设备(300)包含输入级(315),所述输入级是包含多个易失性存储元件的易失性FIFO。所述输入级(315)为数据提供临时存储,并因此隐藏了存储设备(321)的等待时间。

Description

具有非易失性存储级的先入先出存储设备
发明领域
本发明涉及一种先入先出存储设备。
背景技术
当前的集成电路包含大量小的芯片内缓冲器。大量的这些缓冲器用来去耦知识产权(IP)块,诸如处理核心、通用处理器(例如ARMTM或MIPSTM)、数字信号处理器(DSP)、特定用途处理器(ASP)或其它硬件核心。这种去耦缓冲器典型地具有先入先出(FIFO)操作,在某些系统中可能有多于200个FIFO缓冲器。为此,使用了专用硬件FIFO,其能够显著地减小面积并增加这些缓冲器的速度。
有两种已知类型的硬件FIFO:动态和静态。动态FIFO只是将数据存储有限的时间量,在这之后,如果没有被刷新,其将丢失。静态FIFO永久性地存储数据。
动态FIFO比静态FIFO小,但是为了保存数据,必须刷新所述FIFO,并且这涉及额外的逻辑来生成刷新信号等,而静态FIFO在尺寸上比动态FIFO大,无需刷新就可以保存数据,并因此不需要额外的逻辑。根据需求来使用这些设备中的任意一个。
将参照图1和图2来说明传统FIFO的基本操作。如图1中所图示的,在这种FIFO中,仅当第一级101为空时,数据才被写入FIFO100的该第一级101。数据行波传送穿过FIFO 100直到其到达FIFO100最后占用的级103的后面。在读取时,如图2所示,仅当FIFO 200的最后级201为非空时,才从该最后的级转移数据。空白空间行波传送穿过FIFO 200直到在FIFO 200中最后占用的级203之后。
数据传播穿过FIFO花费了有限的时间。因此,在读取操作期间对于空穴或空白空间来说存在有限的时间来反向传播穿过FIFO,即是,在已经读取字之后直到所述空间变得可写所花费的时间。由于这些是用管道进行的,因此这对静态FIFO设备是特别有问题的。因此,在已经从FIFO读取数据之后,一旦位置变得可用,该空间(或空穴)在其在输入端变得可见并对要写入其中的数据可用之前必须反向传播穿过每个流水线的级,即,引入了等待时间。
作为示例,如果对FIFO的每个管道级传播空穴的时间是360ps,那么,对于大小为32的FIFO来说,使一个空间在FIFO存储设备的“输入”端变得可用要花费11520ps。在以200MHz(即5ns时钟周期)运行的系统中,这产生了3个时钟周期的额外等待时间。在以500MHz运行的系统中,该额外的等待时间将是6个周期。
一个已知的改进这种系统中的等待时间的技术是为FIFO提供额外的级。这些额外的级只是用于等待时间隐藏,例如,为200MHZ系统提供3个额外级,为500MHZ系统提供6个额外级。然而,这增加了缓存器的成本(在硅的面积方面),例如给200MHz的系统增加了10%的成本,给500MHz的系统增加了20%的成本。要增加的级的数量与FIFO的长度和设备操作频率成比例。
发明内容
本发明的目的是提供一种FIFO存储设备,其在最小化设备成本的同时改善了等待时间。
这是通过用于在非易失性(或静态)FIFO中隐藏等待时间的额外级来实现的;这些额外级是易失性(或动态)FIFO。依照本发明的第一方面,提供了一种FIFO存储设备,其包含存储级和输入级,所述存储级包含多个非易失性存储元件,并且所述输入级包含多个易失性存储元件。这样,所述输入级有效地隐藏了所述存储级的等待时间。
所述输入级可以包含易失性FIFO存储器,其代替了上述的传统硬件FIFO的额外级。因此,不再需要增加这些级,并且设备的成本也减少了。
此外,FIFO缓存总是被用来提高数据吞吐量。能够使用非易失性存储器来实现根据本发明该方面的所述存储设备,诸如静态硬件FIFO或SRAM。这可以适应数据流的给定平均吞吐量。然后,诸如DARM的易失性存储器能够被用于数据流最差情况的吞吐量。当这在一小段时间内发生时,在不刷新的情况下使用DRAM,或者作为选择,可以使用动态硬件FIFO。在这种情况下,要增加额外的存储器以便容纳由临时较高率的成组传送而产生的额外数据,这否则将导致产生数据的IP停止,或者导致溢出。在大部分的情况下,当能够保证额外数据在有限时间内被吸收时,易失性并较便宜的存储器能够被用于所述额外数据。
这在IC设计中尤其有利,所述IC设计需要小时间间隔的额外存储。例如,硬件去耦FIFO存储器,其中为隐藏等待时间而增加了额外级,和具有额外易失性缓冲以便容纳数据流吞吐量峰值的FIFO存储器。
本发明允许降低FIFO存储器的成本,对于临时数据所述FIFO存储器需要额外级。这个成本降低是通过使用易失性而不是非易失性存储器来实现的。在硬件FIFO的情况下,这个成本的降低没有损失速度,因为静态(非易失性)和动态(易失性)FIFO以相同的速度运行。
附图说明
现在将参照附图来描述本发明的实施例,附图中:
图1是传统FIFO中写操作的示意图;
图2是传统FIFO中读操作的示意图;
图3根据本发明第一实施例的存储设备的框图;和
图4根据本发明第二实施例的存储设备的框图。
具体实施方式
现在将参照图3描述本发明的实施例。FIFO存储设备300包含数据输入端301,数据输出端303,写使能端(wr_en)305,写接受端(accept)307,读使能端(rd_en)309和读有效端(valid)311。所述数据输入端301连接到输入缓冲级315的数据输入端313。所述输入缓冲级315包含多个动态、易失性存储元件(这里未示出)。所述输入缓冲级315的数据输出端317连接到存储级321的数据输入端319。所述存储设备321是非易失性、静态FIFO,其包含多个静态存储元件或锁存器(这里未示出)。所述存储级321的数据输出端323连接到存储设备300的数据输出端303。所述非易失性FIFO321如传统非易失性、静态FIFO中那样存储所述数据。然后,由于所述输入缓冲级315能够临时地存储等待空间被反向传播穿过所述存储级315的数据,因此所述输入缓冲级315能够操作来隐藏存储级321的等待时间。
所述写使能端305连接到第一与门325的第一输入端。第一与门325的第二输入端连接到计数器327的输出。第一与门325的输出为输入缓冲级315提供了写使能信号(wr_en1)。在第二与门329的第一输入上提供输入缓冲级315的接受标记(accept1),所述第二与门329的第二输入连接到计数器327的输出。第二与门329的输出连接到FIFO存储设备300的接受端307和第三与门331的第一输入。第三与门331的第二输入连接到FIFO存储设备300的写使能端305。第三与门331的输出连接到计数器327。存储级321的接受标记(accept2)连接到输入缓冲级315的读使能端(rd_en1)。所述输入缓冲级315的有效标记(valid1)连接到存储级321的写使能端(wr_en2)。
FIFO存储设备300的读使能端309为存储级321提供读使能(rd_en2)。在FIFO存储设备300的有效端311上提供存储级321的有效标记(valid2)。FIFO存储设备300的数据输出端303连接到存储级321的数据输出端。所述存储级321的标记(valid2)和读使能(rd_en2)是第四与门333的相应输入。第四与门333的输出连接到计数器327。
FIFO存储设备300还包括传统设计的读接口和写接口,并且在图3中未示出。
现在将描述本发明第一实施例的存储设备300的操作。
在读操作期间,读接口通过激活端309上的读使能(rd_en=高)来请求来自存储设备300的数据。FIFO存储设备300通过使端311上的标记(valid)为高来指示数据可用,即,存储FIFO321的最后级被占用。当rd_en和valid都为高时,数据字被传送到FIFO存储设备300的数据输出端303之上。对于写操作是相似地,写接口通过使所述端305上的wr_en为高来发出写请求,并且如果所述FIFO设备300能够容纳数据,即,所述输入缓存315的第一级为空,那么其使在所述端307上的标记(accept)为高并且字数据被传输到所述输入缓冲级315的输入端313之上。然后,所述数据被写入输入缓冲级315的第一级直到其到达最后占用的级的后面。当所述数据到达输入缓冲级315的最后级时,标记valid1被激活并且作为所述存储级321的写使能(wr_en2)被提供(作出了写请求)。如果所述存储设备321的第一级为空,那么所述标记accept2为高,并且使得所述输入缓冲级315的读使能rd_en1为高,并且保存在输入缓冲级315的最后级中的数据被传递到所述存储FIFO321的第一级中。就像输入缓冲级315一样,数据行波传送穿过存储设备321直到其到达最后占用的级的后面。
FIFO存储设备300还包含计数器327,其维护输入缓冲级和存储级空白空间的计数。当rd_en和valid都为高时,即,作出了读请求并且数据字被传送到输出端303之上时,递增计数器327的内容以便指示存储级321中的空白空间。相反,当wr_en和accept都为高时,即,作出了写请求并且数据被传送到输入缓冲级315之中时,递减计数器以便指示空白空间现在被占用。如果存在空白空间,那么计数器327的内容为正值,并且accept1为高(在输入缓存315的第一级处存在空白空间),端307的accept为高并且输入缓冲级315准备如果发生了写请求就在输入端301上接收数据。复位时,计数器327初始地被设置为等于存储级321的大小。
计数器327能够被用来向读接口和写接口提供关于在FIFO设备300中是否存在空间的信息。图4示出了这个的实现。
根据本发明第二实施例的FIFO设备400对应于图3的设备,并且相同的组件使用了相同的引用数字,并且在这里不包含详细的描述。
在第二实施例中,计数器327输出空间的数量。这是作为端440上的标记empty_sapce来提供的,所述端440对于写接口可用。这个标记也被提供给减法器442,在所述减法器442中输出了FIFO的大小和空间数量的差值。如果减法器442的输出为0,那么端444上的full_space标记被输出给读接口。计数器327的输出上的值由数字转换器446进行数字化,所述数字转换器446在计数器的输出指示有至少一个空间的情况下输出1(输出值大于0),在计数器的输出指示没有空间的情况下输出0。这作为输入被提供给第二与门329。
根据上述优选实施例的FIFO存储设备包括隐藏存储FIFO等待时间的额外级。
这些额外级(易失性FIFO 315)仅被用作为临时存储。数据被存储在这个队列中最长时间仅是存储级321中的空项行波传送穿过FIFO给输出所花费的时间。这个时间比易失性FIFO的保持时间要短(例如,对于PRLE/IC设计/DD&T组中的静态、非易失性FIFO,空项的行波传送时间是每个级360ps,而动态FIFO的保持时间是1us)。结果,易失性FIFO315不需要刷新逻辑。能够省去易失性存储315的刷新是因为数据驻留在易失性FIFO315中的时间(最多十几个ns)比易失性FIFO单元的保持时间小很多。因此,不需要用于刷新操作的额外电路,进一步减少了设备的大小和成本。
根据本发明优选实施例的FIFO存储设备的一个实例当在使用时,需要每位2.8m2大小的动态单元,和每位7.5m2大小的静态单元。因此,对于隐藏等待时间,成本减小了63%。对于上述特殊实例,根据本发明实施例的32级FIFO,以200MHz来操作,总的FIFO成本减少了6.3%。根据本发明实施例的32级FIFO,以500MHz来操作,总的FIFO成本减少了12.6%。
尽管本发明的优选实施例在附图中图示并且在前面的详细描述中作出了描述,但是要理解的是本发明不局限于所公开的实施例,而是在不偏离权利要求所提出的本发明范围的情况下能够有许多的变化、修改。

Claims (7)

1.一种FIFO存储设备,包含存储级和输入级,所述存储级包含多个非易失性存储元件,并且所述输入级包含多个易失性存储元件。
2.根据权利要求1的FIFO存储设备,其中所述存储级包含非易失性FIFO存储设备。
3.根据权利要求1或2的FIFO存储设备,其中所述输入级包含易失性FIFO存储设备。
4.根据前面权利要求中任何一个的FIFO存储设备,其中所述存储设备进一步包含用于监控所述输入级和/或存储级的状态的装置。
5.根据权利要求4的FIFO存储设备,其中所述监控装置包含指示空白空间数量的计数器。
6.根据前面权利要求中任何一个的FIFO存储设备,其中所述输入级和存储级串联连接。
7.一种集成电路,包括至少一个根据前面权利要求中任何一个的存储设备。
CNA2005800046697A 2004-02-12 2005-02-08 具有非易失性存储级的先入先出存储设备 Pending CN1918541A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP04100526 2004-02-12
EP04100526.5 2004-02-12

Publications (1)

Publication Number Publication Date
CN1918541A true CN1918541A (zh) 2007-02-21

Family

ID=34854686

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800046697A Pending CN1918541A (zh) 2004-02-12 2005-02-08 具有非易失性存储级的先入先出存储设备

Country Status (8)

Country Link
US (1) US7489567B2 (zh)
EP (1) EP1714210B1 (zh)
JP (1) JP4576391B2 (zh)
KR (1) KR20070003923A (zh)
CN (1) CN1918541A (zh)
AT (1) ATE447209T1 (zh)
DE (1) DE602005017360D1 (zh)
WO (1) WO2005078572A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060031565A1 (en) * 2004-07-16 2006-02-09 Sundar Iyer High speed packet-buffering system
KR100859989B1 (ko) 2006-11-21 2008-09-25 한양대학교 산학협력단 플래시 메모리의 공간정보 관리장치 및 그 방법
US8122168B2 (en) * 2007-05-17 2012-02-21 International Business Machines Corporation Method for implementing concurrent producer-consumer buffers
JP5684016B2 (ja) * 2011-03-23 2015-03-11 株式会社日立情報通信エンジニアリング 入退管理制御装置、及び入退管理システム
CN103575273A (zh) * 2013-03-25 2014-02-12 西安电子科技大学 具有双缓存结构的光子脉冲到达时间读出装置
US10372413B2 (en) 2016-09-18 2019-08-06 International Business Machines Corporation First-in-first-out buffer

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH083956B2 (ja) * 1986-09-18 1996-01-17 日本テキサス・インスツルメンツ株式会社 半導体記憶装置
EP0489504B1 (en) * 1990-11-30 1997-03-05 International Business Machines Corporation Bidirectional FIFO buffer for interfacing between two buses
US5353248A (en) 1992-04-14 1994-10-04 Altera Corporation EEPROM-backed FIFO memory
GB2276739A (en) * 1993-03-30 1994-10-05 Ibm System for storing persistent and non-persistent queued data.
KR960014169B1 (ko) * 1994-05-17 1996-10-14 금성일렉트론 주식회사 메모리의 데이타 입출력 상태 검출 회로
DE19650993A1 (de) * 1996-11-26 1998-05-28 Francotyp Postalia Gmbh Anordnung und Verfahren zur Verbesserung der Datensicherheit mittels Ringpuffer
US6678201B2 (en) * 2002-04-08 2004-01-13 Micron Technology, Inc. Distributed FIFO in synchronous memory

Also Published As

Publication number Publication date
JP4576391B2 (ja) 2010-11-04
US7489567B2 (en) 2009-02-10
ATE447209T1 (de) 2009-11-15
US20070223265A1 (en) 2007-09-27
EP1714210B1 (en) 2009-10-28
WO2005078572A1 (en) 2005-08-25
DE602005017360D1 (de) 2009-12-10
EP1714210A1 (en) 2006-10-25
JP2007522579A (ja) 2007-08-09
KR20070003923A (ko) 2007-01-05

Similar Documents

Publication Publication Date Title
CA2307816C (en) Buffering data that flows between buses operating at different frequencies
US5289584A (en) Memory system with FIFO data input
CN1918541A (zh) 具有非易失性存储级的先入先出存储设备
US20070073973A1 (en) Method and apparatus for managing buffers in a data processing system
US20060031565A1 (en) High speed packet-buffering system
US20060106969A1 (en) Memory controller and method for writing to a memory
CN100419715C (zh) 嵌入式处理器系统及其数据操作方法
US20050144396A1 (en) Coalescing disk write back requests
CN101079623A (zh) 一种大容量无刷新的高速统计计数器
CN1540523A (zh) 单任务快速缓冲读写方法
US6769040B2 (en) System for determining status of multiple interlocking FIFO buffer structures based on the position of at least one pointer of each of the multiple buffers
US8363653B2 (en) Packet forwarding method and device
CN105577985A (zh) 一种数字图像处理系统
US6321301B1 (en) Cache memory device with prefetch function and method for asynchronously renewing tag addresses and data during cache miss states
CN101194241A (zh) 用于对网络和存储器进行耦合的存储器控制器和方法
US20030128620A1 (en) Buffer using two-port memory
CN111126584B (zh) 数据回写系统
US6092167A (en) Robust interface for high speed memory access
CN100337443C (zh) 一种先入先出存储器及快速产生存储标志的方法
CN112559401B (zh) 一种基于pim技术的稀疏矩阵链式访问系统
CN114816319B (zh) 一种fifo存储器的多级流水读写方法和装置
CN103514105A (zh) 信息处理系统、信息处理方法及存储系统
JP2001222467A (ja) キャッシュ装置
KR100694078B1 (ko) 메모리 장치 및 그 데이터 전송 방법
CN115878532A (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
AD01 Patent right deemed abandoned

Effective date of abandoning: 20070221

C20 Patent right or utility model deemed to be abandoned or is abandoned