CN103631528A - 用固态硬盘作为缓存器的读写方法、系统及读写控制器 - Google Patents

用固态硬盘作为缓存器的读写方法、系统及读写控制器 Download PDF

Info

Publication number
CN103631528A
CN103631528A CN201210297854.1A CN201210297854A CN103631528A CN 103631528 A CN103631528 A CN 103631528A CN 201210297854 A CN201210297854 A CN 201210297854A CN 103631528 A CN103631528 A CN 103631528A
Authority
CN
China
Prior art keywords
data
buffer
read
write
threshold value
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.)
Granted
Application number
CN201210297854.1A
Other languages
English (en)
Other versions
CN103631528B (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.)
Tsinghua University
Original Assignee
SUZHOU EJITEC 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 SUZHOU EJITEC Co Ltd filed Critical SUZHOU EJITEC Co Ltd
Priority to CN201210297854.1A priority Critical patent/CN103631528B/zh
Publication of CN103631528A publication Critical patent/CN103631528A/zh
Application granted granted Critical
Publication of CN103631528B publication Critical patent/CN103631528B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。方法包括:步骤A.数据读写时,判断数据是否为缓存数据;步骤B.若是,更新缓存数据热点阈值,输出缓存数据;若否,执行步骤C;步骤C.判断数据是否为读写历史数据;若是,执行步骤D;若否,执行步骤E;步骤D.判断数据的被读取次数是否大于等于缓存数据热点阈值,或是否为丢弃数据;若是,将数据写入缓存器,从缓存器输出数据到磁盘或磁盘控制器;若否,在磁盘和磁盘控制器间直接读写数据;步骤E.更新读写历史数据及历史数据热点阈值,在磁盘和磁盘控制器间直接读写数据。本发明提供的方法减少了固态硬盘的写入次数,延长了作为缓存器的固态硬盘寿命。

Description

