CN111159064B - 一种低复杂度数据块缓存方法 - Google Patents

一种低复杂度数据块缓存方法 Download PDF

Info

Publication number
CN111159064B
CN111159064B CN201911390454.3A CN201911390454A CN111159064B CN 111159064 B CN111159064 B CN 111159064B CN 201911390454 A CN201911390454 A CN 201911390454A CN 111159064 B CN111159064 B CN 111159064B
Authority
CN
China
Prior art keywords
data
address
read
writing
space
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.)
Active
Application number
CN201911390454.3A
Other languages
English (en)
Other versions
CN111159064A (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.)
Nanjing 6902 Technology Co ltd
Original Assignee
Nanjing 6902 Technology 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 Nanjing 6902 Technology Co ltd filed Critical Nanjing 6902 Technology Co ltd
Priority to CN201911390454.3A priority Critical patent/CN111159064B/zh
Publication of CN111159064A publication Critical patent/CN111159064A/zh
Application granted granted Critical
Publication of CN111159064B publication Critical patent/CN111159064B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种低复杂度数据块缓存方法,应用于存取地址不同步的数据块缓存背景下,只需判断一次数据块读写的首地址与主存储空间末地址之间的关系即可,判断次数降低La倍,即实现复杂度降低La倍,算法延时减小,存取效率得到提高,普遍适用于一般情况下块状数据的缓存需求。

Description

