CN105159649A - 一种基于旋转队列体制的多功能fifo存储器及其读写方法 - Google Patents
一种基于旋转队列体制的多功能fifo存储器及其读写方法 Download PDFInfo
- Publication number
- CN105159649A CN105159649A CN201510602094.4A CN201510602094A CN105159649A CN 105159649 A CN105159649 A CN 105159649A CN 201510602094 A CN201510602094 A CN 201510602094A CN 105159649 A CN105159649 A CN 105159649A
- Authority
- CN
- China
- Prior art keywords
- fifo memory
- revolving
- queue
- memory
- data
- 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
Landscapes
- Communication Control (AREA)
- Multi Processors (AREA)
Abstract
一种基于旋转队列体制的多功能FIFO存储器及其读写方法,将若干FIFO存储器组成旋转队列,旋转队列中的FIFO存储器按照循环顺序存储输入数据,实现对数据流的连续存储,当旋转队列中的某一个FIFO存储器被读取时,该FIFO存储器被移出旋转队列,同时将备用FIFO存储器填充到旋转队列中,取代被移出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储,本发明基于旋转队列体制实现对存储触发信号之前的数据流进行连续存储,在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被读写,具有更大的存储灵活性,应用范围更广。
Description
技术领域
本发明涉及一种基于旋转队列体制的多功能FIFO存储器及其读写方法。
背景技术
现有传统的FIFO(FirstInputFirstOutput)是一种常用的存储体制,即先入先出队列数据存储体制,先存入FIFO的数据则先被读取出FIFO。FIFO一般用于不同时钟域之间的数据传输,实现跨时钟域的数据接口功能。
在某些数据采集系统中,需要对触发信号到来之前的N点数据和之后的N点数据均进行实时存储,常规FIFO在接收触发信号后,开始存储需要的数据,一旦需要存储触发信号到来之前的数据时,并且需要读取触发信号来临之前的存储数据时,传统FIFO就无法满足此需求。
发明内容
本发明提供一种基于旋转队列体制的多功能FIFO存储器及其读写方法,基于旋转队列体制实现对存储触发信号之前的数据流进行连续存储,在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被读写,具有更大的存储灵活性,应用范围更广。
为了达到上述目的,本发明提供一种基于旋转队列体制的多功能FIFO存储器,包含:
输入数据选择存储模块;
旋转队列存储模块,其电性连接输入数据选择存储模块;
备用FIFO存储器,其电性连接输入数据选择存储模块;
旋转FIFO数据选择输出模块,其电性连接旋转队列存储模块和备用FIFO存储器;
旋转队列存储控制模块,其电性连接输入数据选择存储模块和旋转FIFO数据选择输出模块;
所述的旋转队列存储模块包含若干FIFO存储器,所述的若干FIFO存储器组成旋转队列,实现对数据流的连续存储。
本发明还提供一种基于旋转队列体制的多功能FIFO存储器的读写方法,包含以下步骤:
将若干FIFO存储器组成旋转队列,旋转队列中的FIFO存储器按照循环顺序存储输入数据,实现对数据流的连续存储;
当旋转队列中的某一个FIFO存储器被读取时,该FIFO存储器被移出旋转队列,同时将备用FIFO存储器填充到旋转队列中,取代被移出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储;
完成对被移出旋转队列的FIFO存储器的数据读取后,被移出旋转队列的FIFO存储器成为新的备用FIFO存储器。
所述的循环顺序是指:FIFO存储器按照规定的顺序存储输入数据,一个FIFO存储器写满后,下一个FIFO存储器开始写入数据,当最后一个FIFO存储器写满后,再从第一个FIFO存储器开始写入数据,如此循环。
本发明基于旋转队列体制实现对存储触发信号之前的数据流进行连续存储,在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被读写,具有更大的存储灵活性,应用范围更广。
附图说明
图1是本发明提供的基于旋转队列体制的多功能FIFO存储器的存储数据流与常规FIFO存储数据流对比图。
图2是发明提供的一种基于旋转队列体制的多功能FIFO存储器的结构框图。
图3是本发明一个实施例中旋转队列的示意图。
图4是本发明一个实施例中旋转队列和备用FIFO存储器的示意图。
图5~图7是本发明一个实施例中旋转队列存储操作示意图。
具体实施方式
以下根据图1~图7,具体说明本发明的较佳实施例。
如图1所示,常规FIFO只能在触发信号到来时进行数据存储,触发信号之前的数据无法进行实时存储,本发明提供的基于旋转队列体制的多功能FIFO存储器可以实现对触发信号之前N点数据和之后N点数据的实时存储,并全部读取。
如图2所示,本发明提供一种基于旋转队列体制的多功能FIFO存储器,包含:
输入数据选择存储模块1;
旋转队列存储模块2,其电性连接输入数据选择存储模块1;
备用FIFO存储器3,其电性连接输入数据选择存储模块1;
旋转FIFO数据选择输出模块4,其电性连接旋转队列存储模块2和备用FIFO存储器3;
旋转队列存储控制模块5,其电性连接输入数据选择存储模块1和旋转FIFO数据选择输出模块4。
所述的旋转队列存储模块2包含若干FIFO存储器201,所述的若干FIFO存储器201组成旋转队列,实现对数据流的连续存储,如图3所示,本实施例中,旋转队列存储模块2包含3个FIFO存储器,第一FIFO存储器21、第二FIFO存储器22和第三FIFO存储器23组成一个循环旋转队列,输入数据先写入第一FIFO存储器21,第一FIFO存储器21写满后,输入数据继续写入第二FIFO存储器22,第二FIFO存储器22写满后,输入数据继续写入第三FIFO存储器23,第三FIFO存储器23写满后,输入数据写入第一FIFO存储器21。
所述的旋转队列存储模块2中的FIFO存储器的数量M与需要读取的存储触发信号之前N点数据和之后N点数据的数据量成正比,如果需要对存储触发信号之前和之后的数据有更多的存储要求,可以增加旋转队列中的FIFO存储器的数量。
所述的基于旋转队列体制的多功能FIFO存储器的工作原理如下:
输入数据进入输入数据选择存储模块1,旋转队列存储控制模块5控制输入数据选择存储模块1按照顺序选择旋转队列存储模块2中的FIFO存储器,将输入数据依次循环写入组成了旋转队列的若干FIFO存储器,实现对数据流的连续存储,旋转队列存储控制模块5控制旋转FIFO数据选择输出模块4读取按照顺序选择旋转队列存储模块2中的FIFO存储器,读取数据流,当旋转队列中的某一个FIFO存储器被读取时,旋转队列存储控制模块5将该FIFO存储器被推出旋转队列,同时将备用存储模块3填充到旋转队列中,取代被推出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储,当存储触发信号到来时,触发信号之前的数据和触发信号之后的数据都可以被存储及被读出。
本发明还提供一种基于旋转队列体制的多功能FIFO存储器的读写方法,包含以下步骤:
将若干FIFO存储器组成旋转队列,旋转队列中的FIFO存储器按照循环顺序存储输入数据,实现对数据流的连续存储;所述的循环顺序是指:FIFO存储器按照规定的顺序存储输入数据,一个FIFO存储器写满后,下一个FIFO存储器开始写入数据,当最后一个FIFO存储器写满后,再从第一个FIFO存储器开始写入数据,如此循环。
当旋转队列中的某一个FIFO存储器被读取时,该FIFO存储器被移出旋转队列,同时将备用FIFO存储器填充到旋转队列中,取代被移出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储。
完成对被移出旋转队列的FIFO存储器的数据读取后,被移出旋转队列的FIFO存储器成为新的备用FIFO存储器。
当存储触发信号到来时,存储触发信号之前的数据和存储触发信号之后的数据都可以被存储及被读出,该读写方法使FIFO存储器具有了数据寄存功能,当任意时刻存储控制信号来临时,可以存储并读取此信号之前和之后的数据,弥补了传统FIFO存储功能局限性。
以下通过一个实施例来说明本发明的具体操作步骤:
1、如图4所示,旋转队列包含第一FIFO存储器、第二FIFO存储器和第三FIFO存储器,第四FIFO存储器是备用FIFO存储器,依次将数据写入旋转队列,先写入第一FIFO存储器,当第一FIFO存储器写满后,开始写入第二FIFO存储器,当第二FIFO存储器写满后,开始写入第三FIFO存储器,当第三FIFO存储器写满后,开始写入第一FIFO存储器,以此类推。
2、如图5所示,当写入数据写满旋转队列中第一位置的第一FIFO存储器,开始写第二FIFO存储器时,基于旋转队列体制的多功能FIFO存储器可以开始读取数据,此时若读取数据,则读取第一FIFO存储器内保存的数据,当第一FIFO存储器被读取数据时,则被移出旋转队列,此时,由闲置的备用FIFO存储器(第四FIFO存储器)代替第一FIFO存储器在旋转队列中的位置,这样,当读取数据时,旋转队列还是由3块FIFO存储器构成的完整队列,输入数据依然可以进行连续存储。
3、如图6所示,继续读取数据时,则读取旋转队列第二位置的第二FIFO存储器的数据,此时,第二FIFO存储器被移出旋转队列,现在闲置在队列外的第一FIFO存储器被补充进入旋转队列,取代第二FIFO存储器在旋转队列中的位置。
4、依次类推,如图7所示,继续读取旋转队列第三个位置的第三FIFO存储器的数据,此时,第三FIFO存储器被移出旋转队列,而队列外的第二FIFO存储器则被补充入队列,并取代第三FIFO存储器放在旋转队列的第三位置,由此看出,当读取之前存储的FIFO存储器时,被读取的FIFO存储器都会被移出旋转队列,这样操作的好处就是读取数据不影响写入数据的连续存贮,并且队列外的空闲FIFO存储器随时补充到旋转队列中,始终保持旋转队列的完整,即一直保持三个FIFO存储器的存在,这样将存储触发信号作为某个FIFO存储器的存储信号,则存储触发信号到来之前的数据,就已经被存储在旋转队列上一个位置的FIFO存储器中,可以做到对存储触发信号到来之前数据的连续存储。
本发明通过将多个FIFO存储器进行组合,并按照旋转队列存储机制控制其读、写操作,使得其相比于传统FIFO在存储灵活性方面有巨大的提高,应用范围得到扩展,可以更加广泛应用于数据存储领域。
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
Claims (3)
1.一种基于旋转队列体制的多功能FIFO存储器,其特征在于,包含:
输入数据选择存储模块(1);
旋转队列存储模块(2),其电性连接输入数据选择存储模块(1);
备用FIFO存储器(3),其电性连接输入数据选择存储模块(1);
旋转FIFO数据选择输出模块(4),其电性连接旋转队列存储模块(2)和备用FIFO存储器(3);
旋转队列存储控制模块(5),其电性连接输入数据选择存储模块(1)和旋转FIFO数据选择输出模块(4);
所述的旋转队列存储模块(2)包含若干FIFO存储器(201),所述的若干FIFO存储器(201)组成旋转队列,实现对数据流的连续存储。
2.一种如权利要求1所述的基于旋转队列体制的多功能FIFO存储器的读写方法,其特征在于,包含以下步骤:
将若干FIFO存储器组成旋转队列,旋转队列中的FIFO存储器按照循环顺序存储输入数据,实现对数据流的连续存储;
当旋转队列中的某一个FIFO存储器被读取时,该FIFO存储器被移出旋转队列,同时将备用FIFO存储器填充到旋转队列中,取代被移出的FIFO存储器,保持旋转队列的完整性,以保证在读取数据时,写入的数据流依然可以被连续存储;
完成对被移出旋转队列的FIFO存储器的数据读取后,被移出旋转队列的FIFO存储器成为新的备用FIFO存储器。
3.如权利要求2所述的基于旋转队列体制的多功能FIFO存储器的读写方法,其特征在于,所述的循环顺序是指:FIFO存储器按照规定的顺序存储输入数据,一个FIFO存储器写满后,下一个FIFO存储器开始写入数据,当最后一个FIFO存储器写满后,再从第一个FIFO存储器开始写入数据,如此循环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510602094.4A CN105159649B (zh) | 2015-09-21 | 2015-09-21 | 一种基于旋转队列体制的多功能fifo存储器及其读写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510602094.4A CN105159649B (zh) | 2015-09-21 | 2015-09-21 | 一种基于旋转队列体制的多功能fifo存储器及其读写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105159649A true CN105159649A (zh) | 2015-12-16 |
CN105159649B CN105159649B (zh) | 2018-08-14 |
Family
ID=54800518
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510602094.4A Active CN105159649B (zh) | 2015-09-21 | 2015-09-21 | 一种基于旋转队列体制的多功能fifo存储器及其读写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159649B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452470A (en) * | 1991-12-19 | 1995-09-19 | International Business Machines Corporation | Use of video RAM in high speed data communications |
US20030135698A1 (en) * | 2002-01-09 | 2003-07-17 | International Business Machines Corporation | Method and apparatus for multi-path data storage and retrieval |
CN102546101A (zh) * | 2011-12-22 | 2012-07-04 | 哈尔滨工业大学 | 基于连接型多进制条码的无反馈光通路单向传输的方法 |
CN104063184A (zh) * | 2013-03-19 | 2014-09-24 | 财团法人工业技术研究院 | 磁盘记录方法及其非易失性存储媒体与电子装置 |
-
2015
- 2015-09-21 CN CN201510602094.4A patent/CN105159649B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5452470A (en) * | 1991-12-19 | 1995-09-19 | International Business Machines Corporation | Use of video RAM in high speed data communications |
US20030135698A1 (en) * | 2002-01-09 | 2003-07-17 | International Business Machines Corporation | Method and apparatus for multi-path data storage and retrieval |
CN102546101A (zh) * | 2011-12-22 | 2012-07-04 | 哈尔滨工业大学 | 基于连接型多进制条码的无反馈光通路单向传输的方法 |
CN104063184A (zh) * | 2013-03-19 | 2014-09-24 | 财团法人工业技术研究院 | 磁盘记录方法及其非易失性存储媒体与电子装置 |
Non-Patent Citations (2)
Title |
---|
王俊宇 等: "寄存器队列装置及其设计方法", 《计算机工程与应用》 * |
邵林: "高速海量数据存储技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Also Published As
Publication number | Publication date |
---|---|
CN105159649B (zh) | 2018-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101231877B (zh) | 存取n端口存储器m个存储器地址的方法及n端口存储器 | |
US20070274303A1 (en) | Buffer management method based on a bitmap table | |
JP2006172467A (ja) | フラッシュメモリデータ記憶装置 | |
US10025709B2 (en) | Convolutional de-interleaver and convolutional de-interleaving method | |
CN105389376B (zh) | 基于连续块的无碎片化多媒体数据存储方法及系统 | |
CN101281489B (zh) | 一种先进先出存储器实现方法及装置 | |
TWI528322B (zh) | 折疊先進先出記憶體產生器 | |
CN207718357U (zh) | 一种fifo存储器 | |
JP7238171B2 (ja) | 不良カラム修復を提供するメモリデバイスおよびその動作方法 | |
CN101825997A (zh) | 一种异步先入先出存储器 | |
WO2018148918A1 (zh) | 存储设备、芯片及存储设备的控制方法 | |
CN105335323A (zh) | 一种数据突发的缓存装置和方法 | |
CN101350218A (zh) | 一种虚拟多端口存储器及其存储和读取数据的方法 | |
US20180081587A1 (en) | Garbage Collection in Storage System | |
GB2456292B (en) | Interleaving or de-interleaving a stream of data received in successive frames | |
CN104750621B (zh) | 缓存方法及控制系统 | |
CN105159649A (zh) | 一种基于旋转队列体制的多功能fifo存储器及其读写方法 | |
US8806118B2 (en) | Adaptive FIFO | |
CN103794244B (zh) | 一种基于spi接口的相变存储器读出电路及方法 | |
CN101882061B (zh) | 存储器控制方法和存储器控制装置 | |
CN103226976A (zh) | 一种基于FPGA实现多片Nandflash存储及读取的装置 | |
CN113873251A (zh) | 一种地址分区管理的多通道全色多光谱图像压缩调度方法 | |
CN102750244A (zh) | 分级缓冲的dma传送装置及传送方法 | |
US5732011A (en) | Digital system having high speed buffering | |
US8339887B2 (en) | Double line access to a FIFO |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |