CN102591593B - 一种混合存储模式的切换方法、装置及系统 - Google Patents
一种混合存储模式的切换方法、装置及系统 Download PDFInfo
- Publication number
- CN102591593B CN102591593B CN201110446387.XA CN201110446387A CN102591593B CN 102591593 B CN102591593 B CN 102591593B CN 201110446387 A CN201110446387 A CN 201110446387A CN 102591593 B CN102591593 B CN 102591593B
- Authority
- CN
- China
- Prior art keywords
- access characteristics
- memory module
- data
- access
- storage array
- 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
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明实施例提供一种混合存储模式的切换方法、装置及系统,该方法包括:从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式,从而避免系统运行期间只支持一种混合存储模式,提高混合存储性能。
Description
技术领域
本发明涉及计算机存储技术,尤其涉及一种计算机系统混合存储模式的切换方法、装置及系统。
背景技术
传统的机械旋转的磁性硬盘(Hard Disk Drive,HDD)具有大容量、低价格的优势,因而依然是存储的首选。但是由于其读取数据时需要旋转磁头进行数据定位,访问延迟明显,因而严重制约了系统的随机访问I/O性能。而固态硬盘(Solid State Disk,SSD)进行数据随机访问时没有磁头旋转定位的操作,无访问延迟,因而随机访问性能卓越。但是SSD磁盘容量有限、价格高昂且使用寿命有限,因而完全用SSD取代HDD作为存储也不是最佳选择。
混合存储技术是一种新型存储技术,该技术充分结合了HDD磁盘的大容量、低价格与SSD磁盘卓越的随机访问性能的优点,将HDD磁盘与SSD磁盘混合配置用于数据存储,改善系统的随机访问I/O性能。
混合存储技术主要具有两种模式:一种是将SSD作为HDD磁盘的缓存,将HDD中频繁访问的数据缓存到SSD中,当系统再次访问这些数据时就可以直接从SSD中读取,通过这样的方式改善系统的随机访问性能,这种模式一般称为分层存储(Tiering Storage)或缓存模式;另一种是将SSD作为热点数据盘(Hot Data Disk),将HDD中频繁访问的数据转存到SSD中,当系统再次访问这些数据时就可以直接从SSD中读取,这种模式一般称为混合存储(Hybrid Storage)或热点数据盘模式。
目前,混合存储较成熟的现有技术方案主要有两种:一是MarvellHyperDuo混合存储方案,该方案实现了SSD做缓存(Safe Mode)和SSD做热点数据盘(Capacity Mode)的两种混合存储模式,该技术方案通过一个SATA(Serial Advanced Technology Attachment)控制器将SSD和HDD以一个逻辑磁盘的方式呈现给操作系统;二是Intel的SRTC(Smart Response Technology Caching)混合存储方案,该方案仅仅实现了SSD做缓存的混合存储,并且支持两种模式:一种是加强模式(Enhanced mode),该模式下SSD相当于HDD的Writethrough Cache,是其默认方式,这种模式适用于数据安全性需求高于性能需求的应用场景;另一种是最大化模式(Maximized mode),该模式下SSD相当于HDD的Writeback Cache,该模式适用于数据性能需求高于数据安全性需求的应用场景。
但是,以上Marvell和Intel的两种混合存储技术存在如下缺点:1)无法根据当前应用场景适应性的选用最佳存储模式;2)系统运行前设置好一种混合存储模式,运行期间只能支持这种混合存储模式,不支持在线切换到其它混合存储模式,混合存储模式离线切换操作过程复杂,需要先对SSD和HDD上的数据进行备份,然后重新启动进入BIOS(Basic Input/Output System)对SATA控制器重新进行设置。
发明内容
本发明实施例提供一种混合存储模式的切换方法、装置和系统,以避免系统运行期间只支持一种混合存储模式,从而提高系统的混合存储性能。
为了实现解决上述技术问题,本发明实施例提供如下技术方案:
本发明实施例提供一种混合存储模式的切换方法,该方法包括:
从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;
根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;
当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式。
本发明实施例提供一种混合存储模式的切换装置,该装置包括:
IO特性数据采样模块,用于从系统总线上于当前采集周期内采集当前的IO访问特性数据,所述IO访问特性数据是反映当前采集周期内的读写操作的数据;
IO访问特性识别模块,用于根据所述IO访问特性数据确定IO访问特性,所述IO访问特性为读操作为主或写操作为主;
切换控制模块,用于当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式。
本发明实施例还提供一种存储控制器,所述存储控制器包括总线接口、用于连接第一存储阵列的第一存储阵列接口和用于连接第二存储阵列的第二存储阵列接口以及与所述总线接口单元和所述存储阵列接口单元连接的控制器,其中:所述总线接口用于从系统总线上接收包括读操作请求和/或写操作请求的访问请求;所述控制器用于:通过所述总线接口从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式;并基于所述切换后的混合存储模式和所述访问请求,通过第一存储阵列接口访问第一存储阵列或通过第二存储阵列接口访问第二存储阵列。
本发明实施例还提供一种混合存储系统,该系统包括存储控制器、第一存储阵列和第二存储阵列,其中:所述第一存储阵列和所述第二存储阵列通过所述存储控制器与系统总线连接;所述存储控制器为本发明实施例提供的存储控制器。
可见,本发明实施例提供一种混合存储模式的切换方法、装置和系统,通过从系统总线上、采集IO访问特性数据,然后根据这些IO访问特性数据确定系统使用的IO访问特性,每一种IO访问特性对应一种相对较好的混合存储模式,当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式,从而实现系统运行时根据当前应用场景执行混合存储模式的动态在线切换,避免离线切换带来的复杂人工操作,提高混合存储性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种混合存储模式切换方法的流程示意图;
图2为本发明实施例提供的一种混合存储模式切换方法的具体流程示意图;
图3为本发明实施例提供的一种混合存储模式切换装置结构示意图;
图4为本发明实施例提供的一种混合存储模式切换装置结构示意图;
图5为本发明实施例提供的一种存储控制器的结构示意图;
图6为本发明实施例提供的一种混合存储系统的逻辑结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为本发明实施例提供的一种存储模式切换方法的流程示意图,该存储模式切换方法可以应用于系统的存储控制器中。如图1所示,该方法包括:
S101、从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;
需要说明的是,前述IO访问特性数据可以是一个采集周期内读数据的总大小和写数据的总大小,或者,一个采集周期内读操作的执行次数和写操作的执行次数;也可以是其它反映系统当前一段时间内读写操作的数据。前述采集周期指的是采集系统IO访问特性数据的一段时间,时间长短可以根据系统运行状况自定义;当前采集周期和上一个或下一个采集周期的时间长短可以不同,也可以相同,多个采集周期之间可以没有时间间隔,也可以有时间间隔,时间间隔的长度可以自定义。
S102、根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;
在一种实现方式下,根据所述IO访问特性数据计算出所述读操作和写操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于1,所述第二阈值小于或等于1。例如采集的IO访问特性数据是当前采集周期内读/写操作的各自执行次数,读操作执行次数为M1,写操作执行次数为M2,那么读写操作的比重用M1除以M2的值确定,即比值M1/M2反映当前读写操作的比重;又如IO访问特性数据是当前采集周期内读/写数据的各自的总大小,读数据的总大小为N1,写数据的总大小为N2,那么读写操作的比重用N1除以N2的值确定,即比值N1/N2反映当前读写操作的比重。第一阈值为读操作为主的下限阈值,超过此阈值就可以确定系统的IO访问特性为读操作为主;相应的,第二阈值为写操作为主的上限阈值,低于此阈值就可以确定系统的IO访问特性为以写操作为主。
该第一阈值可以设置为大于该第二阈值,例如第一阈值设定为6∶4,第二阈值设定为4∶6(第一阈值和第二阈值的设置可以根据对系统运行状况自定义),那么当读/写操作的比值大于6∶4(即读操作所占的比例大于60%)时,确定当前系统的IO访问特性为以读操作为主;当读/写操作的比值小于4∶6(即写操作所占的比例大于60%)时,确定当前系统的IO访问特性为以写操作为主;当读写操作的比值小于或等于6∶4且大于或等于4∶6时,认为当前系统读写操作相当,可以不进行存储模式的切换。该第一阈值也可以设置为等于该第二阈值,例如设置第一阈值和第二阈值均为1。在这种设置下,读写操作相当的情况只存在一种,即读/写操作完全相同。考虑到实际应用中这种读写操作完全相等的情况出现的可能性较少,因此此种设置下存储模式的切换可能会过于频繁。
在另一种方式下,根据所述IO访问特性数据计算出所述读操作与读写总操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
在第三种实现方式下,根据所述IO访问特性数据计算出所述写操作与读写总操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为写操作为主;若所述比值小于第二阈值,确定所述IO访问特性为读操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
S103、当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式。
应当理解的是,本发明实施例中IO访问特性对应的混合存储模式为根据IO访问特性确定的较优的混合存储模式,即当系统处于读操作为主或写操作为主等的应用场景时,能带给系统相对更好的存储性能的混合存储模式。
在一种实现方式下,本发明实施例提到的混合存储模式可以包括缓存模式和热点数据盘模式。其中,缓存模式为第一存储阵列存储热点数据,第二存储阵列存储全部数据;热点数据盘模式为第一存储阵列存储热点数据,第二存储阵列存储非热点数据。第一存储阵列和所述第二存储阵列通过存储控制器与系统总线相连。
相应的,该步骤具体可以为:当所述IO访问特性为读操作为主时,其对应的混合存储模式可以为缓存模式,若系统使用的的混合存储模式是热点数据盘模式,将系统的混合存储模式配置为所述缓存模式;当所述IO访问特性为写操作为主时,其对应的混合存储模式为热点数据盘模式,若系统使用的的混合存储模式是缓存模式,将系统的混合存储模式配置为所述热点数据盘模式。绝大多数SSD的随机读性能明显优于随机写性能(因为随机写会导致SSD的写放大),因而前述SSD做缓存和SSD做热点数据盘的情况对于不同的IO访问特性具有不同的偏好。使用混合存储的本质是减少对HDD的随机访问,而SSD做缓存的模式对于随机读能比较好的做到这一点,因为从数据开始访问被缓存到SSD到最终不再访问的过程中对HDD的访问只有一次,而随机写则不一样,数据从开始访问被缓存到SSD到最终不再访问的过程中因为需要同步数据到HDD,对HDD的访问至少有两次,对于数据反复修改的情况,则可能要多次访问HDD以同步数据。而SSD做热点数据盘的模式对于随机写则能比较好的做到减少对HDD的随机访问,因为从数据开始访问被转存到SSD到最终不再访问的过程中对HDD的访问只有两次。但是随机读也是需要两次访问HDD,这样对于一个读请求的数据访问需要两次访问HDD,而如果是SSD做缓存的情况,则只需访问一次,可以明显减少对HDD的随机访问次数。
另外,当所述IO访问特性读写操作相当时,可以认为所述IO访问特性对应的混合存储模式与系统当前实际配置的混合存储模式一致,考虑到切换操作带来的额外性能开销,可以不执行存储模式切换操作,继续应用系统当前配置的混合存储模式。
在一种实现方式下,第一存储阵列可以为SSD阵列,第二存储阵列可以为HDD阵列;在另一种实现方式下,第一存储阵列和第二存储阵列可以为访问性能不同的SSD阵列,例如第一存储阵列为访问速度非常快的高级SSD阵列,第二存储阵列为访问速度稍差的低一级别的SSD阵列,这样不同访问性能的两个SSD也构成了一种混合存储模式;再一种实现方式下,第一存储阵列可以为SSD或HDD阵列,第二存储阵列可以为其它种类的存储阵列;在其它实现方式,两种存储阵列可以均为其它种类的存储阵列。当第一存储阵列为SSD阵列,第二存储阵列为HDD阵列时,本发明实施例的缓存模式可以为通常意义上混合存储模式中的分层存储(Tiering Storage),热点数据盘模式可以为通常意义上混合存储模式中的混合存储(HybridStorage)。
需要说明的是,本发明实施例所述第一存储阵列和第二存储阵列只是存储阵列的名称,并无限定顺序的意思。另外,本发明实施例可以包含两个以上存储阵列,本发明实施例提供的混合存储模式切换方法不仅可以应用在两种存储模式的切换,还可以应用在两个以上存储模式的切换,本领域普通技术人员容易依据本发明实施例公开的方法实现两种以上存储模式的切换过程,本发明实施例在此不再赘述。
第一存储阵列无论做缓存还是热点数据盘,其上存储的数据在系统写操作的影响下都可能会发生变化,此时如果要对系统的混合存储模式进行重新配置就需要将第一存储阵列上的数据进行备份。因此,进一步的,当所述IO访问特性为读操作为主时,其对应的混合存储模式为缓存模式,若系统使用的的混合存储模式是热点数据盘模式,在将系统的混合存储模式配置为缓存模式之前,还需要停止对所述第一存储阵列的数据访问,将所述第一存储阵列上的数据迁移到所述第二存储阵列上;或者,当所述IO访问特性为写操作为主时,其对应的混合存储模式为热点数据盘模式,若系统当前使用的的混合存储模式是缓存模式,在将系统的混合存储模式配置为热点数据盘模式之前,停止对所述第一存储阵列的数据访问,将所述第一存储阵列上状态为脏的数据同步到所述第二存储阵列上。状态为脏的数据即脏数据,指的是第一存储阵列中已被修改但未写入第二存储阵列的数据,例如SSD做缓存时,脏数据指的是存储在SSD中的、已经被修改过的但是没有同步更新到HDD中的数据。
值得一提的是,在第一存储阵列上的数据没有被修改或者特殊情况下不再需要这些数据等情况下可以不对第一存储阵列上的数据做迁移或备份等操作,例如当系统要从只读缓存模式(例如WritethroughCache)切换到其它存储模式(例如读写缓存(Writeback Cache)模式或热点数据盘模式)时,由于第一存储阵列做只读缓存,所有其上的数据没有发生变化,不需要做备份或迁移。
在步骤S102中提到第一阈值和第二阈值的设置可以避免操作存储模式切换操作的频繁发生,以免影响系统的性能,在该步骤S103中,还可以通过几种方式来避免切换操作的频繁发生:
在一种实现方式下,在执行切换到所述IO访问特性对应的混合存储模式操作之前,于下一个采集周期内采集IO访问特性数据;根据所述采集的IO访问特性数据确定IO访问特性;若多个采集周期确定的IO访问特性一致,再执行所述切换到所述IO访问特性对应的混合存储模式的操作。
需要说明的是,本发明实施例中所述当前采集周期和所述下一个采集周期之间可以有时间间隔,时间间隔可以自主设置;当然也可以没有时间间隔,连续进行两个或多个采集周期的读写操作采集和系统IO访问特性识别,如果这多次的识别结果都一致,再进行系统存储模式的切换。
在另一种实现方式下,在执行切换到所述IO访问特性对应的混合存储模式操作之前判断第一统计时间段阈值内切换操作发生的次数和IO访问特性的确定次数之比的大小,当该第一统计时间段阈值内所述切换操作的次数和所述IO访问特性的确定次数之比小于或等于第三阈值时,再执行所述切换到所述IO访问特性对应的混合存储模式的操作。
本发明实施例所述第一统计时间段阈值可以是从一个过去的时间点到当前时间点的时间段长度的值,该时间段长度可以自主定义,比如该时间段长度可以设置为200小时,即可以统计这200小时内的切换操作发生的次数和IO访问特性的确定次数之比。另外该第三阈值可以根据情况自主定义,例如可以为设置为0.7,假设第一统计时间段阈值进行了10次IO访问特性的识别,发生了7次以上的切换操作,表明这一段时间切换操作太过频繁,那么就可以暂时关闭切换功能,一定时间后再开启切换。
第三种实现方式下,也可以在执行切换到所述IO访问特性对应的混合存储模式操作之前统计第二统计时间段阈值内切换操作连续执行次数,当所述第二统计时间段阈值内切换操作连续执行次数小于或等于第四阈值时,执行所述切换到所述IO访问特性对应的混合存储模式的操作。
本发明实施例所述第二统计时间段阈值可以是从一个过去的时间点到当前时间点的时间段长度的值,该时间段长度可以自主定义。另外前述第一统计时间段阈值和这里第二统计时间段阈值可以相同,也可以不同,本发明实施例对此不做限定。另外该第四阈值也可以根据情况自主定义,例如可以设置该第四阈值为4,系统在一段时间内连续发生了5次存储模式切换,表明当前切换太过频繁,那么就可以暂时关闭切换功能,一定时间后再开启切换。
需要说明的是,这两种判断操作也可以实现成一个类似定时器的功能,设置一个固定的时间间隔t,每隔时间t之后就触发一次,计算这一段时间t内切换操作发生的次数和IO访问特性的确定次数之比或切换操作连续执行次数,得出的结果与第三阈值或第四阈值作比较,确定需不需要关闭切换操作。
值得一提的是,本发明实施例提供的几种抑制频繁切换的方法可以以任意组合的形式使用在本发明实施例提供的混合存储模式切换方法中。
综上所述,本发明实施例提供一种存储模式的切换方法,该方法通过从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式,从而通过本发明实施例实现系统运行时根据当前应用场景选择相对有优势的混合存储模式,执行存储模式的动态切换,从而提高系统的存储性能。
进一步的,通过自主设置IO访问特性的阈值、对系统当下读写操作的多次识别、判断切换操作发生的次数和IO访问特性的确定次数之比或切换操作连续执行次数等方式避免切换操作的频繁发生,抑制频繁切换对系统造成的性能影响。
请参阅图2,为本发明实施例提供的一种存储模式切换方法的具体流程示意图。如图2所示,该方法包括:
步骤200、流程开始。存储模式的切换过程可以由用户根据需求触发,也可以由用户设置固定的间隔时间,而后系统自动触发,本发明实施例对此不做限定。
步骤201、采集IO访问特性数据。存储控制器分别与系统总线和存储设备连接,可以从系统总线上获取系统当前一段时间(一个采集周期)内读/写数据的各自的总大小或者一段时间内读/写操作的各自执行的次数等数据。
步骤202、识别当前IO访问特性。根据步骤201采集的IO访问特性数据确定系统使用的IO访问特性是以读操作为主、以写操作为主,还是读写操作相当。
具体的,根据所述IO访问特性数据计算出所述读操作和写操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主。
首先,可以预先建立一个IO访问特性特征库,特征库中为每种IO访问特性建立了不同的特征值(用户可修改、可自定义),特征值可以有三类:IO操作以读为主(例如读操作与写操作的比值大于6∶4时)、IO操作以写为主(例如读操作与写操作的比值小于4∶6时)和IO操作读写比例相当(例如读/写操作所占的比例都在40%~60%之间),在特征库中可以分别用01、10、00三个标识表示;然后,采用模式识别算法等计算步骤201采集到的IO访问特性数据中读/写数据量或者读/写操作次数的比值,将得到的比值与特征库中的特征值进行对应得到最终的识别结果。应当理解的是,本发明实施例提供的特征库可以扩展更多类别的特征值。
以一段时间读/写数据各自的总大小为例。设置第一阈值为6∶4,第二阈值为4∶6。经过一个采集周期的IO访问特性数据采集后,读数据的总量为65GB,写数据的总量为35GB,读写数据量之比就是65∶35=13∶7>6∶4,那么模式识别算法的最终输出结果为01(01代表IO操作以读为主);如果读数据的总量为35GB,写数据的总量为65GB,那么读写数据量之比就是35∶65=7∶13<4∶6,那么模式识别算法的最终输出结果为10(10代表IO操作以写为主);其他情况下模式识别算法的最终输出结果为00(00代表IO操作中读写操作相当)。
以一段时间读/写操作各自执行的次数为例(需要注意的是,同一份数据,如果不发生改变,那么可以对它的访问次数始终记为1次)。比如经过一段时间的IO访问特性数据采集后,读操作执行的次数为6500,写操作执行的次数为3500,那么读写操作次数之比就是6500∶3500=13∶7>6∶4,那么模式识别算法的最终输出结果为01(01代表IO操作以读为主);如果读操作执行的次数为3500,写操作执行的次数为6500,,那么读写操作次数之比就是3500∶6500=7∶13<4∶6,那么模式识别算法的最终输出结果为10(10代表IO操作以写为主);其他情况下模式识别算法的最终输出结果为00(00代表IO操作中读写操作相当)。
步骤203、判断IO访问特性对应的混合存储模式与系统使用的混合存储模式是否一致。若否,执行步骤204;若是,返回到步骤201。应当理解的是,返回到步骤201后可以连续执行本发明实施例的采集、判断等过程,也可以等待一段时间后再执行整个方法的判断和切换过程,这段时间的长短可以根据系统运行状况确定,不过考虑到系统的IO访问特性可能不会在短时间内发生变化,因此。
例如步骤202识别当前IO访问特性是以读操作为主(输出结果为01),那么认为其对应的优选存储模式是对随机读效率比较好的SSD做缓存的缓存模式,如果当前存储模式不是SSD做缓存的缓存模式,那么执行步骤204;如果当前存储模式正是SSD做缓存的缓存模式,那么回到步骤201系统可以自动进入下一个IO访问特性数据采集周期或用户在一段时间间隔之后再指定系统开始采集IO访问特性数据。
在一种实现方式下,可以预先设置系统当前存储模式与本发明实施例设置的两种存储模式标识的映射关系,例如可以设置SSD做缓存的缓存模式对应标识010,SSD做热点数据盘的模式对应标识100,那么当步骤202输出01时,表示当前系统以读操作为主,那么其对应的优选存储模式为缓存模式010;然后通过系统调用获取到当前系统的混合存储模式,假设为热点数据盘模式,通过映射关系得知其为100,那么比较010与100,例如对二者进行异或操作,结果为0则表示系统使用的的混合存储模式与优选的混合存储模式一致,回到步骤201;否则表示系统使用的的混合存储模式与优选的混合存储模式不一致,执行步骤204。
需要说明的是,本发明实施例中确定的IO访问特性与最佳存储模式的对应关系只是考虑了两种存储模式在特定情况下的读写效率的举例说明,本领域普通技术人员可以根据其它情况下的读写效率或结合其它因素来确定IO访问特性对应的最佳存储模式,只要应用本发明实施例提供的混合存储模式切换方法都应在本发明实施例保护范围之内。
步骤204、等待时间T再次识别IO访问特性。T表示一段间隔时间,可以根据需求自主设置T的大小,也可以设置T等于0,即不间断地进行下一次识别。
步骤205、判断与前次识别结果是否一致,如果两次IO访问特性识别的结果一致,执行步骤206;如果不一致,回到步骤201。
需要说明的是,本发明实施例中步骤204和205是为了在一定程度上抑制频繁切换可能带来的性能影响,也可以在步骤203判断IO访问特性对应的混合存储模式与系统当前运行的混合存储模式不一致时,直接执行步骤206开始对数据的迁移(同步)和存储模式的切换。
步骤204与205还有其它的实现方式:例如判断切换次数与识别次数之比是否小于或等于一个特定的阈值(如70%),若是则继续数据迁移(备份或同步)和切换操作,若否停止切换,若干时间后重新开启;或者,判断连续识别导致连续切换次数是否小于或等于阈值(如5次),若是则继续数据迁移(备份或同步)和切换操作,若否则暂停切换,若干时间后重新开启。
需要说明的是,本发明实施例提出的这几种抑制频繁切换的方法可以组合应用在本发明实施例中,例如即应用多次识别方法(详见图2),又在切换之前判断固定时间内切换次数与识别次数之比是否小于或等于一个特定的阈值;也可以单独应用。本发明实施例对此并不做限定。
值得一提的是,在本发明实施例中频繁切换还可以通过修改IO访问特性特征库来实现,比如对于切换频繁发生的场景,可以适当调整IO访问特性特征库来抑制频繁切换:原来的特征库设置情况下,超过60%的读操作就认为系统应该切换到缓存模式,那么将比例提高,设置为超过70%。
步骤206、停止对SSD的数据访问。在本发明实施例中,第一存储阵列采用一个或多个SSD,第二存储阵列采用一个或多个HDD,实现SSD做缓存和SSD热点数据盘两种混合存储模式的切换。当确定要执行存储模式的切换时,需要先停止对SSD的数据访问。
步骤207、将SSD上的数据备份或迁移(或同步)。当系统使用的混合存储模式是SSD做热点数据盘模式时,需要将SSD上的数据迁移或备份到第二存储阵列HDD当系统使用的混合存储模式是SSD做缓存模式时,需要将SSD上的脏数据同步更新到第二存储阵列HDD上。
值得一提的是,步骤207是为了保证数据在存储模式切换前后的完整性,当然SSD上的数据也存在不需要备份或迁移数据的情况,例如混合存储模式从只读缓存(如Writethrough Cache)切换到其他混合存储模式(读写缓存(Writeback Cache)或热点数据盘模式)的情况,此时SSD上的数据没有被修改过,因此可以不必对SSD上的数据进行备份、迁移或同步更新操作。
步骤208、将SSD盘格式化后重新配置成目标存储模式,这里的目标存储模式就是步骤202识别出的当前IO特性对应的优选的混合存储模式。本发明实施例可以通过将第一存储阵列和第二存储阵列分别独立呈现给操作系统层,实现用户对二者的独立操作。例如第一存储阵列SSD和第二存储阵列HDD由设备管理器和设备驱动器分别管理和驱动,在需要进行混合存储模式的切换时,不需要对系统进行下线处理,只需要对SSD进行格式化,然后重新配置成缓存或热点数据盘,具体来说首先获取SSD本身的信息,包括容量,存储的最小单元(一般4KB)等信心,它与哪个HDD设备构成混合存储然后建立SSD上任意最小存储单元与HDD上的数据的对应关系,就像前面说的,比如最小存储4KB,那这一步就是将SSD每个4KB的大小的区域与HDD上的同样大小的区域建立起关系,比如SSD上第一个4KB的内容对应HDD上的第n个4KB的内容,以上是配置缓存模式,对热点数据盘模式来说这种对应关系就可以不需要建立,只是简单地相当于现有磁盘变大了,因为一部分数据存到SSD中了,这个SSD的配置可以跟使用普通磁盘一样,相当于原有磁盘扩容。HDD也可以据此进行相应的配置修改。
步骤209、流程结束。
需要说明的是,本发明实施例只是举例说明,并无限定的意思,实际上本发明实施例提供的混合存储模式切换方法还可以应用于其它多种需要在线切换的混合存储模式,例如第一存储阵列和第二存储阵列都为SSD,或由更多存储阵列构成的其它存储模式。
综上所述,本发明实施例提供一种存储模式的切换方法,该方法通过从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式,从而通过本发明实施例实现系统运行时根据当前应用场景执行混合存储模式(例如SSD做缓存的缓存模式和SSD做热点数据盘的热点数据盘模式)的动态在线切换,避免离线切换带来的复杂人工操作,进而提高混合存储性能。
进一步的,通过自主设置IO访问特性的阈值、对系统当下读写操作的多次识别、判断切换操作发生的次数和IO访问特性的确定次数之比或切换操作连续执行次数等方式避免切换操作的频繁发生,抑制频繁切换对系统造成的性能影响。
请参与图3a,为本发明实施例提供的一种混合存储模式的切换控制装置的逻辑结构示意图,该存储控制器包括IO特性数据采样模块11、IO访问特性识别模块12和切换控制模块13。其中:
IO特性数据采样模块11,用于从系统总线上于当前采集周期内采集当前的IO访问特性数据,所述IO访问特性数据是反映当前采集周期内的读写操作的数据。该模块主要用于收集当前的IO特性采样数据,这些采样数据可以反映当前应用场景是以读操作为主还是以写操作为主。
需要说明的是,前述IO访问特性数据可以是一个采集周期内读数据的总大小和写数据的总大小,或者,一个采集周期内读操作的执行次数和写操作的执行次数,也可以是其它反映系统当前一段时间内读写操作比重的数据。该采集周期的长短可以根据系统运行状况自定义。
IO访问特性识别模块12,用于根据所述IO访问特性数据确定IO访问特性,所述IO访问特性为读操作为主或写操作为主;
在一种实现方式下,IO访问特性识别模块12具体用于:根据所述IO访问特性数据计算出所述读操作和写操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于1,所述第二阈值小于或等于1。
该第一阈值可以设置为大于该第二阈值,例如第一阈值设定为6∶4,第二阈值设定为4∶6(第一阈值和第二阈值的设置可以根据对系统运行状况自定义),那么当读/写操作的比值大于6∶4(即读操作所占的比例大于60%)时,确定当前系统的IO访问特性为以读操作为主;当读/写操作的比值小于4∶6(即写操作所占的比例大于60%)时,确定当前系统的IO访问特性为以写操作为主;当读写操作的比值小于或等于6∶4且大于或等于4∶6时,认为当前系统读写操作相当,可以不进行存储模式的切换。另外,该第一阈值也可以设置为等于该第二阈值,例如设置第一阈值和第二阈值均为1。在这种设置下,读写操作相当的情况只存在一种,即读/写操作完全相同。IO访问特性识别模块12可以包含一个IO特性访问特征库,特征库中为每种IO访问特性建立了不同的特征值(用户可修改、可自定义),特征值有三类:IO操作以读为主(例如读操作所占的比例大于60%)、IO操作以写为主(例如写操作所占的比例大于60%)和IO操作读写比例相当(例如读/写操作所占的比例都在40%~60%之间),在特征库中可以分别用01、10、00三个标识表示;其中在IO操作读写比例相当的情况下进行存储模式切换时性能的提升可能并不明显,此外还要考虑切换带来的性能开销,因而这种情况下可以不切换(当然也可以根据其它的需求执行切换操作);然后,采用模式识别算法等计算IO特性数据采样模块11采集到的IO访问特性数据中读/写数据量或者读/写操作次数的比值,将得到的比值与特征库中的特征值进行对应得到最终的识别结果。
需要说明的是,IO访问特性识别模块12可以支持用户自己设置或修改特征库中的特征值,例如用户可以设置读操作为主的特征值是读操作的比例超过70%;当IO访问特性识别模块对当前系统连续产生多达三种的IO特性识别结果(以读操作为主、以写操作为主、读写操作相当)时,用户可以通过修改或重新设置特征库中的特征值来精确控制IO访问特性识别模块的识别结果。
在另一种实现方式下,IO访问特性识别模块12具体用于根据所述IO访问特性数据计算出所述读操作与读写总操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
在第三种实现方式下,IO访问特性识别模块12具体用于根据所述IO访问特性数据计算出所述写操作与读写总操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为写操作为主;若所述比值小于第二阈值,确定所述IO访问特性为读操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
另外,IO访问特性识别模块可以提供接口给用户,用户可以通过该接口干预切换过程的实现,包括但不限于强制切换、停止切换、设置数据采集周期(例如可以设置采集周期为48小时)等功能。当然也可以把设置数据采集周期的功能放到IO特性数据采样模块11中。
切换控制模块13,用于当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式。
进一步的,在一种实现方式下,如图3b所示,IO特性数据采样模块11还用于从系统总线上于下一个采集周期内采集IO访问特性数据,所述IO访问特性数据是反映下一个采集周期内的读写操作的数据;所述切换控制模块13具体用于当所述当前采集周期下所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致,且所述下一个采集周期下确定的IO访问特性与所述当前采集周期下确定的IO访问特性相同,切换到所述IO访问特性对应的混合存储模式。
在另一种实现方式下切换控制模块13具体用于当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致,且所述切换操作的次数和所述IO访问特性的确定次数之比小于或等于第三阈值时,切换到所述IO访问特性对应的混合存储模式。
在第三种实现方式下,切换控制模块13具体用于当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致,且所述切换操作连续执行次数小于或等于第四阈值时,切换到所述IO访问特性对应的混合存储模式。
应当理解的是,切换控制模块13以上三种附加的功能为了抑制系统频繁切换而实现,可以单独应用在本发明实施例中,也可以以任意组合应用在本发明实施例中,也可以不使用,本发明实施例对此不做限定。
本发明实施例所述的混合存储模式可以包括:缓存模式和热点数据盘模式,该缓存模式为第一存储阵列存储热点数据,第二存储阵列存储全部数据;该热点数据盘模式为第一存储阵列存储存储热点数据,第二存储阵列存储非热点数据。
本发明实施例提供的切换控制模块13具体可以包括:
切换通知单元131,用于比较所述IO访问特性对应的混合存储模式与系统使用的混合存储模式,当所述IO访问特性为读操作为主时,其对应的混合存储模式为缓存模式,若系统使用的的混合存储模式是热点数据盘模式,触发缓存模式配置单元将系统的混合存储模式配置为所述缓存模式;当所述IO访问特性为写操作为主时,其对应的混合存储模式为热点数据盘模式,若系统使用的的混合存储模式是缓存模式,触发热点模式配置单元将系统的混合存储模式配置为所述热点数据盘模式;
缓存模式配置单元132,用于将系统的混合存储模式配置为缓存模式;
热点模式配置单元133,用于将系统的混合存储模式配置为热点数据盘模式;
切换控制模块13根据IO访问特性识别模块的识别结果确定是否执行切换。如果IO访问特性识别模块的识别结果表明目前IO访问特性对应的较好的混合存储模式与实际配置的混合存储模式不一致时,则切换控制模块开始调用相关的模式配置单元进行存储模式的重新配置。
进一步的,切换控制模块13还可以包括数据迁移单元134,用于将所述第一存储阵列上的数据进行迁移、备份或同步;所述切换通知单元131还用于停止对所述第一存储阵列的数据访问,触发所述数据迁移单元134进行数据迁移、备份或同步;
在一种情况下,如果系统需要从热点数据盘模式切换到缓存模式,切换通知单元131停止对所述第一存储阵列的数据访问,触发数据迁移单元134进行数据迁移或备份,然后调用缓存模式配置单元132,将SSD盘格式化后重新配置成缓存;在另一种情况下,如果系统需要从缓存模式切换到热点数据盘模式,切换通知单元131停止对所述第一存储阵列的数据访问,触发数据迁移单元134将SSD上的脏数据同步更新到其它存储阵列(例如HDD)上,然后调用热点模式配置单元133,将SSD盘格式化后重新配置成热点数据盘。本发明实施例中提到在本发明实施例中设备管理器将SSD和HDD分别呈现给操作系统,所以操作系统可以对SSD上的数据进行独立操作,例如数据迁移、备份或格式化等。
需要说明的是,数据迁移单元134完成数据迁移等操作后可以通知切换通知单元131数据已经迁移完毕,然后切换通知单元131负责调用相应的模式配置单元将存储阵列重新配置。此处通知的方式可以是数据迁移单元134主动通知切换通知单元131、也可以是切换通知单元131主动查询,通知数据迁移等操作完毕的方式不限于以上两种方式,任何主动或被动形式的通知方式都是一种可行的具体的实施方案。另外,如果实际情况中存储模式切换前后不需要保持存储阵列上数据的一致性,那么本发明实施例提供的方法可以不执行停止数据访问、数据迁移、备份或同步操作。
在本发明实施例中第一存储阵列可以为固态硬盘SSD阵列,第二存储阵列可以为磁性硬盘HDD阵列;或者,第一存储阵列和第二存储阵列为访问性能不同的SSD阵列。
需要说明的是,本领域技术人员应当理解本发明实施例提供的模块划分并无限定的意思,本领域普通技术人员采用其它模块划分方式,只要实现的方法与本发明实施例相同或相近,都应视为本发明实施例保护的范围。另外,本发明实施里提供的混合存储模式的切换装置还可以采用纯硬件形式实现,也可以采用软硬件结合形式实现。
综上所述,本发明实施例提供一种混合存储模式的切换装置,包括IO特性数据采样模块,用于从系统总线上于当前采集周期内采集当前的IO访问特性数据;IO访问特性识别模块,用于根据所述IO访问特性数据确定IO访问特性;切换控制模块,用于当所述IO访问特性对应的混合存储模式与系统使用的的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式。
进一步的,通过自主设置IO访问特性的阈值、对系统当下读写操作的多次识别、判断切换操作发生的次数和IO访问特性的确定次数之比或切换操作连续执行次数等方式避免切换操作的频繁发生,抑制频繁切换对系统造成的性能影响。
请参阅图5,为本发明实施例提供的一种存储控制器的结构示意图,存储控制器包括总线接口21、用于连接第一存储阵列的第一存储阵列接口23和用于连接第二存储阵列的第二存储阵列接口24以及与所述总线接口21、所述第一存储阵列接口23、所述第二存储阵列接口24连接的控制器单元22,其中:总线接口21用于从系统总线上接收包括读操作请求和/或写操作请求的访问请求;所述控制器22用于:通过所述总线接口单元21从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式;并基于所述切换后的混合存储模式和所述访问请求,通过第一存储阵列接口23访问第一存储阵列或通过第二存储阵列接口24访问第二存储阵列。
具体的,所述混合存储模式包括缓存模式和热点数据盘模式,所述缓存模式为所述第一存储阵列存储热点数据,所述第二存储阵列存储全部数据,所述热点数据盘模式为所述第一存储阵列存储存储热点数据,所述第二存储阵列存储非热点数据;当所述IO访问特性为读操作为主时,其对应的混合存储模式为缓存模式;当所述IO访问特性为写操作为主时,其对应的混合存储模式为热点数据盘模式。
另外,所述第一存储阵列为SSD阵列,所述第二存储阵列为HDD阵列;或者,所述第一存储阵列和所述第二存储阵列为访问性能不同的SSD阵列。
本法实施例提供的存储控制器可以为串行高级技术附件SATA控制器、小型计算机系统接口SCSI(Small Computer System Interface)控制器、或串行连接的小型计算机系统接口SCSI(Serial AttachedSCSI)控制器。本法实施例提供的存储控制器为SATA控制器时,总线接口单元可以为遵循PCI(Peripheral Component Interconnect),或PCI-X,或PCI-E(PCI Express)标准的总线接口,存储阵列接口为SATA标准接口。其它形式的存储控制器也相应有具体的产品,在此不再赘述
综上所述,本发明实施例提供一种存储控制器,通过从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式,从而通过本发明实施例实现系统运行时根据当前应用场景执行混合存储模式(例如SSD做缓存的缓存模式和SSD做热点数据盘的热点数据盘模式)的动态在线切换,避免离线切换带来的复杂人工操作,进而提高混合存储性能。进一步的,通过自主设置IO访问特性的阈值、对系统当下读写操作的多次识别、判断切换操作发生的次数和IO访问特性的确定次数之比或切换操作连续执行次数等方式避免切换操作的频繁发生,抑制频繁切换对系统造成的性能影响。
请参阅图6,为本发明实施例提供的一种混合存储系统的结构示意图,该存储系统包括本发明实施例提供的存储控制器31、第一存储阵列32和第二存储阵列33,其中第一存储阵列32和第二存储阵列33通过所述存储控制器31与系统总线34相连。第一存储阵列32和第二存储阵列33对操作系统分别呈现为两个逻辑存储设备。
本发明实施例提供的存储控制器31用于通过所述总线接口单元21从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式;并基于所述切换后的混合存储模式和所述访问请求,通过第一存储阵列接口23访问第一存储阵列或通过第二存储阵列接口24访问第二存储阵列。例如SSD做缓存的混合存储模式更适用于以读操作为主的系统应用场景,因此当系统当前配置的混合存储模式不是该存储模式(例如是SSD做热点数据盘的混合存储模式)时,可以由存储控制器31支持该存储系统在线动态切换到SSD做缓存的混合存储模式。由于第一存储阵列32和第二存储阵列33对操作系统分别呈现为两个逻辑存储设备,所以操作系统可以无需下线(下电)就对其中任意一个存储阵列进行独立的格式化、重配置等操作。本领域普通技术人员可以通过修改设备管理器或设备驱动器等方式实现第一存储阵列和第二存储阵列的独立管理,在此不再赘述。
本发明实施例提供的混合存储系统各种的存储控制器31还可以为本发明前述实施例提供的任意存储控制器。
在一种实现方式下,第一存储阵列32可以为SSD阵列,第二存储阵列33可以为HDD阵列。相应的,该存储系统可以为用户提供两种混合存储模式:SSD做缓存的混合存储模式和SSD做热点数据盘的混合存储模式。
在另一种实现方式下,第一存储阵列32和第二存储阵列33可以为不同访问性能的SSD阵列。此时虽然存储模式不是目前流行的混合模式,但是不同访问性能的SSD同样存在速度与价格方面的差异,同样也会存在多种混合存储模式的选择;另外从新技术的角度来讲,现在SSD比HDD快,但是它也有缺点,例如寿命是有限的,随着技术的进步也许会出现新的存储介质比SSD更优秀,只要存在混合存储模式与系统IO访问性能之间的关系就可以应用本发明实施例提供的方法根据系统使用的应用场景选择合适的混合存储模式进行在线的切换。
进一步的,系统在执行存储模式的切换操作之前还可以再次进行IO访问特性数据的采集和IO访问特性的识别过程,若两次识别结果一致,再进行存储模式的切换。这样一是保证了IO访问特性识别结果的准确性,二是避免了频繁切换带来的系统性能的影响。
除此之外,系统在执行存储模式之前还可以判断第一统计时间段阈值内切换操作连续执行次数是否小于或等于一个特定的阈值(例如7次)时,若是再执行所述切换到所述IO访问特性对应的混合存储模式操作;或者,判断第二统计时间段阈值内切换操作的次数和IO访问特性的确定次数之比是否小于或等于一个特定的阈值(例如70%)时,若是再执行所述切换到所述IO访问特性对应的混合存储模式操作;或者,通过修改IO访问特性的阈值来抑制频繁切换,例如原先设置的读操作大于60%就判定系统为读操作为主,结果系统一段时间内读操作经常出现大于60%的情况,但总体还是以写操作为主,这样系统就会出现频繁的混合存储模式切换,对系统性能造成较大的影响,此时可以适当提高读操作所占的比例,例如提高到70%,从而减少切换操作的发生。
需要说明的是,以上几种抑制系统频繁切换的实现方式可以组合应用在本发明实施例中,也可以单独应用,也可以不使用,本发明实施例对此不做限定。
另外,值得一提的是,本发明实施例同样可以应用于如Intel的SRTC(Smart Response Technology Caching)混合存储方案之间的在线动态切换,即SSD做缓存的两种模式——加强模式(Enhanced mode)和最大化模式(Maximized mode)之间的在线动态切换。
综上所述,本发明实施例提供一种存储系统,该系统通过本发明实施例提供的存储控制器、第一存储阵列和第二存储阵列,其中第一存储阵列和第二存储阵列通过所述存储控制器与系统总线相连,第一存储阵列和第二存储阵列对操作系统分别呈现为两个逻辑存储设备,从而实现系统运行时根据当前应用场景执行存储模式的动态在线切换,适应性地选择合适的混合存储模式,提高系统的存储性能。进一步的,通过自主设置IO访问特性的阈值、对系统当下读写操作的多次识别、判断切换操作发生的次数和IO访问特性的确定次数之比或切换操作连续执行次数等方式避免切换操作的频繁发生,抑制频繁切换对系统造成的性能影响。
本领域普通技术人员可以理解实现前述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件(如处理器)来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如前述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (21)
1.一种混合存储模式的切换方法,其特征在于,所述方法包括:
从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据用于反映当前采集周期内的读写操作;
根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括:读操作为主或写操作为主;
当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式;
所述当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式,包括:
当所述IO访问特性为读操作为主时,其对应的混合存储模式为缓存模式,若系统使用的的混合存储模式是热点数据盘模式,将系统的混合存储模式配置为所述缓存模式;
当所述IO访问特性为写操作为主时,其对应的混合存储模式为热点数据盘模式,若系统当前使用的的混合存储模式是缓存模式,将系统的混合存储模式配置为所述热点数据盘模式。
2.根据权利要求1所述的方法,其特征在于,所述混合存储模式包括缓存模式、热点数据盘模式;
所述缓存模式为第一存储阵列存储热点数据,第二存储阵列存储全部数据;
所述热点数据盘模式为第一存储阵列存储热点数据,第二存储阵列存储非热点数据;
其中,所述第一存储阵列和所述第二存储阵列通过存储控制器与所述系统总线相连。
3.根据权利要求2所述的方法,其特征在于,所述第一存储阵列为固态硬盘SSD阵列,所述第二存储阵列为磁性硬盘HDD阵列;或者,所述第一存储阵列和所述第二存储阵列为访问性能不同的SSD阵列。
4.根据权利要求3所述的方法,其特征在于,当所述IO访问特性为读操作为主时,其对应的混合存储模式为缓存模式,若系统使用的的混合存储模式是热点数据盘模式,在所述将系统的混合存储模式配置为所述缓存模式之前,所述方法还包括:
停止对所述第一存储阵列的数据访问;
将所述第一存储阵列上的数据迁移到所述第二存储阵列上。
5.根据权利要求3所述的方法,其特征在于,当所述IO访问特性为写操作为主时,其对应的混合存储模式为热点数据盘模式,若系统当前使用的的混合存储模式是缓存模式,在所述将系统的混合存储模式配置为所述热点数据盘模式之前,所述方法还包括:
停止对所述第一存储阵列的数据访问;
将所述第一存储阵列上状态为脏的数据同步到所述第二存储阵列上。
6.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括读操作为主或写操作为主,包括:
根据所述IO访问特性数据计算出所述读操作和写操作的比值;
若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于1,所述第二阈值小于或等于1。
7.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括读操作为主或写操作为主,包括:
根据所述IO访问特性数据计算出所述读操作与读写总操作的比值;
若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
8.根据权利要求1至5任一所述的方法,其特征在于,所述根据所述IO访问特性数据确定IO访问特性,所述IO访问特性包括读操作为主或写操作为主,包括:
根据所述IO访问特性数据计算出所述写操作与读写总操作的比值;
若所述比值大于第一阈值,确定所述IO访问特性为写操作为主;若所述比值小于第二阈值,确定所述IO访问特性为读操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
9.根据权利要求1至3任一项所述的方法,其特征在于,在所述切换到所述IO访问特性对应的混合存储模式之前,所述方法还包括:
于下一个采集周期内采集IO访问特性数据;
根据所述采集的IO访问特性数据确定IO访问特性;
若多个采集周期确定的IO访问特性一致,执行所述切换到所述IO访问特性对应的混合存储模式的操作。
10.根据权利要求1至3任一项所述的方法,其特征在于,在所述切换到所述IO访问特性对应的混合存储模式之前,所述方法还包括:
当第一统计时间段阈值内所述切换操作的次数和所述IO访问特性的确定次数之比小于或等于第三阈值时,执行所述切换到所述IO访问特性对应的混合存储模式的操作。
11.根据权利要求1至3任一项所述的方法,其特征在于,在所述切换到所述IO访问特性对应的混合存储模式之前,所述方法还包括:
当第二统计时间段阈值内所述切换操作连续执行次数小于或等于第四阈值时,执行所述切换到所述IO访问特性对应的混合存储模式的操作。
12.根据权利要求1至5任一项所述的方法,其特征在于,所述IO访问特性数据包括:一个采集周期内读操作关联的数据的总大小和写操作关联的数据的总大小,或者,一个采集周期内读操作的执行次数和写操作的执行次数。
13.一种混合存储模式的切换装置,其特征在于,所述装置包括:
IO特性数据采样模块,用于从系统总线上、于当前采集周期内采集IO访问特性数据,所述IO访问特性数据是反映当前采集周期内的读写操作的数据;
IO访问特性识别模块,用于根据所述IO访问特性数据确定IO访问特性,所述IO访问特性为读操作为主或写操作为主;
切换控制模块,用于当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致时,切换到所述IO访问特性对应的混合存储模式;
所述混合存储模式包括:缓存模式和热点数据盘模式,所述缓存模式为第一存储阵列存储热点数据,第二存储阵列存储全部数据;所述热点数据盘模式为第一存储阵列存储热点数据,第二存储阵列存储非热点数据;
所述切换控制模块具体包括:
切换通知单元,用于比较所述IO访问特性对应的混合存储模式与系统使用的混合存储模式,当所述IO访问特性为读操作为主时,其对应的混合存储模式为缓存模式,若系统使用的的混合存储模式是热点数据盘模式,触发缓存模式配置单元将系统的混合存储模式配置为所述缓存模式;当所述IO访问特性为写操作为主时,其对应的混合存储模式为热点数据盘模式,若系统使用的的混合存储模式是缓存模式,触发热点模式配置单元将系统的混合存储模式配置为所述热点数据盘模式;
缓存模式配置单元,用于将系统的混合存储模式配置为所述缓存模式;
热点模式配置单元,用于将系统的混合存储模式配置为所述热点数据盘模式。
14.根据权利要求13所述的装置,其特征在于,所述切换控制模块还包括数据迁移单元,用于将所述第一存储阵列上的数据进行迁移、备份或同步;
所述切换通知单元还用于停止对所述第一存储阵列的数据访问,触发所述数据迁移单元进行数据迁移、备份或同步。
15.根据权利要求14所述的装置,其特征在于,所述第一存储阵列为固态硬盘SSD阵列,所述第二存储阵列为磁性硬盘HDD阵列;或者,所述第一存储阵列和所述第二存储阵列为访问性能不同的固态硬盘SSD阵列。
16.根据权利要求13至15任一项所述的装置,其特征在于,所述IO访问特性识别模块具体用于:根据所述IO访问特性数据计算出所述读操作和写操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于1,所述第二阈值小于或等于1。
17.根据权利要求13至15任一项所述的装置,其特征在于,所述IO访问特性识别模块具体用于:根据所述IO访问特性数据计算出所述读操作与读写总操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为读操作为主;若所述比值小于第二阈值,确定所述IO访问特性为写操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
18.根据权利要求13至15任一项所述的装置,其特征在于,所述IO访问特性识别模块具体用于:根据所述IO访问特性数据计算出所述写操作与读写总操作的比值;若所述比值大于第一阈值,确定所述IO访问特性为写操作为主;若所述比值小于第二阈值,确定所述IO访问特性为读操作为主;其中,所述第一阈值大于或等于50%,所述第二阈值小于或等于50%。
19.根据权利要求13所述的装置,其特征在于,
IO特性数据采样模块还用于从系统总线上于下一个采集周期内采集IO访问特性数据,所述IO访问特性数据是反映下一个采集周期内的读写操作的数据;
所述切换控制模块具体用于:当所述当前采集周期下所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致,且所述下一个采集周期下确定的IO访问特性与所述当前采集周期下确定的IO访问特性相同,切换到所述IO访问特性对应的混合存储模式。
20.根据权利要求13所述的装置,其特征在于,所述切换控制模块具体用于:当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致,且所述切换操作的次数和所述IO访问特性的确定次数之比小于或等于第三阈值时,切换到所述IO访问特性对应的混合存储模式。
21.根据权利要求13所述的装置,其特征在于,所述切换控制模块具体用于:当所述IO访问特性对应的混合存储模式与系统使用的混合存储模式不一致,且所述切换操作连续执行次数小于或等于第四阈值时,切换到所述IO访问特性对应的混合存储模式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110446387.XA CN102591593B (zh) | 2011-12-28 | 2011-12-28 | 一种混合存储模式的切换方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110446387.XA CN102591593B (zh) | 2011-12-28 | 2011-12-28 | 一种混合存储模式的切换方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102591593A CN102591593A (zh) | 2012-07-18 |
CN102591593B true CN102591593B (zh) | 2014-07-30 |
Family
ID=46480338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110446387.XA Expired - Fee Related CN102591593B (zh) | 2011-12-28 | 2011-12-28 | 一种混合存储模式的切换方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102591593B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218173B (zh) * | 2013-03-27 | 2016-03-09 | 华为技术有限公司 | 存储控制方法及装置 |
US9946495B2 (en) * | 2013-04-25 | 2018-04-17 | Microsoft Technology Licensing, Llc | Dirty data management for hybrid drives |
CN104516894B (zh) | 2013-09-27 | 2018-08-17 | 国际商业机器公司 | 用于管理时间序列数据库的方法和装置 |
CN103744613B (zh) * | 2013-12-17 | 2017-04-19 | 记忆科技(深圳)有限公司 | 降低i/o写延时的系统与方法 |
CN103713973B (zh) * | 2014-01-08 | 2017-11-17 | 浪潮(北京)电子信息产业有限公司 | 一种基于hdd和ssd的混合存储备份方法及系统 |
TWI507975B (zh) * | 2014-02-27 | 2015-11-11 | Nat Univ Chung Cheng | Storage device with multiple threshold and its method |
CN104123264A (zh) * | 2014-08-01 | 2014-10-29 | 浪潮(北京)电子信息产业有限公司 | 一种基于异构融合架构的缓存管理方法及装置 |
CN104460941B (zh) * | 2014-12-03 | 2017-12-05 | 上海新储集成电路有限公司 | 一种降低主存存储器满负荷运行功耗的方法 |
CN104834482A (zh) * | 2015-04-30 | 2015-08-12 | 上海新储集成电路有限公司 | 一种混合缓存器 |
CN104931752A (zh) * | 2015-05-29 | 2015-09-23 | 南车株洲电力机车研究所有限公司 | 一种变流器波形监测装置和变流器控制系统 |
CN105094985A (zh) * | 2015-07-15 | 2015-11-25 | 上海新储集成电路有限公司 | 一种共享内存池的低功耗数据中心及其工作方法 |
CN107220248B (zh) | 2016-03-21 | 2020-11-24 | 伊姆西Ip控股有限责任公司 | 一种用于存储数据的方法和装置 |
CN106775453B (zh) * | 2016-11-22 | 2019-07-05 | 华中科技大学 | 一种混合存储阵列的构建方法 |
CN107092442B (zh) * | 2017-04-24 | 2020-08-18 | 杭州宏杉科技股份有限公司 | 存储系统资源分配方法及装置 |
CN109144403B (zh) * | 2017-06-19 | 2021-10-01 | 阿里巴巴集团控股有限公司 | 一种用于云盘模式切换的方法与设备 |
CN107436737A (zh) * | 2017-08-14 | 2017-12-05 | 郑州云海信息技术有限公司 | 一种固态硬盘中处理suspend操作优化的方法和系统 |
CN107589918A (zh) * | 2017-10-12 | 2018-01-16 | 苏州韦科韬信息技术有限公司 | 利用混合存储系统提的方法高存储性价比 |
CN107707665A (zh) * | 2017-10-19 | 2018-02-16 | 郑州云海信息技术有限公司 | 一种网络存储方法、装置、系统及计算机可读存储介质 |
KR102394695B1 (ko) * | 2017-11-08 | 2022-05-10 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작방법 |
CN108268802A (zh) * | 2017-12-20 | 2018-07-10 | 深圳市杉岩数据技术有限公司 | 一种加密混合存储的方法和系统 |
CN109062499A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 写数据方法、装置、计算机装置及存储介质 |
CN109597579A (zh) * | 2018-12-03 | 2019-04-09 | 郑州云海信息技术有限公司 | 对板卡上扩展芯片及后端磁盘进行策略配置的方法 |
CN110413224A (zh) * | 2019-06-26 | 2019-11-05 | 深圳佰维存储科技股份有限公司 | 数据存储方法、装置及存储器 |
CN112068776A (zh) * | 2020-09-02 | 2020-12-11 | 深圳市硅格半导体有限公司 | 存储器管理算法的自适应调整方法、系统、设备及介质 |
CN112379829B (zh) * | 2020-10-28 | 2024-02-09 | 深圳市硅格半导体有限公司 | 存储器执行策略的自适应切换方法、系统、设备及介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185910A (zh) * | 2011-04-22 | 2011-09-14 | 湖南大学 | 基于ssd和hdd混合存储的无盘网络服务器数据分布方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179219A1 (en) * | 2004-04-05 | 2011-07-21 | Super Talent Electronics, Inc. | Hybrid storage device |
-
2011
- 2011-12-28 CN CN201110446387.XA patent/CN102591593B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185910A (zh) * | 2011-04-22 | 2011-09-14 | 湖南大学 | 基于ssd和hdd混合存储的无盘网络服务器数据分布方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102591593A (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591593B (zh) | 一种混合存储模式的切换方法、装置及系统 | |
CN101923499B (zh) | 执行防电源故障高速缓存而无需原子元数据的技术 | |
CN103377009B (zh) | 管理存储器模块中的操作状态数据 | |
US20190251023A1 (en) | Host controlled hybrid storage device | |
CN102567257B (zh) | 一种控制多通道固态盘数据读写的方法 | |
US9053019B2 (en) | Non-volatile memory device, a data processing device using the same, and a swapping method used by the data processing and non-volatile memory devices | |
CN103019971A (zh) | 快速响应trim命令的方法、SSD控制器及系统 | |
CN103530237B (zh) | 一种固态盘阵列的垃圾回收方法 | |
CN101571832B (zh) | 数据写入方法及使用该方法的快闪存储系统与其控制器 | |
US9798662B2 (en) | System and method for performing system memory save in Tiered/Cached storage | |
CN102576293A (zh) | 固态存储设备和分层存储系统中的数据管理 | |
CN103810113A (zh) | 一种非易失存储器和动态随机存取存储器的融合内存系统 | |
CN104461936A (zh) | 缓存数据的刷盘方法及装置 | |
CN102495756A (zh) | 操作系统在不同的中央处理器之间切换的方法及系统 | |
CN101446857B (zh) | 一种硬盘节能的方法及装置 | |
US8296516B2 (en) | Storage controller for mirroring data written to cache memory area | |
KR20170042593A (ko) | 파일 시스템에서의 플러싱 기법 | |
CN103576835A (zh) | 一种休眠磁盘的数据操作方法和装置 | |
CN109164981A (zh) | 磁盘管理方法、装置、存储介质和设备 | |
CN103559145A (zh) | 一种数据读取、写入方法和电子设备 | |
CN101324899B (zh) | 一种快速写nand型flash的方法 | |
CN102521161B (zh) | 一种数据的缓存方法、装置和服务器 | |
CN105684083A (zh) | 数据存储设备的电力管理 | |
CN100383721C (zh) | 一种异构双系统总线的对象存储控制器 | |
CN101807212B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140730 Termination date: 20181228 |