CN109614349B - 一种基于绑定机制的缓存管理方法 - Google Patents

一种基于绑定机制的缓存管理方法 Download PDF

Info

Publication number
CN109614349B
CN109614349B CN201811509797.2A CN201811509797A CN109614349B CN 109614349 B CN109614349 B CN 109614349B CN 201811509797 A CN201811509797 A CN 201811509797A CN 109614349 B CN109614349 B CN 109614349B
Authority
CN
China
Prior art keywords
ram
fifo
bfn
bit
group
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
CN201811509797.2A
Other languages
English (en)
Other versions
CN109614349A (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.)
Hangzhou Amu Technology Co ltd
Original Assignee
Hangzhou Amu 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 Hangzhou Amu Technology Co ltd filed Critical Hangzhou Amu Technology Co ltd
Priority to CN201811509797.2A priority Critical patent/CN109614349B/zh
Publication of CN109614349A publication Critical patent/CN109614349A/zh
Application granted granted Critical
Publication of CN109614349B publication Critical patent/CN109614349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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)
  • Information Transfer Systems (AREA)

Abstract

本发明公开了一种基于绑定机制的缓存管理方法。它把BFN(缓存区编号)号等额划分为若干组,每一个BFN(缓存区编号)对应1bit有效标识,将每一组标识存入可读写RAM中,RAM的读写地址即为组号,将组号存入FIFO中。当用户申请BFN(缓存区编号)时,从FIFO中取出组号,根据组号读取RAM,再根据组内指针(上一次取出有效位标识的bit位置)取到有效标识,根据有效标识在组内位置以及组号,组合而成一个BFN(缓存区编号)响应给用户,同时翻转此标识位。本发明的有益效果是:可以最大化的压缩BFN(缓存区编号)自身的存储空间,可节省由于BFN(缓存区编号)号过大所需存储的位宽带来的消耗。

Description

