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

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

【技术实现步骤摘要】
用固态硬盘作为缓存器的读写方法、系统及读写控制器
本专利技术涉及缓存器读写
,特别是涉及一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。
技术介绍
缓存器管理是存储控制器最重要的功能之一,是决定存储系统性能的关键因素之一,缓存器的目的就是能够把常用数据自动放到高速但容量较低的存储介质中,其目的就是能够预测将来能够可能会被使用到的数据。现有技术中,只要存储控制器需要从磁盘中读写数据,就必须将磁盘的数据写入到缓存器中,然后再从缓存器中读写数据。如果请求读写的数据不在缓存中,那么必须将数据写入缓存器中,再实现数据的读写。固态硬盘(Solid State Drive,固态硬盘)由于其高速的随机读取速度,最近几年开始在存储系统中得到广泛应用。固态硬盘具有如下特性:(I)高速的随机读取速度;(2)写入比读慢很多;(3)有限的写次数;(4)几乎无限的读次数。基于上述的特性,形成多级存储系统。但是,由于固态硬盘有限的写次数,这样必然降低固态硬盘的寿命和使用效率,因此需要一种有效方法在缓存满时进行替换管理,并且尽量把热点数据保存在缓冲中。
技术实现思路
基于此,有必要针对固态硬盘作为缓存器时,其写入次数有限导致降低固态硬盘寿命和使用效率的问题,提供一种用固态硬盘作为缓存器的读写方法、系统及读写控制器。一种用固态硬盘作为缓存器的数据读写方法,具体包括如下步骤:步骤A、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;步骤B,若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤F ;若否,则执行步骤C ;步骤C、判断所述数据是否为读写历史数据;若是,则执行步骤D ;若否,则执行步骤E ;步骤D、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据;若是,将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器;若否,则在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤F ;步骤E、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加I,在所述磁盘和磁盘控制器间直接读写所述数据;步骤F,返回步骤A读写下一次数据直至读写结束。在其中一个实施例中,在步骤D中,还包括如下步骤:步骤D1,在将所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除缓存器中预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,并更新历史数据热点阈值。在其中一个实施例中,在所述步骤D中,还包括如下步骤:步骤D2,在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。在其中一个实施例中,所述更新缓存数据热点阈值的方法为:当队州时,U1=%/%,当U2 兰 N 时,U1 = U1ZM,其中,N,M为自然数,U1为缓存数据热点阈值,U2为历史数据热点阈值,W1为缓存器中每页被读取次数总和,T1为缓存页数。在其中一个实施例中,所述更新历史数据热点阈值的方法为:U2 = W2/T2,其中,W2为磁盘中每页的历史数据被读取次数总和,T2为磁盘中历史数据页数。为实现本专利技术目的,本专利技术还提供了一种用固态硬盘作为缓存器的数据读写系统,包括相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器,还包括电连接到所述存储控制器、磁盘和缓存器的数据读写控制器;所述数据读写控制器,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。在其中一个实施例中,所述第三判断输出模块包括丢弃子模块,其中:所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。在其中一个实施例中,所述第三判断输出模块还包括阈值更新子模块;所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。在其中一个实施例中,所述数据读写控制器集成在所述存储控制器中。本专利技术还提供一种数据读写控制器,用于在相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器之间进行数据读写控制,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中:所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行;所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行;[0041 ] 所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器,然后进入返回执行模块执行;若否,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;所述更新模块,用于更新所述历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据,然后进入返回执行模块执行;所述返回执行模块,用于执行返回所述第一判断输出模块执行相应的操作。在其中一个实施例中,所述第三判断输出模块包括丢弃子模块,其中:所述丢弃子模块,用于在所述数据写入所述缓存器之前,判断所述缓存器是否还有存储空间;若是,则将所述数据写入缓存器;若否,则移除预设时间周期内读取次数最少的缓存数据,并将移除的数据标识为丢弃数据,更新历史数据热点阈值。在其中一个实施例中,所述第三判断输出模块还包括阈值更新子模块;所述阈值更新子模块,用于在所述数据从磁盘输出之前,将所述数据的被读取次数加1,并更新缓存数据热点阈值。本专利技术的有益效果:本专利技术提供的用固本文档来自技高网...

【技术保护点】
一种用固态硬盘作为缓存器的数据读写方法,其特征在于,具体包括如下步骤:步骤A、在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;步骤B、若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入步骤F;若否,则执行步骤C;步骤C、判断所述数据是否为读写历史数据;若是,则执行步骤D;若否,则执行步骤E;步骤D、判断所述数据的被读取次数是否大于等于所述缓存数据热点阈值,或者数据是否为缓存器的丢弃数据;若是,将所述数据写入所述缓存器中,从所述缓存器中输出所述数据到磁盘或者磁盘控制器;若否,则在所述磁盘和磁盘控制器间直接读写所述数据;然后进入步骤F;步骤E、更新所述读写历史数据及历史数据热点阈值,并将所述数据的被读取次数加1,在所述磁盘和磁盘控制器间直接读写所述数据;步骤F、返回步骤A读写下一次数据直至读写结束。

【技术特征摘要】
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.一种用固态硬盘作为缓存器的数据读写系统,包括相互电连接的存储控制器、存储数据的磁盘、以及用固态硬盘进行缓存读写数据的缓存器,其特征在于,还包括电连接到所述存储控制器、磁盘和缓存器的数据读写控制器; 所述数据读写控制器,包括第一判断输出模块、第二判断模块、第三判断输出模块、更新模块和返回执行模块,其中: 所述第一判断输出模块,用于在磁盘和磁盘控制器之间以固态硬盘作为缓存器进行数据读写时,判断所述数据是否为缓存器中的缓存数据;若所述数据是缓存数据,则更新缓存数据热点阈值,从缓存器中输出所述数据,然后进入返回执行模块执行;若否,则进入所述第二判断模块执行; 所述第二判断模块,用于判断所述数据是否为历史数据,若是,则进入所述第三判断输出模块执行;若否,则进入所述更新模块执行; 所述第三判断输出模块,用于判断所述数据的被读取次数是否大于或者等于所述缓存数据热点阈值,或者所述数据是否为丢弃数据;若是,则将所述数据写入所述缓存器中,从所述缓...

【专利技术属性】
技术研发人员:王术刘虹越王旭光姜万成秦龙华
申请(专利权)人:苏州捷泰科信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1