CN104571954B - 一种数据存储方法及装置 - Google Patents
一种数据存储方法及装置 Download PDFInfo
- Publication number
- CN104571954B CN104571954B CN201410833626.0A CN201410833626A CN104571954B CN 104571954 B CN104571954 B CN 104571954B CN 201410833626 A CN201410833626 A CN 201410833626A CN 104571954 B CN104571954 B CN 104571954B
- Authority
- CN
- China
- Prior art keywords
- data
- ssd
- cycle
- priority
- features
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
Abstract
本发明的实施例提供一种数据存储方法及装置,涉及数据存储领域,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。该方案包括:统计数据存储装置中任一数据分别在N个周期内的访问量,N>0;根据所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中。
Description
技术领域
本发明涉及数据存储领域,尤其涉及一种数据存储方法及装置。
背景技术
目前,数据存储系统中常用的存储介质包括内存(Memory)、SSD(Solid StateDrives,固态硬盘)和磁盘(Disk),其中,这三种存储介质的访问速度排序为:内存>SSD>磁盘,而这三种存储介质的容量大小排序为:内存<SSD<磁盘,可见,相较于磁盘,内存和SSD的容量较小但访问速度更快,因此,内存通常作为一级缓存来存储一些访问较为频繁的热门数据,当内存容量不足时,可根据LRU(Least Recently Used,近期最少使用算法)机制将内存中的一段时间内最少使用的数据写入作为二级缓存的SSD中,同时,SSD基于相同的LRU机制将自身一段时间内最少使用的数据写入磁盘中。
这些访问较为频繁的热门数据还可以分为短期热门数据(在短期内被频繁访问的数据)和长期热门数据(在长期内被频繁访问的数据),由于LRU机制中统计数据的使用次数的周期可自定义,因此,写入SSD中的一段时间内最少使用的数据中,可能存在很多短期热门数据,也就是说,写入SSD中的短期热门数据需要频繁的更新。
然而,SSD的访问速度虽然比较快,但是它的写入耐久性很有限(即它只能支持一定次数的数据写入操作),当SSD作为二级缓存时,过于频繁的数据写入会使SSD寿命变短,特别的,由于短期热门数据的在SSD内的存储时间较短,因此,在一定时间内,若SSD中存储大量的短期热门数据会大大增加SSD的写入次数,降低了SSD的存储效率,同时增加整个数据存储系统的成本。
发明内容
本发明的实施例提供一种数据存储方法及装置,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明的实施例提供一种数据存储方法,包括:
统计数据存储装置中任一数据分别在N个周期内的访问量,N>0;
根据所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;
确定出所述数据满足至少一个所述SSD特征,则根据所述待写入数据写入SSD的优先级,将所述数据存储至所述SSD中。
结合第一方面,在第一方面的第一种可能的实现方式中,所述若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,包括:
若确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级;
根据所述数据写入所述SSD的优先级,将所述数据存储至所述SSD中。
结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个,其中,
若所述SSD特征包括所述访问量特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
若所述数据在N个周期内的访问量之和大于第一阈值,则确定所述数据满足所述访问量特征;
若所述SSD特征包括所述活跃度比重特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期,所述活跃周期为所述数据的访问量达到第二阈值的周期;
根据所述数据在N个周期内的活跃周期,计算所述活跃周期个数与所述N个周期的比重,若所述活跃周期个数与所述N个周期的比重大于第三阈值,则确定所述数据满足所述活跃度比重特征;
若所述SSD特征包括所述连续活跃度特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期;
确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,则确定所述数据满足所述连续活跃度特征。
结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述若确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级,包括:
根据确定出的所述SSD特征的个数,计算所述数据写入SSD的优先级;或者,
根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD的优先级。
结合第一方面以及第一方面的第一至第三种可能的实现方式,在第一方面的第四种可能的实现方式中,所述若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,包括:
根据所述数据写入SSD的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD的优先级存放待写入所述SSD的数据;
当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,K>0。
结合第一方面的第四种可能的实现方式,在第一方面的第五种可能的实现方式中,所述SSD中的数据被划分为M个近期最少使用算法LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级高低,M>0,
其中,所述当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,包括:
根据所述优先级标识,删除所述M个LRU队列中优先级最低的数据;
根据所述数据写入SSD的优先级以及所述M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中。
结合第一方面的第五种可能的实现方式,在第一方面的第六种可能的实现方式中,在根据所述数据写入SSD的优先级,将所述数据存储至所述SSD中之后,还包括:
更新所述SSD内的各个数据在所述M个LRU队列中所属的LRU队列。
第二方面,本发明的实施例提供一种数据存储装置,包括:
统计模块,用于统计数据存储装置中任一数据分别在N个周期内的访问量,N>0;
特征提取模块,用于根据所述统计模块中所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;
数据存储模块,用于若所述特征提取模块中确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中。
结合第二方面,在第二方面的第一种可能的实现方式中,所述装置还包括优先级确定模块,
所述优先级确定模块,用于若所述特征提取模块中确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级;
所述数据存储模块,具体用于根据所述优先级确定模块中所述数据写入所述SSD的优先级,将所述数据存储至所述SSD中。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,
所述特征提取模块,具体用于若所述数据在N个周期内的访问量之和大于第一阈值,则确定所述数据满足所述访问量特征;根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期,所述活跃周期为所述数据的访问量达到第二阈值的周期;根据所述数据在N个周期内的活跃周期,计算所述活跃周期个数与所述N个周期的比重,若所述活跃周期个数与所述N个周期的比重大于第三阈值,则确定所述数据满足所述活跃度比重特征;以及确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,则确定所述数据满足所述连续活跃度特征;
其中,所述SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个。
结合第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,
所述优先级确定模块,具体用于根据确定出的所述SSD特征的个数,计算所述数据写入SSD的优先级;或者,根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD的优先级。
结合第二方面以及第二方面的第一至第三种可能的实现方式,在第二方面的第四种可能的实现方式中,
所述数据存储模块,具体用于根据所述数据写入SSD的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD的优先级存放待写入所述SSD的数据;当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,K>0。
结合第二方面的第四种可能的实现方式,在第二方面的第五种可能的实现方式中,
所述数据存储模块,具体用于根据所述优先级标识,删除所述M个LRU队列中优先级最低的数据;根据所述数据写入SSD的优先级以及所述M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中;
其中,所述SSD中的数据被划分为M个LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级高低,M>0。
结合第二方面的第五种可能的实现方式,在第二方面的第六种可能的实现方式中,所述装置还包括更新单元,其中,
所述更新单元,用于更新所述SSD内的各个数据在所述M个LRU队列中所属的LRU队列。
本发明的实施例提供一种数据存储方法及装置,通过统计数据存储装置中任一数据在N个周期内的访问量,确定出该数据的SSD特征,由于SSD特征用于反映该数据在N个周期内的活跃度,因此,根据该数据的SSD特征便可以确定该数据是否为满足SSD特性的长期热门数据,这样,将满足SSD特性的长期热门数据写入SSD中进行缓存,由于SSD内存储的数据在较长时间内都保持一定的活跃度,因此,SSD不需要频繁的更新已存储的数据,减少了SSD用于缓存时的写入次数,同时利用SSD较高的访问速度保证长期热门数据的读取效率,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据存储方法的流程示意图一;
图2为本发明实施例提供的一种数据存储方法的流程示意图二;
图3为本发明实施例提供的一种数据存储方法的流程示意图三;
图4为本发明实施例提供的一种数据存储方法的流程示意图四;
图5为本发明实施例提供的一种数据存储方法的流程示意图五;
图6为本发明实施例提供的一种数据存储装置的硬件示意图;
图7为本发明实施例提供的一种数据存储装置的结构示意图一;
图8为本发明实施例提供的一种数据存储装置的结构示意图二;
图9为本发明实施例提供的一种数据存储装置的结构示意图三。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透彻理解本发明。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。
实施例一
本发明的实施例提供一种数据存储方法,如图1所示,包括:
101、数据存储装置统计数据存储装置中任一数据分别在N个周期内的访问量,N>0。
102、数据存储装置根据该数据在N个周期内的访问量,确定该数据的SSD特征,该SSD特征用于反映数据在N个周期内的活跃度。
103、若确定出该数据满足至少一个SSD特征,数据存储装置则将该数据存储至所述SSD中。
在数据存储系统或者数据库系统中,可分别将内存、SSD以及硬盘作为存储介质存放各类数据,以便用户从存储介质中访问各类数据。进一步地,这三种存储介质的访问速度排序为:内存>SSD>磁盘,而这三种存储介质的容量大小排序为:内存<SSD<磁盘,可见,由于磁盘的容量大、访问速度慢,因此,常用来存放较为稳定、活跃度不高(即访问量较小)的冷门数据,而内存和SSD常用作缓存来存放活跃度较高(即访问量较大)的热门数据。其中,内存可作为一级缓存存放热门数据,当内存容量不足时,可以将内存中的部分热门数据写入作为二级缓存的SSD中,同时SSD将自身的部分活跃度下降的数据删除,以上便是数据存储系统或者数据库系统的存储机制。
然而,SSD的访问速度虽然比较快,但是它只能支持一定次数的数据写入操作,过于频繁的数据写入会使SSD寿命变短,而从内存写入SSD的热门数据中,可能有大部分数据是短期热门数据,这些短期热门数据的活跃度在很短的时间内会下降,进而被删除或写入磁盘中,可以看出,短期热门数据在SSD中的存储时间较短,因此,在一定时间内,若SSD中存储大量的短期热门数据会大大增加SSD的写入次数,而本发明提供的数据存储方法,可以在利用SSD较高的访问速度保证数据的访问量的同时,减少单位时间内数据写入SSD的次数,延长SSD的寿命,进而提高SSD的存储效率。
具体的,在步骤101中,数据存储装置统计数据存储装置中任一数据分别在N个周期内的访问量,N>0,其中,该数据可以是内存中的任意数据。
示例性的,数据存储装置可以设定一定时长为一个周期(或者设定一定的数据访问量为一个周期),以内存中的任意一个数据块(即数据)为例,数据存储装置统计在N个周期内每一个周期中该数据的访问量,如图2所示,为该数据的宏观访问模板,该宏观访问模板反映了该数据在这10个周期内的访问量分布情况。这样,数据存储装置可以得到内存中的任意一个数据块放入宏观访问模板,该宏观访问模板是后续步骤中,数据存储装置判断是否将数据写入SSD的重要依据。
在步骤102中,在数据存储装置获得数据分别在N个周期内的访问量之后,数据存储装置可以根据数据在N个周期内的访问量,确定数据的SSD特征,其中,该SSD特征用于反映数据在N个周期内的活跃度,即数据在N个周期内的访问量的分布情况是否符合SSD的存储特性,该SSD的存储特性是指存储在SSD中的数据在较长的时间内保持较高的活跃度。
由于SSD的数据访问速度较快,但SSD的数据写入次数需要尽可能的减少,这样,当写入SSD的数据需要满足在较长的时间内都保持较高的活跃度(将这类数据称为长期热门数据)时,既能保证高效的读取SSD的数据又能保证减少写入SSD的次数。
具体的,为了使得写入SSD的数据尽可能的为长期热门数据,数据存储装置需要确定数据的SSD特征,当数据满足SSD特征的个数越多时,即说明该数据为长期热门数据的概率越高。
示例性的,该SSD特征可以包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个。其中,访问量特征,用于表示宏观访问模板中N个周期内的访问量高于第一阈值的数据特征,访问量特征可以使用总量型模板(Irregularity pattern,I-pattern)进行评定,当数据的宏观访问模板符合总量型模板时,即可确定数据满足访问量特征。
类似的,活跃度比重特征,用于表示宏观访问模板中N个周期内的活跃周期(访问量大于第二阈值的周期)占N个周期的比例高于第三阈值的数据特征,该活跃度比重特征可以使用稳定型模板(Stability pattern,S-pattern)进行评定,当数据的宏观访问模板符合稳定型模板时,即可确定数据满足活跃度比重特征。
连续活跃度特征,用于表示宏观访问模板中N个周期内连续的活跃周期的个数大于第四阈值的数据特征,该连续活跃度特征可以使用连续型模板(Continuity pattern,C-pattern)进行评定,当数据的宏观访问模板符合连续型模板时,即可确定数据满足连续活跃度特征。
可以理解的是,上述三种SSD特征仅仅是示例性的,可满足长期热门数据的数据特征都可作为SSD特征反映数据的在N个周期内的活跃度。
在步骤103中,当数据存储装置确定出该数据的SSD特征后,判断该数据的SSD特征的个数,若该数据的SSD特征的个数大于等于1,数据存储装置则将该数据存储至SSD中。
具体的,数据存储装置可以根据该数据所满足的SSD特征,先确定该数据写入SSD的优先级,进而,再根据该数据写入所述SSD的优先级,将该数据存储至所述SSD中,以保证写入SSD的数据尽可能的为长期热门数据。
比如,如果该数据所满足的SSD特征的个数越多,那么,该数据写入SSD的优先级越高,反之,如果该数据所满足的SSD特征的个数越少,则写入SSD的优先级越低。
又或者,数据存储装置还可以为SSD特征分别分配相应的权重值,例如,活跃度比重特征的权重值为0.5,访问量特征和连续活跃度特征的权重值均为0.25,那么,当数据同时满足活跃度比重特征和访问量特征时,该数据所满足的SSD特征的个数权重值为0.5*1+0.25*1=0.75,类似的,如果该数据所满足的SSD特征的权重值越大,那么,该数据写入SSD的优先级越高,反之,如果该数据所满足的SSD特征的权重值越小,则写入SSD的优先级越低。
进一步地,数据存储装置可以循环执行上述步骤,分别确定内存中的各个数据写入SSD的优先级,这样,当数据存储装置将内存中的部分数据写入SSD时,数据存储装置可以按照各个数据的优先级,将部分数据(例如优先级较高的前K个数据,K>0)存储至SSD中,K>0,这样,写入SSD的数据是长期热门数据的概率会大大增加,因此,数据存储装置无需频繁的更新SSD中已写入的数据,减少了SSD的写入次数,同时保证了SSD中已写入的数据的访问量。
本发明的实施例提供一种数据存储方法,通过统计数据存储装置中任一数据在N个周期内的访问量,确定出该数据的SSD特征,由于SSD特征用于反映该数据在N个周期内的活跃度,因此,根据该数据的SSD特征便可以确定该数据是否为满足SSD特性的长期热门数据,这样,将满足SSD特性的长期热门数据写入SSD中进行缓存,由于SSD内存储的数据在较长时间内都保持一定的活跃度,因此,SSD不需要频繁的更新已存储的数据,减少了SSD用于缓存时的写入次数,同时利用SSD较高的访问速度保证长期热门数据的读取效率,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。
实施例二
本发明的实施例提供一种数据存储方法,如图3所示,包括:
201、数据存储装置统计数据存储装置中任一数据分别在N个周期内的访问量,N>0。
202、数据存储装置根据该数据在N个周期内的访问量,确定该数据满足的SSD特征的个数,该SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征。
203、数据存储装置根据该数据满足的SSD特征的个数确定该数据写入SSD的优先级,并将该数据放入候选队列中。
204、数据存储装置选取位于候选队列的队首的前K个数据,按照每一个数据的优先级写入SSD中的LRU队列中。
205、数据存储装置根据SSD内的各个数据的SSD特征,更新SSD内的各个数据在所属的LRU队列。
在步骤201中,数据存储装置统计数据存储装置中任一数据分别在N个周期内的访问量,N>0,其中,该数据可以是内存中的任意数据,该步骤可参看实施例一中的步骤101。
需要补充的是,数据存储装置统计的数据的宏观访问模板是实时更新的,也就是说,数据存储装置仅保存当前周期以及当前周期之前的共N个连续周期内数据的访问量,在当前周期的下一个周期结束后,数据存储装置会删除距当前时间最久的周期的访问量数据,因此,该宏观访问模板中最多保存数据在N个连续周期内的访问量,数据存储装置可以调节N的取值。
在步骤202中,在数据存储装置获得该数据分别在N个周期内的访问量之后,数据存储装置可以根据该数据在N个周期内的访问量,确定该数据所满足的SSD特征,其中,该SSD特征用于反映数据在N个周期内的活跃度,即数据在N个周期内的访问量的分布情况是否符合SSD的存储特性。
具体的,参见上述实施例一中步骤102中所示出的三种SSD特征,即访问量特征、活跃度比重特征以及连续活跃度特征。在数据存储装置获得该数据分别在N个周期内的访问量之后,数据存储装置计算该数据在N个周期内的访问量之和是否大于第一阈值,即数据的宏观访问模板是否满足总量型模板,若N个周期内的访问量之和是否大于第一阈值,数据存储装置则确定该数据满足SSD特征中的访问量特征。
进一步地,数据存储装置计算该数据在在N个周期内的每一个周期数据的访问量是否大于第二阈值,将大于第二阈值的周期作为该数据的活跃周期,并确定该数据的活跃周期的分布情况。数据存储装置根据该数据的活跃周期的分布情况,计算活跃周期的个数与N个周期的比值是否大于第三阈值,即数据的宏观访问模板是否满足稳定型模板,若活跃周期的个数与N个周期的比值大于第三阈值,数据存储装置则确定该数据满足SSD特征中的活跃度比重特征。
类似的,数据存储装置根据该数据的活跃周期的分布情况,计算N个周期内连续的活跃周期的个数是否大于第四阈值,即数据的宏观访问模板是否满足连续型模板,若N个周期内连续的活跃周期的个数大于第四阈值,数据存储装置则确定该数据满足SSD特征中的连续活跃度特征。
至此,数据存储装置根据数据在N个周期内的访问量,确定该数据满足的SSD特征的个数。
在步骤203中,在数据存储装置确定该数据满足的SSD特征的个数之后,数据存储装置可以根据该数据满足的SSD特征的个数确定该数据写入SSD的优先级,并将该数据放入候选队列中。
数据存储装置确定该数据写入SSD的优先级的方法有多种,具体可参见上述实施例一步骤103,示例性的,本实施例中数据存储装置可以根据该数据满足的SSD特征的个数,确定该数据写入SSD的优先级,如果该数据的SSD特征的个数越多,那么,该数据是长期热门数据的概率越大,因此,该数据写入SSD的优先级越高,反之,该数据的SSD特征的个数越少,写入SSD的优先级越低。
同时,数据存储装置按照数据的优先级的高低,将该数据放入候选队列中,该候选队列用于存放待写入SSD的多个数据,当然,候选队列中的各个数据还可以按照优先级的高低依次排列,位于队首的数据的优先级最高。另外,候选队列还可以有多个,例如,候选队列包括队列1、队列2和队列3,队列1用于存放满足一个SSD特征的数据,队列2用于存放满足二个SSD特征的数据,队列3用于存放满足三个SSD特征的数据,这样,当数据存储装置将数据写入SSD时,可以快速准确的选择优先级高的数据写入SSD。
例如,参考图4,数据存储装置根据该数据在N个周期内的访问量(即宏观访问模板),使用总量型模板计算该数据是否满足访问量特征;并且,数据存储装置根据该数据在N个周期内的访问量确定该数据在N个周期内的活跃周期的分布情况,进而分别使用稳定型模板和连续型模板,计算该数据是否满足活跃度比重特征和连续活跃度特征,最后,若该数据满足的SSD特征的个数为1,则将数据放入候选队列的队列1中;若该数据满足的SSD特征的个数为2,则将数据放入候选队列的队列2中;若该数据满足的SSD特征的个数为3,则将数据放入候选队列的队列3中;若该数据满足的SSD特征的个数为0,则对该数据不做处理,这样,当数据存储装置将候选队列中的数据写入SSD时,可优先选择队列3中的数据,以尽可能的保证写入SSD的数据为长期热门数据,减少SSD内的数据的更新周期,即减少SSD的写入次数。
在步骤204中,在数据存储装置确定该数据写入SSD的优先级,并将数据放入候选队列之后,数据存储装置选取位于候选队列的队首的前K个数据,按照每一个数据的优先级写入SSD中的LRU队列中。
其中,SSD中的数据可被划分在多个LRU队列中,数据存储装置可以对这多个LRU队列内的数据进行管理,LRU队列中的数据是按照近期最少使用算法进行排序,将一定时间段内访问量最少的数据放置于LRU队列的队尾,即LRU端,将一定时间段内访问量最多的数据放置于LRU队列的队首,即MRU端。当SSD中的数据需要更新时,数据存储装置将候选队列中的数据与SSD中位于优先级最低的LRU队列的队尾的数据进行替换,这样,即可以尽可能的保证写入SSD内的数据为长期热门数据,同时保证SSD内被淘汰的数据为尽可能的不满足SSD特征的数据,因此,本发明提供的数据存储方法可以最大程度的保证SSD内的数据为长期热门数据。
仍以步骤203中的例子进行说明,SSD中包括3个LRU队列,其中,满足1个SSD特征的数据存储于第1LRU队列,满足2个SSD特征的数据存储于第2LRU队列,满足3个SSD特征的数据存储于第2LRU队列,当SSD中的数据需要更新时,数据存储装置可以优先选择队列3中满足3个SSD特征的Z个数据写入SSD中的第3LRU队列,同时,数据存储装置根据各个LRU队列的优先级标识,删除满足的SSD特征的个数最少的第1LRU队列中的Z个数据,以保证SSD内的数据尽可能的为长期热门数据,Z>0。
当然,当队列3中满足3个SSD特征的数据个数较少时,还可以选择队列1中的X(X>0)个数据写入SSD中的第1LRU队列,或选择队列2中的Y(Y>0)个数据写入SSD中的第2LRU队列,同时,删除满足的SSD特征的个数最少的第1LRU队列中的X+Y个数据,当第1LRU队列中的数据个数小于X+Y时,则继续根据各个LRU队列的优先级标识,删除当前优先级最低的LRU队列中的相应个数的数据,可以看出,由于写入SSD的数据都满足一定的SSD特征,即写入SSD的数据在较长时间内都为访问量较高的热门数据,同时,SSD中被删除的数据都为的优先级较低的数据,因此,数据存储装置不需要频繁更新SSD内存储的数据,增加了SSD的更新周期,大大减少了SSD的写入次数。
需要说明的是,此处仅以SSD中包括3个LRU队列,且第1LRU队列内的数据的优先级为最低进行示例性的说明,应当理解的是,SSD中还可以包括比第1LRU队列的优先级更低的LRU队列,例如,满足0个SSD特征的数据存储于第0LRU队列,甚至包括第0LRU队列的优先级更低的-1LRU队列(例如,某些数据在SSD内存储一段时间后,不仅失去了原有的SSD特征,反而具有显著的短期热门数据的数据特征,可以将这类数据存储至比第0LRU队列的优先级更低的-1LRU队列中),这样,当数据存储装置更新SSD内存储的数据时,仍然删除当前优先级最低的LRU队列中的相应个数的数据,以保证存储在SSD中的数据在较长时间内都为访问量较高的热门数据。
另外,以上数据存储装置将数据写入SSD,并删除SSD中原有数据的方法仅是示例性说明,在实际应用中,还有多种类似方法可以对SSD的数据写入和删除进行管理,例如,由于候选队列中的数据均一定程度的满足SSD特征,因此,数据存储装置可以直接在候选队列中选择一定个数的数据写入SSD中,同时,SSD内也可以只有一个队列用于存储满足SSD特征的数据,数据存储装置将SSD内不满足SSD特征的数据定期删除,以上方法均可一定程度保证写入SSD的数据在较长时间内都为访问量较高的热门数据,同时,SSD中被删除的数据都为的优先级较低的数据,故本发明对此不作任何限制。
当然,在SSD还未写满的初始化阶段,数据存储装置可以使用更快的SSD的更新周期写入数据,或者在每个SSD的更新周期内写入更多数据,直至SSD被写满。
在步骤205中,在数据存储装置将数据写入SSD之后,数据存储装置还可以根据SSD内的各个数据的SSD特征,更新SSD内的各个数据在所属的LRU队列。
具体的,在数据存储装置将候选队列中的多个数据写入SSD之后,数据存储装置对SSD内的所有数据所属的LRU队列进行调整。示例性的,每个数据所属的LRU队列编号的增量ΔQ按照以下公式计算:
ΔQ=Nnew-Nold-CIP;
其中,Nnew为写入SSD之后,该数据所满足的SSD特征的个数,Nold写入SSD之前,该数据所满足的SSD特征的个数,CIP(Continuous Inactive Period)为连续M个周期访问量低于预设值的周期数目。
例如,数据存储装置将数据A写入第二LRU队列,数据A写入SSD之后所满足的SSD特征的个数为3,数据A写入SSD之前所满足的SSD特征的个数为2,数据A的CIP为0,那么,数据A所属的LRU队列编号的增量ΔQ=3-2-0=1,也就是说,数据A在原有的LRU队列(即第二LRU队列)上升一个LRU队列(即第三LRU队列),这样,可以保证SSD内的数据可以按照所满足的SSD特征的个数合理的排序,以便于在下个SSD的更新周期,准确高效的进行数据的写入和替换。
可以看出,使用本发明的实施例提供的数据存储方法,可以使得写入SSD的数据为长期热门数据的概率会大大增加,因此,数据存储装置无需频繁的更新SSD中已写入的数据,减少了SSD的写入次数,同时保证了SSD中已写入的数据的访问量。
在缓存系统的仿真平台中,参考图5,示出了分别使用本发明提供的数据存储方法(即宏模板算法)、以及LRU、MQ(Multi-Queue,多队列替换算法)、LIRS(Low Inter-reference Recency Set,最短最近使用间隔算法)、ARC(Adaptive Replacement Cache,自适应缓存替换算法)等经典算法在各种应用场景中,SSD内数据的访问量和SSD的写入次数的比对图。该仿真平台设置SSD作为缓存的空间为访问数据总量的5%,可以看出,使用宏模板算法的数据访问量基本都是最高或次高,而使用宏模板算法的写入量却降低了10倍至几百倍,即保证SSD存储效率的同时,明显延长SSD寿命。
本发明的实施例提供一种数据存储方法,通过统计数据存储装置中任一数据在N个周期内的访问量,确定出该数据的SSD特征,由于SSD特征用于反映该数据在N个周期内的活跃度,因此,根据该数据的SSD特征便可以确定该数据是否为满足SSD特性的长期热门数据,这样,将满足SSD特性的长期热门数据写入SSD中进行缓存,由于SSD内存储的数据在较长时间内都保持一定的活跃度,因此,SSD不需要频繁的更新已存储的数据,减少了SSD用于缓存时的写入次数,同时利用SSD较高的访问速度保证长期热门数据的读取效率,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。
实施例三
附图6示出的是本发明的数据存储装置的硬件示意图。
如图6,所述数据存储装置包括处理器11、通信接口12、内存13、SSD14以及总线15。
其中,处理器11、通讯接口12、内存13以及SSD14通过总线15通信连接。
处理器11,是所述数据存储装置的控制中心,处理器11通过对通讯接口12接收到的数据进行处理,并调用内存13中的软件或程序,执行所述数据存储装置的各项功能。
通信接口12,可以由光通讯接口12,电通讯接口12,无线通讯接口12或其任意组合实现。例如,光通讯接口可以是小封装可插拔(英文:small form-factor pluggabletransceiver,缩写:SFP)通讯接口(英文:transceiver),增强小封装可插拔(英文:enhanced small form-factor pluggable,缩写:SFP+)通讯接口或10吉比特小封装可插拔(英文:10Gigabit small form-factor pluggable,缩写:XFP)通讯接口。电通讯接口可以是以太网(英文:Ethernet)网络接口控制器(英文:network interface controller,缩写:NIC)。无线通讯接口可以是无线网络接口控制器(英文:wireless network interfacecontroller,缩写:WNIC)。数据存储装置中可以有多个通信接口12。
内存13,具有极快的存取速率,它是SSD14、硬盘与外界接口之间的缓冲器。由于SSD14和硬盘的内部数据传输速率和外界介面传输速率不同,缓存在其中起到一个缓冲的作用。缓存的大小与速率是直接关系到SSD14和硬盘的传输速率的重要因素,为了提高计算机的工作效率,处理器11可以先将数据写入缓存中,在定期的将缓存中的数据刷新至二级缓存SSD14内,在定期的将SSD14中的数据刷新至磁盘中,以提高数据的处理速度。
SSD14,具有非易失性,是新一代缓存介质,它的访问速度和容量大小都介于内存13和硬盘之间,因此通常被用作二级缓存,但SSD14的写入耐久性很有限,作为二级缓存时,频繁的数据写入会使SSD14的寿命变得很短,增加成本、提高维护难度,因此,在利用SSD14作为缓存设备快速读取数据的同时,本发明提出一种可以减少SSD14的写入次数并保证SSD的高访问率的数据存储方法。
在本发明的实施例中,处理器11统计数据存储装置中任一数据分别在N个周期内的访问量,N>0;处理器11根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;若确定出所述数据满足至少一个所述SSD特征,处理器11则调用通讯接口12将内存13中的所述数据存储至所述SSD14中。
进一步地,若确定出所述数据满足至少一个所述SSD特征,处理器11则调用通讯接口12将内存13中的所述数据存储至所述SSD14中,可以具体包括步骤:若确定出所述数据满足至少一个所述SSD特征处理器11则根据所述数据的SSD特征确定所述数据写入SSD14的优先级;进而,处理器11根据所述数据写入SSD14的优先级,调用通讯接口12将内存13中的数据存储至所述SSD14中。
进一步地,所述SSD特征可以包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个。
若所述SSD特征包括所述访问量特征,那么,处理器11根据所述数据在N个周期内的访问量,确定所述数据的固态硬盘SSD特征,可以具体包括步骤:若所述数据在N个周期内的访问量之和大于第一阈值,处理器11则确定所述数据满足所述访问量特征。
若所述SSD特征包括所述活跃度比重特征,那么,处理器11根据所述数据在N个周期内的访问量,确定所述数据的固态硬盘SSD特征,可以具体包括步骤:处理器11根据所述数据在N个周期内的访问量,计算所述数据在N个周期内的活跃周期分布,所述活跃周期为所述数据的访问量达到第二阈值的周期;处理器11根据所述数据在N个周期内的活跃周期的布,确定所述数据是否满足所述活跃度比重特征和/或所述连续活跃度特征。
若所述SSD特征包括所述连续活跃度特征,那么,处理器11根据所述数据在N个周期内的访问量,确定所述数据的固态硬盘SSD特征,可以具体包括步骤:处理器11根据所述数据在N个周期内的访问量,计算所述数据在N个周期内的活跃周期,处理器11确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,处理器11则确定所述数据满足所述连续活跃度特征。
进一步地,若确定出所述数据满足至少一个所述SSD特征处理器11则根据所述数据的SSD特征确定所述数据写入SSD14的优先级,可以具体包括步骤:处理器11根据确定出的所述SSD特征的个数,计算所述数据写入SSD14的优先级;或者,处理器11为所述SSD特征分别分配权重值,进而,处理器11根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD14的优先级。
进一步地,处理器11根据所述数据写入SSD14的优先级,调用通讯接口12将内存13中的数据存储至所述SSD14中,可以具体包括步骤:处理器11根据所述数据写入SSD14的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD14的优先级存放待写入所述SSD14的数据;当所述数据位于所述候选队列的队首的前K个位置时,通过通讯接口12将所述数据存储至所述SSD14中,K>0。
进一步地,所述SSD中的数据被划分为M个近期最少使用算法LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级高低,M>0,当所述数据位于所述候选队列的队首的前K个位置时,通过通讯接口12将所述数据存储至所述SSD14中,可以具体包括步骤:处理器11根据所述优先级标识,删除所述M个LRU队列中优先级最低的数据;进而,处理器11根据所述数据写入SSD14的优先级以及所述M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中。
进一步地,在处理器11根据所述数据写入SSD14的优先级,调用通讯接口12将内存13中的数据存储至所述SSD14中之后,还可以包括步骤:处理器11更新所述SSD14内的各个数据在所述M个LRU队列中所属的LRU队列。
本发明的实施例提供一种数据存储装置,通过统计数据存储装置中任一数据在N个周期内的访问量,确定出该数据的SSD特征,由于SSD特征用于反映该数据在N个周期内的活跃度,因此,根据该数据的SSD特征便可以确定该数据是否为满足SSD特性的长期热门数据,这样,将满足SSD特性的长期热门数据写入SSD中进行缓存,由于SSD内存储的数据在较长时间内都保持一定的活跃度,因此,SSD不需要频繁的更新已存储的数据,减少了SSD用于缓存时的写入次数,同时利用SSD较高的访问速度保证长期热门数据的读取效率,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。
实施例四
本发明的实施例提供一种数据存储装置,如图7所示,包括:
统计模块21,用于统计数据存储装置中任一数据分别在N个周期内的访问量,N>0;
特征提取模块22,用于根据所述统计模块21中所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;
数据存储模块23,用于若所述特征提取模块22中确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中。
进一步地,如图8所示,所述装置还包括优先级确定模块24,
所述优先级确定模块24,用于若所述特征提取模块中确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级;
所述数据存储模块23,具体用于根据所述优先级确定模块中所述数据写入所述SSD的优先级,将所述数据存储至所述SSD中。
进一步地,所述特征提取模块22,具体用于若所述数据在N个周期内的访问量之和大于第一阈值,则确定所述数据满足所述访问量特征;根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期,所述活跃周期为所述数据的访问量达到第二阈值的周期;根据所述数据在N个周期内的活跃周期,计算所述活跃周期个数与所述N个周期的比重,若所述活跃周期个数与所述N个周期的比重大于第三阈值,则确定所述数据满足所述活跃度比重特征;以及确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,则确定所述数据满足所述连续活跃度特征;
其中,所述SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个。
进一步地,所述优先级确定模块24,具体用于根据确定出的所述SSD特征的个数,计算所述数据写入SSD的优先级;或者,根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD的优先级。
进一步地,所述数据存储模块23,具体用于根据所述数据写入SSD的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD的优先级存放待写入所述SSD的数据;当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,K>0。
进一步地,所述数据存储模块23,具体用于根据所述优先级标识,删除所述M个近期最少使用算法LRU队列中优先级最低的数据;根据所述数据写入SSD的优先级以及所述M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中;
其中,所述SSD中的数据被划分为M个LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级大小,M>0。
进一步地,如图9所示,所述装置还包括更新单元26,其中,
所述更新单元25,用于更新所述SSD内的各个数据在所述M个LRU队列中所属的LRU队列。
本发明的实施例提供一种数据存储装置,通过统计数据存储装置中任一数据在N个周期内的访问量,确定出该数据的SSD特征,由于SSD特征用于反映该数据在N个周期内的活跃度,因此,根据该数据的SSD特征便可以确定该数据是否为满足SSD特性的长期热门数据,这样,将满足SSD特性的长期热门数据写入SSD中进行缓存,由于SSD内存储的数据在较长时间内都保持一定的活跃度,因此,SSD不需要频繁的更新已存储的数据,减少了SSD用于缓存时的写入次数,同时利用SSD较高的访问速度保证长期热门数据的读取效率,解决了目前由于过于频繁向SSD中写入数据,而导致SSD寿命变得很短,且降低SSD存储效率的问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (14)
1.一种数据存储方法,其特征在于,包括:
统计数据存储装置中任一数据分别在N个周期内的访问量,N>0,所述数据为内存中的任一数据;
根据所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;
若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,其中,所述SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个。
2.根据权利要求1所述的方法,其特征在于,所述若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,包括:
若确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级;
根据所述数据写入所述SSD的优先级,将所述数据存储至所述SSD中。
3.根据权利要求1或2所述的方法,其特征在于,若所述SSD特征包括所述访问量特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
若所述数据在N个周期内的访问量之和大于第一阈值,则确定所述数据满足所述访问量特征;
若所述SSD特征包括所述活跃度比重特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期,所述活跃周期为所述数据的访问量达到第二阈值的周期;
根据所述数据在N个周期内的活跃周期,计算所述活跃周期个数与所述N个周期的比重,若所述活跃周期个数与所述N个周期的比重大于第三阈值,则确定所述数据满足所述活跃度比重特征;
若所述SSD特征包括所述连续活跃度特征,则所述根据所述数据在N个周期内的访问量,确定所述数据是否满足SSD特征,包括:
根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期;
确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,则确定所述数据满足所述连续活跃度特征。
4.根据权利要求2所述的方法,其特征在于,所述若确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级,包括:
根据确定出的所述SSD特征的个数,计算所述数据写入SSD的优先级;或者,
根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD的优先级。
5.根据权利要求2或4所述的方法,其特征在于,所述若确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,包括:
根据所述数据写入SSD的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD的优先级存放待写入所述SSD的数据;
当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,K>0。
6.根据权利要求5所述的方法,其特征在于,所述SSD中的数据被划分为M个近期最少使用算法LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级高低,M>0,
其中,所述当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,包括:
根据所述优先级标识,删除所述M个LRU队列中优先级最低的数据;
根据所述数据写入SSD的优先级以及所述M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中。
7.根据权利要求6所述的方法,其特征在于,在根据所述数据写入SSD的优先级,将所述数据存储至所述SSD中之后,还包括:
更新所述SSD内的各个数据在所述M个LRU队列中所属的LRU队列。
8.一种数据存储装置,其特征在于,包括:
统计模块,用于统计数据存储装置中任一数据分别在N个周期内的访问量,N>0,所述数据为内存中的任一数据;
特征提取模块,用于根据所述统计模块中所述数据在N个周期内的访问量,确定所述数据是否满足固态硬盘SSD特征,所述SSD特征用于反映所述数据在所述N个周期内的活跃度;
数据存储模块,用于若所述特征提取模块中确定出所述数据满足至少一个所述SSD特征,则将所述数据存储至所述SSD中,其中,所述SSD特征包括访问量特征、活跃度比重特征以及连续活跃度特征中的至少一个。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括优先级确定模块,
所述优先级确定模块,用于若所述特征提取模块中确定出所述数据满足至少一个所述SSD特征,则根据所述数据的SSD特征确定所述数据写入所述SSD的优先级;
所述数据存储模块,具体用于根据所述优先级确定模块中所述数据写入所述SSD的优先级,将所述数据存储至所述SSD中。
10.根据权利要求8或9所述的装置,其特征在于,
所述特征提取模块,具体用于若所述数据在N个周期内的访问量之和大于第一阈值,则确定所述数据满足所述访问量特征;根据所述数据在N个周期内的访问量,确定所述数据在N个周期内的活跃周期,所述活跃周期为所述数据的访问量达到第二阈值的周期;根据所述数据在N个周期内的活跃周期,计算所述活跃周期个数与所述N个周期的比重,若所述活跃周期个数与所述N个周期的比重大于第三阈值,则确定所述数据满足所述活跃度比重特征;以及确定所述活跃周期中为连续活跃周期的数目,若所述连续活跃周期的数目大于第四阈值,则确定所述数据满足所述连续活跃度特征。
11.根据权利要求9所述的装置,其特征在于,
所述优先级确定模块,具体用于根据确定出的所述SSD特征的个数,计算所述数据写入SSD的优先级;或者,根据预设的每个SSD特征对应的权重值,及所述数据满足的所述SSD特征,计算所述数据写入SSD的优先级。
12.根据权利要求9或11所述的装置,其特征在于,
所述数据存储模块,具体用于根据所述数据写入SSD的优先级,将所述数据放入候选队列中,所述候选队列用于按照写入SSD的优先级存放待写入所述SSD的数据;当所述数据位于所述候选队列的队首的前K个位置时,将所述数据存储至所述SSD中,K>0。
13.根据权利要求12所述的装置,其特征在于,
所述数据存储模块,具体用于根据优先级标识,删除M个近期最少使用算法LRU队列中优先级最低的数据;根据所述数据写入SSD的优先级以及M个LRU队列的优先级标识,确定所述数据所属的LRU队列,并将所述数据写入所述LRU队列中;
其中,所述SSD中的数据被划分为M个LRU队列,每个LRU队列中携带有该LRU队列的优先级标识,所述优先级标识用于指示该LRU队列中的数据的优先级高低,M>0。
14.根据权利要求13所述的装置,其特征在于,所述装置还包括更新单元,其中,
所述更新单元,用于更新所述SSD内的各个数据在所述M个LRU队列中所属的LRU队列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410833626.0A CN104571954B (zh) | 2014-12-26 | 2014-12-26 | 一种数据存储方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410833626.0A CN104571954B (zh) | 2014-12-26 | 2014-12-26 | 一种数据存储方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104571954A CN104571954A (zh) | 2015-04-29 |
CN104571954B true CN104571954B (zh) | 2018-05-18 |
Family
ID=53088139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410833626.0A Active CN104571954B (zh) | 2014-12-26 | 2014-12-26 | 一种数据存储方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104571954B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105824882A (zh) * | 2016-03-10 | 2016-08-03 | 浪潮通信信息系统有限公司 | 一种基于状态驱动引擎的资源过程状态管理的应用方法 |
CN106598495A (zh) * | 2016-12-07 | 2017-04-26 | 深圳市深信服电子科技有限公司 | 一种混合存储服务质量的控制方法及控制装置 |
CN106909518B (zh) * | 2017-01-24 | 2020-06-26 | 朗坤智慧科技股份有限公司 | 一种实时数据缓存机制 |
CN106897030A (zh) * | 2017-02-28 | 2017-06-27 | 郑州云海信息技术有限公司 | 一种缓存数据管理方法及装置 |
CN108628540A (zh) * | 2017-03-22 | 2018-10-09 | 深圳市优朋普乐传媒发展有限公司 | 数据存储装置及方法 |
CN107547408B (zh) * | 2017-07-28 | 2020-08-28 | 新华三技术有限公司 | 一种mac地址哈希冲突的处理方法和装置 |
CN110196884B (zh) * | 2019-05-31 | 2022-04-29 | 北京大米科技有限公司 | 基于分布式数据库的数据写入方法、存储介质和电子设备 |
CN111124952B (zh) * | 2019-12-04 | 2022-09-30 | 北京奇艺世纪科技有限公司 | 一种数据管理方法、装置、电子设备及可读存储介质 |
CN111104066B (zh) * | 2019-12-17 | 2021-07-27 | 华中科技大学 | 数据写入方法、装置及存储服务器和计算机可读存储介质 |
CN113553346B (zh) * | 2021-07-22 | 2022-08-16 | 中国电子科技集团公司第十五研究所 | 大规模实时数据流一体化处理、转发和存储方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102129472A (zh) * | 2011-04-14 | 2011-07-20 | 上海红神信息技术有限公司 | 面向语义搜索引擎的高效混合存储结构的构建方法 |
CN102713827A (zh) * | 2010-01-07 | 2012-10-03 | 国际商业机器公司 | 用于分层存储架构的区间迁移 |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储系统 |
CN103198027A (zh) * | 2013-02-27 | 2013-07-10 | 天脉聚源(北京)传媒科技有限公司 | 一种存储文件和提供文件的方法和装置 |
CN103491075A (zh) * | 2013-09-09 | 2014-01-01 | 中国科学院计算机网络信息中心 | 动态调整dns递归服务器缓存资源记录的方法和系统 |
CN103853500A (zh) * | 2012-12-07 | 2014-06-11 | 中国移动通信集团河南有限公司 | 一种基于海量数据的数据分配方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8560792B2 (en) * | 2010-12-16 | 2013-10-15 | International Business Machines Corporation | Synchronous extent migration protocol for paired storage |
-
2014
- 2014-12-26 CN CN201410833626.0A patent/CN104571954B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102713827A (zh) * | 2010-01-07 | 2012-10-03 | 国际商业机器公司 | 用于分层存储架构的区间迁移 |
CN102129472A (zh) * | 2011-04-14 | 2011-07-20 | 上海红神信息技术有限公司 | 面向语义搜索引擎的高效混合存储结构的构建方法 |
CN102799535A (zh) * | 2012-06-29 | 2012-11-28 | 记忆科技(深圳)有限公司 | 固态硬盘的数据处理方法及固态硬盘 |
CN103853500A (zh) * | 2012-12-07 | 2014-06-11 | 中国移动通信集团河南有限公司 | 一种基于海量数据的数据分配方法、装置及系统 |
CN103095805A (zh) * | 2012-12-20 | 2013-05-08 | 江苏辰云信息科技有限公司 | 一种对数据进行智能分层管理的云存储系统 |
CN103198027A (zh) * | 2013-02-27 | 2013-07-10 | 天脉聚源(北京)传媒科技有限公司 | 一种存储文件和提供文件的方法和装置 |
CN103491075A (zh) * | 2013-09-09 | 2014-01-01 | 中国科学院计算机网络信息中心 | 动态调整dns递归服务器缓存资源记录的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN104571954A (zh) | 2015-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104571954B (zh) | 一种数据存储方法及装置 | |
CN105205014B (zh) | 一种数据存储方法和装置 | |
CN107526546B (zh) | 一种Spark分布式计算数据处理方法及系统 | |
CN103440207B (zh) | 缓存方法及装置 | |
CN108829344A (zh) | 数据存储方法、装置及存储介质 | |
CN104798063B (zh) | 存储设备和主机设备 | |
CN107066397A (zh) | 剖析缓存替换 | |
US7818505B2 (en) | Method and apparatus for managing a cache memory in a mass-storage system | |
CN107463509B (zh) | 缓存管理方法、缓存控制器以及计算机系统 | |
CN103412822B (zh) | 操作非易失性内存和数据操作的方法和相关装置 | |
CN106527988A (zh) | 一种固态硬盘数据迁移的方法及装置 | |
CN103257932A (zh) | 用于管理计算机可读高速缓存系统中的数据的方法和系统 | |
CN108334460B (zh) | 数据缓存方法及装置 | |
CN104662519A (zh) | 在非易失性存储器中缓存代码的方法、系统和设备 | |
CN107247675A (zh) | 一种基于分类预测的缓存选择方法和系统 | |
KR20180086120A (ko) | 테일 레이턴시를 인식하는 포어그라운드 가비지 컬렉션 알고리즘 | |
CN110413545B (zh) | 存储管理方法、电子设备和计算机程序产品 | |
CN104040508A (zh) | 填充来自第一高速缓存的轨道的第一步幅以向第二高速缓存中的第二步幅写入 | |
CN103902473A (zh) | 一种数据处理方法及数据缓存系统 | |
CN108021514A (zh) | 一种缓存替换的方法和设备 | |
CN109359063A (zh) | 面向存储系统软件的缓存置换方法、存储设备及存储介质 | |
CN115794682A (zh) | 缓存替换方法及装置、电子设备、存储介质 | |
CN111930305A (zh) | 数据的存储方法和装置、存储介质、电子装置 | |
KR101940382B1 (ko) | 페이지의 프리페칭 방법 및 장치 | |
CN104252423B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200422 Address after: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee after: HUAWEI TECHNOLOGIES Co.,Ltd. Address before: 301, A building, room 3, building 301, foreshore Road, No. 310052, Binjiang District, Zhejiang, Hangzhou Patentee before: Huawei Technologies Co.,Ltd. |