用固态硬盘作为缓存器的读写方法、系统及读写控制器
技术领域
本发明涉及缓存器读写技术领域,特别是涉及一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。
背景技术
缓存器管理是存储控制器最重要的功能之一,是决定存储系统性能的关键因素之一,缓存器的目的就是能够把常用数据自动放到高速但容量较低的存储介质中,其目的就是能够预测将来能够可能会被使用到的数据。
现有技术中,只要存储控制器需要从磁盘中读写数据,就必须将磁盘的数据写入到缓存器中,然后再从缓存器中读写数据。如果请求读写的数据不在缓存中,那么必须将数据写入缓存器中,再实现数据的读写。固态硬盘(Solid StateDrive,固态硬盘)由于其高速的随机读取速度,最近几年开始在存储系统中得到广泛应用。固态硬盘具有如下特性:(1)高速的随机读取速度;(2)写入比读慢很多;(3)有限的写次数;(4)几乎无限的读次数。基于上述的特性,形成多级存储系统。但是,由于固态硬盘有限的写次数,这样必然降低固态硬盘的寿命和使用效率,因此需要一种有效方法在缓存满时进行替换管理,并且尽量把热点数据保存在缓冲中。
发明内容
基于此,有必要针对固态硬盘作为缓存器时,其写入次数有限导致降低固态硬盘寿命和使用效率的问题,提供一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。
一种用固态硬盘作为缓存器的数据读写方法,具体包括如下步骤:
步骤A、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;
步骤B,若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤F;若否,则执行步骤C;
步骤C、判断所述数据是否为读写历史数据;
若是,则执行步骤D;若否,则执行步骤E;
步骤D、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据;
若是,将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器;若否,则在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤F;
步骤E、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据;
步骤F,返回步骤A读写下一次数据直至读写结束。
在其中一个实施例中,在步骤D中,还包括如下步骤:
步骤D1,在将所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;
若是,则将所述数据写入缓存器;若否,则移除缓存器中预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,并更新历史数据热点阈值。
在其中一个实施例中,在所述步骤D中,还包括如下步骤:
步骤D2,在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
在其中一个实施例中,所述更新缓存数据热点阈值的方法为:
当U2<N时,U1=W1/T1
当U2≧N时,U1=U1/M,
其中,N,M为自然数,U1为缓存数据热点阈值,U2为历史数据热点阈值,W1为缓存器中每页被读取次数总和,T1为缓存页数。
在其中一个实施例中,所述更新历史数据热点阈值的方法为:
U2=W2/T2,
其中,W2为磁盘中每页的历史数据被读取次数总和,T2为磁盘中历史数据页数。
为实现本发明目的,本发明还提供了一种用固态硬盘作为缓存器的数据读写系统,包括相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器,还包括电连接到所述存储控制器、磁盘和缓存器的数据读写控制器;
所述数据读写控制器,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:
所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。
在其中一个实施例中,所述第三判断输出模块包括丢弃子模块,其中:
所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
在其中一个实施例中,所述第三判断输出模块还包括阈值更新子模块;
所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
在其中一个实施例中,所述数据读写控制器集成在所述存储控制器中。
本发明还提供一种数据读写控制器,用于在相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器之间进行数据读写控制,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:
所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。
在其中一个实施例中,所述第三判断输出模块包括丢弃子模块,其中:
所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
在其中一个实施例中,所述第三判断输出模块还包括阈值更新子模块;
所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
本发明的有益效果:本发明提供的用固态硬盘作为缓存器的读写方法、系统及读写控制器。针对固态硬盘的有限写次数的特性进行合理调整数据读写操作,当将固态硬盘作为缓存器时,对于非热点数据,存储控制器直接从磁盘进行数据读写,对于热点数据,存储控制器才会将热点数据写入固态硬盘中,以此减少了固态硬盘的写入次数,延长了作为缓存器的固态硬盘的寿命。
附图说明
图1为本发明用固态硬盘作为缓存器的读写方法的实施例的流程图;
图2为本发明用固态硬盘作为缓存器的读写方法的实施例一的具体流程图;
图3为本发明用固态硬盘作为缓存器的读写方法的实施例一的原理示意图;
图4为本发明用固态硬盘作为缓存器的读写系统的结构示意图。
具体实施方式
为了更好地阐述本发明,现结合附图,进一步详细说明本发明提供的用固态硬盘作为缓存器的读写方法、系统及读写控制器的具体技术方案。
如图1所示,为本发明实施例所提供的用固态硬盘作为缓存器的读写方法实施例的流程图,接下来结合流程图进行详细描述本发明实现的方法步骤。
一种用固态硬盘作为缓存器的数据读写方法,具体包括如下步骤:
步骤S1、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;
步骤S2、若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤S6;若否,则执行步骤S3;
步骤S3、判断所述数据是否为读写历史数据;
若是,则执行步骤S4;若否,则执行步骤S5;
步骤S4、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据;
若是,则执行步骤S7;;若否,则执行步骤S8;
步骤S5、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据;
步骤S6、返回步骤S1读写下一次数据直至读写结束。
步骤S7、将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,执行步骤S2;
步骤S8、在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤S6。
本发明实施例在具体实施时,上述各步骤可以用固态硬盘作为缓存器的读写系统来完成。下面对上述流程进行进一步的详细说明:
作为一种可实施方式,在所述步骤S4中,还包括如果下步骤:
步骤D1,在将所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;
若是,则将所述数据写入缓存器;若否,则移除缓存器中预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,并更新历史数据热点阈值。
作为一种可实施方式,在所述步骤S4中,还包括如下步骤:
步骤D2,在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
作为一种可实施方式,所述更新缓存数据热点阈值的方法为:
当U2<N时,U1=W1/T1,
当U2≧N时,U1=U1/M,
其中,N,M为自然数,U1为缓存数据热点阈值,U2为历史数据热点阈值,W1为缓存器中每页被读取次数总和,T1为缓存页数。
作为一种可实施方式,所述更新历史数据热点阈值的方法为:
U2=W2/T2
其中,W2为磁盘中每页的历史数据被读取次数总和,T2为磁盘中历史数据页数。
为了更好地说明本发明实施例提供的用固态硬盘作为缓存器的读写方法,举一个实际的例子加以说明,图2示意了实施例一的用固态硬盘作为缓存器的读写方法的具体流程。
实施例一:
步骤S100、初始化缓存器,即清除缓存器中的缓存数据;
步骤S101、输入数据X;
步骤S102、判断所述数据X是否为缓存数据,若是,则执行步骤S103,若否,则执行步骤S105;该步骤是为了优先从所述缓存器中读取数据,由于固态硬盘作为缓存器,其读写速度较高,因此优先从缓存器中读取数据,能够达到快速处理数据的效果;
步骤S103、更新缓存数据热点阈值。
缓存数据热点阈值计算方法为:
当U2<N时,U1=W1/T1,
当U2N时,U1=U1/M,
其中,N,M为自然数,U1为缓存数据热点阈值,U2为历史数据热点阈值,W1为缓存器中每页被读取次数总和,T1为缓存页数;
步骤S104、从所述缓存器中输出X,返回步骤S116;
步骤S105、判断请求读取的所述数据X是否为历史数据,若是,则执行步骤S108,若否,执行步骤S106;
步骤S106、更新所述历史数据,执行所述数据X的被读取次数加1的操作,以确定所述数据X的热点,以备在所述数据X的热点较高时,将所述数据X写入所述缓存器中,执行下一步骤;
步骤S107、更新所述历史数据热点阈值,执行步骤S110;
步骤S108、判断所述数据X的被读取次数是否大于等于缓存数据热点阈值,或者所述数据X是否为丢弃数据,若是,则执行步骤S111,若否,执行步骤S109;所述数据X的被读取次数加1的操作,直接从磁盘中输出所述数据X;
步骤S109、执行所述数据X的被读取次数加1的操作,执行下一步骤;
步骤S110、更新缓存数据热点阈值,执行下一步骤;
步骤S111、直接从磁盘输出所述数据X;
步骤S112、判断所述缓存器是否还有存储空间,若是,则执行步骤S113;若否,则执行步骤S 115;
步骤S 113、将预设时间周期内读取次数最少的缓存数据移除,并将移除的数据标识为丢弃数据,执行下一步骤,
步骤S114、更新历史数据热点阈值;
步骤S115、从所述缓存器中分配存储空间,将所述数据X写入所述缓存器中,执行步骤S103。
上述本发明实施例的用固态硬盘作为缓存器的读写方法中,所述缓存数据,指的是数据本身存储于缓存器中的数据;所述历史数据,指的是数据本身存储于磁盘中,内存中只保存着映射关系的数据。
图3为本发明用固态硬盘作为缓存器的读写方法的实施例一的原理示意图。
存储控制器读写数据,共有3种不同的路径:
第一种,请求读写的数据X在缓存器中为缓存数据,当缓存器为读缓存时,则只经历路径20,完成数据X的读取,当缓存器为写缓存时,则只经历路径10,将所述数据X由固态硬盘写入磁盘;
第二种,请求读写的所述数据X在磁盘中,为历史数据,且所述数据X的被读取次数小于热点阈值,且所述数据X为非丢弃数据,那么存储控制器只经历路径30直接对磁盘进行所述数据X的读写即可;
第三种,请求读取的数据X在磁盘中,且所述数据X为丢弃数据或者所述数据X的被读取次数大于等于缓存数据热点阈值,当缓存器为读缓存时,存储控制器首先经历路径10将数据X从磁盘写入缓存器中为缓存数据,再经历路径20从缓存器中读取数据X,当缓存器为写缓存时,存储控制器首先经历路径20将数据X写入缓存器中,为缓存数据,在经历路径10将数据X从固态硬盘写入磁盘。
基于同一发明构思,本发明实施例还提供了一种用固态硬盘作为缓存器的读写系统,由于此系统解决问题的原理与前述用于用固态硬盘作为缓存器的读写方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
本发明实施例还提供了一种用固态硬盘作为缓存器的数据读写系统,如图4所示,包括相互电连接的存储控制器42、存储数据的磁盘43、以及用固态硬盘进行缓存读写数据的缓存器41;还包括电连接到所述存储控制器、磁盘和缓存器的数据读写控制器40。
所述数据读写控制器40,包括第一判断输出模块401、第二判断模块402、第三判断输出模块403、更新模块404和返回执行模块405,其中:
所述第一判断输出模块401,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
所述第二判断模块402,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
所述第三判断输出模块403,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述更新模块404,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述返回执行模块405,用于执行返回所述第一判断输出模块执行相应的操作。
较佳地,所述第三判断输出模块403包括丢弃子模块4031,其中:
所述丢弃子模块4031,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
较佳地,所述第三判断输出模块403还包括阈值更新子模块4032;
所述阈值更新子模块4032,用于在所述数据从磁盘43输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
本发明还提供一种数据读写控制器,参见图4,图4所示意的用固态硬盘作为缓存器的数据读写系统中,所述的数据读写控制器40用于在相互电连接的存储控制器41、存储数据的磁盘43、以及用固态硬盘进行缓存读写数据的缓存器42之间进行数据读写控制。所述数据读写控制器40包括第一判断输出模块401、第二判断模块402、第三判断输出模块403、更新模块404和返回执行模块405,其中:
所述第一判断输出模块401,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
所述第二判断模块402,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
所述第三判断输出模块403,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述更新模块404,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述返回执行模块405,用于执行返回所述第一判断输出模块执行相应的操作。
作为一种可实施方式,所述第三判断输出模块403包括丢弃子模块4031,其中:
所述丢弃子模块4031,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
作为一种可实施方式,所述第三判断输出模块403还包括阈值更新子模块4032;
所述阈值更新子模块4032,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (12)