一种基于绑定机制的缓存管理方法
技术领域
本发明涉及缓存资源管理相关技术领域,尤其是指一种基于绑定机制的缓存管理方法。
背景技术
BFN(缓存区编号)管理模式是一种简化并且有效的管理缓存空间方法。但面对大容量缓存空间管理,传统BFN(缓存区编号)模式需要占用额外的大量存储空间,开销太大不利于使用。传统BFN(缓存区编号)管理基于FIFO存储有效BFN(缓存区编号) 即首先写入0—n号BFN(缓存区编号),当用户申请时读取一个给用户,用户释放时写回一个。当BFN(缓存区编号)号过大时,FIFO位宽也会增加,造成资源损耗。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种能够有效节省资源损耗的基于绑定机制的缓存管理方法。
为了实现上述目的,本发明采用以下技术方案:
一种基于绑定机制的缓存管理方法,将n个BFN缓存区编号绑定成一组写入RAM的一个地址,并将组号为0—m-1 写入FIFO进行储存,管理的BFN缓存区编号数为n乘以m,n为RAM的数据位宽,m为RAM的地址数以及FIFO的深度,具体包括如下步骤:
(1)初始化:用户先配置BFN缓存区编号个数大小, 然后配置启动初始化寄存器,BFN缓存区编号控制器随即将0—m-1写入FIFO,将全1写入RAM,并将RAM数据位指针初始化为0,初始化后预取一个FIFO值;
(2)申请:用户发出一个BFN缓存区编号申请到 BFN缓存区编号控制器,BFN缓存区编号控制器根据已经取出的FIFO值读取RAM,再根据RAM数据位指针查询此位是否为1,若为1则此BFN缓存区编号的号有效,将此BFN缓存区编号的号发送给用户,发送给用户BFN缓存区编号的号为{RAM地址,RAM bit位},再将RAM数据位指针+1,将此RAM的bit位反转;若RAM数据指针查询出的此为不为1,则查询下一个直到查到1为止;
(3)释放:用户发出一个BFN缓存区编号释放到BFN缓存区编号控制器,BFN缓存区编号控制器 拆解此BFN缓存区编号为RAM地址和RAM bit位,寻找到对应RAM 地址的对应数据bit, 反转成1。
其中:可根据实际需要管理的BFN(缓存区编号)个数的多少和使用的RAM的规格大小来选择m和n的值。组绑定机制既是把BFN(缓存区编号)号等额划分为若干组,每一个BFN(缓存区编号)对应1bit有效标识,将每一组标识存入可读写RAM中,RAM的读写地址即为组号,将组号存入FIFO中。当用户申请BFN(缓存区编号)时,从FIFO中取出组号,根据组号读取RAM,再根据组内指针(上一次取出有效位标识的bit位置)取到有效标识,根据有效标识在组内位置以及组号,组合而成一个BFN(缓存区编号)响应给用户, 同时翻转此标识位。这样设计可以最大化的压缩BFN(缓存区编号)自身的存储空间,可节省由于BFN(缓存区编号)号过大所需存储的位宽带来的消耗。
作为优选,在步骤(1)中,初始化后预取一个FIFO值,此时取出值为0。
作为优选,在步骤(2)中,在根据RAM数据位指针查询此位为1时,若数据位指针已是最高位n,判断此时RAM的值是否为全0,若是,说明此组BFN缓存区编号已用完,读取一个新的FIFO值替换这个;若不是,说明此组BFN缓存区编号有被释放过,将此地址再写回FIFO,再读取一个新的FIFO值替换这个。
作为优选,在步骤(2)中,在根据RAM数据位指针查询此位不为1时,若查询不到1,则判断此时RAM的值是否为全0,若是,说明此组BFN缓存区编号已用完,读取一个新的FIFO值替换这个;若不是,说明此组BFN缓存区编号有被释放过,将此地址再写回FIFO, 再读取一个新的FIFO值替换这个。
作为优选,在步骤(3)中,在对应数据bit反转成1时,若RAM的值只有这个bit为1,则将地址写入FIFO,否则不写FIFO。
本发明的有益效果是:可以最大化的压缩BFN(缓存区编号)自身的存储空间,可节省由于BFN(缓存区编号)号过大所需存储的位宽带来的消耗。
附图说明
图1是本发明中初始化的结构示意图;
图2是本发明中申请的结构示意图;
图3是本发明中释放的结构示意图;
图4是本发明实例1中申请的结构示意图;
图5是本发明实例1中释放的结构示意图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1所述的实施例中,一种基于绑定机制的缓存管理方法,将n个BFN缓存区编号绑定成一组写入RAM的一个地址,并将组号为0—m-1 写入FIFO进行储存,管理的BFN缓存区编号数为n乘以m,n为RAM的数据位宽,m为RAM的地址数以及FIFO的深度,具体包括如下步骤:
(1)初始化:如图1所示,用户先配置BFN缓存区编号个数大小, 然后配置启动初始化寄存器,BFN缓存区编号控制器随即将0—m-1写入FIFO,将全1写入RAM,并将RAM数据位指针初始化为0,初始化后预取一个FIFO值,此时取出值为0;
(2)申请:如图2所示,用户发出一个BFN缓存区编号申请到 BFN缓存区编号控制器,BFN缓存区编号控制器根据已经取出的FIFO值读取RAM,再根据RAM数据位指针查询此位是否为1,若为1则此BFN缓存区编号的号有效,将此BFN缓存区编号的号发送给用户,发送给用户BFN缓存区编号的号为{RAM地址,RAM bit位},再将RAM数据位指针+1,将此RAM的bit位反转;若数据位指针已是最高位n,判断此时RAM的值是否为全0,若是,说明此组BFN缓存区编号已用完,读取一个新的FIFO值替换这个;若不是,说明此组BFN缓存区编号有被释放过,将此地址再写回FIFO,再读取一个新的FIFO值替换这个;若RAM数据指针查询出的此为不为1,则查询下一个直到查到1为止;若查询不到1,则判断此时RAM的值是否为全0,若是,说明此组BFN缓存区编号已用完,读取一个新的FIFO值替换这个;若不是,说明此组BFN缓存区编号有被释放过,将此地址再写回FIFO, 再读取一个新的FIFO值替换这个;
(3)释放:如图3所示,用户发出一个BFN缓存区编号释放到BFN缓存区编号控制器,BFN缓存区编号控制器 拆解此BFN缓存区编号为RAM地址和RAM bit位,寻找到对应RAM 地址的对应数据bit, 反转成1;此时若RAM的值只有这个bit为1,则将地址写入FIFO,否则不写FIFO。
其中:可根据实际需要管理的BFN(缓存区编号)个数的多少和使用的RAM的规格大小来选择m和n的值。组绑定机制既是把BFN(缓存区编号)号等额划分为若干组,每一个BFN(缓存区编号)对应1bit有效标识,将每一组标识存入可读写RAM中,RAM的读写地址即为组号,将组号存入FIFO中。当用户申请BFN(缓存区编号)时,从FIFO中取出组号,根据组号读取RAM,再根据组内指针(上一次取出有效位标识的bit位置)取到有效标识,根据有效标识在组内位置以及组号,组合而成一个BFN(缓存区编号)释放给用户, 同时翻转此标识位。将BFN(缓存区编号)拆分为两部分分别存储在FIFO和RAM中,并且通过指针寻址的方法找到有效BFN(缓存区编号),采用该方法可以大量节省BFN(缓存区编号)管理占用的存储资源,可以最大化的压缩BFN(缓存区编号)自身的存储空间,可节省由于BFN(缓存区编号)号过大所需存储的位宽带来的消耗。
实例1:采用了64个BFN(缓存区编号)为一组的管理方法。初始化时,将右侧RAM全部初始化为1,FIFO写入0—1023。如图4所示,当用户申请BFN(缓存区编号)时,从FIFO中读取第一个组号,即为“0”。 用此组号读取RAM中的0地址的数据,在此数据中从0bit开始寻找,找到第一个“1”。保存bit位置信息数据位指针ptr,保存组号存入strored_data中。向用户释放BFN(缓存区编号)同时将标识为设为“0”,BFN(缓存区编号)号的低6bit为组内第一个“1”的位置,高10bit为组号。此次BFN(缓存区编号)号即为0。当用户第二次来申请时,取用stored_data为组号,读取RAM,从数据位指针ptr的位置开始向左寻找第一个“1”。如此,本次BFN(缓存区编号)号为1。当数据位指针ptr到64时,重新读取FIFO 设为新的组号。如图5所示,当用户释放BFN(缓存区编号)时,BFN(缓存区编号)高10bit为组号,低6bit为组内数据位指针ptr位置。根据BFN(缓存区编号)信息将对应的标识设为1。若本组只有当前bit为“1”,向FIFO写入组号,若不是则不写入组号。
实例2:对于一个1GB DDR 空间,将每个BFN(缓存区编号)管理范围定为4kB,则需256k个BFN(缓存区编号)号。 若用传统的FIFO形式管理,则需要256k x 18bit FIFO(4608kbit)。此处组绑定机制可以将256个BFN(缓存区编号)进行绑定存入位宽为256bit的RAM中,再将RAM的读写地址作为组号存入FIFO中,如此,只需要 1k x 256bit RAM 和 1k x10bit FIFO(266kbit),可节省17倍存储资源。

