CN108710581A - 基于布隆过滤器的pcm存储介质磨损均衡方法 - Google Patents
基于布隆过滤器的pcm存储介质磨损均衡方法 Download PDFInfo
- Publication number
- CN108710581A CN108710581A CN201810498071.7A CN201810498071A CN108710581A CN 108710581 A CN108710581 A CN 108710581A CN 201810498071 A CN201810498071 A CN 201810498071A CN 108710581 A CN108710581 A CN 108710581A
- Authority
- CN
- China
- Prior art keywords
- cold
- grouping
- page
- hot
- pcm
- 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
Links
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/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
- G06F2212/1036—Life time enhancement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/20—Employing a main memory using a specific memory technology
- G06F2212/202—Non-volatile memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种基于布隆过滤器的PCM存储介质磨损均衡方法,包括:(10)冷热转换链表结构查询:当需要读/写访问PCM的一个特定地址时,查询冷热转换链表结构是否有该地址;(20)冷热转换链表访问:若有该特定地址时,访问冷热转换链表中转换后的PCM地址,否则,直接访问PCM的原始地址;(30)写操作计数器更新:待地址访问操作完成后,若访问操作为写操作,更新布隆过滤器Partial Counting Bloom Filter相应的计数器值,否则流程结束;(40)访问超限检测:检测相应的计数器值是否超过阈值,若是,则执行冷热数据交换,否则流程结束。本发明的磨损均衡方法能使PCM存储介质写负载均衡、使用寿命延长。
Description
技术领域
本发明属于计算机体系结构和存储管理技术领域,特别是一种平衡写负载、延长使 用寿命长的基于布隆过滤器的PCM存储介质磨损均衡方法。
背景技术
大数据所催生的内存计算迅速发展和处理器核数不断增长,促使内存在速度、容量、 功耗和可靠性的需求都达到前所未有的新高度。在过去数十年期间,DRAM作为主要的主存储器被广泛应用在移动终端和大规模计算系统中。随着当前计算机系统对大容量、 低功耗、扩展性强的高性能内存的需求不断增加,现有DRAM面临高静态功耗、容量 提升达到上限、扩展性有限等多种技术挑战。
新型非易失性存储器(Non-Volatile Memory,NVM)的出现为打破这些限制提供了契机。 其中,一种称为相变存储器(Phase Change Memory,PCM)的NVM被视为最有希望替代DRAM成为下一代的主存储器。PCM具有非易失性、低静态功耗、扩展性强等特性, 但同时PCM单个存储单元的写寿命有限,耐受性差。由于PCM的每个存储单元只能 承受107~109次的写操作,远低于DRAM存储单元超过1015次写操作的耐久性,特别是 在连续写的情况下,PCM存储单元的耐受性将受到严重制约。如何更好地均匀化写操 作分布是设计高效磨损均衡算法必须考虑的因素。
研究者提出使用DRAM缓存技术来减少PCM的写操作次数,如ACM SAC’2012 论文“PRAM Wear-Leveling Algorithm for Hybrid Main Memory Based on Data Buffering,Swapping,and Shifting”(公开日:2012年3月26日)和IEEE DATE’2010论文“IncreasingPCM Main Memory Lifetime”(公开日:2010年3月8日)所采用的方法,还有同时通 过数据交换和移位技术来实现数据块内部和不同数据块之间的磨损均衡,如IEEE DATE’2010论文“Energy-and Endurance-Aware Design of Phase Change Memory Caches” (公开日:2010年3月8日)和IEEE ISCA’2009论文“A Durable and Energy Efficient Main MemoryUsing Phase Change Memory Technology”(公开日:2009年6月20日)。前者 将修改频繁的数据块缓存在DRAM中,把修改较少或者访问不频繁的数据块淘汰至 PCM,能够一定程度上减少写访问密集型应用对某些存储单元的磨损次数。数据移位和 交换技术通过改变逻辑地址到物理地址映射关系的方式,将磨损严重的存储单元的写操 作均匀到磨损较轻的存储单元,实现不同粒度下的写操作均匀分布。
现有的基于PCM的磨损均衡算法能够一定程度上延长PCM的写寿命,但是依然存在以下几点问题。第一,已有的以DRAM作为缓存减少PCM写次数的设计方法只关注 如何优化脏数据页的淘汰策略,并不能利用数据块的读写倾向性避免PCM上不必要的 写操作;第二,采用确定性映射机制的静态磨损均衡策略不能有效处理恶意访问攻击情 况下的写操作均匀分布,替换页的选择缺乏随机性的保护;第三,以单个页面为粒度的 磨损均衡操作在空间局部性较强的应用场景中效率低下。
发明内容
本发明的目的在于提供一种基于布隆过滤器的PCM存储介质磨损均衡方法,写负载均衡、使用寿命长。
实现本发明目的的技术解决方案为:
(10)冷热转换链表结构查询:当需要读/写访问非易失相变存储介质PCM的一个特定地址时,首先查询冷热转换链表结构,判断是否有该地址,;
(20)冷热转换链表访问:若冷热转换链表结构有需要访问的特定地址时,则表明该地址之前已进行过地址转换,访问冷热转换链表中转换后的PCM地址,否则,只需 直接访问非易失相变存储介质PCM的原始地址;
(30)写操作计数器更新:待地址访问操作完成后,若访问操作为写操作,更新Partial Counting Bloom Filter相应的计数器值,否则流程结束;
(40)访问超限检测:检测Partial Counting Bloom Filter相应的计数器值是否超过阈 值,若是,则执行冷热数据交换,否则流程结束。
与现有技术相比,本发明的显著优点为:
1、PCM写负载均衡:本发明首次采用基于Partial Counting Bloom Filter实现了分 组间和分组内的磨损均衡算法,使PCM存储介质各分组间、各分组内写操作负载都得 到很好的均衡;
2、PCM使用寿命长:由于PCM介质的写次数非常有限,本发明通过PCM分组间 和分组内的写负载均衡,避免了少数单元因为写操作过载而失效,从而延长了整个PCM 存储设备的使用寿命。
下面结合附图对本发明作进一步详细描述。
附图说明
图1是本发明基于布隆过滤器的PCM存储介质磨损均衡方法的主流程图。
图2是基于Partial Counting Bloom Filter的写计数近似统计示意图。
图3是图1中冷热数据交换步骤的流程图。
图4是基于Partial Counting Bloom Filter的组间磨损均衡策略示意图。
具体实施方式
如图1所示,本发明基于布隆过滤器的PCM存储介质磨损均衡方法,包括如下步骤:
(10)冷热转换链表结构查询:当需要读/写访问GB级非易失相变存储介质PCM 的一个特定地址时,首先查询冷热转换链表结构,判断是否有该地址,;
(20)冷热转换链表访问:若冷热转换链表结构有需要访问的特定地址时,则表明该地址之前已进行过地址转换,访问冷热转换链表中转换后的PCM地址,否则,只需 直接访问GB级非易失相变存储介质PCM的原始地址;
(30)写操作计数器更新:待地址访问操作完成后,若访问操作为写操作,更新Partial Counting Bloom Filter相应的计数器值,否则流程结束;
(40)访问超限检测:检测Partial Counting Bloom Filter相应的计数器是否超过阈值, 若是,则执行冷热数据交换,否则流程结束。
优选地,
所述冷热转换链表由两条按先进先出FIFO策略管理的链表构成,其中一条链表记录冷分组和热分组的数据交换,另一条链表记录分组内冷页面与热页面的数据交换。
优选地,
如图2所示为基于Partial Counting Bloom Filter的写计数近似统计示意图。
所述(30)计数器更新步骤中,所述Partial Counting Bloom Filter是将标准Bloom Filter 位数组的每一位扩展为一个小的计数器。计数器数组被等分成k个区域,其中k为哈希 函数个数。每个哈希函数hi只映射到其中一个区域,这里i=1,2,…,k;在插入元素时 给对应的k个计数器的值分别加1,删除元素时给对应的k个计数器的值分别减1。
如图3所示,所述(40)步骤访问超限后的进行冷热数据转换过程包括:
(41)地址空间分组:利用数据流的空间局部性,将相变存储介质PCM的地址空 间进行分组,每个分组大小为128MB,包含32768个页面;
(42)写操作次数跟踪:通过读取每个分组所分配的Partial Counting BloomFilter 的计数器,实时跟踪分组及分组内页面的写操作次数;
(43)写次数阈值设置:为分组的总写次数和分组内的页面写次数分别设置冷阈值Tgc和Tpc,为分组的总写次数和分组内的页面写次数分别设置热阈值Tgh和Tph;
(44)分组或页面分类:当整个分组或者分组内的页面的写操作次数不高于相应的写操作次数冷阈值Tgc或Tpc,则将相应的分组或页面归为冷分组或冷页面;而当整个 分组或者分组内的页面的写操作次数高于相应的写操作次数热阈值Tgh或Tph,则将相 应的分组或页面归为热分组或热页面;
(45)冷热页面地址间数据交换:当出现热分组或热页面时,则与冷分组或冷页面间进行一一对应的数据交换。
如图4所示为基于Partial Counting Bloom Filter的组间磨损均衡策略示意图。采用基 于Partial Counting Bloom Filter实现了分组间和分组内的磨损均衡算法,通过冷热转换 链表结构来记录页面地址映射的变换,使PCM存储介质各分组间、各分组内写操作负 载都得到很好的均衡,实现了PCM地址空间上的写操作负载平衡。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明 说明书及附图内容所作的等效结构变换,或直接或间接运用在其他相关的技术领域,均包括在本发明的专利保护范围内。
Claims (4)
1.一种基于布隆过滤器的PCM存储介质磨损均衡方法,其特征在于,包括如下步骤:
(10)冷热转换链表结构查询:当需要读/写访问非易失相变存储介质PCM的一个特定地址时,首先查询冷热转换链表结构,判断是否有该地址,;
(20)冷热转换链表访问:若冷热转换链表结构有需要访问的特定地址时,则表明该地址之前已进行过地址转换,访问冷热转换链表中转换后的PCM地址,否则,只需直接访问非易失相变存储介质PCM的原始地址;
(30)写操作计数器更新:待地址访问操作完成后,若访问操作为写操作,更新PartialCounting Bloom Filter相应的计数器值,否则流程结束;
(40)访问超限检测:检测Partial Counting Bloom Filter相应的计数器值是否超过阈值,若是,则执行冷热数据交换,否则流程结束。
2.根据权利要求1所述的磨损均衡方法,其特征在于:
所述冷热转换链表由两条按先进先出FIFO策略管理的链表构成,其中一条链表记录冷分组和热分组的数据交换,另一条链表记录分组内冷页面与热页面的数据交换。
3.根据权利要求1所述的磨损均衡方法,其特征在于:
所述(30)计数器更新步骤中,所述Partial Counting Bloom Filter是将标准BloomFilter位数组的每一位扩展为一个小的计数器,计数器数组被等分成k个区域,其中k为哈希函数个数;每个哈希函数hi只映射到其中一个区域,这里i=1,2,…,k;在插入元素时给对应的k个计数器的值分别加1,删除元素时给对应的k个计数器的值分别减1。
4.根据权利要求1所述的磨损均衡方法,其特征在于,所述(40)访问超限检测步骤中,执行冷热数据交换包括:
(41)地址空间分组:利用数据流的空间局部性,将相变存储介质PCM的地址空间进行分组,每个分组大小为128MB,包含32768个页面;
(42)写操作次数跟踪:通过读取每个分组所分配的Partial Counting Bloom Filter的计数器,实时跟踪分组及分组内页面的写操作次数;
(43)写次数阈值设置:为分组的总写次数和分组内的页面写次数分别设置冷阈值Tgc和Tpc,为分组的总写次数和分组内的页面写次数分别设置热阈值Tgh和Tph;
(44)分组或页面分类:当整个分组或者分组内的页面的写操作次数不高于相应的写操作次数冷阈值Tgc或Tpc,则将相应的分组或页面归为冷分组或冷页面;而当整个分组或者分组内的页面的写操作次数高于相应的写操作次数热阈值Tgh或Tph,则将相应的分组或页面归为热分组或热页面;
(45)冷热页面地址间数据交换:当出现热分组或热页面时,则与冷分组或冷页面间进行一一对应的数据交换,并通过冷热转换链表结构来记录页面地址映射的变换,实现PCM地址空间上的写操作负载平衡。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810498071.7A CN108710581A (zh) | 2018-05-23 | 2018-05-23 | 基于布隆过滤器的pcm存储介质磨损均衡方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810498071.7A CN108710581A (zh) | 2018-05-23 | 2018-05-23 | 基于布隆过滤器的pcm存储介质磨损均衡方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108710581A true CN108710581A (zh) | 2018-10-26 |
Family
ID=63869264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810498071.7A Pending CN108710581A (zh) | 2018-05-23 | 2018-05-23 | 基于布隆过滤器的pcm存储介质磨损均衡方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108710581A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290706A (zh) * | 2020-01-15 | 2020-06-16 | 哈尔滨工业大学 | 一种基于布隆过滤器的双层读写磨损均衡方法 |
CN111291126A (zh) * | 2020-02-28 | 2020-06-16 | 深信服科技股份有限公司 | 数据回收方法、装置、设备及存储介质 |
CN111629378A (zh) * | 2020-06-05 | 2020-09-04 | 上海创蓝文化传播有限公司 | 一种基于布隆过滤器拦截风险短信的方法及装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981972A (zh) * | 2012-12-25 | 2013-03-20 | 重庆大学 | 一种相变存储器的损耗均衡方法 |
-
2018
- 2018-05-23 CN CN201810498071.7A patent/CN108710581A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102981972A (zh) * | 2012-12-25 | 2013-03-20 | 重庆大学 | 一种相变存储器的损耗均衡方法 |
Non-Patent Citations (2)
Title |
---|
J. YUN, S. LEE AND S. YOO: "Bloom filter-based dynamic wear leveling for phase-change RAM", 《2012 DESIGN,AUTOMATION & TEST IN EUROPE CONFERENCE & EXHIBITION (DATE)》 * |
张震,付印金,胡谷雨: "基于布隆过滤器的新型混合内存架构磨损均衡策略", 《计算机应用》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111290706A (zh) * | 2020-01-15 | 2020-06-16 | 哈尔滨工业大学 | 一种基于布隆过滤器的双层读写磨损均衡方法 |
CN111290706B (zh) * | 2020-01-15 | 2023-03-31 | 哈尔滨工业大学 | 一种基于布隆过滤器的双层读写磨损均衡方法 |
CN111291126A (zh) * | 2020-02-28 | 2020-06-16 | 深信服科技股份有限公司 | 数据回收方法、装置、设备及存储介质 |
CN111291126B (zh) * | 2020-02-28 | 2023-09-05 | 深信服科技股份有限公司 | 数据回收方法、装置、设备及存储介质 |
CN111629378A (zh) * | 2020-06-05 | 2020-09-04 | 上海创蓝文化传播有限公司 | 一种基于布隆过滤器拦截风险短信的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762671A (zh) | 基于pcm和dram的混合内存系统及其管理方法 | |
CN107844269B (zh) | 一种基于一致性哈希的分层混合存储系统 | |
CN106547703B (zh) | 一种基于块组结构的ftl优化方法 | |
CN102760101B (zh) | 一种基于ssd 的缓存管理方法及系统 | |
CN101477492B (zh) | 一种用于固态硬盘的循环重写闪存均衡方法 | |
CN106293521B (zh) | 一种映射粒度自适应的闪存转换层管理方法 | |
Chiang et al. | Managing flash memory in personal communication devices | |
CN106528454B (zh) | 一种基于闪存的内存系统缓存方法 | |
CN103246616B (zh) | 一种长短周期访问频度的全局共享缓存替换方法 | |
CN109901800B (zh) | 一种混合内存系统及其操作方法 | |
CN101719099B (zh) | 减小固态硬盘写入放大的方法及装置 | |
CN104834607A (zh) | 一种提高分布式缓存的命中率并减少固态硬盘磨损的方法 | |
CN103608782A (zh) | Lsb页面和msb页面中的选择性数据存储 | |
CN109783020A (zh) | 一种基于ssd-smr混合键值存储系统的垃圾回收方法 | |
CN108710581A (zh) | 基于布隆过滤器的pcm存储介质磨损均衡方法 | |
CN101819509A (zh) | 一种固态硬盘读写方法 | |
Jia et al. | Hybrid-LRU caching for optimizing data storage and retrieval in edge computing-based wearable sensors | |
CN107423229B (zh) | 一种面向页级ftl的缓冲区改进方法 | |
CN102609358B (zh) | 聚集静态数据的方法及其固态硬盘 | |
CN105389135A (zh) | 一种固态盘内部缓存管理方法 | |
CN106844227A (zh) | 基于分组机制的固态硬盘磨损均衡方法及装置 | |
CN104881369B (zh) | 面向混合存储系统的低内存开销热点数据识别方法 | |
CN102253901B (zh) | 一种基于相变内存的读写区分数据存储替换方法 | |
CN108897490A (zh) | 一种dram/pram异质混合内存系统的数据管理方法 | |
KR20120078096A (ko) | 비휘발성 메모리 및 휘발성 메모리를 포함하는 메모리 시스템 및 그 시스템을 이용한 처리 방법 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20181026 |
|
WD01 | Invention patent application deemed withdrawn after publication |