1.一种用固态硬盘作为缓存器的数据读写方法,其特征在于,具体包括如下步骤:
步骤A、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;
步骤B、若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤F;若否,则执行步骤C;
步骤C、判断所述数据是否为读写历史数据;
若是,则执行步骤D;若否,则执行步骤E;
步骤D、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据;
若是,将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器;若否,则在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤F;
步骤E、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据;
步骤F、返回步骤A读写下一次数据直至读写结束。
2.根据权利要求1所述的用固态硬盘作为缓存器的读写方法,其特征在于,在步骤D中,还包括如下步骤:
步骤D1、在将所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;
若是,则将所述数据写入缓存器;若否,则移除缓存器中预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,并更新历史数据热点阈值。
3.根据权利要求1所述的用固态硬盘作为缓存器的读写方法,其特征在于,在所述步骤D中,还包括如下步骤:
步骤D2、在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
4.根据权利要求1或3所述的用固态硬盘作为缓存器的读写方法,其特征在于,所述更新缓存数据热点阈值的方法为:
当U2<N时,U1=W1/T1
当U2≧N时,U1=U1/M,
其中,N,M为自然数,U1为缓存数据热点阈值,U2为历史数据热点阈值,W1为缓存器中每页被读取次数总和,T1为缓存页数。
5.根据权利要求1或2所述的用固态硬盘作为缓存器的读写方法,其特征在于,所述更新历史数据热点阈值的方法为:
U2=W2/T2
其中,W2为磁盘中每页的历史数据被读取次数总和,T2为磁盘中历史数据页数。
6.一种用固态硬盘作为缓存器的数据读写系统,包括相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器,其特征在于,还包括电连接到所述存储控制器、磁盘和缓存器的数据读写控制器;
所述数据读写控制器,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:
所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。
7.根据权利要求6所述的用固态硬盘作为缓存器的数据读写系统,其特征在于,
所述第三判断输出模块包括丢弃子模块,其中:
所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
8.根据权利要求7所述的用固态硬盘作为缓存器的数据读写系统,其特征在于,所述第三判断输出模块还包括阈值更新子模块;
所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
9.根据权利要求6至8任一项所述的用固态硬盘作为缓存器的数据读写系统,其特征在于,所述数据读写控制器集成在所述存储控制器中。
10.一种数据读写控制器,用于在相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器之间进行数据读写控制,其特征在于,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:
所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。
11.根据权利要求10所述的数据读写控制器,其特征在于,所述第三判断输出模块包括丢弃子模块,其中:
所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
12.根据权利要求11所述的数据读写控制器,其特征在于,所述第三判断输出模块还包括阈值更新子模块,其中:
所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
CN201210297854.1A 2012-08-21 2012-08-21 用固态硬盘作为缓存器的读写方法、系统及读写控制器 Active CN103631528B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210297854.1A CN103631528B (zh) 2012-08-21 2012-08-21 用固态硬盘作为缓存器的读写方法、系统及读写控制器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210297854.1A CN103631528B (zh) 2012-08-21 2012-08-21 用固态硬盘作为缓存器的读写方法、系统及读写控制器