一种低复杂度数据块缓存方法
技术领域
本发明涉及数字信号处理技术领域,尤其是一种低复杂度数据块缓存方法。
背景技术
在数字信号处理过程中,由于数据流存取速率不一致,通常采用RAM缓存,而关于数据块缓存方法,当读取地址与写入地址不同步时,现有技术中大多采用单个循环RAM缓存,存取时对读写地址依次判断是否需要循环跳转,从而实现循环RAM缓存存取,对于读写地址的依次判断在处理中复杂度高,时延大,在实时传输系统中不具优势。现有技术中块状数据存取时,依次对每个存取地址判断是否需要循环跳转,在实现过程中,算法复杂度大,且延时大,存取效率低。
发明内容
本发明所要解决的技术问题在于,提供一种低复杂度数据块缓存方法,算法延时减小,存取效率得到提高,普遍适用于一般情况下块状数据的缓存需求。
为解决上述技术问题,本发明提供一种低复杂度数据块缓存方法,包括如下步骤:
(1)根据数据流存取速率关系设置主存储空间尺寸Lm,附加存储空间则设置为单块数据空间大小La
(2)依次进行写操作和读操作,执行写操作时,若写空间不足则等待下一次写操作的执行,若有足够写空间,则写入数据块,待写数据块超过主存储空间时启用附加存储空间;执行读操作时,若读数据不足则等待下一次读操作的执行,若有足够数据块可读,则读出数据块,写操作和读操作依次交替进行,且读写操作地址变化不同步。
优选的,写操作步骤如下:
(21)判断是否有足够写空间,若足够则执行步骤(22),否则等待下一次写操作启动;
(22)判断本块待写数据大小La是否超过主存储区剩余空间Lm-Awr,若超过,则将未超过部分写入主存储区,超过部分写入附加存储区,并且将超过部分写入主存储区顶部,否则直接将本块数据写入主存储区;
(23)更新写地址,若La超过Lm-Awr,写地址更新至地址La-Lm+Awr处,否则更新至移至地址Awr+La处。
优选的,步骤(21)中,以下两种情况视为写空间不足:
(a)当写地址Awr超出读地址Ard一圈,即写比读速度快,0<Ard-Awr<La+Lp,此时写入数据会覆盖未被读取数据,故这种情况不能写入数据;
(b)当写地址和读地址在同一圈,写地址接近主存储空间尾部,读地址靠近主存储空间头部,即写数据速度较快,Awr>Lm-La且Ard<La+Lp,此时写入数据会覆盖未被读取的数据,此时不能写入数据。
优选的,读操作步骤如下:
(41)判断是否有足够数据执行读操作,若足够则执行步骤(42),否则等待下一次读操作启动;
(42)读取数据块,读地址范围Ard~Ard+La-1;
(43)更新读地址,若Ard<Lm-La,则读地址更新为Ard+La,否则更新为Ard+La-Lm
优选的,步骤(41)中,以下两种情况视为有足够数据执行读操作:
(a)当读写数据地址在同一圈时,写地址大于读地址与读长度的和;
(b)当写数据地址比读数据大一圈时,主存储区到读数据地址的长度加上读地址大于需要读取的长度。
本发明的有益效果为:本发明应用于存取地址不同步的数据块缓存背景下,只需判断一次数据块读写的首地址与主存储空间末地址之间的关系即可,判断次数降低La倍,即实现复杂度降低La倍,算法延时减小,存取效率得到提高,普遍适用于一般情况下块状数据的缓存需求。
附图说明
图1(a)为本发明的缓存示意图。
图1(b)为本发明的缓存示意图。
图2为本发明写空间不足情况(a)中读写地址关系示意图。
图3为本发明写空间不足情况(b)中读写地址关系示意图。
图4为本发明读空间不足情况(a)中读写地址关系示意图。
图5为本发明读空间不足情况(b)中读写地址关系示意图。
图6为本发明的写操作流程示意图。
图7为本发明的读操作流程示意图。
具体实施方式
如图1(a)和图1(b)所示,块状缓存包括主存储空间和附加存储空间,根据数据流存取速率关系设置主存储空间尺寸Lm,附加存储空间则设置为单块数据空间大小La。单次读写数据长度固定,但读取地址Ard与写入地址Awr不同步。
写操作步骤如下:
(1)判断是否有足够写空间,若足够则执行步骤(2),否则等待下一次写操作启动。以下两种情况视为写空间不足:
(a)当写地址Awr超出读地址Ard一圈(即写比读速度快),0<Ard-Awr<La+Lp,如图2所示,此时写入数据会覆盖未被读取数据,故这种情况不能写入数据。
(b)当写地址和读地址在同一圈,写地址接近主存储空间尾部,读地址靠近主存储空间头部,即写数据速度较快,如图3所示,Awr>Lm-La且Ard<La+Lp,此时写入数据会覆盖未被读取的数据,此时不能写入数据。
(2)判断本块待写数据大小La是否超过主存储区剩余空间Lm-Awr,若超过,则将未超过部分写入主存储区,超过部分写入附加存储区,并且将超过部分写入主存储区顶部,否则直接将本块数据写入主存储区。
(3)更新写地址,若La超过Lm-Awr,写地址更新至地址La-Lm+Awr处,否则更新至移至地址Awr+La处。
读操作步骤如下:
(1)判断是否有足够数据执行读操作,满足以下两个条件之一则执行步骤(2):
(a)当读写数据地址在同一圈时,写地址大于读地址与读长度的和,如图4所示。
(b)当写数据地址比读数据大一圈时,主存储区到读数据地址的长度加上读地址大于需要读取的长度,如图5所示。
(2)读取数据块,读地址范围Ard~Ard+La-1。
(3)更新读地址,若Ard<Lm-La,则读地址更新为Ard+La,否则更新为Ard+La-Lm
写读步骤流程如图6、7所示。
假设单个数据块占用存储空间为500字节,则主存储空间Lm设置为1024字节,占用地址为0~1023,附加存储空间La设置为500字节,占用地址为1024~1523,总存储空间为1524字节,存取步骤如下:
(1)初始化读写地址,Awr=0,假设Ard=50;
(2)第一次写操作:
(21)判断有足够写空间,继续写操作;
(22)判断本块待写数据长度La为500,未超过主存储区剩余空间长度1024,直接将本块数据写入主存储区,写地址范围为0~499;
(23)更新写地址Awr为500;
(3)第一次读操作:
(31)判断是否有足够读空间,由于Awr-Ard=450<500,读空间不足,结束此次读操作。
(4)第二次写操作:
(41)判断有足够写空间,继续写操作;
(42)判断本块待写数据长度La为500,未超过主存储区剩余空间长度524,直接将本块数据写入主存储区,写地址范围为500~999;
(43)更新写地址Awr为1000;
(5)第二次读操作:
(51)判断是否有足够读空间,由于Awr-Ard=950>500,读空间足够,继续读操作;
(52)读取数据块,读地址范围50~549;
(53)更新读地址为550;
(6)第三次写操作:
(61)判断有足够写空间,继续写操作;
(62)判断本块待写数据长度La为500,超过主存储区剩余空间长度24,将前24字节存入主存储区地址1000~1023,超过部分476字节写入附加存储区地址1024~1499,同时将超过部分476字节存入主存储区顶部地址0~475;
(63)更新写地址Awr为476;
(7)第三次读操作:
(71)判断是否有足够读空间,由于Awr-Ard+Lm=950>500,读空间足够,继续读操作;
(72)读取数据块,读地址范围550~1049;
(73)更新读地址Awr为26;
后续读写操作依此类推。
本发明应用于存取地址不同步的数据块缓存背景下,只需判断一次数据块读写的首地址与主存储空间末地址之间的关系即可,判断次数降低La倍,即实现复杂度降低La倍,算法延时减小,存取效率得到提高,普遍适用于一般情况下块状数据的缓存需求。