Claims (3)

1.一种基于绑定机制的缓存管理方法,其特征是,将n个缓存区编号绑定成一组写入RAM的一个地址,并将组号为0到m-1写入FIFO进行储存,管理的缓存区编号个数为n乘以m,n为RAM的数据位宽,m为RAM的地址数以及FIFO的深度,具体包括如下步骤:
(1)初始化:用户先配置缓存区编号个数大小, 然后配置启动初始化寄存器,缓存区编号控制器随即将0到m-1写入FIFO,将全1写入RAM,并将RAM数据位指针初始化为0,初始化后预取一个FIFO值;
(2)申请:用户发出一个缓存区编号申请请求到缓存区编号控制器,缓存区编号控制器根据已经取出的FIFO值读取RAM,再根据RAM数据位指针查询此缓存区编号的RAM bit位是否为1,若为1则此缓存区编号有效,将此缓存区编号发送给用户,发送给用户的缓存区编号为{RAM地址,RAM bit位},再将RAM数据位指针+1,将此缓存区编号的RAM bit位反转;若RAM数据位指针查询出的此缓存区编号的RAM bit位不为1,则查询下一个直到查到1为止;
(3)释放:用户发出一个缓存区编号释放请求到缓存区编号控制器,缓存区编号控制器拆解此缓存区编号为RAM地址和RAM bit位,寻找到对应RAM 地址的对应RAM bit位,反转成1。
2.根据权利要求1所述的一种基于绑定机制的缓存管理方法,其特征是,在步骤(1)中,初始化后预取一个FIFO值,此时取出值为0。
3.根据权利要求1所述的一种基于绑定机制的缓存管理方法,其特征是,在步骤(3)中,在对应RAM bit位反转成1时,若RAM的值只有这个RAM bit位为1,则将RAM bit位为1的RAM地址写入FIFO,否则不写入FIFO。
CN201811509797.2A 2018-12-11 2018-12-11 一种基于绑定机制的缓存管理方法 Active CN109614349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811509797.2A CN109614349B (zh) 2018-12-11 2018-12-11 一种基于绑定机制的缓存管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811509797.2A CN109614349B (zh) 2018-12-11 2018-12-11 一种基于绑定机制的缓存管理方法

