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

文档序号:6487996阅读:120来源:国知局
用固态硬盘作为缓存器的读写方法、系统及读写控制器的制造方法
【专利摘要】本发明公开了一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。方法包括:步骤A.数据读写时,判断数据是否为缓存数据;步骤B.若是,更新缓存数据热点阈值,输出缓存数据;若否,执行步骤C;步骤C.判断数据是否为读写历史数据;若是,执行步骤D;若否,执行步骤E;步骤D.判断数据的被读取次数是否大于等于缓存数据热点阈值,或是否为丢弃数据;若是,将数据写入缓存器,从缓存器输出数据到磁盘或磁盘控制器;若否,在磁盘和磁盘控制器间直接读写数据;步骤E.更新读写历史数据及历史数据热点阈值,在磁盘和磁盘控制器间直接读写数据。本发明提供的方法减少了固态硬盘的写入次数,延长了作为缓存器的固态硬盘寿命。
【专利说明】用固态硬盘作为缓存器的读写方法、系统及读写控制器
【技术领域】
[0001]本发明涉及缓存器读写【技术领域】,特别是涉及一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。
【背景技术】
[0002]缓存器管理是存储控制器最重要的功能之一,是决定存储系统性能的关键因素之一,缓存器的目的就是能够把常用数据自动放到高速但容量较低的存储介质中,其目的就是能够预测将来能够可能会被使用到的数据。
[0003]现有技术中,只要存储控制器需要从磁盘中读写数据,就必须将磁盘的数据写入到缓存器中,然后再从缓存器中读写数据。如果请求读写的数据不在缓存中,那么必须将数据写入缓存器中,再实现数据的读写。固态硬盘(Solid State Drive,固态硬盘)由于其高速的随机读取速度,最近几年开始在存储系统中得到广泛应用。固态硬盘具有如下特性:
(I)高速的随机读取速度;(2)写入比读慢很多;(3)有限的写次数;(4)几乎无限的读次数。基于上述的特性,形成多级存储系统。但是,由于固态硬盘有限的写次数,这样必然降低固态硬盘的寿命和使用效率,因此需要一种有效方法在缓存满时进行替换管理,并且尽量把热点数据保存在缓冲中。

【发明内容】

[0004]基于此,有必要针对固态硬盘作为缓存器时,其写入次数有限导致降低固态硬盘寿命和使用效率的问题,提供一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。
[0005]一种用固态硬盘作为缓存器的数据读写方法,具体包括如下步骤:
[0006]步骤A、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;
[0007]步骤B,若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤F ;若否,则执行步骤C ;
[0008]步骤C、判断所述数据是否为读写历史数据;
[0009]若是,则执行步骤D ;若否,则执行步骤E ;
[0010]步骤D、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据;
[0011]若是,将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器;若否,则在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤F ;
[0012]步骤E、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加I,在所述磁盘和磁盘控制器间直接读写所述数据;
[0013]步骤F,返回步骤A读写下一次数据直至读写结束。
[0014]在其中一个实施例中,在步骤D中,还包括如下步骤:
[0015]步骤D1,在将所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;
[0016]若是,则将所述数据写入缓存器;若否,则移除缓存器中预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,并更新历史数据热点阈值。
[0017]在其中一个实施例中,在所述步骤D中,还包括如下步骤:
[0018]步骤D2,在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
[0019]在其中一个实施例中,所述更新缓存数据热点阈值的方法为:
[0020]当队州时,U1=%/%,
[0021]当U2 兰 N 时,U1 = U1ZM,
[0022]其中,N,M为自然数,U1为缓存数据热点阈值,U2为历史数据热点阈值,W1为缓存器中每页被读取次数总和,T1为缓存页数。
[0023]在其中一个实施例中,所述更新历史数据热点阈值的方法为:
[0024]U2 = W2/T2,
[0025]其中,W2为磁盘中每页的历史数据被读取次数总和,T2为磁盘中历史数据页数。
[0026]为实现本发明目的,本发明还提供了一种用固态硬盘作为缓存器的数据读写系统,包括相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器,还包括电连接到所述存储控制器、磁盘和缓存器的数据读写控制器;
[0027]所述数据读写控制器,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:
[0028]所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
[0029]所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
[0030]所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0031]所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0032]所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。
[0033]在其中一个实施例中,所述第三判断输出模块包括丢弃子模块,其中:
[0034]所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
[0035]在其中一个实施例中,所述第三判断输出模块还包括阈值更新子模块;
[0036]所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
[0037]在其中一个实施例中,所述数据读写控制器集成在所述存储控制器中。
[0038]本发明还提供一种数据读写控制器,用于在相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器之间进行数据读写控制,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:
[0039]所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
[0040]所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
[0041 ] 所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0042]所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0043]所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。
[0044]在其中一个实施例中,所述第三判断输出模块包括丢弃子模块,其中:
[0045]所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
[0046]在其中一个实施例中,所述第三判断输出模块还包括阈值更新子模块;
[0047]所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
[0048]本发明的有益效果:本发明提供的用固态硬盘作为缓存器的读写方法、系统及读写控制器。针对固态硬盘的有限写次数的特性进行合理调整数据读写操作,当将固态硬盘作为缓存器时,对于非热点数据,存储控制器直接从磁盘进行数据读写,对于热点数据,存储控制器才会将热点数据写入固态硬盘中,以此减少了固态硬盘的写入次数,延长了作为缓存器的固态硬盘的寿命。
【专利附图】