Claims (4)

1.一种低复杂度数据块缓存方法,其特征在于,包括如下步骤:
(1)根据数据流存取速率关系设置主存储空间尺寸Lm,附加存储空间则设置为单块数据空间大小La
(2)依次进行写操作和读操作,执行写操作时,若写空间不足则等待下一次写操作的执行,若有足够写空间,则写入数据块,待写数据块超过主存储空间时启用附加存储空间;执行读操作时,若读数据不足则等待下一次读操作的执行,若有足够数据块可读,则读出数据块,写操作和读操作依次交替进行,且读写操作地址变化不同步;读操作步骤如下:
(41)判断是否有足够数据执行读操作,若足够则执行步骤(42),否则等待下一次读操作启动;
(42)读取数据块,读地址范围Ard~Ard+La-1;
(43)更新读地址,若Ard<Lm-La,则读地址更新为Ard+La,否则更新为Ard+La-Lm
2.如权利要求1所述的低复杂度数据块缓存方法,其特征在于,步骤(2)中,写操作步骤如下:
(21)判断是否有足够写空间,若足够则执行步骤(22),否则等待下一次写操作启动;
(22)判断本块待写数据大小La是否超过主存储区剩余空间Lm-Awr,若超过,则将未超过部分写入主存储区,超过部分写入附加存储区,并且将超过部分写入主存储区顶部,否则直接将本块数据写入主存储区;
(23)更新写地址,若La超过Lm-Awr,写地址更新至地址La-Lm+Awr处,否则更新至移至地址Awr+La处。
3.如权利要求1所述的低复杂度数据块缓存方法,其特征在于,步骤(21)中,以下两种情况视为写空间不足:
(a)当写地址Awr超出读地址Ard一圈,即写比读速度快,0<Ard-Awr<La+Lp,此时写入数据会覆盖未被读取数据,故这种情况不能写入数据;
(b)当写地址和读地址在同一圈,写地址接近主存储空间尾部,读地址靠近主存储空间头部,即写数据速度较快,Awr>Lm-La且Ard<La+Lp,此时写入数据会覆盖未被读取的数据,此时不能写入数据。
4.如权利要求1所述的低复杂度数据块缓存方法,其特征在于,步骤(41)中,以下两种情况视为有足够数据执行读操作:
(a)当读写数据地址在同一圈时,写地址大于读地址与读长度的和;
(b)当写数据地址比读数据大一圈时,主存储区到读数据地址的长度加上读地址大于需要读取的长度。
CN201911390454.3A 2019-12-30 2019-12-30 一种低复杂度数据块缓存方法 Active CN111159064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911390454.3A CN111159064B (zh) 2019-12-30 2019-12-30 一种低复杂度数据块缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911390454.3A CN111159064B (zh) 2019-12-30 2019-12-30 一种低复杂度数据块缓存方法

Publications (2)

Publication Number Publication Date
CN111159064A CN111159064A (zh) 2020-05-15
CN111159064B true CN111159064B (zh) 2023-09-01

Family

ID=70559326

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911390454.3A Active CN111159064B (zh) 2019-12-30 2019-12-30 一种低复杂度数据块缓存方法

Country Status (1)