Publications (2)

Publication Number Publication Date
CN103631528A true CN103631528A (zh) 2014-03-12
CN103631528B CN103631528B (zh) 2016-05-18

Family

ID=50212641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210297854.1A Active CN103631528B (zh) 2012-08-21 2012-08-21 用固态硬盘作为缓存器的读写方法、系统及读写控制器

Country Status (1)

Country Link
CN (1) CN103631528B (zh)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461935A (zh) * 2014-11-27 2015-03-25 华为技术有限公司 一种进行数据存储的方法、装置及系统
CN104461936A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 缓存数据的刷盘方法及装置
CN105138292A (zh) * 2015-09-07 2015-12-09 四川神琥科技有限公司 磁盘数据读取方法
WO2016141735A1 (zh) * 2015-03-11 2016-09-15 华为技术有限公司 缓存数据的确定方法及装置
CN106227471A (zh) * 2016-08-19 2016-12-14 深圳大普微电子科技有限公司 固态硬盘和应用于固态硬盘的数据存取方法
CN107203476A (zh) * 2016-03-18 2017-09-26 慧荣科技股份有限公司 数据储存装置、存储器控制器及其数据管理方法
CN107368364A (zh) * 2017-07-24 2017-11-21 郑州云海信息技术有限公司 基于Linux noop调度算法的读写方法及装置
CN109213693A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 存储管理方法、存储系统和计算机程序产品
CN110704336A (zh) * 2019-09-26 2020-01-17 北京神州绿盟信息安全科技股份有限公司 一种数据缓存方法及装置
CN110716689A (zh) * 2018-07-11 2020-01-21 阿里巴巴集团控股有限公司 数据处理方法、装置及计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710530A (zh) * 2005-07-21 2005-12-21 华中科技大学 基于对象的存储控制器及其使用的调度方法
CN101833422A (zh) * 2010-03-08 2010-09-15 成都市华为赛门铁克科技有限公司 磁盘阵列的数据处理方法及设备
CN101894048A (zh) * 2010-05-07 2010-11-24 中国科学院计算技术研究所 一种基于阶段分析的缓存动态划分方法和系统
US20110219169A1 (en) * 2010-03-04 2011-09-08 Microsoft Corporation Buffer Pool Extension for Database Server

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1710530A (zh) * 2005-07-21 2005-12-21 华中科技大学 基于对象的存储控制器及其使用的调度方法
US20110219169A1 (en) * 2010-03-04 2011-09-08 Microsoft Corporation Buffer Pool Extension for Database Server
CN101833422A (zh) * 2010-03-08 2010-09-15 成都市华为赛门铁克科技有限公司 磁盘阵列的数据处理方法及设备
CN101894048A (zh) * 2010-05-07 2010-11-24 中国科学院计算技术研究所 一种基于阶段分析的缓存动态划分方法和系统

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104461935B (zh) * 2014-11-27 2018-03-13 华为技术有限公司 一种进行数据存储的方法、装置及系统
CN104461935A (zh) * 2014-11-27 2015-03-25 华为技术有限公司 一种进行数据存储的方法、装置及系统
CN104461936B (zh) * 2014-11-28 2017-10-17 华为技术有限公司 缓存数据的刷盘方法及装置
CN104461936A (zh) * 2014-11-28 2015-03-25 华为技术有限公司 缓存数据的刷盘方法及装置
WO2016141735A1 (zh) * 2015-03-11 2016-09-15 华为技术有限公司 缓存数据的确定方法及装置
CN105138292A (zh) * 2015-09-07 2015-12-09 四川神琥科技有限公司 磁盘数据读取方法
CN107203476A (zh) * 2016-03-18 2017-09-26 慧荣科技股份有限公司 数据储存装置、存储器控制器及其数据管理方法
CN107203476B (zh) * 2016-03-18 2021-08-31 慧荣科技股份有限公司 数据储存装置、存储器控制器及其数据管理方法
CN106227471A (zh) * 2016-08-19 2016-12-14 深圳大普微电子科技有限公司 固态硬盘和应用于固态硬盘的数据存取方法
US10810127B2 (en) 2016-08-19 2020-10-20 Shenzhen Dapu Microelectronics Co., Ltd. Solid-state hard disk and data access method for use with solid-state hard disk
CN109213693A (zh) * 2017-06-30 2019-01-15 伊姆西Ip控股有限责任公司 存储管理方法、存储系统和计算机程序产品
CN107368364A (zh) * 2017-07-24 2017-11-21 郑州云海信息技术有限公司 基于Linux noop调度算法的读写方法及装置
CN110716689A (zh) * 2018-07-11 2020-01-21 阿里巴巴集团控股有限公司 数据处理方法、装置及计算设备
CN110704336A (zh) * 2019-09-26 2020-01-17 北京神州绿盟信息安全科技股份有限公司 一种数据缓存方法及装置
CN110704336B (zh) * 2019-09-26 2021-10-15 绿盟科技集团股份有限公司 一种数据缓存方法及装置