【附图说明】
[0049]图1为本发明用固态硬盘作为缓存器的读写方法的实施例的流程图;
[0050]图2为本发明用固态硬盘作为缓存器的读写方法的实施例一的具体流程图;
[0051]图3为本发明用固态硬盘作为缓存器的读写方法的实施例一的原理示意图;
[0052]图4为本发明用固态硬盘作为缓存器的读写系统的结构示意图。
【具体实施方式】[0053]为了更好地阐述本发明,现结合附图,进一步详细说明本发明提供的用固态硬盘作为缓存器的读写方法、系统及读写控制器的具体技术方案。
[0054]如图1所示,为本发明实施例所提供的用固态硬盘作为缓存器的读写方法实施例的流程图,接下来结合流程图进行详细描述本发明实现的方法步骤。
[0055]一种用固态硬盘作为缓存器的数据读写方法,具体包括如下步骤:
[0056]步骤S1、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;
[0057]步骤S2、若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤S6 ;若否,则执行步骤S3 ;
[0058]步骤S3、判断所述数据是否为读写历史数据;
[0059]若是,则执行步骤S4 ;若否,则执行步骤S5 ;
[0060]步骤S4、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据;
[0061]若是,则执行步骤S7 ;;若否,则执行步骤S8 ;
[0062]步骤S5、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加I,在所述磁盘和磁盘控制器间直接读写所述数据;
[0063]步骤S6、返回步骤SI读写下一次数据直至读写结束。
[0064]步骤S7、将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,执行步骤S2;
[0065]步骤S8、在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤S6。
[0066]本发明实施例在具体实施时,上述各步骤可以用固态硬盘作为缓存器的读写系统来完成。下面对上述流程进行进一步的详细说明:
[0067]作为一种可实施方式,在所述步骤S4中,还包括如果下步骤:
[0068]步骤D1,在将所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;
[0069]若是,则将所述数据写入缓存器;若否,则移除缓存器中预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,并更新历史数据热点阈值。
[0070]作为一种可实施方式,在所述步骤S4中,还包括如下步骤:
[0071]步骤D2,在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
[0072]作为一种可实施方式,所述更新缓存数据热点阈值的方法为:
[0073]当U2〈N 时,Ul = W1/T1,
[0074]当U2 兰 N 时,U1 = U1ZM,
[0075]其中,N,M为自然数,U1为缓存数据热点阈值,U2为历史数据热点阈值,W1为缓存器中每页被读取次数总和,T1为缓存页数。
[0076]作为一种可实施方式,所述更新历史数据热点阈值的方法为:
[0077]U2 = ff2/T2,
[0078]其中,W2为磁盘中每页的历史数据被读取次数总和,T2为磁盘中历史数据页数。
[0079]为了更好地说明本发明实施例提供的用固态硬盘作为缓存器的读写方法,举一个实际的例子加以说明,图2示意了实施例一的用固态硬盘作为缓存器的读写方法的具体流程。
[0080]实施例一:
[0081]步骤S100、初始化缓存器,即清除缓存器中的缓存数据;
[0082]步骤S101、输入数据X;
[0083]步骤S102、判断所述数据X是否为缓存数据,若是,则执行步骤S103,若否,则执行步骤S105;该步骤是为了优先从所述缓存器中读取数据,由于固态硬盘作为缓存器,其读写速度较高,因此优先从缓存器中读取数据,能够达到快速处理数据的效果;
[0084]步骤S103、更新缓存数据热点阈值。
[0085]缓存数据热点阈值计算方法为:
[0086]当U2〈N 时,Ul = W1/T1,
[0087]当U2N 时,Ul = U1/M,
[0088]其中,N,M为自然数,Ul为缓存数据热点阈值,U2为历史数据热点阈值,Wl为缓存器中每页被读取次数总和,Tl为缓存页数;
[0089]步骤S104、从所述缓存器中输出X,返回步骤S116 ;
[0090]步骤S105、判断请求读取的所述数据X是否为历史数据,若是,则执行步骤S108,若否,执行步骤S106 ;
[0091]步骤S106、更新所述历史数据,执行所述数据X的被读取次数加I的操作,以确定所述数据X的热点,以备在所述数据X的热点较高时,将所述数据X写入所述缓存器中,执行下一步骤;
[0092]步骤S107、更新所述历史数据热点阈值,执行步骤SllO ;
[0093]步骤S108、判断所述数据X的被读取次数是否大于等于缓存数据热点阈值,或者所述数据X是否为丢弃数据,若是,则执行步骤S111,若否,执行步骤S109 ;所述数据X的被读取次数加I的操作,直接从磁盘中输出所述数据X ;
[0094]步骤S109、执行所述数据X的被读取次数加I的操作,执行下一步骤;
[0095]步骤S110、更新缓存数据热点阈值,执行下一步骤;
[0096]步骤SI 11、直接从磁盘输出所述数据X ;
[0097]步骤S112、判断所述缓存器是否还有存储空间,若是,则执行步骤S113 ;若否,则执行步骤S 115 ;
[0098]步骤S 113、将预设时间周期内读取次数最少的缓存数据移除,并将移除的数据标识为丢弃数据,执行下一步骤,
[0099]步骤S114、更新历史数据热点阈值;
[0100]步骤S115、从所述缓存器中分配存储空间,将所述数据X写入所述缓存器中,执行步骤S103。
[0101]上述本发明实施例的用固态硬盘作为缓存器的读写方法中,所述缓存数据,指的是数据本身存储于缓存器中的数据;所述历史数据,指的是数据本身存储于磁盘中,内存中只保存着映射关系的数据。
[0102]图3为本发明用固态硬盘作为缓存器的读写方法的实施例一的原理示意图。
[0103]存储控制器读写数据,共有3种不同的路径:[0104]第一种,请求读写的数据X在缓存器中为缓存数据,当缓存器为读缓存时,则只经历路径20,完成数据X的读取,当缓存器为写缓存时,则只经历路径10,将所述数据X由固态硬盘写入磁盘;
[0105]第二种,请求读写的所述数据X在磁盘中,为历史数据,且所述数据X的被读取次数小于热点阈值,且所述数据X为非丢弃数据,那么存储控制器只经历路径30直接对磁盘进行所述数据X的读写即可;
[0106]第三种,请求读取的数据X在磁盘中,且所述数据X为丢弃数据或者所述数据X的被读取次数大于等于缓存数据热点阈值,当缓存器为读缓存时,存储控制器首先经历路径10将数据X从磁盘写入缓存器中为缓存数据,再经历路径20从缓存器中读取数据X,当缓存器为写缓存时,存储控制器首先经历路径20将数据X写入缓存器中,为缓存数据,在经历路径10将数据X从固态硬盘写入磁盘。
[0107]基于同一发明构思,本发明实施例还提供了一种用固态硬盘作为缓存器的读写系统,由于此系统解决问题的原理与前述用于用固态硬盘作为缓存器的读写方法相似,因此该系统的实施可以参见前述方法的实施,重复之处不再赘述。
[0108]本发明实施例还提供了一种用固态硬盘作为缓存器的数据读写系统,如图4所示,包括相互电连接的存储控制器42、存储数据的磁盘43、以及用固态硬盘进行缓存读写数据的缓存器41 ;还包括电连接到所述存储控制器、磁盘和缓存器的数据读写控制器40。
[0109]所述数据读写控制器40,包括第一判断输出模块401、第二判断模块402、第三判断输出模块403、更新模块404和返回执行模块405,其中:
[0110]所述第一判断输出模块401,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
[0111]所述第二判断模块402,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
[0112]所述第三判断输出模块403,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0113]所述更新模块404,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0114]所述返回执行模块405,用于执行返回所述第一判断输出模块执行相应的操作。
[0115]较佳地,所述第三判断输出模块403包括丢弃子模块4031,其中:
[0116]所述丢弃子模块4031,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
[0117]较佳地,所述第三判断输出模块403还包括阈值更新子模块4032 ;
[0118]所述阈值更新子模块4032,用于在所述数据从磁盘43输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
[0119]本发明还提供一种数据读写控制器,参见图4,图4所示意的用固态硬盘作为缓存器的数据读写系统中,所述的数据读写控制器40用于在相互电连接的存储控制器41、存储数据的磁盘43、以及用固态硬盘进行缓存读写数据的缓存器42之间进行数据读写控制。所述数据读写控制器40包括第一判断输出模块401、第二判断模块402、第三判断输出模块403、更新模块404和返回执行模块405,其中:
[0120]所述第一判断输出模块401,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;
[0121]所述第二判断模块402,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;
[0122]所述第三判断输出模块403,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0123]所述更新模块404,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;
[0124]所述返回执行模块405,用于执行返回所述第一判断输出模块执行相应的操作。
[0125]作为一种可实施方式,所述第三判断输出模块403包括丢弃子模块4031,其中:
[0126]所述丢弃子模块4031,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。
[0127]作为一种可实施方式,所述第三判断输出模块403还包括阈值更新子模块4032 ;
[0128]所述阈值更新子模块4032,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
[0129]以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
【权利要求】
1.一种用固态硬盘作为缓存器的数据读写方法,其特征在于,具体包括如下步骤: 步骤A、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据; 步骤B、若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤F ;若否,则执行步骤C ; 步骤C、判断所述数据是否为读写历史数据; 若是,则执行步骤D ;若否,则执行步骤E ; 步骤D、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据; 若是,将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器;若否,则在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤F ; 步骤E、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加I,在所述磁盘和磁盘控制器间直接读写所述数据; 步骤F、返回步骤A读写下一次数据直至读写结束。
2.根据权利要求1所 述的用固态硬盘作为缓存器的读写方法,其特征在于,在步骤D中,还包括如下步骤: 步骤D1、在将所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除缓存器中预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,并更新历史数据热点阈值。
3.根据权利要求1所述的用固态硬盘作为缓存器的读写方法,其特征在于,在所述步骤D中,还包括如下步骤: 步骤D2、在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。
4.根据权利要求1或3所述的用固态硬盘作为缓存器的读写方法,其特征在于,所述更新缓存数据热点阈值的方法为: iU2〈N 时,U1 = W1A1,
当 U2 兰 N 时,U1 = U/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,并更新缓存数据热点阈值。
【文档编号】G06F3/06GK103631528SQ201210297854
【公开日】2014年3月12日 申请日期:2012年8月21日 优先权日:2012年8月21日
【发明者】王术, 刘虹越, 王旭光, 姜万成, 秦龙华 申请人:苏州捷泰科信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1