CN105892942A - 混合存储系统的操作方法、控制器和电子设备 - Google Patents

混合存储系统的操作方法、控制器和电子设备 Download PDF

Info

Publication number
CN105892942A
CN105892942A CN201610191944.0A CN201610191944A CN105892942A CN 105892942 A CN105892942 A CN 105892942A CN 201610191944 A CN201610191944 A CN 201610191944A CN 105892942 A CN105892942 A CN 105892942A
Authority
CN
China
Prior art keywords
data block
solid state
hard disc
state hard
module
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.)
Granted
Application number
CN201610191944.0A
Other languages
English (en)
Other versions
CN105892942B (zh
Inventor
冯伟斌
王志军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China United Network Communications Group Co Ltd
Original Assignee
China United Network Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China United Network Communications Group Co Ltd filed Critical China United Network Communications Group Co Ltd
Priority to CN201610191944.0A priority Critical patent/CN105892942B/zh
Publication of CN105892942A publication Critical patent/CN105892942A/zh
Application granted granted Critical
Publication of CN105892942B publication Critical patent/CN105892942B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0626Reducing size or complexity of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供一种混合存储系统的操作方法,包括:根据访问次数利用预定算法对所述冷数据块进行排序;根据替换代价对所述热数据块进行排序;每隔第一预定时间段将所述固态硬盘中的数据块的访问次数清零;每隔第二预定时间段将所述固态硬盘中的冷数据块删除,并将删除的所述冷数据块中的脏数据块写入所述机械硬盘中,所述第二预定时间段大于所述第一预定时间段,本发明还提供一种控制器和一种电子设备。利用所述操作方法对所述混合存储系统进行操作能够提高所述混合存储系统中的固态硬盘的使用寿命。

Description

混合存储系统的操作方法、控制器和电子设备
技术领域
本发明涉及存储设备领域,具体地,涉及一种混合存储系统的操作方法、执行该操作方法的控制器和包括该控制器的电子设备。
背景技术
现有的存储设备包括机械硬盘、固态硬盘和混合硬盘三种。机械硬盘存储量大,但是机械硬盘的读写性能不好。固态硬盘采用flash芯片做存储介质,读写性能好,但是成本较高。混合硬盘包括机械硬盘和固态硬盘,综合了机械硬盘和固态硬盘的利弊,机械硬盘用来存储最终数据,固态硬盘用来读写缓存。为了提升数据的读性能,混合存储系统会尽量将访问量大的热点数据缓存在固态硬盘上,当热点数据被访问时,直接读取固态硬盘,从而极大地提高了读性能。当数据写入混合存储系统时,也是首先写入到固态硬盘,写完后即返回写成功,后续再将固态硬盘中的数据同步到机械硬盘,这样能够大幅提高数据的写性能。
但是,在现有的混合存储系统中,在将写入固态硬盘之前必须对原有的数据进行擦除,相当于一次写操作转化成两次写操作,从而会影响到固态硬盘的使用期限。
因此,如何延长混合存储系统中固态硬盘中的使用寿命成为本领域亟待解决的技术问题。
发明内容
本发明的目的在于提供一种存储系统的操作方法、执行该操作方法的控制器和包括该控制器的电子设备,利用所述控制器对混合存储系统执行所述操作方法时,可以提高操作指令所针对的目标数据块位于固态硬盘中的几率,从而减少对固态硬盘的读写次数,延长固态硬盘的使用寿命。
为了实现上述目的,作为本发明的一个方面,提供一种混合存储系统的操作方法,所述混合存储系统包括固态硬盘和机械硬盘,其中,所述固态硬盘中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块,所述操作方法包括:
根据访问次数利用预定算法对所述冷数据块进行排序;
根据替换代价对所述热数据块进行排序;
每隔第一预定时间段将所述固态硬盘中的数据块的访问次数清零;
每隔第二预定时间段将所述固态硬盘中的冷数据块删除,并将删除的所述冷数据块中的脏数据块写入所述机械硬盘中,所述第二预定时间段大于所述第一预定时间段,其中,按照如下公式计算所述热数据块的替换代价:
Cost=A*Count;
Cost为所述热数据块的替换代价,
Count为所述热数据块被访问的次数,
A为所述热数据块的脏块权重系数,当所述热数据块为脏数据块时,该热数据块的脏块权重系数大于1;当所述热数据块为非脏数据块时,该热数据块的脏块权重系数为1。
优选地,当所述固态硬盘接收到针对目标数据块的操作指令时,所述操作方法包括:
判断所述固态硬盘中是否存储有所述目标数据块;
当所述固态硬盘中存储有所述目标数据块时,直接对所述固态硬盘进行操作;
当所述固态硬盘中未存储有所述目标数据块时,从所述机械硬盘中读取所述目标数据块并写入所述固态硬盘中,并对所述固态硬盘进行操作;
当所述固态硬盘接收到操作指令且所述固态硬盘中空间不足时,按照排序从所述冷数据开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中,然后按照所述操作指令对所述固态硬盘中的目标数据块进行操作。
优选地,所述操作请求为读操作。
优选地,当所述操作请求为写操作,所述操作方法还包括:
将经过写操作的目标数据块标记为脏数据块。
优选地,当所述固态硬盘接收到写入新数据的操作指令时,所述操作方法包括:
判断所述固态硬盘存储空间是否充足;
当所述固态硬盘接收到操作指令且所述固态硬盘中空间不足时,按照排序从所述冷数据开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中,然后按照所述操作指令将新数据写入所述固态硬盘。
优选地,所述预定算法为LRU算法。
作为本发明的另一个方面,提供一种控制器,所述控制器用于对混合存储系统执行本发明所提供的上述操作方法,所述混合存储系统包括固态硬盘、机械硬盘和控制器,其中,所述固态硬盘中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块,所述控制器包括:
排序模块,该排序模块能够根据访问次数按照利用预定算法对所述冷数据块进行排序,并且所述排序模块能够根据替换代价对所述热数据块进行排序;
访问次数清零模块,所述访问次数清零模块能够每隔第一预定时间段将所述固态硬盘中的数据块的访问次数清零;
数据转移模块,所述数据转移模块能够每隔第二预定时间段将所述固态硬盘中的冷数据块删除,并将删除的所述冷数据块中的脏数据块写入所述机械硬盘中,所述第二预定时间段大于所述第一预定时间段,其中,所述排序模块按照如下公式计算所述热数据块的替换代价:
Cost=A*Count;
Cost为所述热数据块的替换代价,
Count为所述热数据块被访问的次数,
A为所述热数据块的脏块权重系数,当所述热数据块为脏数据块时,该热数据块的脏块权重系数大于1;当所述热数据块为非脏数据块时,该热数据块的脏块权重系数为1。
优选地,所述控制器还包括指令生成模块、目标数据定位模块、空间判断模块和操作执行模块,
所述指令生成模块用于生成操作指令,所述操作指令包括针对目标数据块的操作指令和写入新数据的操作指令,所述指令生成模块的输出端与所述操作执行模块相连,以将所述操作指令发送至所述操作执行模块;
所述空间判断模块的输入端与所述指令生成模块的输出端相连,所述空间判断模块能够在接收到所述操作指令后判断执行所述操作指令所需的空间,所述空间判断模块的查询端与所述固态硬盘相连,以获取所述固态硬盘的剩余空间,且所述空间判断模块能够将执行所述操作指令所需的空间以及所述固态硬盘的剩余空间进行对比,以判断所述固态硬盘的空间是否充足,当所述固态硬盘中的剩余存储空间不足时,所述空间判断模块生成不足信号,所述空间判断模块的输出端与所述数据转移模块相连,以将所述不足信号发送至所述数据转移模块;
所述目标数据定位模块的查询端与所述固态硬盘相连,所述目标数据定位模块的输入端与所述指令生成模块的输出端相连,所述目标数据定位模块的输出端与所述操作执行模块相连,所述目标数据定位模块能够在接收到所述操作指令时向所述固态硬盘发出查询信号,以判断所述固态硬盘中是否存储有所述目标数据块,当所述固态硬盘中存储有所述目标数时,所述目标数据定位模块生成第一位置信号,当所述固态硬盘中未存储有所述目标数据块时生成第二位置信号;
当所述操作执行模块接收到所述第二位置信号时,从所述机械硬盘中读取所述目标数据块,并将所述目标数据块写入所述固态硬盘,然后对所述固态硬盘中的目标数据块进行操作,当所述操作执行模块接收到所述第一位置信号时,直接对所述固态硬盘中的目标数据块进行操作;
所述数据转移模块接收到所述不足信号时,按照排序从所述冷数据开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,并且所述数据转移模块能够将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中。
优选地,所述存储系统还包括脏数据标记模块,所述脏数据标记模块能够将经过写操作的目标数据块标记为脏数据块。
作为本发明的还一个方面,提供一种电子设备,所述电子设备包括控制器和混合存储系统,其特征在于,所述控制器为本发明所提供的上述控制器,所述混合存储系统,所述混合存储系统包括固态硬盘、机械硬盘和控制器,所述固态硬盘中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块。
在本发明中,每隔第一预定时间对固态硬盘中的数据块的访问量清零,从而可以防止热数据块永远是热数据块。如果经过第二预定时间后,数据库仍然是冷数据块,则表明该数据块被访问到的几率非常小,已经成为历史数据,在本发明中,每隔第二预定时间将固态硬盘中的冷数据块(即,历史数据)删除,从而可以防止历史数据占用固态硬盘中过多的空间。并且,如果从固态硬盘中删除的冷数据中包括脏数据块,可以将删除的冷数据块中的脏数据块写入机械硬盘中,从而可以防止数据的丢失。
经过数据迁移后,可以确保固态硬盘中的数据块都具有较高的热度。提高了固态硬盘接收到操作指令时目标数据块位于固态硬盘中的几率,相应地减少了接收到操作指令后再从机械硬盘中读取目标数据块的几率。由此可知,利用本发明所提供的操作方法对固态硬盘中的数据块进行操作可以减少对固态硬盘进行数据写入的次数,从而可以提高固态硬盘的使用寿命。
附图说明
附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
图1是本发明所提供的操作方法的流程示意图;
图2是所述操作请求为写操作时的操作方法流程图;
图3是所述操作请求为读操作时的操作方法流程图;
图4是本发明所提供的混合存储系统的模块示意图。
附图标记说明
100:控制器 110:排序模块
120:访问次数清零模块 130:数据转移模块
140:指令生成模块 150:目标数据定位模块
160:空间判断模块 170:操作执行模块
180:脏数据标记模块 200:固态硬盘
300:机械硬盘
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
需要指出的是,本发明中的“脏数据块”是指,已经写入在固态硬盘中但是并未同步写入至机械硬盘中的数据块,本发明中的“非脏数据块”是指已经写入固态硬盘中也同步写入至机械硬盘中的数据块。
作为本发明的一个方面,提供一种混合存储系统的操作方法,所述混合存储系统包括固态硬盘和机械硬盘,其中,所述固态硬盘中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块,如图1中所示,所述操作方法包括:
根据访问次数利用预定算法对所述冷数据块进行排序;
根据替换代价对所述热数据块进行排序;
每隔第一预定时间段将所述固态硬盘中的数据块的访问次数清零;
每隔第二预定时间段将所述固态硬盘中的冷数据块删除,并将删除的所述冷数据块中的脏数据块写入所述机械硬盘中,所述第二预定时间段大于所述第一预定时间段,其中,按照如下公式(1)计算所述热数据块的替换代价:
Cost=A*Count (1);
Cost为所述热数据块的替换代价,
Count为所述热数据块被访问的次数,
A为所述热数据块的脏块权重系数,当所述热数据块为脏数据块时,该热数据块的脏块权重系数大于1;当所述热数据块为非脏数据块时,该热数据块的脏块权重系数为1。
本领域技术人员容易理解的是,在混合存储系统中,固态硬盘用作机械硬盘的缓存。对于固态硬盘中的所有数据而言,每被访问一次,数据块的访问次数增加1。刚写入固态硬盘中的数据块为冷数据块,随着访问次数的增加,当访问次数增加至所述预定值时,冷数据块变为热数据块。
在对冷数据块进行排序时,访问次数越多排序越靠前,访问次数越少排位越靠后。对热数据块进行排序时,替换代价越高,排序越靠前,替换代价越低,排序越靠后。容易理解的是,在热数据块中,脏数据块的替换代价大于非脏数据块的替换代价。
在本发明中,每隔第一预定时间对固态硬盘中的数据块的访问量清零,从而可以防止热数据块永远是热数据块。如果经过第二预定时间后,数据库仍然是冷数据块,则表明该数据块被访问到的几率非常小,已经成为历史数据,在本发明中,每隔第二预定时间将固态硬盘中的冷数据块(即,历史数据)删除,从而可以防止历史数据占用固态硬盘中过多的空间。并且,如果从固态硬盘中删除的冷数据中包括脏数据块,可以将删除的冷数据块中的脏数据块写入机械硬盘中,从而可以防止数据的丢失。
经过数据迁移后,可以确保固态硬盘中的数据块都具有较高的热度。提高了固态硬盘接收到操作指令时目标数据块位于固态硬盘中的几率,相应地减少了接收到操作指令后再从机械硬盘中读取目标数据块的几率。由此可知,利用本发明所提供的操作方法对固态硬盘中的数据块进行操作可以减少对固态硬盘进行数据写入的次数,从而可以提高固态硬盘的使用寿命。
优选地,当所述固态硬盘接收到针对目标数据块的操作指令时,所述操作方法包括:
判断所述固态硬盘中是否存储有所述目标数据块;
当所述固态硬盘中存储有所述目标数据块时,直接对所述固态硬盘进行操作;
当所述固态硬盘中未存储有所述目标数据块时,从所述机械硬盘中读取所述目标数据块并写入所述固态硬盘中,并对所述固态硬盘进行操作;
当所述固态硬盘接收到操作指令且所述固态硬盘中空间不足时,按照排序从所述冷数据开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中,然后按照所述操作指令对所述固态硬盘中的目标数据块进行操作。
当接收到操作指令时,所述固态硬盘中的冷数据块和热数据块均已经经过排序。因此,当接收到操作指令时,首先将排序较低的冷数据块从固态硬盘中删除,如果所有的冷数据块均被删除,固态硬盘中仍然没有充足的空间,那么可以删除替换代价较低的热数据块,数据块删除后,仍可以确保仍然留存在固态硬盘中的数据块为访问次数较高的数据块(即,热度较高的数据块)。
需要解释的是,此处“针对目标数据块的操作指令”包括两种情况:一种是读取目标数据块的读操作;另一种是修改目标数据块的写操作。因此,“按照所述操作指令对所述固态硬盘中的目标数据块进行操作”是指,对固态硬盘中的目标数据块进行读操作或写操作。
当所述操作请求为写操作时,所述操作方法还包括:
将经过写操作的目标数据块标记为脏数据块。
由于经过写操作之后,固态硬盘中的数据已经与机械硬盘中的数据不一致,因此,需要将该经过写操作的目标数据块标记为脏数据块。随后,可以根据经过修改的脏数据块与机械硬盘中存储的原始数据块进行同步。
写操作分为两种,一种是对目标数据块进行修改的写操作,另一种则是写入新数据块的写操作。
图2中所示的是写操作为对目标数据块进行修改的写操作时的流程图。
如图2所示,所述操作方法包括固态硬盘接收到针对目标数据块的写操作后进行的以下步骤:
判断所述固态硬盘中是否存储有所述目标数据块;
当所述固态硬盘中存储有所述目标数据块时,所述操作方法包括:
修改所述固态硬盘中的目标数据块;
将修改后的目标数据块标记为脏数据块;
当所述固态硬盘中未存储有所述目标数据块时,所述操作方法包括:
判断所述固态硬盘的存储空间是否充足;
当所述固态硬盘的存储空间不足时,所述操作方法还包括:
按照排序从冷数据块开始删除至少一部分数据块,直至固态硬盘的存储空间充足为止,并且,将从固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中;
当所述固态硬盘的存储空间充足时,所述操作方法包括:
读取机械硬盘中的目标数据块;
将所述目标数据块写入所述固态硬盘中;
修改所述固态硬盘中的目标数据块。
当在固态硬盘中完成目标数据块的修改后,可以判定为写操作完成。
当所述固态硬盘接收到写入新数据块的操作指令时,所述操作方法包括:
判断所述固态硬盘存储空间是否充足;
当所述固态硬盘接收到操作指令且所述固态硬盘中空间不足时,按照排序从所述冷数据块开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中,然后按照所述操作指令将新数据写入所述固态硬盘。
图3中所示的是按照本发明所提供的操作方法执行读操作时的流程图。
如图3中所示,所述操作方法包括固态硬盘接收到读操作后进行的以下步骤:
判断所述固态硬盘中是否存储有所述目标数据块;
当所述固态硬盘中存储有所述目标数据块时,读取所述目标数据块;
当所述固态硬盘中未存储有所述目标数据块时,所述操作方法还包括:
判断所述固态硬盘存储空间是否充足;
所述固态硬盘存储空间不足时,所述操作方法包括:
按照排序从所述冷数据块开始删除至少一部分数据块,直至所述固态硬盘存储空间充足为止;
当所述固态硬盘存储空间充足时,所述操作方法包括:
读取所述机械硬盘中的所述目标数据块;
将所述目标数据块写入所述固态硬盘中;
读取所述固态硬盘中的所述目标数据块。
在本发明中,对所述预定算法并没有特殊的限定,只要能够按照访问次数对所述冷数据块进行排序即可,例如,所述预定算法可以为LRU算法。
作为本发明的另一个方面,提供一种控制器,所述控制器用于对混合存储系统执行本发明所提供的上述操作方法。如图4所示,所述混合存储系统包括固态硬盘200、机械硬盘300和控制器100,其中,固态硬盘100中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块。控制器100包括排序模块110、访问次数清零模块120和数据转移模块130。
排序模块110能够根据访问次数利用预定算法对所述冷数据块进行排序,并且所述排序模块能够根据替换代价对所述热数据块进行排序。排序模块110能够按照以下公式(1)对固态硬盘200中的数据块进行排序:
Cost=A*Count (1);
其中,Cost为所述热数据块的替换代价,
Count为所述热数据块被访问的次数,
A为所述热数据块的脏块权重系数,当所述热数据块为脏数据块时,该热数据块的脏块权重系数大于1;当所述热数据块为非脏数据块时,该热数据块的脏块权重系数为1。
访问次数清零模块120能够每隔第一预定时间段将固态硬盘200中的数据块的访问次数清零,数据转移模块130能够每隔第二预定时间段将固态硬盘200中的冷数据块删除,并将删除的所述冷数据块中的脏数据块写入机械硬盘300中,所述第二预定时间段大于所述第一预定时间段。
本发明所提供的存储系统中的控制器可以执行本发明所提供的上述操作方法。从而可以确保固态硬盘200中存储的数据块始终维持较高的热度,提高了操作指令所针对的目标数据块位于固态硬盘中的几率,从而减小了对固态硬盘进行数据块读写和擦除的次数,从而提高了所述存储系统的使用寿命。
优选地,控制器100还包括指令生成模块140、目标数据定位模块150、空间判断模块160和操作执行模块170。
指令生成模块140用于生成操作指令,所述操作指令包括针对目标数据块的操作指令和写入新数据块的操作指令,指令生成模块140的输出端与操作执行模块170相连,以将所述操作指令发送至操作执行模块170。
空间判断模块160的输入端与指令生成模块140的输出端相连,空间判断模块160能够在接收到所述操作指令后判断执行所述操作指令所需的空间。空间判断模块160的查询端与固态硬盘300相连,以获取固态硬盘200的剩余空间,且空间判断模块160能够将执行所述操作指令所需的空间以及固态硬盘200的剩余空间进行对比,以判断所述固态硬盘的空间是否充足。当固态硬盘200中的剩余存储空间不足时,空间判断模块160生成不足信号。空间判断模块160的输出端与数据转移模块130相连,以将所述不足信号发送至数据转移模块130。当数据转移模块130接收到所述不足信号时,按照排序从所述冷数据块开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止。并且,数据转移模块130能够将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中。
目标数据定位模块150的查询端与固态硬盘200相连,目标数据定位模块150的输入端与指令生成模块140的输出端相连,目标数据定位模块150的输出端与操作执行模块170相连,目标数据定位模块150能够在接收到所述操作指令时向固态硬盘200发出查询信号,以判断固态硬盘200中是否存储有所述目标数据块。当固态硬盘200中存储有所述目标数据时,目标数据定位模块150生成第一位置信号,当固态硬盘200中未存储有所述目标数据时生成第二位置信号。当所述操作执行模块170接收到所述第二位置信号时,从机械硬盘300中读取所述目标数据块,并将所述目标数据写入固态硬盘200,然后对固态硬盘200中的目标数据块进行操作,当操作执行模块170接收到所述第一位置信号时,直接对固态硬盘200中的目标数据块进行操作。
优选地,所述存储系统还包括脏数据标记模块180,该脏数据标记模块180能够将经过写操作的目标数据块标记为脏数据块。
作为本发明的一种优选实施方式,如上文中所述,所述预定算法为LRU算法,也就是说,排序模块110可以进行LRU算法。
作为本发明的另一个方面,提供一种电子设备,所述电子设备可以包括混合存储系统和本发明所提供的上述控制器。
可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。

Claims (10)

1.一种混合存储系统的操作方法,所述混合存储系统包括固态硬盘和机械硬盘,其特征在于,所述固态硬盘中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块,所述操作方法包括:
根据访问次数利用预定算法对所述冷数据块进行排序;
根据替换代价对所述热数据块进行排序;
每隔第一预定时间段将所述固态硬盘中的数据块的访问次数清零;
每隔第二预定时间段将所述固态硬盘中的冷数据块删除,并将删除的所述冷数据块中的脏数据块写入所述机械硬盘中,所述第二预定时间段大于所述第一预定时间段,其中,按照如下公式计算所述热数据块的替换代价:
Cost=A*Count;
Cost为所述热数据块的替换代价,
Count为所述热数据块被访问的次数,
A为所述热数据块的脏块权重系数,当所述热数据块为脏数据块时,该热数据块的脏块权重系数大于1;当所述热数据块为非脏数据块时,该热数据块的脏块权重系数为1。
2.根据权利要求1所述的操作方法,其特征在于,当所述固态硬盘接收到针对目标数据块的操作指令时,所述操作方法包括:
判断所述固态硬盘中是否存储有所述目标数据块;
当所述固态硬盘中存储有所述目标数据块时,直接对所述固态硬盘进行操作;
当所述固态硬盘中未存储有所述目标数据块时,从所述机械硬盘中读取所述目标数据块并写入所述固态硬盘中,并对所述固态硬盘进行操作;
当所述固态硬盘接收到操作指令且所述固态硬盘中空间不足时,按照排序从所述冷数据开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中,然后按照所述操作指令对所述固态硬盘中的目标数据块进行操作。
3.根据权利要求2所述的操作方法,其特征在于,所述操作请求为读操作。
4.根据权利要求2所述的操作方法,其特征在于,当所述操作请求为写操作,所述操作方法还包括:
将经过写操作的目标数据块标记为脏数据块。
5.根据权利要求1所述的操作方法,其特征在于,当所述固态硬盘接收到写入新数据的操作指令时,所述操作方法包括:
判断所述固态硬盘存储空间是否充足;
当所述固态硬盘接收到操作指令且所述固态硬盘中空间不足时,按照排序从所述冷数据开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中,然后按照所述操作指令将新数据写入所述固态硬盘。
6.根据权利要求1至5中任意一项所述的操作方法,其特征在于,所述预定算法为LRU算法。
7.一种控制器,所述控制器用于对混合存储系统进行操作,所述混合存储系统包括固态硬盘、机械硬盘和控制器,其特征在于,所述固态硬盘中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块,所述控制器包括:
排序模块,该排序模块能够根据访问次数按照利用预定算法对所述冷数据块进行排序,并且所述排序模块能够根据替换代价对所述热数据块进行排序;
访问次数清零模块,所述访问次数清零模块能够每隔第一预定时间段将所述固态硬盘中的数据块的访问次数清零;
数据转移模块,所述数据转移模块能够每隔第二预定时间段将所述固态硬盘中的冷数据块删除,并将删除的所述冷数据块中的脏数据块写入所述机械硬盘中,所述第二预定时间段大于所述第一预定时间段,其中,所述排序模块按照如下公式计算所述热数据块的替换代价:
Cost=A*Count;
Cost为所述热数据块的替换代价,
Count为所述热数据块被访问的次数,
A为所述热数据块的脏块权重系数,当所述热数据块为脏数据块时,该热数据块的脏块权重系数大于1;当所述热数据块为非脏数据块时,该热数据块的脏块权重系数为1。
8.根据权利要求7所述的控制器,其特征在于,所述控制器还包括指令生成模块、目标数据定位模块、空间判断模块和操作执行模块,
所述指令生成模块用于生成操作指令,所述操作指令包括针对目标数据的操作指令和写入新数据的操作指令,所述指令生成模块的输出端与所述操作执行模块相连,以将所述操作指令发送至所述操作执行模块;
所述空间判断模块的输入端与所述指令生成模块的输出端相连,所述空间判断模块能够在接收到所述操作指令后判断执行所述操作指令所需的空间,所述空间判断模块的查询端与所述固态硬盘相连,以获取所述固态硬盘的剩余空间,且所述空间判断模块能够将执行所述操作指令所需的空间以及所述固态硬盘的剩余空间进行对比,以判断所述固态硬盘的空间是否充足,当所述固态硬盘中的剩余存储空间不足时,所述空间判断模块生成不足信号,所述空间判断模块的输出端与所述数据转移模块相连,以将所述不足信号发送至所述数据转移模块;
所述目标数据定位模块的查询端与所述固态硬盘相连,所述目标数据定位模块的输入端与所述指令生成模块的输出端相连,所述目标数据定位模块的输出端与所述操作执行模块相连,所述目标数据定位模块能够在接收到所述操作指令时向所述固态硬盘发出查询信号,以判断所述固态硬盘中是否存储有所述目标数据块,当所述固态硬盘中存储有所述目标数时,所述目标数据定位模块生成第一位置信号,当所述固态硬盘中未存储有所述目标数据块时生成第二位置信号;
当所述操作执行模块接收到所述第二位置信号时,从所述机械硬盘中读取所述目标数据块,并将所述目标数据块写入所述固态硬盘,然后对所述固态硬盘中的目标数据块进行操作,当所述操作执行模块接收到所述第一位置信号时,直接对所述固态硬盘中的目标数据块进行操作;
所述数据转移模块接收到所述不足信号时,按照排序从所述冷数据开始删除至少一部分数据块,直至所述固态硬盘中的空间足以执行所述操作指令为止,并且所述数据转移模块能够将从所述固态硬盘中删除的数据块中的脏数据块写入所述机械硬盘中。
9.根据权利要求8所述的控制器,其特征在于,所述存储系统还包括脏数据标记模块,所述脏数据标记模块能够将经过写操作的目标数据块标记为脏数据块。
10.一种电子设备,所述电子设备包括控制器和混合存储系统,其特征在于,所述控制器为权利要求7至9中任意一项所述的控制器,所述混合存储系统,所述混合存储系统包括固态硬盘、机械硬盘和控制器,所述固态硬盘中存储的数据块包括访问次数大于或等于预定值的热数据块和访问次数小于所述预定值的冷数据块。
CN201610191944.0A 2016-03-30 2016-03-30 混合存储系统的操作方法、控制器和电子设备 Active CN105892942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610191944.0A CN105892942B (zh) 2016-03-30 2016-03-30 混合存储系统的操作方法、控制器和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610191944.0A CN105892942B (zh) 2016-03-30 2016-03-30 混合存储系统的操作方法、控制器和电子设备

Publications (2)

Publication Number Publication Date
CN105892942A true CN105892942A (zh) 2016-08-24
CN105892942B CN105892942B (zh) 2019-03-05

Family

ID=57014712

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610191944.0A Active CN105892942B (zh) 2016-03-30 2016-03-30 混合存储系统的操作方法、控制器和电子设备

Country Status (1)

Country Link
CN (1) CN105892942B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753246A (zh) * 2019-01-14 2019-05-14 南京航空航天大学 面向混合异构内存的标签化数据与作业调度方法及系统
CN112230860A (zh) * 2020-10-23 2021-01-15 苏州浪潮智能科技有限公司 一种提高数据分层效率的方法及装置
CN113590045A (zh) * 2021-08-03 2021-11-02 中国联合网络通信集团有限公司 数据分层式存储方法、装置及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104090852A (zh) * 2014-07-03 2014-10-08 华为技术有限公司 管理混合缓存的方法及设备
US20150095671A1 (en) * 2013-09-27 2015-04-02 International Business Machines Corporation Method and apparatus for managing power of a storage system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150095671A1 (en) * 2013-09-27 2015-04-02 International Business Machines Corporation Method and apparatus for managing power of a storage system
CN104090852A (zh) * 2014-07-03 2014-10-08 华为技术有限公司 管理混合缓存的方法及设备

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109753246A (zh) * 2019-01-14 2019-05-14 南京航空航天大学 面向混合异构内存的标签化数据与作业调度方法及系统
CN109753246B (zh) * 2019-01-14 2021-08-27 南京航空航天大学 面向混合异构内存的标签化数据与作业调度方法及系统
CN112230860A (zh) * 2020-10-23 2021-01-15 苏州浪潮智能科技有限公司 一种提高数据分层效率的方法及装置
CN112230860B (zh) * 2020-10-23 2022-07-22 苏州浪潮智能科技有限公司 一种提高数据分层效率的方法及装置
CN113590045A (zh) * 2021-08-03 2021-11-02 中国联合网络通信集团有限公司 数据分层式存储方法、装置及存储介质
CN113590045B (zh) * 2021-08-03 2023-05-16 中国联合网络通信集团有限公司 数据分层式存储方法、装置及存储介质

Also Published As

Publication number Publication date
CN105892942B (zh) 2019-03-05

Similar Documents

Publication Publication Date Title
US10768679B2 (en) Memory system and controller
KR100526190B1 (ko) 플래시 메모리의 재사상 방법
US8108592B2 (en) Memory system and wear leveling method thereof
US8417872B2 (en) Write and merge methods in memory card systems for reducing the number of page copies
US11256615B2 (en) Apparatus and method for managing map segment using map miss ratio of memory in a memory system
CN102498522B (zh) 用于减小固态器件中的写入放大的容器标记方案
KR100755700B1 (ko) 비휘발성 메모리가 캐쉬로 사용되는 저장 장치 및 그 관리방법
US9239780B2 (en) Selection of memory blocks for garbage collection based on variable block life threshold
KR100772863B1 (ko) 요구 페이징 기법을 적용한 시스템에서 페이지 교체 수행시간을 단축시키는 방법 및 장치
US20080104357A1 (en) Apparatus and method for managing nonvolatile memory
US20140129758A1 (en) Wear leveling in flash memory devices with trim commands
KR101924022B1 (ko) 메모리 시스템 및 그것의 페이지 교체 방법
KR20150100862A (ko) 데이터 저장 시스템들에 대한 우선순위 기반 가비지 수집
CN104298465A (zh) 固态储存装置中的区块分组方法
CN104572491A (zh) 一种基于固态硬盘的读缓存管理方法及装置
CN103294604A (zh) 闪存器件和使用闪存器件的电子设备
CN106919517B (zh) 闪存及其访问方法
CN105892942A (zh) 混合存储系统的操作方法、控制器和电子设备
CN107515728A (zh) 发挥闪存设备内部并发特性的数据管理方法和装置
JP5787451B2 (ja) エミュレート電気的消去可能(eee)メモリおよび動作方法
US20190065403A1 (en) Cuckoo caching
CN109343796B (zh) 一种数据处理方法和装置
US8996786B2 (en) Nonvolatile memory system and block management method
CN114238162B (zh) 垃圾回收方法、装置、可读存储介质及电子设备
CN109739688A (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