Also Published As

Publication number Publication date
CN103631528B (zh) 2016-05-18

Similar Documents

Publication Publication Date Title
CN103631528A (zh) 用固态硬盘作为缓存器的读写方法、系统及读写控制器
US8195971B2 (en) Solid state disk and method of managing power supply thereof and terminal including the same
KR101861545B1 (ko) 저장 장치의 데이터 관리 방법
KR101453313B1 (ko) 플래시 메모리 기반의 페이지 주소 사상 방법 및 시스템
CN101981551B (zh) 用于高速缓存利用的设备和方法
US7564721B2 (en) Method and apparatus for improving storage performance using a background erase
CN103294604A (zh) 闪存器件和使用闪存器件的电子设备
JP2018206380A (ja) バッファ保有期間管理を備えたデータ・ストレージ・デバイス
US7519764B2 (en) Apparatus and method for detecting data validity in flash memory
CN114730285B (zh) 用于固态存储设备的存储器控制器
CN1938670A (zh) 双媒体存储装置
CA2673434A1 (en) Memory device performance enhancement through pre-erase mechanism
CN102203717A (zh) 固态驱动器优化器
CN108874309B (zh) 一种管理固态硬盘中物理块的方法和装置
US20120096213A1 (en) Cache memory device, cache memory control method, program and integrated circuit
CN102272848A (zh) 控制内存条存取的固态硬盘控制器
CN101004709A (zh) 信息存储装置及其控制方法
CN103324586A (zh) 动态自适应缓存系统
CN102981970A (zh) 闪存管理方法和系统
KR101481898B1 (ko) Ssd의 명령어 큐 스케줄링 장치 및 방법
CN103902468A (zh) 存储系统的数据清除方法和装置
CN103531223A (zh) 存储系统和存储系统中包括的存储器件的操作方法
CN101739350B (zh) 存储器储存装置及其控制方法
KR20120098068A (ko) 플래시 메모리 배드 블록 관리 장치 및 방법
CN103412727A (zh) 优化固态硬盘的删减命令的方法及其固态硬盘

Legal Events

Date Code Title Description
PB01 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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20160926

Address after: Xinghu street Suzhou Industrial Park in Jiangsu province 215000 room A4-506 No. 218

Patentee after: SUZHOU ACQUITRONIX INFORMATION TECHNOLOGY CO., LTD.

Address before: Suzhou City, Jiangsu Province, Suzhou Industrial Park, 215021 Street No. 218 Nano Technology Park building A4 room 505

Patentee before: Suzhou Ejitec Co., Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Huaqiang

Inventor after: Gao Bin

Inventor after: Wang Bo

Inventor after: Qian He

Inventor before: Wang Shu

Inventor before: Liu Hongyue

Inventor before: Wang Xuguang

Inventor before: Jiang Wancheng

Inventor before: Qin Longhua

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20170808

Address after: 100084 Beijing City, Haidian District Tsinghua Yuan

Patentee after: Tsinghua University

Address before: Xinghu street Suzhou Industrial Park in Jiangsu province 215000 room A4-506 No. 218

Patentee before: SUZHOU ACQUITRONIX INFORMATION TECHNOLOGY CO., LTD.