一种数据存储方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据存储领域,尤其涉及一种数据存储方法及装置。
【背景技术】
[0002]目前,数据存储系统中常用的存储介质包括内存(Memory)、SSD(SolidStateDrives,固态硬盘)和磁盘(Disk),其中,这三种存储介质的访问速度排序为:内存〉SSD>磁盘,而这三种存储介质的容量大小排序为:内存〈SSD〈磁盘,可见,相较于磁盘,内存和SSD的容量较小但访问速度更快,因此,内存通常作为一级缓存来存储一些访问较为频繁的热门数据,当内存容量不足时,可根据LRU (Least Recently Used,近期最少使用算法)机制将内存中的一段时间内最少使用的数据写入作为二级缓存的SSD中,同时,SSD基于相同的LRU机制将自身一段时间内最少使用的数据写入磁盘中。
[0003]这些访问较为频繁的热门数据还可以分为短期热门数据(在短期内被频繁访问的数据)和长期热门数据(在长期内被频繁访问的数据),由于LRU机制中统计数据的使用次数的周期可自定义,因此,写入SSD中的一段时间内最少使用的数据中,可能存在很多短期热门数据,也就是说,写入SSD中的短期热门数据需要频繁的更新。
[0004]然而,SSD的访问速度虽然比较快,但是它的写入耐久性很有限(即它只能支持一定次数的数据写入操作),当SSD作为二级缓存时,过于频繁的数据写入会使SSD寿命变短,特别的,由于短期热门数据的在SSD内的存储时间较短,因此,在一定时间内,若SSD中存储大量的短期热门数据会大大增加SSD的写入次数,降低了 SSD的存储效率,同时增加整个数据存储系统的成本。
【发明内容】
[0005]本发明的实施例提供一种数据存储方法及装置,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。
[0006]为达到上述目的,本发明的实施例采用如下技术方案:
[0007]本发明的实施例提供一种数据存储方法,包括:
[0008]统计数据存储装置中任一数据分别在N个周期内的访问量,N > O ;
[0009]根据所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;
[0010]确定出所述数据满足至少一个所述SSD特征,则根据所述待写入数据写入SSD的优先级,将所述数据存储至所述SSD中。
[0011]结合第一方面,在第一方面的第一种可能的实现方式中,所述若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,包括:
[0012]若确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级;
[0013]根据所述数据写入所述SSD的优先级,将所述数据存储至所述SSD中。
[0014]结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个,其中,
[0015]若所述SSD特征包括所述访问量特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
[0016]若所述数据在N个周期内的访问量之和大于第一阈值,则确定所述数据满足所述访问量特征;
[0017]若所述SSD特征包括所述活跃度比重特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
[0018]根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期,所述活跃周期为所述数据的访问量达到第二阈值的周期;
[0019]根据所述数据在N个周期内的活跃周期,计算所述活跃周期个数与所述N个周期的比重,若所述活跃周期个数与所述N个周期的比重大于第三阈值,则确定所述数据满足所述活跃度比重特征;
[0020]若所述SSD特征包括所述连续活跃度特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
[0021 ] 根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期;
[0022]确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,则确定所述数据满足所述连续活跃度特征。
[0023]结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述若确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级,包括:
[0024]根据确定出的所述SSD特征的个数,计算所述数据写入SSD的优先级;或者,
[0025]根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD的优先级。
[0026]结合第一方面以及第一方面的第一至第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,包括:
[0027]根据所述数据写入SSD的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD的优先级存放待写入所述SSD的数据;
[0028]当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD 中,K > O。
[0029]结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述SSD中的数据被划分为M个近期最少使用算法LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级高低,M >0,
[0030]其中,所述当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,包括:
[0031]根据所述优先级标识,删除所述M个LRU队列中优先级最低的数据;
[0032]根据所述数据写入SSD的优先级以及所述M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中。
[0033]结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,在根据所述数据写入SSD的优先级,将所述数据存储至所述SSD中之后,还包括:
[0034]更新所述SSD内的各个数据在所述M个LRU队列中所属的LRU队列。
[0035]第二方面,本发明的实施例提供一种数据存储装置,包括:
[0036]统计模块,用于统计数据存储装置中任一数据分别在N个周期内的访问量,N >O ;
[0037]特征提取模块,用于根据所述统计模块中所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;
[0038]数据存储模块,用于若所述特征提取模块中确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中。
[0039]结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括优先级确定模块,
[0040]所述优先级确定模块,用于若所述特征提取模块中确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级;
[0041]所述数据存储模块,具体用于根据所述优先级确定模块中所述数据写入所述SSD的优先级,将所述数据存储至所述SSD中。
[0042]结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
[0043]所述特征提取模块,具体用于若所述数据在N个周期内的访问量之和大于第一阈值,则确定所述数据满足所述访问量特征;根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期,所述活跃周期为所述数据的访问量达到第二阈值的周期;根据所述数据在N个周期内的活跃周期,计算所述活跃周期个数与所述N个周期的比重,若所述活跃周期个数与所述N个周期的比重大于第三阈值,则确定所述数据满足所述活跃度比重特征;以及确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,则确定所述数据满足所述连续活跃度特征;
[0044]其中,所述SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个。
[0045]结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,
[0046]所述优先级确定模块,具体用于根据确定出的所述SSD特征的个数,计算所述数据写入SSD的优先级;或者,根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD的优先级。
[0047]结合第二方面以及第二方面的第一至第三种可能的实现方式,在第二方面的第四种可能的实现方式中,
[0048]所述数据存储模块,具体用于根据所述数据写入SSD的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD的优先级存放待写入所述SSD的数据;当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,K > O。
[0049]结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,
[0050]所述数据存储模块,具体用于根据所述优先级标识,删除所述M个LRU队列中优先级最低的数据;根据所述数据写入SSD的优先级以及所述M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中;
[0051 ] 其中,所述SSD中的数据被划分为M个LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级高低,M > O。
[0052]结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述装置还包括更新单元,其中,
[0053]所述更新单元,用于更新所述SSD内的各个数据在所述M个LRU队列中所属的LRU队列。
[0054]本发明的实施例提供一种数据存储方法及装置,通过统计数据存储装置中任一数据在N个周期内的访问量,确定出该数据的SSD特征,由于SSD特征用于反映该数据在N个周期内的活跃度,因此,根据该数据的SSD特征便可以确定该数据是否为满足SSD特性的长期热门数据,这样,将满足SSD特性的长期热门数据写入SSD中进行缓存,由于SSD内存储的数据在较长时间内都保持一定的活跃度,因此,SSD不需要频繁的更新已存储的数据,减少了 SSD用于缓存时的写入次数,同时利用SSD较高的访问速度保证长期热门数据的读取