CN103226522B - 一种固态硬盘缓冲区的数据块置换方法及装置 - Google Patents
一种固态硬盘缓冲区的数据块置换方法及装置 Download PDFInfo
- Publication number
- CN103226522B CN103226522B CN201310123251.4A CN201310123251A CN103226522B CN 103226522 B CN103226522 B CN 103226522B CN 201310123251 A CN201310123251 A CN 201310123251A CN 103226522 B CN103226522 B CN 103226522B
- Authority
- CN
- China
- Prior art keywords
- data block
- hit
- length
- solid state
- buffer zone
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤:每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi;将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。具有可以大量节约时间和空间资源的特点。
Description
技术领域
本发明涉及存储技术,尤其涉及一种固态硬盘缓冲区的数据块置换方法及装置。
背景技术
关于固态硬盘,目前有多种缓冲区置换方法和装置。
目前,各种方法和装置均存在的问题是处理非常复杂,并且多以数据页为单元进行处理,消耗大量的时间和空间资源。
迄今为止,还未出现很好解决大量消耗资源等技术问题的技术方案。
发明内容
本发明的目的是提供一种固态硬盘缓冲区的数据块置换方法,具有可以大量节约时间和空间资源的特点。
本发明采用下述技术方案:
本发明提供一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤:
a.每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi;
b.将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
步骤a包括如下步骤:
a1.获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,n为自然数,第i个数据块的命中长度为Bi,i为自然数;
a2.获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η;
a3.每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于或等于η则Bi不变;
a4.每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
本发明还提供了一种固态硬盘缓冲区的数据块置换装置,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述装置包括:
a.数据块长度处理器,所述数据块长度处理器用于每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi;
b.数据块置换器,所述数据块置换器用于将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
数据块长度处理器包括:
a1.t时间段数据块命中长度处理单元,所述数据块命中长度处理单元用于获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,n为自然数,第i个数据块的命中长度为Bi,i为自然数;
a2.数据块命中平均长度处理单元,所述数据块命中平均长度处理单元用于获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η;
a3.数据块比较单元,所述数据块比较单元用于每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于或等于η则Bi不变;
a4.T时间段数据块命中长度处理单元,所述T时间段数据块命中长度处理单元用于每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
本发明具有克服了以下2个问题:
其一,以数据页作为基本操作单位导致维护缓存的表很大且不易遍历访问和置换;
其二,无法满足大量随机写操作的要求;具有相当大的实用特点。
附图说明
图1是本发明的方法步骤示意图;
图2是本发明的装置结构示意图。
具体实施方式
本发明的实施例提供本发明的目的是提供一种固态硬盘缓冲区的数据块置换方法和装置,具有可以大量节约时间和空间资源的特点。
本发明采用下述技术方案:
本发明提供一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤:
步骤S1.每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi;
步骤S2.将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
步骤S1包括如下步骤:
S11.获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,n为自然数,第i个数据块的命中长度为Bi,i为自然数;
S12.获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η;
S13.每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于或等于η则Bi不变;
S14.每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
本发明还提供了一种固态硬盘缓冲区的数据块置换装置,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述装置包括:
a.数据块长度处理器1,所述数据块长度处理器1用于每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi;
b.数据块置换器2,所述数据块置换器2用于将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
数据块长度处理器1包括:
a1.t时间段数据块命中长度处理单元,所述数据块命中长度处理单元用于获取固态硬盘缓冲区中在时间t内的各个数据块的命中长度Bi,所述时间段T=nt,n为自然数,第i个数据块的命中长度为Bi,i为自然数;
a2.数据块命中平均长度处理单元,所述数据块命中平均长度处理单元用于获取固态硬盘缓冲区中在时间t内的所有被命中数据块的平均命中长度η;
a3.数据块比较单元,所述数据块比较单元用于每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于或等于η则Bi不变;
a4.T时间段数据块命中长度处理单元,所述T时间段数据块命中长度处理单元用于每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
以下对本发明的实施例进行更详细说明。
固态硬盘数据块缓冲区置换方法主要分为数据页缓存操作和数据块缓存操作两大部分。数据块中保护若干数据页。其中数据块空间的块大小定义为与固态硬盘中闪存执行擦除操作的块大小相同。
本实施例设立一个全局变量C,每当发生一次数据块写操作请求C自动加1,为缓冲区中数据块空间的每个数据块b关联了3个变量:L、M和N,其中L表示b进入缓冲区的顺序(当时的计数值),否则为最近一次被命中的顺序,被命中即指对数据块进行写操作;M是b的写操作计数器;N表示b最近两次被命中之间对其它数据块进行写操作的次数,称为“命中长度”,记为B.
“数据块命中长度Bi”为,经过某个时间段,缓冲区数据块空间中的某个数据块的命中长度。
数据页p命中长度的属于本领域技术人员所知的现有技术,本发明中不再赘述,而数据块A的命中长度与该数据块所包含的数据页p的命中长度有关。
数据块A命中长度的计算还需如下步骤。对数据块A的位置记法描述如下:
现在假设数据块A中包含s个数据页(按照数据页地址的从小到达的顺序依次记为p1,p2,…,ps)则:
数据块A在数据块序列中的第一个位置可以描述为向量
数据块A在数据块序列中的第二个位置可以描述为向量
对数据块A的两次位置所产生的“数据块命中长度Aij”的描述如下:
不难看出对Ai的处理是一个时间复杂度为O(nn)的处理,要占用非常大的时间和空间,因此需要引入数据块矩阵精简对Ai的处理。
对数据块Ai的矩阵精简处理如下:
对数据块Ai的矩阵选择合适的阈值k,通过阈值k对于矩阵Ai中的元素进行二维化;piqj≥k的全部置为1,对于piqj<k的全部置为0从而将Ai约简为这样中仅存在0或1两种值。
若设置k=1,则A12简化为
数据块命中长度A12的值为:
因此数据块Ai的命中长度为0。
而数据块平均命中长度η为,在某个时间段内,缓冲区中数据块空间内的数据块序列“b1,b2,…,bn”中所有被命中的数据块的命中长度的平均值。
例如,数据块的访问序列为:b1,b3,b4,b2,b3,则在访问第一个数据块b3之后,C=2,L=1,M=1,N=0;访问第二个b3后,C=5,L=5,M=2,N=3。
假设访问缓冲区中数据块序列为“b1,b2,b2,b3,b2,b1”而言,并规定数据块空间大小为6,初始状态为空.当访问最后一个b2时,可知在过去6次访问中,b1在第6次访问时被命中,其命中长度B1=5,而b2在第2、第3及第5次访问时被命中,其命中长度分别为0、0和1.可知该序列过去6次访问的平均命中长度是η=(5+0+0+1)/5=1.
数据块缓存发生数据块置换的过程以及判别条件,当一定时间内,计算出来的数据块序列中的各个数据块命中长度与数据Bi与数据块平均命中长度η做比较,若Bi大于或等于η则Bi自动加1,反之则不变;当需要做置换时,选择数据块序列中Bi数值最大的数据所对应的数据块作为替换块。
本发明具有克服了以下2个问题:
其一,以数据页作为基本操作单位导致维护缓存的表很大且不易遍历访问和置换;
其二,无法满足大量随机写操作的要求;具有相当大的实用特点。
以上对本发明的具体实施例进行了描述,需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以再所附权利要求的范围内做出各种变形或修改。
Claims (4)
1.一种固态硬盘缓冲区的数据块置换方法,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述方法包括以下步骤:
a.每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi,命中是指对数据块进行写操作,所述命中长度是指最近两次被命中之间对其它数据块进行写操作的次数;
b.将所有数据块中的命中长度Bi数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
2.根据权利要求1所述的方法,其特征在于,所述步骤a包括如下步骤:
a1.获取固态硬盘缓冲区中在时间t内的各个数据块命中长度Bi,所述时间段T=nt,n为自然数,第i个数据块的命中长度为Bi,i为自然数;
a2.获取固态硬盘缓冲区中在时间t内的所有被命中数据的平均命中长度η;
a3.每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于η则Bi不变;
a4.每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
3.一种固态硬盘缓冲区的数据块置换装置,用于在时间段T内置换所述固态硬盘缓冲区的数据块,所述固态硬盘缓冲区包括至少2个数据块,其特征在于,所述数据块置换装置包括:
a、数据块长度处理器,所述数据块长度处理器用于每隔时间段T,获取固态硬盘缓冲区中各个数据块的命中长度Bi,命中是指对数据块进行写操作,所述命中长度是指最近两次被命中之间对其它数据块进行写操作的次数;
b、数据块置换器,所述数据块置换器用于将所有数据块中的命中长度数值最大的数据块作为替换块,置换所有数据块中命中长度Bi的数值最小的数据块。
4.根据权利要求3所述的装置,其特征在于,所述数据块长度处理器包括:
a1.t时间段数据块命中长度处理单元,所述数据块命中长度处理单元用于获取固态硬盘缓冲区中在时间t内的各个数据块命中长度Bi,所述时间段T=nt,n为自然数,第i个数据块的命中长度为Bi,i为自然数;
a2.数据块命中平均长度处理单元,所述数据块命中平均长度处理单元用于获取固态硬盘缓冲区中在时间t内的所有被命中数据的平均命中长度η;
a3.数据块比较单元,所述数据块比较单元用于每隔时间段t,比较各个数据块的命中长度Bi与所有被命中数据块的平均命中长度η,若Bi大于或等于η则Bi自动加1,若Bi小于η则Bi不变;
a4.T时间段数据块命中长度处理单元,所述T时间段数据块命中长度处理单元用于每隔时间段T,即每隔时间段nt,获取各个数据块的命中长度Bi。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310123251.4A CN103226522B (zh) | 2013-04-10 | 2013-04-10 | 一种固态硬盘缓冲区的数据块置换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310123251.4A CN103226522B (zh) | 2013-04-10 | 2013-04-10 | 一种固态硬盘缓冲区的数据块置换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103226522A CN103226522A (zh) | 2013-07-31 |
CN103226522B true CN103226522B (zh) | 2016-07-06 |
Family
ID=48836979
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310123251.4A Active CN103226522B (zh) | 2013-04-10 | 2013-04-10 | 一种固态硬盘缓冲区的数据块置换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103226522B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105608014B (zh) * | 2015-07-21 | 2018-09-14 | 上海磁宇信息科技有限公司 | 一种使用mram的存储设备 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852318A (zh) * | 2006-04-19 | 2006-10-25 | 华中科技大学 | 适用于对象网络存储的分布式多级缓存*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7570555B2 (en) * | 2004-01-09 | 2009-08-04 | Panasonic Corporation | Digital data demodulator |
-
2013
- 2013-04-10 CN CN201310123251.4A patent/CN103226522B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1852318A (zh) * | 2006-04-19 | 2006-10-25 | 华中科技大学 | 适用于对象网络存储的分布式多级缓存*** |
Non-Patent Citations (1)
Title |
---|
FClock:一种面向SSD的自适应缓冲区管理算法;汤显等;《计算机学报》;20100815;第33卷(第8期);第1460-1471页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103226522A (zh) | 2013-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021120789A1 (zh) | 数据写入方法、装置及存储服务器和计算机可读存储介质 | |
CN103488583B (zh) | 一种高性能高可靠的固态盘实现方法 | |
US20220350784A1 (en) | Key-value storage device and method of operating the same | |
US20110225347A1 (en) | Logical block storage in a storage device | |
CN107622020B (zh) | 一种数据存储方法、访问方法及装置 | |
EP3316150B1 (en) | Method and apparatus for file compaction in key-value storage system | |
WO2019127104A1 (zh) | 高速缓存中资源调整方法、数据访问方法及装置 | |
JP2013521579A5 (zh) | ||
CN105095116A (zh) | 缓存替换的方法、缓存控制器和处理器 | |
CN109086141B (zh) | 内存管理方法和装置以及计算机可读存储介质 | |
CN105745628B (zh) | 一种将数据写入闪存装置的方法、闪存装置和存储*** | |
CN104408163A (zh) | 一种数据分级存储方法和装置 | |
JP2017084338A (ja) | フラッシュメモリのフラッシングを改善する方法およびシステム | |
US10067708B2 (en) | Memory synchronization filter | |
CN104102586A (zh) | 一种地址映射处理的方法、装置 | |
CN105359142B (zh) | 哈希连接方法和装置 | |
US20150212744A1 (en) | Method and system of eviction stage population of a flash memory cache of a multilayer cache system | |
CN105068941A (zh) | 一种缓存页面替换方法及装置 | |
CN106201918B (zh) | 一种基于大数据量和大规模缓存快速释放的方法和*** | |
CN107003932B (zh) | 多核处理器***的缓存目录处理方法和目录控制器 | |
CN102339255B (zh) | 一种Nand写平衡处理方法 | |
CN103226522B (zh) | 一种固态硬盘缓冲区的数据块置换方法及装置 | |
CN112764662B (zh) | 用于存储管理的方法、设备和计算机程序产品 | |
US10210103B2 (en) | Method and device for checking validity of memory access | |
CN104516823A (zh) | 一种数据存储方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220809 Address after: 8th Floor, Building 5, Henan Information Security Demonstration Base, No. 115, Baorui Road, Jinshui District, Zhengzhou City, Henan Province, 450000 Patentee after: Henan Zhongan Zhike Information Technology Co., Ltd. Address before: Room 1801, Unit 1, Building 2, No. 66, Jingsan Road, Jinshui District, Zhengzhou City, Henan Province, 450008 Patentee before: HENAN ZHONGTIAN YIKE ELECTRONIC SCIENCE & TECHNOLOGY CO.,LTD. |