Publications (2)

Publication Number Publication Date
CN109614349A CN109614349A (zh) 2019-04-12
CN109614349B true CN109614349B (zh) 2023-04-11

Family

ID=66007667

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811509797.2A Active CN109614349B (zh) 2018-12-11 2018-12-11 一种基于绑定机制的缓存管理方法

Country Status (1)

Country Link
CN (1) CN109614349B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209355A (zh) * 2019-05-28 2019-09-06 深圳忆联信息系统有限公司 基于固态硬盘的全固件读写操作优化方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221465A (zh) * 2008-01-04 2008-07-16 东南大学 用于降低硬盘功耗的数据缓冲区实现方法
CN102521149A (zh) * 2011-11-28 2012-06-27 曙光信息产业(北京)有限公司 一种从多缓冲区收取数据的优化轮询系统和方法
CN103914404A (zh) * 2014-04-29 2014-07-09 东南大学 一种粗粒度可重构系统中的配置信息缓存装置及压缩方法
US10120604B1 (en) * 2017-06-13 2018-11-06 Micron Technology, Inc. Data programming

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5217432B2 (ja) * 2007-12-28 2013-06-19 富士通株式会社 セクタ機能付きキャッシュメモリ
US8190794B2 (en) * 2009-10-21 2012-05-29 Texas Instruments Incorporated Control function for memory based buffers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101221465A (zh) * 2008-01-04 2008-07-16 东南大学 用于降低硬盘功耗的数据缓冲区实现方法
CN102521149A (zh) * 2011-11-28 2012-06-27 曙光信息产业(北京)有限公司 一种从多缓冲区收取数据的优化轮询系统和方法
CN103914404A (zh) * 2014-04-29 2014-07-09 东南大学 一种粗粒度可重构系统中的配置信息缓存装置及压缩方法
US10120604B1 (en) * 2017-06-13 2018-11-06 Micron Technology, Inc. Data programming

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于FPGA的四口RAM设计与实现;吕波等;《仪表技术与传感器》;20170115(第01期);全文 *

Also Published As

Publication number Publication date
CN109614349A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
EP3673377B1 (en) Logical to physical mapping
CN108804350B (zh) 一种内存访问方法及计算机系统
US6968424B1 (en) Method and system for transparent compressed memory paging in a computer system
US6349372B1 (en) Virtual uncompressed cache for compressed main memory
CN102662856B (zh) 一种固态硬盘及其存取方法
US20080270680A1 (en) Controller for Non-Volatile Memories and Methods of Operating the Memory Controller
WO2016099664A1 (en) Apparatus, system and method for caching compressed data background
EP1550952A3 (en) Address mapping method and mapping information managing method for flash memory, and flash memory using the same
CN108595349B (zh) 大容量存储设备的地址转换方法与装置
TW201710910A (zh) 交易式混合記憶體模組及其操作方法
US20140089569A1 (en) Write cache sorting
US20110004720A1 (en) Method and apparatus for performing full range random writing on a non-volatile memory
CN111512290B (zh) 文件页表管理技术
CN109240944B (zh) 一种基于可变长缓存行的数据读写方法
KR101400506B1 (ko) 비휘발성 메모리 제어기 및 그 제어 방법
CN105393228A (zh) 读写闪存中数据的方法、装置及用户设备
CN112882649A (zh) 数据储存装置以及非挥发式存储器控制方法
CN109614349B (zh) 一种基于绑定机制的缓存管理方法
CN103377141A (zh) 高速存储区的访问方法以及访问装置
US11199983B2 (en) Apparatus for obsolete mapping counting in NAND-based storage devices
CN107102900B (zh) 一种共享内存空间的管理方法
CN110968527B (zh) Ftl提供的缓存
CN112148639A (zh) 一种高效小容量高速缓冲存储器替换方法及系统
CN111290975A (zh) 使用统一缓存处理读命令与预读命令的方法及其存储设备
CN110309081A (zh) 基于压缩存储和地址映射表项的ftl读写数据页的方法

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