CN103186350B - 混合存储系统及热点数据块的迁移方法 - Google Patents
混合存储系统及热点数据块的迁移方法 Download PDFInfo
- Publication number
- CN103186350B CN103186350B CN201110460541.9A CN201110460541A CN103186350B CN 103186350 B CN103186350 B CN 103186350B CN 201110460541 A CN201110460541 A CN 201110460541A CN 103186350 B CN103186350 B CN 103186350B
- Authority
- CN
- China
- Prior art keywords
- data block
- ssd
- mapping table
- target data
- request
- 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.)
- Expired - Fee Related
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种混合存储系统,包括:至少一个固态硬盘SSD、至少一个机械硬盘以及控制模块;所述控制模块用于将所述机械硬盘中的热点数据块迁移到所述SSD,以及,将所述SSD中的非热点数据块迁移到所述机械硬盘,其中,所述热点数据块为被访问频率高于其他数据块的数据块,所述非热点数据块为被访问频率低于其他数据块的数据块。本发明提供的混合存储系统及热点数据块的迁移方法,通过SSD缓存机械硬盘中的热点数据块,有效提高了SSD的利用率和混合存储系统的性能,同时,降低了混合存储系统的成本。
Description
技术领域
本发明属于计算机存储技术领域,具体涉及一种混合存储系统及热点数据块的迁移方法。
背景技术
机械硬盘作为一种传统普通硬盘,主要由:盘片、磁头、盘片转轴及控制电机、磁头控制器、数据转换器和接口等几个部分组成。机械硬盘具有的优点为成本低廉、容量大;但缺点为:数据访问速度较慢。
针对机械硬盘具有的数据访问速度较慢的缺点,目前,SSD(SolidStateDisk,固态硬盘)作为一种具有快速的数据访问速度的硬盘,已逐渐应用于计算机中。虽然SSD的数据访问速度较快,但与机械硬盘相比,具有成本高、容量小的缺点,由此限制了SSD的广泛推广使用。
因此,如何设计出一种同时具有机械硬盘和SSD优点的存储系统,从而在降低存储设备成本的同时,提高存储设备的数据访问速度,是目前亟需解决的问题。
发明内容
针对现有技术存在的缺陷,本发明提供一种混合存储系统及热点数据块的迁移方法,通过SSD缓存机械硬盘中的热点数据块,有效提高了SSD的利用率和混合存储系统的性能,同时,降低了混合存储系统的成本。
本发明所采用的技术方案如下:
本发明提供一种混合存储系统,包括:至少一个固态硬盘SSD、至少一个机械硬盘以及控制模块;所述控制模块用于将所述机械硬盘中的热点数据块迁移到所述SSD,以及,将所述SSD中的非热点数据块迁移到所述机械硬盘,其中,所述混合存储系统中一共有H个数据块,将所述H个数据块按被访问频率由高到低排列,所述热点数据块为被访问频率位于前M的数据块,所述非热点数据块为被访问频率位于后N的数据块,其中,H≥M,H≥N。
本发明还提供一种应用上述混合存储系统的热点数据块的迁移方法,所述控制模块包括:热点数据块区分模块、请求分发模块、迁移触发模块和数据块迁移模块,所述热点数据块的迁移方法包括以下步骤:
S1,所述热点数据块区分模块创建并维护第一映射表和第二映射表,其中,所述第一映射表用于记录与所述SSD或所述机械硬盘中每一个数据块对应的元素;所述第二映射表用于记录与所述SSD或所述机械硬盘中的每一个热点数据块对应的元素;其中,所述元素用于记录与该元素对应的数据块的被访问信息;所述被访问信息包括:热度值;
当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第一映射表和所述第二映射表,然后将该目标数据块的访问请求发送给所述请求分发模块;
S2,所述请求分发模块判断所述SSD中是否已存在所述目标数据块,如果判断结果为是,则将该目标数据块的访问请求发送给所述SSD中的所述目标数据块,否则,将该目标数据块的访问请求发送给所述机械硬盘中的所述目标数据块;同时,更新与所述目标数据块对应的失效次数值,其中,所述失效次数值为将该目标数据块的访问请求发送给所述机械硬盘中的所述目标数据块的次数;
S3,所述迁移触发模块获取S1中与所述目标数据块对应的所述元素中记录的热度值以及S2中所述失效次数值,判断是否达到迁移触发条件,如果达到,则向所述数据块迁移模块发出数据块迁移指令;
S4,所述数据块迁移模块接收到所述数据块迁移指令时,将所述SSD中的非热点数据块迁移到所述机械硬盘中,或,将所述机械硬盘中的热点数据块迁移到所述SSD中。
优选的,所述第一映射表和所述第二映射表采用索引结构的形式存储元素;其中,所述第一映射表采用基树和/或B树和/或红黑树的索引结构,其中,其索引关键字为所述元素对应的数据块在机械硬盘上的逻辑地址;所述第二映射表采用B+树索引结构,其索引关键字为所述元素中记录的所述热度值。
优选的,S1中,当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第一映射表,具体为:当接收到所述目标数据块的访问请求时,查找预先建立的第一映射表,判断所述第一映射表中是否已记录与所述目标数据块唯一对应的目标元素,如果判断结果为是,则更新所述目标元素;如果判断结果为否,则向所述第一映射表中增加与所述目标数据块唯一对应的所述目标元素;
当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第二映射表,具体为:当接收到所述目标数据块的访问请求时,查找预先建立的第二映射表,判断所述第二映射表中是否已记录与所述目标数据块唯一对应的目标元素,如果判断结果为是,则更新所述目标元素;如果判断结果为否,则进一步判断所述第二映射表是否已满,如果判断结果为否,则向所述第二映射表中增加与所述目标数据块唯一对应的所述目标元素;如果判断结果为是,则获取所述第二映射表中具有最小热度值的元素,然后,比较所述目标数据块的当前热度值是否大于所述最小热度值,如果判断结果为是,则删除所述第二映射表中所述具有最小热度值的元素,并向所述第二映射表中增加与所述目标数据块对应的元素。
优选的,所述元素中记录的所述热度值的计算方法为:
S11,创建并维护与每一个所述元素唯一对应的单元数组,所述单元数组由多个单元组成,每个单元对应的时间跨度M1均相同;每个单元均记录以下两项内容:该单元的开始时间戳C;在与该单元对应的时间跨度内,与该元素对应的数据块的被访问的次数T;其中,所述单元的开始时间戳为该数据块在与该单元对应的时间跨度内首次被访问的时间点,所述单元数组中的各个单元按C值的先后顺序排列;
其中,维护的具体方法为:当在时间点D接收到所述目标数据块的访问请求时,查找与所述目标数据块对应的目标单元数组,获取该目标单元数组中最后一个有效单元,读取该有效单元的开始时间戳C1,如果D小于C1+M1,则用T+1更新所述有效单元中记录的T,获得新的T值,否则,向所述目标单元数组中申请一个新的单元,且该新的单元的C值即为D值,该新的单元的T值为1;
S12,根据以下公式计算热度值:
热度值=∑(每个单元中记录的访问次数*f(ti)),其中,f(ti)=(C-系统初始化时间)/M1,系统初始化时间为将所述控制模块加载到操作系统的时间。
优选的,所述数据块迁移模块接收到所述数据块迁移指令时,将所述SSD中的非热点数据块迁移到所述机械硬盘中,或,将所述机械硬盘中的热点数据块迁移到所述SSD中,具体为:
S41,所述数据块迁移模块创建并维护SSD映射表,所述SSD映射表用于记录与所述SSD中所有数据块对应的元素;所述SSD映射表中每一个元素对应三个属性:该元素对应的数据块在SSD中的逻辑地址、该元素对应的数据块在机械硬盘中的逻辑块地址、该元素对应的数据块在SSD中的状态,其中,该元素对应的数据块在SSD中的状态包括:“干净”状态、“脏”状态和无效状态,所述“干净”状态表示该元素对应的数据块在SSD中与在机械硬盘中存储的内容一致,所述“脏”状态表示该元素对应的数据块在SSD中与在机械硬盘中存储的内容不一致,所述无效状态表明该该元素对应的数据块在SSD中为空白数据块;
其中,所述SSD映射表维护的具体方法为:当所述SSD中第一数据块被迁移到所述机械硬盘时,删除所述SSD中与所述第一数据块对应的元素;当所述机械硬盘中的第二数据块被迁移到所述SSD时,向所述SSD映射表中增加与所述第二数据块对应的元素;
S42,所述数据块迁移模块将所述第二映射表记录的元素加入到移入队列,将所述SSD映射表中记录的元素加入到移出队列;判断所述移入队列和所述移出队列中是否存在相同的元素,如果存在,则从所述移入队列和所述移出队列中同时删除所述相同的元素,得到新的移入队列和新的移出队列,然后执行S43;如果不存在,则直接执行步骤S43;
S43,所述数据块迁移模块遍历S42得到的所述移入队列中所有元素,读取每个元素对应的机械硬盘中的数据块,并将该数据块写入SSD中,同时在SSD映射表中增加与该数据块对应的元素;
所述数据块迁移模块遍历S42得到的所述移出队列中所有元素,读取每个元素对应的SSD中的数据块,判断读取到的数据块对应的元素在SSD映射表中的状态,如果状态为“干净”,则执行S44;如果状态为“脏”,则执行S45;
S44,将读取到的数据块对应的元素在SSD映射表中的状态设置为所述无效状态;
S45,将读取到的SSD中的数据块写回到机械硬盘中的对应数据块中,同时,删除SSD映射表中与该数据块对应的元素。
优选的,S41之后,还包括:
当所述请求分发模块接收到所述目标数据块的访问请求时,查找所述SSD映射表,判断所述SSD映射表中是否存在与所述目标数据块对应的目标元素,如果存在,则进一步判断所述目标元素的状态是否为无效状态,如果不是,则将该目标数据块的访问请求发送给所述SSD中,然后,当该目标数据块的访问请求为写请求时,设置SSD映射表中与该目标数据块对应的元素的状态为“脏”状态;如果不存在,则直接将该目标数据块的访问请求发送给所述机械硬盘中。
优选的,S43之后,还包括:
S46,当所述请求分发模块接收到所述目标数据块的访问请求时,查找所述移入队列和所述移出队列,判断所述目标数据块是否正在被所述数据块迁移模块迁移,如果判断结果为否,则执行S47,如果判断结果为是,则执行S48-S51;
S47,查找所述SSD映射表,判断该目标数据块是否已经被映射到SSD中,如果判断结果为是,则将该目标数据块的访问请求发往至SSD,否则,将该目标数据块的访问请求发往至机械硬盘中,然后结束流程;
S48,比较该目标数据块的请求大小和操作系统页面的大小,如果前者小,则等待所述数据块迁移模块的迁移过程完成,然后执行S47,否则,执行S49-S51;
S49,判断该目标数据块的访问请求是否为读请求,如果判断结果为是,则执行S50;如果判断结果为否,则执行S51;
S50,查找该目标数据块对应的元素是否位于所述移出队列中,如果是,则将该目标数据块的访问请求发往SSD,否则,将该目标数据块的访问请求发往所述机械硬盘,并结束流程;
S51,判断所述目标数据块是否位于所述移出队列中,如果判断结果为是,则从所述SSD映射表中删除与该目标数据块对应的元素,并将该目标数据块的访问请求发往机械硬盘中;如果判断结果为否,则将所述SSD映射表中与所述目标数据块对应的元素状态标记为“脏”状态,并将该目标数据块的访问请求发往所述SSD中,结束流程。
本发明的有益效果如下:
本发明提供的混合存储系统及热点数据块的迁移方法,具备以下优点:
(1)混合存储系统性价比高。将SSD作为机械硬盘的缓存,少量的SSD空间被用来缓存大部分访问频率高和时间局部性较高的数据块,即:热点数据块,由于SSD的顺序读写和随机读性能优于机械硬盘,因此提高了混合存储系统的整体访问性能;又由于SSD的数量远少于机械硬盘的数量,所以,降低了混合存储系统的整体成本。
(2)区分热点数据块的效率高。由于传统的热点数据块的区分方法中,或者仅考虑了最近一次被访问的时间,导致周期性访问的数据难以驻留在缓存中;或者仅考虑了数据块的被访问频率,导致无法区分被访问的时间局部性。而本发明所述的热点数据块区分机制中,综合了数据块被访问的时间局部性和频率局部性的特点,从而提高了缓存数据的命中率和系统的整体性能。
(3)数据块迁移灵活度高。本发明通过一个专用的迁移触发模块来启动数据块迁移,因此可以根据系统的具体情况,如失效次数和迁移时间等,自动调整迁移时机。而本发明所述的数据块迁移过程,处理了迁移过程与前端用户IO请求的冲突,减少了冲突引起的性能降低情况。并且,本发明所述的数据块迁移过程,无须修改上层文件系统的元数据,可以透明支持多种文件系统。
附图说明
图1为本发明实施例提供的混合存储系统的一种结构示意图;
图2为本发明实施例提供的混合存储系统的另一种结构示意图;
图3为本发明实施例提供的当第一映射表采用基树的索引结构时的索引图;
图4为本发明实施例提供的当第二映射表采用B+树的索引结构时的索引图;
图5为本发明实施例提供的SSD映射表的一种示意图;
图6为本发明实施例提供的混合存储系统对目标数据块的访问请求的处理方法的流程示意图;
图7为本发明实施例提供的数据块迁移模块和IO分割模块对数据块进行处理的流程示意图。
具体实施方式
以下结合附图对本发明的具体实施方式进行说明。
本发明实施例提供一种混合存储系统,包括:至少一个固态硬盘SSD、至少一个机械硬盘以及控制模块;所述控制模块用于将所述机械硬盘中的热点数据块迁移到所述SSD,以及,将所述SSD中的非热点数据块迁移到所述机械硬盘,其中,所述混合存储系统中一共有H个数据块,将所述H个数据块按被访问频率由高到低排列,所述热点数据块为被访问频率位于前M的数据块,所述非热点数据块为被访问频率位于后N的数据块,其中,H≥M,H≥N。
其中,本发明涉及到的SSD可以基于NAND或者NOR等flash存储介质,具有较高的随机读和顺序读写访问性能,通过SSD缓存机械硬盘中的热点数据块,从而提高存储系统的性价比。
需要说明的是,本发明实施例提供的混合存储系统中,可以包含多个SSD和多个机械硬盘,并且,将多个机械硬盘分成若干组,每一组的机械硬盘与一个SSD连接,如图1所示,其中一组机械硬盘中包括5个机械硬盘,1个SSD与5个机械硬盘连接,通过一个SSD实现对5个机械硬盘的缓存,从而进一步提高存储系统的性价比。
进一步的,如图1所示,SSD与前端主机相连接,前端主机的文件系统或者数据库发送IO请求给混合存储系统,混合存储系统将一个或者多个机械硬盘以逻辑卷的方式导出给前端主机,前端主机利用传统的块访问接口访问混合存储系统导出的逻辑卷。其中,本发明将多个机械硬盘组织称为一个逻辑卷,也可以称为RAID混合存储系统卷;前端主机是一组访问混合存储系统的计算机,可以是个人电脑、数据中心的服务器等。
另外,热点数据块、非热点数据块的详细定义以及数据块迁移的具体方法将在下面提供的热点数据块的迁移方法中详细介绍,在此不再介绍。
本发明还提供一种应用上述混合存储系统的热点数据块的迁移方法,如图2所示,控制模块包括:热点数据块区分模块、请求分发模块、迁移触发模块和数据块迁移模块,所述热点数据块的迁移方法包括以下步骤:
步骤101,热点数据块区分模块创建并维护第一映射表和第二映射表,其中,所述第一映射表用于记录与所述SSD或所述机械硬盘中每一个数据块对应的元素;所述第二映射表用于记录与所述SSD或所述机械硬盘中的每一个热点数据块对应的元素;其中,所述元素用于记录与该元素对应的数据块的被访问信息;所述被访问信息包括:热度值;当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第一映射表和所述第二映射表,然后将该目标数据块的访问请求发送给所述请求分发模块。
本步骤中,热点数据块区分模块为每一个被访问的位于机械硬盘或者SSD中的数据块均设置一个元素,该元素用于记录与该元素对应的数据块的被访问信息,其中,被访问信息包括但不限于:被访问的数据块对应的元素的热度值、被访问的数据块在机械硬盘上的逻辑地址、被访问的数据块在一段时间内的访问次数、被访问的数据块最近被访问n次的被访问时间(n≥1)。为使每一个被访问的数据块对应的元素所记录的被访问信息具有实时性,每当一个数据块被访问时,需要实时更新与该数据块对应的元素。另外,后续介绍被访问的数据块对应的元素的热度值的计算方法。
热点数据块区分模块所设置的元素可以采用映射表的方式存储,从而方便查找。具体的,热点数据块区分模块创建并维护第一映射表和第二映射表,第一映射表和所述第二映射表采用索引结构的形式存储元素,由于第一映射表记录与所述SSD或所述机械硬盘中每一个数据块对应的元素,所以,第一映射表采用基树和/或B树和/或红黑树的索引结构,其索引关键字为所述元素对应的数据块在机械硬盘上的逻辑地址;由于第二映射表记录与所述SSD或所述机械硬盘中的每一个热点数据块对应的元素,所以第二映射表可以采用B+树索引结构,其索引关键字为所述元素中记录的所述热度值。如图3所示,为当第一映射表采用基树的索引结构时的索引图,,该基树以元素记录的逻辑地址为索引;如图4所示,为当第二映射表采用B+树的索引结构时的索引图,其采用一棵叶节点个数为K的B+树,索引热度值最高的K个元素,该B+树以元素的热度值为索引,其中,热度值最高的K个元素所对应的数据块即为本发明所涉及到的热点数据块。
当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第一映射表,更新的具体方法包括以下步骤:当接收到所述目标数据块的访问请求时,查找预先建立的第一映射表,判断所述第一映射表中是否已记录与所述目标数据块唯一对应的目标元素,如果判断结果为是,则更新所述目标元素;如果判断结果为否,则向所述第一映射表中增加与所述目标数据块唯一对应的所述目标元素。
当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第二映射表,更新的具体方法包括以下步骤:当接收到所述目标数据块的访问请求时,查找预先建立的第二映射表,判断所述第二映射表中是否已记录与所述目标数据块唯一对应的目标元素,如果判断结果为是,则更新所述目标元素;如果判断结果为否,则进一步判断所述第二映射表是否已满,如果判断结果为否,则向所述第二映射表中增加与所述目标数据块唯一对应的所述目标元素;如果判断结果为是,则获取所述第二映射表中具有最小热度值的元素,然后,比较所述目标数据块的当前热度值是否大于所述最小热度值,如果判断结果为是,则删除所述第二映射表中所述具有最小热度值的元素,并向所述第二映射表中增加与所述目标数据块对应的元素。
以图3和图4为例,介绍对第一映射表和第二映射表更新的一种具体实现方式:如图3所示,当目标数据块访问请求到达时,热点数据块区分模块能快速地根据该目标数据块所携带的逻辑地址索引基树,判断在该基树中是否存在与该目标数据块对应的目标元素,如果该目标数据块所对应的目标元素没有在基树中,那么分配和构建一个新的目标元素,并插入到基树中;如果在该基树中已存在与该目标数据块对应的目标元素,则直接更新该目标元素记录的被访问信息。根据这些被访问信息,热点数据块区分模块计算出目标数据块的热度值,并且统计出热度值最高的K个数据块,并将这K个数据块所对应的元素由一棵B+树索引。如图4所示,该B+树以每个数据块的热度值为关键字,每个叶节点是一个元素,因此热度值在前K位的数据块所对应的元素,不仅被基树索引,同时也被B+树索引。对B+树的更新方式为:当一个新的数据块请求到达时,热数据区分模块更新该数据块在元素中保存的热度值,如果更新后的热度值比B+树中最小的热度值要大,并且该元素未被B+树索引,那么B+树中热度值最小的元素被从B+树中删除,而刚请求的数据块所对应的元素被插入B+树中。图4中,N表示节点,如N25表示节点25的指针,L表示热度值,如L702表示叶节点对应的元素的热度值为702,key表示键值。如果机械硬盘的空间较大,基树的大小也会相应较大,基树的结构中可以加入一个元素缓存,该元素缓存中存储的所有元素以数据块的热度值为序排列,如果一个元素排列在序列队尾,那么它将被周期性地清理出该序列,直到对应的数据块被访问时,新的元素被重新构建,并加入基树。
在具体实现上,每个元素的结构体描述如下:
其中,元素对应的数据块逻辑地址fs_lbn记录该元素对应的机械硬盘中的数据块逻辑地址,该地址是唯一的,因此可以用于进行元素在基树中的检索。元素的历史访问时间通过last_acc数组记录,每次数据块被访问时,访问时间将被记录到该数组中。每次访问时候,元素对应的热度值tmp_rank通过历史访问时间数组计算出来。数据块的历史访问时间数组last_acc的大小HISTORY_SIZE可以根据用户需求调整。
在具体实现上,基树可以采用以下方式描述:
其中,height对应基树的高度,count表示节点中有效槽的个数,slot表示每个槽的指针地址,而tag表示槽的状态。因此通过基树的根节点和根节点中的slot指针,可以从基树的根节点开始索引该基树。
另外,元素中记录的热度值的计算方法可以包括以下步骤:
步骤201,创建并维护与每一个所述元素唯一对应的单元数组,所述单元数组由多个单元组成,每个单元对应的时间跨度M1均相同;每个单元均记录以下两项内容:该单元的开始时间戳C;在与该单元对应的时间跨度内,与该元素对应的数据块的被访问的次数T;其中,所述单元的开始时间戳为该数据块在与该单元对应的时间跨度内首次被访问的时间点,所述单元数组中的各个单元按C值的先后顺序排列;
其中,维护的具体方法为:当在时间点D接收到所述目标数据块的访问请求时,查找与所述目标数据块对应的目标单元数组,获取该目标单元数组中最后一个有效单元,读取该有效单元的开始时间戳C1,如果D小于C1+M1,则用T+1更新所述有效单元中记录的T,获得新的T值,否则,向所述目标单元数组中申请一个新的单元,且该新的单元的C值即为D值,该新的单元的T值为1。
步骤202,根据以下公式计算热度值:
热度值=∑(每个单元中记录的访问次数*f(ti)),其中,f(ti)=(C-系统初始化时间)/M1,系统初始化时间为将所述控制模块加载到操作系统的时间。
其中,f(ti)为系统时间的对数函数,用于计算IO请求的时间局部性。每一个时间值ti对应于单元数据中的一个单元,f(ti)计算方法为:(单元的开始时间戳-系统初始化时间)/时间跨度的长度。
热点数据块区分模块,根据系统时间的对数f(ti),计算IO请求的时间局部性。每一个时间值ti对应于单元数组中的一个单元,同时也考虑数据块的访问频率,最终的热度值计算方法为:∑(每个单元中记录的访问次数*f(ti)),即所有单元格中记录的访问次数与系统时间对数函数的结果相乘得到的总和。
因此,本发明中,热度值的计算结果为单元数组中所有单元格中记录的被访问次数与系统时间对数函数的结果相乘得到的总和。
由于传统的热点数据块的区分方法中,或者仅考虑了最近一次被访问的时间,导致周期性访问的数据难以驻留在缓存中;或者仅考虑了数据块的被访问频率,导致无法区分被访问的时间局部性。而本发明所述的热点数据块区分机制中,综合了数据块被访问的时间局部性和频率局部性的特点,从而提高了缓存数据的命中率和系统的整体性能。
步骤102,所述请求分发模块判断所述SSD中是否已存在所述目标数据块,如果判断结果为是,则将该目标数据块的访问请求发送给所述SSD中的所述目标数据块,否则,将该目标数据块的访问请求发送给所述机械硬盘中的所述目标数据块;同时,更新与所述目标数据块对应的失效次数值,其中,所述失效次数值为将该目标数据块的访问请求发送给所述机械硬盘中的所述目标数据块的次数;
步骤103,所述迁移触发模块获取步骤101中与所述目标数据块对应的所述元素中记录的热度值以及步骤102中所述失效次数值,判断是否达到迁移触发条件,如果达到,则向所述数据块迁移模块发出数据块迁移指令;
具体的,迁移触发模块主要负责触发数据块迁移的过程,它允许系统提供多种迁移策略,减少混合存储系统在进行数据块迁移的过程中对前端主机IO请求的性能影响。本发明提供的为一种混合存储系统中基于热度值的和失效次数的混合策略,基于热度值的策略是,当从上次迁移完成到当前的时间超过一个阈值时,该数据块对应的热度值会被降低到一个门限值,从而触发迁移过程,因此可以提高时间局部性较高的数据块被迁移进SSD的概率,而基于失效次数的方法是,当一段时间内数据块的请求到达机械硬盘的次数超过阈值时,迁移将被触发,因此可以降低缓存数据不恰当的时候,前端主机IO请求性能被影响的概率。
步骤104,所述数据块迁移模块接收到所述数据块迁移指令时,将所述SSD中的非热点数据块迁移到所述机械硬盘中,或,将所述机械硬盘中的热点数据块迁移到所述SSD中。
数据块迁移模块接收到所述数据块迁移指令时,将所述SSD中的非热点数据块迁移到所述机械硬盘中,或,将所述机械硬盘中的热点数据块迁移到所述SSD中,具体包括以下步骤:
步骤301,所述数据块迁移模块创建并维护SSD映射表,所述SSD映射表用于记录与所述SSD中所有数据块对应的元素;如图5所示,为SSD映射表的一种示意图,该SSD映射表中每一个元素对应三个属性:该元素对应的数据块在SSD中的逻辑地址、该元素对应的数据块在机械硬盘中的逻辑块地址、该元素对应的数据块在SSD中的状态,其中,该元素对应的数据块在SSD中的状态包括:“干净”状态、“脏”状态和无效状态,所述“干净”状态表示该元素对应的数据块在SSD中与在机械硬盘中存储的内容一致,所述“脏”状态表示该元素对应的数据块在SSD中与在机械硬盘中存储的内容不一致,所述无效状态表明该元素对应的数据块在SSD中为空白数据块;
其中,所述SSD映射表维护的具体方法为:当所述SSD中第一数据块被迁移到所述机械硬盘时,删除所述SSD中与所述第一数据块对应的元素;当所述机械硬盘中的第二数据块被迁移到所述SSD时,向所述SSD映射表中增加与所述第二数据块对应的元素;
步骤302,所述数据块迁移模块将所述第二映射表记录的元素加入到移入队列,将所述SSD映射表中记录的元素加入到移出队列;判断所述移入队列和所述移出队列中是否存在相同的元素,如果存在,则从所述移入队列和所述移出队列中同时删除所述相同的元素,得到新的移入队列和新的移出队列,然后执行步骤303;如果不存在,则直接执行步骤303;
本步骤中,最终构造得到的移出队列中的元素为:处于SSD映射表中所有的数据块所对应的元素,并且该元素未存在于第二映射表中,由于第二映射表中记录的为热点数据块对应的元素,而SSD映射表中记录的为SSD中所有数据据块对应的元素,所以,最终构造得到的移出队列中的元素为SSD中非热点数据块所对应的元素,也就是需要从SSD迁移到机械硬盘的数据块所对应的元素。移入队列则记录所有需要从机械硬盘迁移到SSD的数据块所对应的所述元素。
最终构造得到的移入队列中的元素为:处于第二映射表中所有的数据块所对应的元素,并且该元素未存在于SSD映射表中。即,移入队列中的元素为未存在于SSD中的热点数据块所对应的元素,也就是需要从机械硬盘迁移到SSD的热点数据块所对应的元素。
步骤303,所述数据块迁移模块遍历步骤302得到的所述移入队列中所有元素,读取每个元素对应的机械硬盘中的数据块,并将该数据块写入SSD中,同时在SSD映射表中增加与该数据块对应的元素;
所述数据块迁移模块遍历步骤302得到的所述移出队列中所有元素,读取每个元素对应的SSD中的数据块,判断读取到的数据块对应的元素在SSD映射表中的状态,如果状态为“干净”,则执行步骤304;如果状态为“脏”,则执行步骤305;
步骤304,将读取到的数据块对应的元素在SSD映射表中的状态设置为所述无效状态;
步骤305,将读取到的SSD中的数据块写回到机械硬盘中的对应数据块中,同时,删除SSD映射表中与该数据块对应的元素;
由于请求分发模块和数据块迁移模块是两个并列的进程,所以,请求分发模块也可以直接对数据块的访问请求进行重定向,具体的,步骤301之后,还包括:
当所述请求分发模块接收到所述目标数据块的访问请求时,查找所述SSD映射表,判断所述SSD映射表中是否存在与所述目标数据块对应的目标元素,如果存在,则进一步判断所述目标元素的状态是否为无效状态,如果不是,则将该目标数据块的访问请求发送给所述SSD中,然后,当该目标数据块的访问请求为写请求时,设置SSD映射表中与该目标数据块对应的元素的状态为“脏”状态;如果不存在,则直接将该目标数据块的访问请求发送给所述机械硬盘中。
另外,步骤303之后,如图6所示,本发明提供一种混合存储系统对目标数据块的访问请求的处理方法,包括:
步骤401,当所述请求分发模块接收到所述目标数据块的访问请求时,查找所述移入队列和所述移出队列,判断所述目标数据块是否正在被所述数据块迁移模块迁移,如果判断结果为否,则执行步骤402,如果判断结果为是,则执行步骤403-步骤406;
步骤402,查找所述SSD映射表,判断该目标数据块是否已经被映射到SSD中,如果判断结果为是,则将该目标数据块的访问请求发往至SSD,否则,将该目标数据块的访问请求发往至机械硬盘中,然后结束流程;
步骤403,比较该目标数据块的请求大小和操作系统页面的大小,如果前者小,则等待所述数据块迁移模块的迁移过程完成,然后执行步骤402,否则,执行步骤404-406;
步骤404,判断该目标数据块的访问请求是否为读请求,如果判断结果为是,则执行步骤405;如果判断结果为否,则执行步骤406;
步骤405,查找该目标数据块对应的元素是否位于所述移出队列中,如果是,则将该目标数据块的访问请求发往SSD,否则,将该目标数据块的访问请求发往所述机械硬盘,并结束流程;
步骤406,判断所述目标数据块是否位于所述移出队列中,如果判断结果为是,则从所述SSD映射表中删除与该目标数据块对应的元素,并将该目标数据块的访问请求发往机械硬盘中;如果判断结果为否,则将所述SSD映射表中与所述目标数据块对应的元素状态标记为“脏”状态,并将该目标数据块的访问请求发往所述SSD中,结束流程。
需要说明的是,本发明实施例是以请求分发模块或热点数据块区分模块接收到数据块后,对数据块所作的处理。但本领域技术人员公知,如果请求分发模块或热点数据块区分模块接收到的为前端主机发送的IO请求时,还包括:请求分发模块或热点数据块区分模块对接收到的IO请求以扇区为单位进行划分,得到子请求,每一个子请求即为一个数据块的访问请求。
另外,如图7所示,为数据块迁移模块和IO分割模块对数据块进行处理的流程示意图,包括以下步骤:
步骤501,数据块迁移模块判断迁移进程是否正在退出,如果是,则执行步骤502,否则,执行步骤503-509;
步骤502,数据块迁移模块设置迁移进程为退出状态,并完成剩余的IO操作。
步骤503,数据块迁移模块根据SSD映射表计算SSD中的空闲块数;
步骤504,数据块迁移模块基于需要迁移的数据块构建迁移队列;
其中,构建的迁移队列包括:移入队列和移出队列;具体的构建方法为:首先将第二映射表中所有元素加入移入队列,将SSD映射表中每一项元素加入移出队列。然后,删除同时位于移入队列和移出队列中的元素,得到新的移入队列和移出队列,对新的移入队列和移出队列中的元素依次进行下述处理。
步骤505,判断迁移队列是否为移出队列,如果是,则对于移出队列中的每一个元素,执行步骤506,否则,执行步骤507-509。
步骤506,判断SSD映射表中与待移出元素对应项是否为“脏”状态,如果是,则删除SSD映射表中对应项,否则,执行步骤507-509。
步骤507,根据元素的逻辑地址构建一个新的数据块读请求,并发往SSD中;
步骤508,判断数据块读请求是否成功,如果否,则返回失败消息;否则,执行步骤509;
步骤509,判断当前进行的数据块迁移进程是否被中断,如果是,则返回失败消息;否则,根据构建的数据块读请求最终获得的数据,构建一个新的写请求,并发送到机械硬盘中。
综上所述,本发明提供的混合存储系统,具备以下优点:
(1)混合存储系统性价比高。将SSD作为机械硬盘的缓存,少量的SSD空间被用来缓存大部分访问频率高和时间局部性较高的数据块,即:热点数据块,由于SSD的顺序读写和随机读性能优于机械硬盘,因此提高了混合存储系统的整体访问性能;又由于SSD的数量远少于机械硬盘的数量,所以,降低了混合存储系统的整体成本。
(2)区分热点数据块的效率高。由于传统的热点数据块的区分方法中,或者仅考虑了最近一次被访问的时间,导致周期性访问的数据难以驻留在缓存中;或者仅考虑了数据块的被访问频率,导致无法区分被访问的时间局部性。而本发明所述的热点数据块区分机制中,综合了数据块被访问的时间局部性和频率局部性的特点,从而提高了缓存数据的命中率和系统的整体性能。
(3)数据块迁移灵活度高。本发明通过一个专用的迁移触发模块来启动数据块迁移,因此可以根据系统的具体情况,如失效次数和迁移时间等,自动调整迁移时机。而本发明所述的数据块迁移过程,处理了迁移过程与前端用户IO请求的冲突,减少了冲突引起的性能降低情况。并且,本发明所述的数据块迁移过程,无须修改上层文件系统的元数据,可以透明支持多种文件系统。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (7)
1.一种应用混合存储系统的热点数据块的迁移方法,其特征在于,混合存储系统包括:至少一个固态硬盘SSD、至少一个机械硬盘以及控制模块;所述控制模块用于将所述机械硬盘中的热点数据块迁移到所述SSD,以及,将所述SSD中的非热点数据块迁移到所述机械硬盘,其中,所述混合存储系统中一共有H个数据块,将所述H个数据块按被访问频率由高到低排列,所述热点数据块为被访问频率位于前M的数据块,所述非热点数据块为被访问频率位于后N的数据块,其中,H≥M,H≥N;
所述控制模块包括:热点数据块区分模块、请求分发模块、迁移触发模块和数据块迁移模块,所述热点数据块的迁移方法包括以下步骤:
S1,所述热点数据块区分模块创建并维护第一映射表和第二映射表,其中,所述第一映射表用于记录与所述SSD或所述机械硬盘中每一个数据块对应的元素;所述第二映射表用于记录与所述SSD或所述机械硬盘中的每一个热点数据块对应的元素;其中,所述元素用于记录与该元素对应的数据块的被访问信息;所述被访问信息包括:热度值;
当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第一映射表和所述第二映射表,然后将该目标数据块的访问请求发送给所述请求分发模块;
S2,所述请求分发模块判断所述SSD中是否已存在所述目标数据块,如果判断结果为是,则将该目标数据块的访问请求发送给所述SSD中的所述目标数据块,否则,将该目标数据块的访问请求发送给所述机械硬盘中的所述目标数据块;同时,更新与所述目标数据块对应的失效次数值,其中,所述失效次数值为将该目标数据块的访问请求发送给所述机械硬盘中的所述目标数据块的次数;
S3,所述迁移触发模块获取S1中与所述目标数据块对应的所述元素中记录的热度值以及S2中所述失效次数值,判断是否达到迁移触发条件,如果达到,则向所述数据块迁移模块发出数据块迁移指令;
S4,所述数据块迁移模块接收到所述数据块迁移指令时,将所述SSD中的非热点数据块迁移到所述机械硬盘中,或,将所述机械硬盘中的热点数据块迁移到所述SSD中。
2.根据权利要求1所述的方法,其特征在于,所述第一映射表和所述第二映射表采用索引结构的形式存储元素;其中,所述第一映射表采用基树和/或B树和/或红黑树的索引结构,其中,其索引关键字为所述元素对应的数据块在机械硬盘上的逻辑地址;所述第二映射表采用B+树索引结构,其索引关键字为所述元素中记录的所述热度值。
3.根据权利要求1所述的方法,其特征在于,S1中,
当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第一映射表,具体为:当接收到所述目标数据块的访问请求时,查找预先建立的第一映射表,判断所述第一映射表中是否已记录与所述目标数据块唯一对应的目标元素,如果判断结果为是,则更新所述目标元素;如果判断结果为否,则向所述第一映射表中增加与所述目标数据块唯一对应的所述目标元素;
当所述热点数据块区分模块每次接收到目标数据块的访问请求时,均更新所述第二映射表,具体为:当接收到所述目标数据块的访问请求时,查找预先建立的第二映射表,判断所述第二映射表中是否已记录与所述目标数据块唯一对应的目标元素,如果判断结果为是,则更新所述目标元素;如果判断结果为否,则进一步判断所述第二映射表是否已满,如果判断结果为否,则向所述第二映射表中增加与所述目标数据块唯一对应的所述目标元素;如果判断结果为是,则获取所述第二映射表中具有最小热度值的元素,然后,比较所述目标数据块的当前热度值是否大于所述最小热度值,如果判断结果为是,则删除所述第二映射表中所述具有最小热度值的元素,并向所述第二映射表中增加与所述目标数据块对应的元素。
4.根据权利要求1所述的方法,其特征在于,所述元素中记录的所述热度值的计算方法为:
S11,创建并维护与每一个所述元素唯一对应的单元数组,所述单元数组由多个单元组成,每个单元对应的时间跨度M1均相同;每个单元均记录以下两项内容:该单元的开始时间戳C;在与该单元对应的时间跨度内,与该元素对应的数据块的被访问的次数T;其中,所述单元的开始时间戳为该数据块在与该单元对应的时间跨度内首次被访问的时间点,所述单元数组中的各个单元按C值的先后顺序排列;
其中,维护的具体方法为:当在时间点D接收到所述目标数据块的访问请求时,查找与所述目标数据块对应的目标单元数组,获取该目标单元数组中最后一个有效单元,读取该有效单元的开始时间戳C1,如果D小于C1+M1,则用T+1更新所述有效单元中记录的T,获得新的T值,否则,向所述目标单元数组中申请一个新的单元,且该新的单元的C值即为D值,该新的单元的T值为1;
S12,根据以下公式计算热度值:
热度值=∑(每个单元中记录的访问次数*f(ti)),其中,f(ti)=(C-系统初始化时间)/M1,系统初始化时间为将所述控制模块加载到操作系统的时间;
其中,f(ti)为系统时间的对数函数,用于计算IO请求的时间局部性;每一个时间值ti对应于单元数据中的一个单元,f(ti)计算方法为:(单元的开始时间戳-系统初始化时间)/时间跨度的长度。
5.根据权利要求1所述的方法,其特征在于,所述数据块迁移模块接收到所述数据块迁移指令时,将所述SSD中的非热点数据块迁移到所述机械硬盘中,或,将所述机械硬盘中的热点数据块迁移到所述SSD中,具体为:
S41,所述数据块迁移模块创建并维护SSD映射表,所述SSD映射表用于记录与所述SSD中所有数据块对应的元素;所述SSD映射表中每一个元素对应三个属性:该元素对应的数据块在SSD中的逻辑地址、该元素对应的数据块在机械硬盘中的逻辑块地址、该元素对应的数据块在SSD中的状态,其中,该元素对应的数据块在SSD中的状态包括:“干净”状态、“脏”状态和无效状态,所述“干净”状态表示该元素对应的数据块在SSD中与在机械硬盘中存储的内容一致,所述“脏”状态表示该元素对应的数据块在SSD中与在机械硬盘中存储的内容不一致,所述无效状态表明该该元素对应的数据块在SSD中为空白数据块;
其中,所述SSD映射表维护的具体方法为:当所述SSD中第一数据块被迁移到所述机械硬盘时,删除所述SSD中与所述第一数据块对应的元素;当所述机械硬盘中的第二数据块被迁移到所述SSD时,向所述SSD映射表中增加与所述第二数据块对应的元素;
S42,所述数据块迁移模块将所述第二映射表记录的元素加入到移入队列,将所述SSD映射表中记录的元素加入到移出队列;判断所述移入队列和所述移出队列中是否存在相同的元素,如果存在,则从所述移入队列和所述移出队列中同时删除所述相同的元素,得到新的移入队列和新的移出队列,然后执行S43;如果不存在,则直接执行步骤S43;
S43,所述数据块迁移模块遍历S42得到的所述移入队列中所有元素,读取每个元素对应的机械硬盘中的数据块,并将该数据块写入SSD中,同时在SSD映射表中增加与该数据块对应的元素;
所述数据块迁移模块遍历S42得到的所述移出队列中所有元素,读取每个元素对应的SSD中的数据块,判断读取到的数据块对应的元素在SSD映射表中的状态,如果状态为“干净”,则执行S44;如果状态为“脏”,则执行S45;
S44,将读取到的数据块对应的元素在SSD映射表中的状态设置为所述无效状态;
S45,将读取到的SSD中的数据块写回到机械硬盘中的对应数据块中,同时,删除SSD映射表中与该数据块对应的元素。
6.根据权利要求5所述的方法,其特征在于,S41之后,还包括:
当所述请求分发模块接收到所述目标数据块的访问请求时,查找所述SSD映射表,判断所述SSD映射表中是否存在与所述目标数据块对应的目标元素,如果存在,则进一步判断所述目标元素的状态是否为无效状态,如果不是,则将该目标数据块的访问请求发送给所述SSD中,然后,当该目标数据块的访问请求为写请求时,设置SSD映射表中与该目标数据块对应的元素的状态为“脏”状态;如果不存在,则直接将该目标数据块的访问请求发送给所述机械硬盘中。
7.根据权利要求5所述的方法,其特征在于,S43之后,还包括:
S46,当所述请求分发模块接收到所述目标数据块的访问请求时,查找所述移入队列和所述移出队列,判断所述目标数据块是否正在被所述数据块迁移模块迁移,如果判断结果为否,则执行S47,如果判断结果为是,则执行S48-S51;
S47,查找所述SSD映射表,判断该目标数据块是否已经被映射到SSD中,如果判断结果为是,则将该目标数据块的访问请求发往至SSD,否则,将该目标数据块的访问请求发往至机械硬盘中,然后结束流程;
S48,比较该目标数据块的请求大小和操作系统页面的大小,如果前者小,则等待所述数据块迁移模块的迁移过程完成,然后执行S47,否则,执行S49-S51;
S49,判断该目标数据块的访问请求是否为读请求,如果判断结果为是,则执行S50;如果判断结果为否,则执行S51;
S50,查找该目标数据块对应的元素是否位于所述移出队列中,如果是,则将该目标数据块的访问请求发往SSD,否则,将该目标数据块的访问请求发往所述机械硬盘,并结束流程;
S51,判断所述目标数据块是否位于所述移出队列中,如果判断结果为是,则从所述SSD映射表中删除与该目标数据块对应的元素,并将该目标数据块的访问请求发往机械硬盘中;如果判断结果为否,则将所述SSD映射表中与所述目标数据块对应的元素状态标记为“脏”状态,并将该目标数据块的访问请求发往所述SSD中,结束流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110460541.9A CN103186350B (zh) | 2011-12-31 | 2011-12-31 | 混合存储系统及热点数据块的迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110460541.9A CN103186350B (zh) | 2011-12-31 | 2011-12-31 | 混合存储系统及热点数据块的迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103186350A CN103186350A (zh) | 2013-07-03 |
CN103186350B true CN103186350B (zh) | 2016-03-30 |
Family
ID=48677531
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110460541.9A Expired - Fee Related CN103186350B (zh) | 2011-12-31 | 2011-12-31 | 混合存储系统及热点数据块的迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186350B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376094A (zh) * | 2018-09-27 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种存储系统中垃圾回收冷热数据迁移的方法 |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104516678B (zh) * | 2013-09-29 | 2017-09-26 | 国际商业机器公司 | 用于数据存储的方法和设备 |
CN104572478B (zh) * | 2013-10-14 | 2018-07-06 | 联想(北京)有限公司 | 数据存取方法和数据存取装置 |
CN103576835B (zh) * | 2013-10-30 | 2016-06-29 | 华为技术有限公司 | 一种休眠磁盘的数据操作方法和装置 |
CN103645860B (zh) * | 2013-11-27 | 2017-01-25 | 华为技术有限公司 | 存储空间的管理方法和存储管理装置 |
CN103617007B (zh) * | 2013-12-04 | 2017-06-23 | 深圳市华云中盛科技有限公司 | 多级智能存储实现方法和系统 |
CN103744624B (zh) * | 2014-01-10 | 2017-09-22 | 浪潮电子信息产业股份有限公司 | 一种实现存储系统ssd缓存数据选择性升级的系统架构 |
CN104899155B (zh) * | 2014-03-06 | 2017-12-01 | 广明光电股份有限公司 | 固态硬盘的写入方法 |
CN104915145B (zh) * | 2014-03-11 | 2018-05-18 | 华为技术有限公司 | 一种降低LSM Tree写放大的方法和装置 |
CN104932986A (zh) * | 2014-03-19 | 2015-09-23 | 中国移动通信集团公司 | 一种数据重分布方法及装置 |
CN105138416A (zh) * | 2014-06-05 | 2015-12-09 | 中兴通讯股份有限公司 | 磁盘休眠处理方法及装置 |
CN104077239B (zh) * | 2014-06-24 | 2017-04-26 | 华为技术有限公司 | Ip硬盘与存储系统,及其数据操作方法 |
CN105335426B (zh) * | 2014-08-07 | 2019-04-26 | 腾讯科技(深圳)有限公司 | 一种海量数据的热点数据的分析方法、系统及相关设备 |
CN113836084A (zh) * | 2014-11-10 | 2021-12-24 | 创新先进技术有限公司 | 一种数据存储方法、装置和系统 |
CN105493024B (zh) * | 2014-11-28 | 2019-03-08 | 华为技术有限公司 | 一种数据阈值预测方法与相关装置 |
CN105740293B (zh) * | 2014-12-12 | 2019-07-23 | 金蝶软件(中国)有限公司 | 数据导出方法和装置 |
CN106462360B (zh) * | 2014-12-23 | 2019-10-25 | 华为技术有限公司 | 一种资源调度方法以及相关装置 |
CN105808150B (zh) * | 2014-12-29 | 2018-09-07 | 先智云端数据股份有限公司 | 用于混合式储存设备的固态硬盘快取系统 |
CN104699422B (zh) * | 2015-03-11 | 2018-03-13 | 华为技术有限公司 | 缓存数据的确定方法及装置 |
CN104834478B (zh) * | 2015-03-25 | 2018-05-22 | 中国科学院计算技术研究所 | 一种基于异构混合存储设备的数据写入及读取方法 |
CN105117169B (zh) * | 2015-08-20 | 2018-07-06 | 浪潮(北京)电子信息产业有限公司 | 一种优化的磁盘空间管理的方法及装置 |
CN106569732B (zh) * | 2015-10-12 | 2021-04-20 | 中兴通讯股份有限公司 | 数据迁移方法及装置 |
CN105426129A (zh) * | 2015-11-18 | 2016-03-23 | 上海新储集成电路有限公司 | 一种优化混合存储器数据存储的方法 |
CN105739923A (zh) * | 2016-01-28 | 2016-07-06 | 上海新储集成电路有限公司 | 一种可配置的数据管理方法 |
CN107273040A (zh) * | 2016-04-08 | 2017-10-20 | 北京优朋普乐科技有限公司 | 数据缓存方法和装置 |
CN105930356A (zh) * | 2016-04-08 | 2016-09-07 | 上海交通大学 | 日志型异构混合内存文件系统的实现方法 |
CN106250327B (zh) * | 2016-08-02 | 2019-04-19 | 华为技术有限公司 | 一种在键-值存储中热点识别方法及装置 |
CN106406759B (zh) * | 2016-09-13 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 一种数据存储方法及装置 |
CN106534308B (zh) * | 2016-11-14 | 2020-02-11 | 中国银联股份有限公司 | 一种分布式存储系统中解决数据块访问热点的方法及装置 |
CN108073636A (zh) * | 2016-11-15 | 2018-05-25 | 中国移动通信集团公司 | 一种数据管理的方法及装置、数据库一体机 |
CN106557578B (zh) * | 2016-11-23 | 2020-08-04 | 中国工商银行股份有限公司 | 历史数据查询方法及系统 |
CN106708433A (zh) * | 2016-12-06 | 2017-05-24 | 深圳市深信服电子科技有限公司 | 存储数据的读写方法及装置 |
CN106681665B (zh) * | 2016-12-29 | 2020-04-24 | 北京奇虎科技有限公司 | 缓存数据的持久化存储方法及装置 |
CN106682202B (zh) * | 2016-12-29 | 2020-01-10 | 北京奇艺世纪科技有限公司 | 一种搜索缓存更新方法及装置 |
CN106777342A (zh) * | 2017-01-16 | 2017-05-31 | 湖南大学 | 一种基于可靠性的高性能文件系统混合节能存储系统及方法 |
CN106709068B (zh) * | 2017-01-22 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种热点数据识别方法及其装置 |
CN108628542B (zh) * | 2017-03-22 | 2021-08-03 | 华为技术有限公司 | 一种文件合并方法及控制器 |
CN107168652A (zh) * | 2017-05-19 | 2017-09-15 | 郑州云海信息技术有限公司 | 一种提升SSD Cache读性能的方法 |
CN107422990B (zh) * | 2017-07-28 | 2020-02-07 | 郑州云海信息技术有限公司 | 一种动态迁移方法及装置 |
CN107463336B (zh) * | 2017-08-07 | 2020-09-22 | 苏州浪潮智能科技有限公司 | 一种ssd缓存中固态磁盘失效的处理方法及系统 |
CN107391301A (zh) * | 2017-08-16 | 2017-11-24 | 北京奇虎科技有限公司 | 存储系统的数据管理方法、装置、计算设备及存储介质 |
WO2019037093A1 (zh) * | 2017-08-25 | 2019-02-28 | 深圳大学 | 一种 Spark 分布式计算数据处理方法及系统 |
CN107562899A (zh) * | 2017-09-07 | 2018-01-09 | 唐冬香 | 一种信息管理系统和方法 |
CN107957852B (zh) * | 2017-10-13 | 2021-08-13 | 记忆科技(深圳)有限公司 | 一种提升固态硬盘性能一致性的方法 |
CN109933279B (zh) * | 2017-12-19 | 2021-01-22 | 中国科学院声学研究所 | 一种支持混合存储系统的内容过滤方法 |
CN110062098A (zh) * | 2018-01-18 | 2019-07-26 | 中兴通讯股份有限公司 | 一种应用模块存储的方法及装置、终端 |
CN108845768A (zh) * | 2018-06-19 | 2018-11-20 | 郑州云海信息技术有限公司 | 一种数据存储方法、装置、设备及存储介质 |
CN109246198B (zh) * | 2018-08-16 | 2022-01-07 | 杭州数梦工场科技有限公司 | 一种基于分布式存储集群的云主机启动控制方法和系统 |
CN109240611A (zh) * | 2018-08-28 | 2019-01-18 | 郑州云海信息技术有限公司 | 小文件冷热数据分层方法、小文件数据访问方法及其装置 |
CN109491595B (zh) * | 2018-09-28 | 2020-11-17 | 方一芯电子科技(江苏)有限公司 | 一种分级存储系统及方法 |
CN111367823B (zh) * | 2018-12-25 | 2022-03-29 | 北京兆易创新科技股份有限公司 | 一种写入有效数据的方法以及装置 |
CN110209345A (zh) * | 2018-12-27 | 2019-09-06 | 中兴通讯股份有限公司 | 数据存储的方法及装置 |
CN109799958A (zh) * | 2019-01-17 | 2019-05-24 | 湖南大学 | 固态硬盘及其数据处理方法 |
CN109902035B (zh) * | 2019-02-03 | 2023-10-31 | 成都皮兆永存科技有限公司 | 复合存储器 |
CN109901800B (zh) * | 2019-03-14 | 2020-05-19 | 重庆大学 | 一种混合内存系统及其操作方法 |
CN110032339B (zh) * | 2019-04-12 | 2022-11-04 | 北京旷视科技有限公司 | 数据迁移方法、装置、系统、设备和存储介质 |
CN110413228B (zh) * | 2019-07-09 | 2022-10-14 | 江苏芯盛智能科技有限公司 | 一种映射表管理方法、系统及电子设备和存储介质 |
US11151053B2 (en) * | 2019-08-07 | 2021-10-19 | International Business Machines Corporation | Increasing data read and/or write heat tracking resolution in storage devices having cache architecture |
CN110532201B (zh) * | 2019-08-23 | 2021-08-31 | 北京浪潮数据技术有限公司 | 一种元数据处理方法及装置 |
CN111124281B (zh) * | 2019-11-29 | 2023-11-03 | 浪潮(北京)电子信息产业有限公司 | 全闪存储系统的数据存储方法、装置、设备及存储介质 |
CN113010454A (zh) * | 2021-02-09 | 2021-06-22 | Oppo广东移动通信有限公司 | 数据读写方法、装置、终端及存储介质 |
CN113238647A (zh) * | 2021-05-31 | 2021-08-10 | 山东中科好靓科技有限公司 | 一种用于存储的节能分时控制方法 |
CN114490749A (zh) * | 2021-12-28 | 2022-05-13 | 珠海大横琴科技发展有限公司 | 一种资源访问的方法和装置 |
CN115657968B (zh) * | 2022-11-21 | 2023-04-07 | 苏州数算软云科技有限公司 | 边界表示模型的存储方法、装置、设备和介质 |
CN116027990B (zh) * | 2023-03-29 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 一种raid卡及其数据访问方法、系统及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729357A (zh) * | 2008-10-14 | 2010-06-09 | 华为技术有限公司 | 媒体文件存储处理与业务处理方法及装置、服务器集群 |
CN101976181A (zh) * | 2010-10-15 | 2011-02-16 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8285959B2 (en) * | 2010-01-25 | 2012-10-09 | Netapp, Inc. | Method for placement of virtual volume hot-spots in storage pools using ongoing load measurements and ranking |
-
2011
- 2011-12-31 CN CN201110460541.9A patent/CN103186350B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729357A (zh) * | 2008-10-14 | 2010-06-09 | 华为技术有限公司 | 媒体文件存储处理与业务处理方法及装置、服务器集群 |
CN101976181A (zh) * | 2010-10-15 | 2011-02-16 | 杭州宏杉科技有限公司 | 一种存储资源的管理方法及管理装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109376094A (zh) * | 2018-09-27 | 2019-02-22 | 郑州云海信息技术有限公司 | 一种存储系统中垃圾回收冷热数据迁移的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103186350A (zh) | 2013-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186350B (zh) | 混合存储系统及热点数据块的迁移方法 | |
KR102042643B1 (ko) | 비휘발성 메모리(nvm)에서 다중 네임스페이스 관리 | |
CN110825748B (zh) | 利用差异化索引机制的高性能和易扩展的键值存储方法 | |
US9311252B2 (en) | Hierarchical storage for LSM-based NoSQL stores | |
CN106502587B (zh) | 硬盘数据管理方法和硬盘控制装置 | |
CN104866428B (zh) | 数据存取方法和数据存取装置 | |
US20110320733A1 (en) | Cache management and acceleration of storage media | |
US10120588B2 (en) | Sliding-window multi-class striping | |
US20060218347A1 (en) | Memory card | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
CN104765575A (zh) | 信息存储处理方法 | |
WO2022095346A1 (zh) | 一种区块链数据存储方法、系统、设备及可读存储介质 | |
JPH06110772A (ja) | コンピュータのデータを記憶させるための直接アクセス記憶装置の割振り方法及び装置 | |
CN110968269A (zh) | 基于scm与ssd的键值存储系统及读写请求处理方法 | |
CN1545030A (zh) | 基于磁盘特征的数据分布动态映射的方法 | |
CN113626431A (zh) | 一种基于lsm树的延迟垃圾回收的键值分离存储方法及系统 | |
CN104765574A (zh) | 数据云端存储方法 | |
CN115933994B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109375868B (zh) | 一种数据存储方法、调度装置、系统、设备及存储介质 | |
CN116364148A (zh) | 一种面向分布式全闪存储系统的磨损均衡方法及系统 | |
CN104778100A (zh) | 一种安全备份数据的方法 | |
CN106980471B (zh) | 一种提高智能设备的硬盘写入性能的方法及装置 | |
US11366609B2 (en) | Technique for encoding deferred reference count increments and decrements | |
CN108334457B (zh) | 一种io处理方法及装置 | |
CN116009776A (zh) | 面向nvm和ssd的数据存储方法、控制器及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160330 Termination date: 20191231 |
|
CF01 | Termination of patent right due to non-payment of annual fee |