Country Link
CN (1) CN111159064B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540523A (zh) * 2003-10-30 2004-10-27 中兴通讯股份有限公司 单任务快速缓冲读写方法
CN1632764A (zh) * 2004-12-31 2005-06-29 北京中星微电子有限公司 一种线性访问文件的方法
CN103546506A (zh) * 2012-07-13 2014-01-29 富港电子(东莞)有限公司 无线存储管理系统
CN104850507A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 一种数据缓存方法和数据缓存装置
WO2017193821A1 (zh) * 2016-05-09 2017-11-16 中兴通讯股份有限公司 云桌面图像处理方法、服务器、客户端及计算机存储介质
CN109697019A (zh) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 基于fat文件系统的数据写入的方法和系统
CN111782578A (zh) * 2020-05-29 2020-10-16 西安电子科技大学 一种缓存控制方法、系统、存储介质、计算机设备及应用

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1540523A (zh) * 2003-10-30 2004-10-27 中兴通讯股份有限公司 单任务快速缓冲读写方法
CN1632764A (zh) * 2004-12-31 2005-06-29 北京中星微电子有限公司 一种线性访问文件的方法
CN103546506A (zh) * 2012-07-13 2014-01-29 富港电子(东莞)有限公司 无线存储管理系统
CN104850507A (zh) * 2014-02-18 2015-08-19 腾讯科技(深圳)有限公司 一种数据缓存方法和数据缓存装置
WO2017193821A1 (zh) * 2016-05-09 2017-11-16 中兴通讯股份有限公司 云桌面图像处理方法、服务器、客户端及计算机存储介质
CN109697019A (zh) * 2017-10-20 2019-04-30 北京京东尚科信息技术有限公司 基于fat文件系统的数据写入的方法和系统
CN111782578A (zh) * 2020-05-29 2020-10-16 西安电子科技大学 一种缓存控制方法、系统、存储介质、计算机设备及应用

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙志卓 ; 张全新 ; 李元章 ; 谭毓安 ; 刘靖宇 ; 马忠梅 ; .连续数据存储中面向RAID5的写操作优化设计.计算机研究与发展.2013,(第08期),全文. *

Also Published As

Publication number Publication date
CN111159064A (zh) 2020-05-15

Similar Documents

Publication Publication Date Title
US6374337B1 (en) Data pipelining method and apparatus for memory control circuit
US6081478A (en) Separate byte control on fully synchronous pipelined SRAM
US6839821B2 (en) Method and apparatus for memory control circuit
US5491811A (en) Cache system using mask bits to recorder the sequences for transfers of data through cache to system memory
CN102652313B (zh) 闪速存储器控制器及其操作方法
US20070088867A1 (en) Memory controller and data processing system with the same
CN103559146B (zh) 一种提高NAND flash控制器读写速度的方法
CN109669888A (zh) 一种可配置且高效的嵌入式Nor-Flash控制器及控制方法
CN109918023A (zh) 基于内存受限ssd的预读取方法、装置和计算机设备
CN103279309A (zh) 基于fpga的ddr控制装置及方法
CN113791994B (zh) 一种基于AXI协议wrap访问的DDR控制器及处理方法
US20100235564A1 (en) Semiconductor memory device
WO2020199489A1 (zh) 一种适用于NVMe命名空间配置的双接口架构
CN114253483B (zh) 基于命令的写缓存管理方法、装置、计算机设备及存储介质
CN114968893A (zh) 基于时间戳的PCIe报文队列调度方法、系统及设备
CN105654419A (zh) 一种图像的运算处理系统及运算处理方法
CN111159064B (zh) 一种低复杂度数据块缓存方法
CN105577985A (zh) 一种数字图像处理系统
CN112559392A (zh) 一种加速读存储介质的方法、读加速硬件模块及存储器
CN205451035U (zh) 图像处理缓存系统
US6556484B2 (en) Plural line buffer type memory LSI
JP3747213B1 (ja) シーケンシャルromインターフェース対応nand型フラッシュメモリーデバイス及びそのコントローラ
CN111831227A (zh) 一种nvme协议命令加速处理系统
CN109935252B (zh) 存储器装置及其操作方法
CN1821944A (zh) 存储器写入方法与控制装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant