CN109284234B - 一种存储地址分配方法及系统 - Google Patents
一种存储地址分配方法及系统 Download PDFInfo
- Publication number
- CN109284234B CN109284234B CN201811031524.1A CN201811031524A CN109284234B CN 109284234 B CN109284234 B CN 109284234B CN 201811031524 A CN201811031524 A CN 201811031524A CN 109284234 B CN109284234 B CN 109284234B
- Authority
- CN
- China
- Prior art keywords
- priority
- storage
- address
- addresses
- storage address
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing 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
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
本发明公开了一种存储地址分配方法及系统,通过本发明所提供的上述技术方案,首先对内存单元中的存储地址进行优先级计算,该优先级计算规则可以根据不同的场景需求来进行设置,然后将优先级结果写入到优先级位置中,从而进行存储地址分配时,可以根据优先级由高到低的顺序进行分分配,进而使得存储地址的分配的可以适用各种应用场景,提升了存储地址的管理效率。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种存储地址分配方法及系统。
背景技术
目前,芯片内部memory的面积,很多情况下占了芯片总面积的一半,甚至还会占用更多的面积,memory的面积是影响芯片die cost的一个关键因素。如何高效地使用memory,在同等规格下尽可能减少memory大小,是一颗芯片竞争力的有力体现。
共享缓存是一种常用的提升memory使用率和减小芯片内部memory size的设计架构方案。共享缓存的架构设计一般采用bitmap+虚拟队列+链表管理方式来实现。其中bitmap结合相关控制电路,用于实现地址的分配和回收管理。
Bitmap每一bit表示一个地址单元,以N个地址管理为例,只需要N bit就能实现N个地址的分配和管理。如果采用fifo方式管理,每个地址需要log2(N)bit表示,深度需要N,实现同样功能需要N*log2(N)bit的寄存器才能实现,是使用bitmap方式的占用资源数的log2(N)倍。也就是说,1k个地址管理,是10倍的关系;1M个地址管理,是20倍的关系,以此类推,可以看出bitmap方式实现的优势。
虽然bitmap方式具有实现结构简单,占用资源少的优点,但bitmap方式对地址的管理都是同等对待,在一些对地址管理需要做区分的场景下不能满足需求。
发明内容
本发明提供了一种存储地址分配方法及系统,用以解决现有技术中现有的存储区域的bitmap分配方式不能满足各个场景需求的问题。
其具体的技术方案如下:
一种存储地址分配方法,所述方法包括:
在接收到用于分配存储地址的指令时,确定已为各个存储地址预先配置的优先级信息,其中,所述优先级信息表征了存储地址被分配的先后顺序;
根据各个存储地址的优先级信息,对各个存储地址进行优先级排序;
根据排序结果,按照优先级由高到低的顺序对存储地址进行分配。
可选的,在确定各个存储地址的优先级之前,所述方法还包括:
在回收存储地址时,根据预设计算规则,计算出所述存储地址的优先级;
在所述存储地址中增加优先级位置,并将所述优先级添加到所述优先级位置。
可选的,按照优先级由高到低的顺序对存储地址进行分配,包括:
按照优先级由高到低的顺序对存储地址进行完整遍历,得到符合存储条件的存储地址;
在符合存储条件的存储地址中确定出最高优先级的存储地址,并进行分配。
可选的,所述方法还包括:
在按照优先级由高到低的顺序对存储地址进行分配时,若检测到存储地址回收,确定所述回收的存储地址的回收地址值;
判定所述回收地址值是否小于查找指针地址值;
若是,则将标记下次可分配的存储地址。
一种存储地址分配系统,所述系统包括:
确定模块,用于在接收到用于分配存储地址的指令时,确定已为各个存储地址预先配置的优先级信息,其中,所述优先级信息表征了存储地址被分配的先后顺序;
处理模块,用于根据各个存储地址的优先级信息,对各个存储地址进行优先级排序;根据排序结果,按照优先级由高到低的顺序对存储地址进行分配。
可选的,所述处理模块,还用于在回收存储地址时,根据预设计算规则,计算出所述存储地址的优先级;在所述存储地址中增加优先级位置,并将所述优先级添加到所述优先级位置。
可选的,所述处理模块,还用于按照优先级由高到低的顺序对存储地址进行完整遍历,得到符合存储条件的存储地址;在符合存储条件的存储地址中确定出最高优先级的存储地址,并进行分配。
可选的,所述处理模块,还用于在按照优先级由高到低的顺序对存储地址进行分配时,若检测到存储地址回收,确定所述回收的存储地址的回收地址值;判定所述回收地址值是否小于查找指针地址值;若是,则将标记下次可分配的存储地址。
通过本发明所提供的上述技术方案,首先对内存单元中的存储地址进行优先级计算,该优先级计算规则可以根据不同的场景需求来进行设置,然后将优先级结果写入到优先级位置中,从而进行存储地址分配时,可以根据优先级由高到低的顺序进行分分配,进而使得存储地址的分配的可以适用各种应用场景,提升了存储地址的管理效率。
附图说明
图1为本发明实施例中一种存储地址分配方法的流程图;
图2为本发明实施例中存储地址回收及优先级写入的示意图;
图3为本发明实施例中一种存储地址分配系统的结构示意图。
具体实施方式
下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解,本发明实施例以及实施例中的具体技术特征只是对本发明技术方案的说明,而不是限定,在不冲突的情况下,本发明实施例以及实施例中的具体技术特征可以相互组合。
如图1所示为本发明实施例中一种存储地址分配方法的流程图,该方法包括:
S11,在接收到用于分配存储地址的指令时,确定已为各个存储地址预先配置的优先级信息;
首先,在本发明实施例中需要对存储空间中的各个存储地址进行优先级计算,从而可以得到各个存储地址的优先级,具体为:在回收存储地址时,根据预设计算规则,计算出存储地址的优先级,在存储地址中增加优先级位置,并将优先级添加到优先级位置中,从而在后续对存储地址进行进行分配时,可以读取优先级位置中的优先级信息。具体如图2所示。
举例来讲,对于一些cache操作方式的memory地址分配,可以根据代码相关性高低的情形,按照特定算法对回收的地址进行优先级排序,后续可以优先分配该地址给master使用;还有采用DMA搬移传输的场景,可以设置不同的搬移门限,对比每个地址的存储单元累积的数据量,来设置每个地址的优先级,当DMA申请发起搬移操作时,地址管理回收控制器可以根据优先级来进行地址分配,这样可以有效提高效率和避免拥塞。优先级越高的存储地址将被优先分配。
这里需要说明是,一些大数据量传输存储过程中,需要对数据格式进行打包编辑,在打包编辑过程中,由于存储空间有限,需要将待编辑的数据进行转存,转存就是将不重要的数据从内存中搬移到外存中,释放出足够的内存空间给数据打包编辑使用。对内存空间的管理就可以用到bitmap优先级地址分配管理机制。
S12,根据各个地址的优先级信息,对各个存储地址进行优先级排序;
在得到各个地址优先级信息之后,对各个存储地址进行优先级排序,从而得到存储地址的优先级排序结果,这样后续可以更加便捷的对优先级高的存储地址进行分配。
S13,根据排序结果,按照优先级由高到低的顺序对存储地址进行分配。
分配地址时,按照优先级由高到低的顺序对存储地址进行完整遍历,得到符合存储条件的存储地址,在符合存储条件的存储地址中确定出最高优先级的存储地址,并进行分配。
具体来讲,在分配存储地址时,可以根据编辑的数据流种类进行区别对待。对于敏感和重要数据,需要及时处理,不能转存,因此将该数据占用的空间标记为最低优先级的搬移标志;对于最不重要的数据,标记为最高优先级的搬移标志,这样,当存储空间紧张的状态下,内存管理控制单元会将bitmap中标记为最高优先级的数据的内存地址中的数据搬移到外存中,释放内存单元给后续更高优先级的数据进行存储并进行数据处理,这样在数据打包重组的过程中,可以根据数据的重要程度来进行优先级编辑,从而将重要数据尽快处理完成并输出到下一级。
通过本发明所提供的上述技术方案,首先对内存单元中的存储地址进行优先级计算,该优先级计算规则可以根据不同的场景需求来进行设置,然后将优先级结果写入到优先级位置中,从而进行存储地址分配时,可以根据优先级由高到低的顺序进行分分配,进而使得存储地址的分配的可以适用各种应用场景,提升了存储地址的管理效率。
进一步,在本发明实施例中,在存储地址分配过程中,若检测到存储地址回收,确定回收的存储地址的回收地址值,判定回收地址值是否小于查找地址值,若是,则将标记下次可分配的存储地址。
具体来讲,在分配过程中,可能还存在地址的回收,因此需要规定查找算法是从低到高进行一次完整的bitmap地址遍历,即使后续回收的低地址中又标识为最高优先级,但若查找指针地址值>该回收地址值,即:查找的指针是指上一次通过查找算法找到的符合要求的memory地址值;回收的地址是指释放的地址,该地址在上一次查找时是无效地址,还未使用过,在上一次查询之后和发起本次查询之前,该地址被占用了,并标记为最高优先级,但因为查找的指针地址值已经在该地址的后面,根据地址从低到高遍历的原则,即使该地址被标记为最高优先级,但因为已经在前面了,不能被再次查找,需要等高位同等优先级的地址分配完成后,再进行下一轮的查找。
对应本发明实施例中一种存储地址分配方法,本发明实施例中还提供了一种存储地址分配系统,如图3所示为本发明实施例中一种存储地址分配系统的结构示意图,该系统包括:
确定模块301,用于在接收到用于分配存储地址的指令时,确定已为各个存储地址预先配置的优先级信息,其中,所述优先级信息表征了存储地址被分配的先后顺序;
处理模块302,用于根据各个存储地址的优先级信息,对各个存储地址进行优先级排序;根据排序结果,按照优先级由高到低的顺序对存储地址进行分配。
进一步,在本发明实施例中,所述处理模块302,还用于在回收存储地址时,根据预设计算规则,计算出所述存储地址的优先级;在所述存储地址中增加优先级位置,并将所述优先级添加到所述优先级位置。
进一步,在本发明实施例中,所述处理模块302,还用于按照优先级由高到低的顺序对存储地址进行完整遍历,得到符合存储条件的存储地址;在符合存储条件的存储地址中确定出最高优先级的存储地址,并进行分配。
进一步,在本发明实施例中,所述处理模块302,还用于在按照优先级由高到低的顺序对存储地址进行分配时,若检测到存储地址回收,确定所述回收的存储地址的回收地址值;判定所述回收地址值是否小于查找指针地址值;若是,则将标记下次可分配的存储地址。
尽管已描述了本申请的优选实施例,但本领域内的普通技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改,包括采用特定符号、标记确定顶点等变更方式。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (6)
1.一种存储地址分配方法,其特征在于,所述方法包括:
在接收到用于分配存储地址的指令时,确定已为各个存储地址预先配置的优先级信息,其中,所述优先级信息表征了存储地址被分配的先后顺序;
根据各个存储地址的优先级信息,对各个存储地址进行优先级排序;
根据排序结果,按照优先级由高到低的顺序对存储地址进行分配;
在按照优先级由高到低的顺序对存储地址进行分配时,若检测到存储地址回收,确定所述回收的存储地址的回收地址值;判定所述回收地址值是否小于查找指针地址值;若是,则将标记下次可分配的存储地址。
2.如权利要求1所述的方法,其特征在于,在确定各个存储地址的优先级之前,所述方法还包括:
在回收存储地址时,根据预设计算规则,计算出所述存储地址的优先级;
在所述存储地址中增加优先级位置,并将所述优先级添加到所述优先级位置。
3.如权利要求1所述的方法,其特征在于,按照优先级由高到低的顺序对存储地址进行分配,包括:
按照优先级由高到低的顺序对存储地址进行完整遍历,得到符合存储条件的存储地址;
在符合存储条件的存储地址中确定出最高优先级的存储地址,并进行分配。
4.一种存储地址分配系统,其特征在于,所述系统包括:
确定模块,用于在接收到用于分配存储地址的指令时,确定已为各个存储地址预先配置的优先级信息,其中,所述优先级信息表征了存储地址被分配的先后顺序;
处理模块,用于根据各个存储地址的优先级信息,对各个存储地址进行优先级排序;根据排序结果,按照优先级由高到低的顺序对存储地址进行分配;还用于在按照优先级由高到低的顺序对存储地址进行分配时,若检测到存储地址回收,确定所述回收的存储地址的回收地址值;判定所述回收地址值是否小于查找指针地址值;若是,则将标记下次可分配的存储地址。
5.如权利要求4所述的系统,其特征在于,所述处理模块,还用于在回收存储地址时,根据预设计算规则,计算出所述存储地址的优先级;在所述存储地址中增加优先级位置,并将所述优先级添加到所述优先级位置。
6.如权利要求4所述的系统,其特征在于,所述处理模块,还用于按照优先级由高到低的顺序对存储地址进行完整遍历,得到符合存储条件的存储地址;在符合存储条件的存储地址中确定出最高优先级的存储地址,并进行分配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811031524.1A CN109284234B (zh) | 2018-09-05 | 2018-09-05 | 一种存储地址分配方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811031524.1A CN109284234B (zh) | 2018-09-05 | 2018-09-05 | 一种存储地址分配方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109284234A CN109284234A (zh) | 2019-01-29 |
CN109284234B true CN109284234B (zh) | 2020-12-04 |
Family
ID=65183591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811031524.1A Active CN109284234B (zh) | 2018-09-05 | 2018-09-05 | 一种存储地址分配方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109284234B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115065664B (zh) * | 2022-06-17 | 2024-01-26 | 北京天融信网络安全技术有限公司 | 一种互联网协议地址的回收方法、电子设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998027689A1 (en) * | 1996-12-06 | 1998-06-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Broadcasting in an atm-network |
CN1819544A (zh) * | 2005-01-05 | 2006-08-16 | 华为技术有限公司 | 一种基于bitmap表的缓存管理方法 |
CN101231619A (zh) * | 2008-02-22 | 2008-07-30 | 浙江大学 | 一种基于非连续页的动态内存管理方法 |
CN101676906A (zh) * | 2008-09-18 | 2010-03-24 | 中兴通讯股份有限公司 | 一种利用位图对内存数据库空间进行管理的方法 |
CN104216835A (zh) * | 2014-08-25 | 2014-12-17 | 杨立群 | 一种实现内存融合的方法及装置 |
CN106131086A (zh) * | 2016-08-31 | 2016-11-16 | 迈普通信技术股份有限公司 | 一种访问控制列表的匹配方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1168727B1 (en) * | 2000-06-19 | 2006-05-03 | Broadcom Corporation | Memory management unit architecture for switch fabric |
-
2018
- 2018-09-05 CN CN201811031524.1A patent/CN109284234B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1998027689A1 (en) * | 1996-12-06 | 1998-06-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Broadcasting in an atm-network |
CN1819544A (zh) * | 2005-01-05 | 2006-08-16 | 华为技术有限公司 | 一种基于bitmap表的缓存管理方法 |
CN101231619A (zh) * | 2008-02-22 | 2008-07-30 | 浙江大学 | 一种基于非连续页的动态内存管理方法 |
CN101676906A (zh) * | 2008-09-18 | 2010-03-24 | 中兴通讯股份有限公司 | 一种利用位图对内存数据库空间进行管理的方法 |
CN104216835A (zh) * | 2014-08-25 | 2014-12-17 | 杨立群 | 一种实现内存融合的方法及装置 |
CN106131086A (zh) * | 2016-08-31 | 2016-11-16 | 迈普通信技术股份有限公司 | 一种访问控制列表的匹配方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109284234A (zh) | 2019-01-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100772863B1 (ko) | 요구 페이징 기법을 적용한 시스템에서 페이지 교체 수행시간을 단축시키는 방법 및 장치 | |
KR102013430B1 (ko) | 어레이 컨트롤러, 솔리드 스테이트 디스크, 및 데이터를 기록하기 위해 솔리드 스테이트 디스크를 제어하는 방법 | |
US6505283B1 (en) | Efficient memory allocator utilizing a dual free-list structure | |
JPH0883210A (ja) | 電子データ処理装置を備える装置 | |
CN111352931A (zh) | 一种哈希冲突的处理方法、装置及计算机可读存储介质 | |
CN106383666B (zh) | 一种数据存储方法及装置 | |
CN103425729B (zh) | 用于管理计算机系统中内存的方法和装置 | |
US11126607B1 (en) | Memory-aware system and method for identifying matching portions of two sets of data in a multiprocessor system | |
CN108733312B (zh) | 存储管理方法和设备 | |
CN104503703A (zh) | 缓存的处理方法和装置 | |
CN103809922A (zh) | 图像形成系统 | |
CN115599707A (zh) | 内存管理方法、装置、介质及电子设备 | |
CN114546295A (zh) | 一种基于zns固态硬盘的智能写分配方法和装置 | |
CN114327917A (zh) | 内存管理方法、计算设备及可读存储介质 | |
CN109284234B (zh) | 一种存储地址分配方法及系统 | |
CN104142979B (zh) | 一种实现rfid标签存储管理的索引方法 | |
CN115357540A (zh) | 存储系统及其计算存储处理器、固体硬盘和数据读写方法 | |
US9158682B2 (en) | Cache memory garbage collector | |
CN105677583A (zh) | 一种缓存管理方法及装置 | |
CN116303126B (zh) | 缓存、数据的处理方法及电子设备 | |
CN114385891B (zh) | 数据搜索方法、装置、电子设备及存储介质 | |
CN112817516A (zh) | 数据读写控制方法、装置、设备和存储介质 | |
CN112947863A (zh) | 一种飞腾服务器平台下存储空间合并成的方法 | |
CN111159438B (zh) | 一种数据的存储和检索方法、电子设备及存储介质 | |
US11928345B1 (en) | Method for efficiently processing instructions in a computational storage device |
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 |