CN103049396B - 数据的刷写方法及装置 - Google Patents
数据的刷写方法及装置 Download PDFInfo
- Publication number
- CN103049396B CN103049396B CN201210529597.XA CN201210529597A CN103049396B CN 103049396 B CN103049396 B CN 103049396B CN 201210529597 A CN201210529597 A CN 201210529597A CN 103049396 B CN103049396 B CN 103049396B
- Authority
- CN
- China
- Prior art keywords
- chinese ink
- brush dipped
- thread
- write
- chained list
- 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
- 239000000976 ink Substances 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000006870 function Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 2
- 206010008190 Cerebrovascular accident Diseases 0.000 description 1
- 208000006011 Stroke Diseases 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Pens And Brushes (AREA)
Abstract
本发明提供了一种数据的刷写方法及装置,其中,该数据的刷写方法包括:根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,其中,所述脏页为保存有数据的缓存页。上述数据的刷写方法及装置,可以更快地将缓存中的数据写入到磁盘上,提高了缓存的使用率,从而提高了读写效率。
Description
技术领域
本发明涉及数据存储技术,尤其涉及数据的刷写方法及装置。
背景技术
随着计算机技术和存储技术的发展,用户对存储系统的可用性的要求越来越高。这里所谓的可用性包括存储系统的各个层面,不仅仅是存储本身,还包括存储数据的读写方法等。目前,存储数据的读写速度瓶颈主要在于对于磁盘本身进行读写时,磁头用于查找磁道的时间耗时较大。因此,存储系统中一般都增加了缓存,以提高读写速度。
缓存的作用是在存储控制器的读写请求和磁盘读写之间增加了一层虚拟缓存,用于暂时保存数据。通过缓存提高读写速度是通过以下方式进行的:对于读请求,存储控制器先在虚拟缓存中查找是否存在请求的数据,如果存在,直接将数据返回,如果不存在,再通过磁盘读写获取数据。这样,对于数据在缓存中存在的情况,就省略了进行磁盘读写的动作,跳过了最为耗时的操作,从而提高了读效率。对于写请求,存储控制器先将要写到磁盘的数据写入缓存,然后返回写操作的结果。而将数据从缓存写入磁盘的操作,即刷写,则通过刷写方法在后台进行。由于在存储控制器的读请求流程中,没有读写磁盘的操作,所以写效率就得到了相应的提高。由于缓存大小是有限的,为了提高缓存的使用率,需要尽快将需要写入磁盘的数据写到磁盘上。
发明内容
本发明提供了一种数据的刷写方法及装置,以解决在缓存大小是有限的情况下,如何尽快地将需要写入磁盘的数据写到磁盘上的问题。
本发明提供了一种数据的刷写方法,该方法包括:
根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,其中,所述脏页为保存有数据的缓存页。
优选地,所述根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写之前,该方法还包括:
创建与各逻辑单元(lun)一一对应的脏页链表,其中,所述脏页链表为双向链表,所述脏页的变脏顺序与所述脏页在对应的脏页链表中的位置相对应。
优选地,所述根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,包括:
当写进程发现所述脏页的比例超过预定阈值时,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;
当读写处理进程需要申请空闲缓存页时,若空闲缓存页不够,则需要查找和释放部分缓存页,如果可释放的缓存页不足,则触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;或者
当定时器定时检查到各lun的变脏时间超过指定阈值时,则触发异步刷写线程框架中的线程定时完成脏页链表中相应脏页的刷写。
优选地,所述根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写之前,该方法还包括:
创建指定数目的空闲线程,并挂接到全局刷写线程链表中。
优选地,所述触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,包括:
通过函数从所述全局刷写线程链表中获得一个空闲线程的信息,设置调用的刷写函数及相关参数,并唤醒与该信息对应的线程,以便所述线程调用所述刷写函数刷写数据。
优选地,该方法还包括:检查过去的预定时间内所述全局刷写线程链表是否为空,若为空且当前线程数小于所述指定数目,则创建一个新线程并加入到所述全局刷写线程链表中;检查所述全局刷写线程链表中表头的线程在过去的预定时间内是否空闲,若空闲,则减少所述全局刷写线程链表中线程的数目。
本发明还提供了一种数据的刷写装置,该装置包括:
刷写模块,用于根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,其中,所述脏页为保存有数据的缓存页。
优选地,该装置还包括:创建模块,用于创建与各逻辑单元(lun)一一对应的脏页链表,和/或创建指定数目的空闲线程,并挂接到全局刷写线程链表中;其中,所述脏页链表为双向链表,所述脏页的变脏顺序与所述脏页在对应的脏页链表中的位置相对应。
优选地,所述刷写模块,具体用于:
当写进程发现所述脏页的比例超过预定阈值时,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;
当读写处理进程需要申请空闲缓存页时,若空闲缓存页不够,则需要查找和释放部分缓存页,如果可释放的缓存页不足,则触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;或者
当定时器定时检查到各lun的变脏时间超过指定阈值时,则触发异步刷写线程框架中的线程定时完成脏页链表中相应脏页的刷写。
优选地,所述刷写模块,具体用于:通过函数从所述全局刷写线程链表中获得一个空闲线程的信息,设置调用的刷写函数及相关参数,并唤醒与该信息对应的线程,以便所述线程调用所述刷写函数刷写数据。
优选地,该装置还包括:处理模块,用于检查过去的预定时间内所述全局刷写线程链表是否为空,若为空且当前线程数小于所述指定数目,则创建一个新线程并加入到所述全局刷写线程链表中;以及,检查所述全局刷写线程链表中表头的线程在过去的预定时间内是否空闲,若空闲,则减少所述全局刷写线程链表中线程的数目。
上述数据的刷写方法及装置,可以更快地将缓存中的数据写入到磁盘上,提高了缓存的使用率,从而提高了读写效率。
附图说明
图1是本发明数据的刷写方法实施例的过程示意图;
图2是本发明中脏页链表的示意图;
图3是本发明异步刷写线程框架中线程工作的流程图;
图4是本发明数据的刷写装置实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
如图1所示,是本发明数据的刷写方法实施例的过程示意图,该方法包括:
步骤101、创建与各逻辑单元(lun)一一对应的脏页链表;
其中,所述脏页链表为双向链表,所述脏页的变脏顺序与所述脏页在对应的脏页链表中的位置相对应;
该步骤为可选步骤;
步骤102、根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,其中,所述脏页为保存有数据的缓存页。
其中,异步刷写线程框架中的线程为刷写线程,为描述方便,本实施例将刷写线程简称为线程。
上述方法共涉及三方面内容:缓存的组织方式,刷写触发者和异步刷写线程框架:
1)缓存的组织方式
本发明实施例采用的基本缓存大小是系统页大小,一般为4KB,每一块基本缓存称为缓存页。每一个缓存页可以保存一个系统页大小的数据。
逻辑单元(lun)是一个提供小型计算机系统接口(scsi)服务的单元,在块设备类型的scsi服务中通常由一个块设备如磁盘或者逻辑卷映射为一个lun。在本实施例中,保存有有效数据的页通过哈希表进行组织,查找页时可以根据给每个缓存页唯一指定的lun号和页号找到相应的缓存页。当在哈希表中找不到缓存页时,就申请一个新的缓存页,并将其索引到哈希表。由于缓存的大小是有限的,当申请不到缓存页时,系统就要适当地释放一部分可以释放的缓存页,以保证可以及时申请到缓存页。当存储控制器的写请求将数据暂时保存到缓存页中后,在这些缓存页中的数据没有被刷写到磁盘之前,这些缓存页都是不可以被释放的。本发明实施例通过保证缓存页数据更快地写入磁盘上,从而保证缓存页可以被及时释放,进而保证读写速度。
存储控制器写请求会将即将写入磁盘的数据写入到缓存页中,将保存这些数据的缓存页称为脏页。在本发明实施例中,每个lun有一个脏页链表,如图2所示,链接这个lun中的所有脏页。这是一个双向链表,当一个缓存页变脏时,如果该页原本不是脏页,那么该页被直接插入到链表尾。如果该页原本就是脏页,那么就把该页从链表中本来的位置取出,然后插入到链表尾。当一个页频繁变脏时,它会被不断取出插入链表尾部,因此,最早变脏的页会逐渐被推到链表头。这就是该链表的特性。当对lun的脏页进行刷写时,直接从该lun对应的脏页链表中取出脏页刷写到存储设备。
使用这种数据结构的优点是:
1、刷写脏页时不需要扫描所有缓存页进行查找,省略了查找过程;
2、脏页链表中,脏页的变脏顺序与脏页在链表中的位置相对应,最近变脏的页放在链表尾,最久变脏的页最先被刷写,避免了活动页的频繁刷写;
3、在顺序写的情况下,相邻页在脏页链表中的位置也是相邻的,方便将多个相邻页合成为一个输入输出(IO)请求写到磁盘上。
2)刷写触发者
刷写触发者,是指触发异步刷写线程框架的刷写触发条件,是该框架的具体使用环境,脏页刷写触发者通过调用指定接口获取一个空闲的刷写线程并传递具体刷写函数指针来触发异步脏页刷写。
在本存储系统中,脏页刷写的触发者有三个:
1、写进程:当写进程发现脏页比例超过预定阈值时激活一个刷写线程进行刷写。
2、IO缓存申请者:读写处理进程在发现读写的页不存在时需要申请空闲页,若空闲页不够,则需要查找和释放部分缓存页,如果可释放的缓存页不足,将触发脏页刷写。
3、定时器:模块定义一个定时器定时检查各个lun变脏时间超过指定阀值,超过则触发脏页刷写。刷写方式为定时刷写。
为了提高刷写效率,每次刷写时,都会检查脏页链表中的相邻页在物理位置上是否也是相邻的,检查的依据是两个脏页的页索引是否相邻,如果相邻,则会把尽可能多的相邻页合并为一个IO请求,写入到磁盘上。
3)异步刷写线程框架
异步刷写线程框架是本发明的核心,用于根据系统实际的负载情况,不断调整刷写线程的数量。在IO负载大时,及时增加刷写线程,在IO负载小时,及时释放刷写线程。
使用了异步刷写线程框架,可以支持多线程刷写以提高刷写效率。下面详细介绍异步刷写线程框架:
1、初始时创建指定数目的空闲刷写线程,并挂接到全局刷写线程链表中。
2、刷写触发者通过函数从全局刷写线程链表取得一个空闲的刷写线程信息,设置调用的刷写函数及其参数并唤醒该线程。
3、每个刷写线程执行流程如下:
(1)将本线程加入全局刷写链表并挂起;
(2)线程被唤醒,调用刷写函数刷写数据。线程被唤醒的同时,刷写触发者会将该线程从全局刷写线程中删除;
(3)检查过去的预定时间如1秒钟全局刷写链表是否为空,若是并且当前刷写线程数小于指定的最大刷写线程数,表示系统刷写忙,需要更多的线程执行动作,则创建一个刷写线程并加入到全局刷写线程链表中;
(4)检查全局刷写线程链表最早的刷写线程在过去的预定时间如1秒钟是否空闲,若是,则表示系统当前不需要这么多数量的线程,本线程退出,否则返回(1)。
如图3所示,该框架可以根据系统的IO负载情况,适时调整线程个数,具体包括如下步骤:
步骤301、创建线程,增加线程个数的计数;
步骤302、判断线程停止标志是否置位,若置位,执行步骤303,否则执行步骤311;
步骤303、线程睡眠,等待唤醒;
步骤304、判断线程是否在刷写线程列表中,若是,转向步骤302,否则执行步骤305;
步骤305、执行刷写操作;
步骤306、检查过去的1秒钟全局刷写链表是否为空,若为空,执行步骤307,否则,执行步骤309;
步骤307、判断当前刷写线程总数是否小于最大刷写线程总数,若是,执行步骤308;
步骤308、创建一个刷写线程并加入到全局刷写线程链表中;
步骤309、检查表头的刷写线程在过去的1秒钟是否空闲,若是,执行步骤310,否则,转向步骤302;
步骤310、判断当前刷写线程总数是否小于等于最小刷写线程总数,若是,转向步骤302,否则,执行步骤311;
步骤311、减少刷写线程计数。
上述数据的刷写方法,可以更快地将缓存中的数据写入到磁盘上,提高了缓存的使用率,从而提高了读写效率。
如图4所示,是本发明数据的刷写装置实施例的结构示意图,该装置包括:刷写模块41,用于根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,其中,所述脏页为保存有数据的缓存页。
另外,该装置还包括:创建模块42,用于创建与各逻辑单元(lun)一一对应的脏页链表,和/或创建指定数目的空闲线程,并挂接到全局刷写线程链表中;其中,所述脏页链表为双向链表,所述脏页的变脏顺序与所述脏页在对应的脏页链表中的位置相对应。
其中,所述刷写模块,具体用于:当写进程发现所述脏页的比例超过预定阈值时,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;当读写处理进程需要申请空闲缓存页时,若空闲缓存页不够,则需要查找和释放部分缓存页,如果可释放的缓存页不足,则触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;或者,当定时器定时检查到各lun的变脏时间超过指定阈值时,则触发异步刷写线程框架中的线程定时完成脏页链表中相应脏页的刷写。
另外,所述刷写模块,具体用于:通过函数从所述全局刷写线程链表中获得一个空闲线程的信息,设置调用的刷写函数及相关参数,并唤醒与该信息对应的线程,以便所述线程调用所述刷写函数刷写数据。
进一步地,该装置还包括:处理模块43,用于检查过去的预定时间内所述全局刷写线程链表是否为空,若为空且当前线程数小于所述指定数目,则创建一个新线程并加入到所述全局刷写线程链表中;以及,检查所述全局刷写线程链表中最早的线程在过去的预定时间内是否空闲,若空闲,则减少所述全局刷写线程链表中线程的数目。
上述数据的刷写装置,可以更快地将缓存中的数据写入到磁盘上,提高了缓存的使用率,从而提高了读写效率。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,上述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上实施例仅用以说明本发明的技术方案而非限制,仅仅参照较佳实施例对本发明进行了详细说明。本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,均应涵盖在本发明的权利要求范围当中。
Claims (9)
1.一种数据的刷写方法,其特征在于,该方法包括:
根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,其中,所述脏页为保存有数据的缓存页;
所述根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,包括:
当写进程发现所述脏页的比例超过预定阈值时,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;
当读写处理进程需要申请空闲缓存页时,若空闲缓存页不够,则需要查找和释放部分缓存页,如果可释放的缓存页不足,则触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;或者
当定时器定时检查到各逻辑单元lun的变脏时间超过指定阈值时,则触发异步刷写线程框架中的线程定时完成脏页链表中相应脏页的刷写。
2.根据权利要求1所述的方法,其特征在于,所述根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写之前,该方法还包括:
创建与各逻辑单元lun一一对应的脏页链表,其中,所述脏页链表为双向链表,所述脏页的变脏顺序与所述脏页在对应的脏页链表中的位置相对应。
3.根据权利要求1-2任一权利要求所述的方法,其特征在于,所述根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写之前,该方法还包括:
创建指定数目的空闲线程,并挂接到全局刷写线程链表中。
4.根据权利要求3所述的方法,其特征在于,所述触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,包括:
通过函数从所述全局刷写线程链表中获得一个空闲线程的信息,设置调用的刷写函数及相关参数,并唤醒与该信息对应的线程,以便所述线程调用所述刷写函数刷写数据。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
检查过去的预定时间内所述全局刷写线程链表是否为空,若为空且当前线程数小于所述指定数目,则创建一个新线程并加入到所述全局刷写线程链表中;
检查所述全局刷写线程链表中表头的线程在过去的预定时间内是否空闲,若空闲,则减少所述全局刷写线程链表中线程的数目。
6.一种数据的刷写装置,其特征在于,该装置包括:
刷写模块,用于根据刷写触发条件,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写,其中,所述脏页为保存有数据的缓存页;
所述刷写模块,具体用于:
当写进程发现所述脏页的比例超过预定阈值时,触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;
当读写处理进程需要申请空闲缓存页时,若空闲缓存页不够,则需要查找和释放部分缓存页,如果可释放的缓存页不足,则触发异步刷写线程框架中的线程完成脏页链表中相应脏页的刷写;或者
当定时器定时检查到各逻辑单元lun的变脏时间超过指定阈值时,则触发异步刷写线程框架中的线程定时完成脏页链表中相应脏页的刷写。
7.根据权利要求6所述的装置,其特征在于,该装置还包括:
创建模块,用于创建与各逻辑单元lun一一对应的脏页链表,和/或创建指定数目的空闲线程,并挂接到全局刷写线程链表中;其中,所述脏页链表为双向链表,所述脏页的变脏顺序与所述脏页在对应的脏页链表中的位置相对应。
8.根据权利要求7权利要求所述的装置,其特征在于:
所述刷写模块,具体用于:通过函数从所述全局刷写线程链表中获得一个空闲线程的信息,设置调用的刷写函数及相关参数,并唤醒与该信息对应的线程,以便所述线程调用所述刷写函数刷写数据。
9.根据权利要求8所述的装置,其特征在于,该装置还包括:
处理模块,用于检查过去的预定时间内所述全局刷写线程链表是否为空,若为空且当前线程数小于所述指定数目,则创建一个新线程并加入到所述全局刷写线程链表中;以及,检查所述全局刷写线程链表中表头的线程在过去的预定时间内是否空闲,若空闲,则减少所述全局刷写线程链表中线程的数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210529597.XA CN103049396B (zh) | 2012-12-10 | 2012-12-10 | 数据的刷写方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210529597.XA CN103049396B (zh) | 2012-12-10 | 2012-12-10 | 数据的刷写方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049396A CN103049396A (zh) | 2013-04-17 |
CN103049396B true CN103049396B (zh) | 2015-10-28 |
Family
ID=48062043
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210529597.XA Active CN103049396B (zh) | 2012-12-10 | 2012-12-10 | 数据的刷写方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049396B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105068941A (zh) * | 2015-07-31 | 2015-11-18 | 浪潮电子信息产业股份有限公司 | 一种缓存页面替换方法及装置 |
CN105740170B (zh) * | 2016-01-22 | 2020-12-04 | 浪潮(北京)电子信息产业有限公司 | 一种缓存脏页刷写方法及装置 |
CN109324752B (zh) * | 2017-07-31 | 2023-11-03 | 伊姆西Ip控股有限责任公司 | 用于控制脏页生成的系统、介质和方法 |
CN107590287B (zh) * | 2017-09-26 | 2021-03-02 | 苏州浪潮智能科技有限公司 | 一种文件系统页缓存回写方法、系统、装置及存储介质 |
CN107943422A (zh) * | 2017-12-07 | 2018-04-20 | 郑州云海信息技术有限公司 | 一种高速存储介质数据管理方法、系统及装置 |
CN114610654A (zh) * | 2018-05-21 | 2022-06-10 | 北京忆芯科技有限公司 | 一种固态存储设备以及向其写入数据的方法 |
CN109614344A (zh) * | 2018-12-12 | 2019-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种缓存空间回收方法、装置、设备以及存储系统 |
CN112506941B (zh) * | 2021-02-03 | 2021-05-11 | 北京金山云网络技术有限公司 | 核查点的处理方法和装置、电子设备和存储介质 |
CN113672523A (zh) * | 2021-07-09 | 2021-11-19 | 济南浪潮数据技术有限公司 | 一种缓存池数据下刷方法、系统、电子设备及存储介质 |
CN116880774B (zh) * | 2023-09-06 | 2023-11-28 | 麒麟软件有限公司 | 一种Linux系统下的脏页回写方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1280063A2 (en) * | 2001-07-27 | 2003-01-29 | Fujitsu Limited | Cache control methods and apparatus for hard disk drives |
CN1560746A (zh) * | 2004-02-27 | 2005-01-05 | 中国人民解放军国防科学技术大学 | 基于操作系统反向页表的页迁移和复制方法 |
CN102654863A (zh) * | 2011-03-02 | 2012-09-05 | 华北计算机系统工程研究所 | 一种实时数据库历史数据组织管理方式 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100208801B1 (ko) * | 1996-09-16 | 1999-07-15 | 윤종용 | 데이타 입/출력 성능을 향상시키기 위한 기억장치 시스템 및 그에 따른 데이타 복구정보 캐시구현방법 |
-
2012
- 2012-12-10 CN CN201210529597.XA patent/CN103049396B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1280063A2 (en) * | 2001-07-27 | 2003-01-29 | Fujitsu Limited | Cache control methods and apparatus for hard disk drives |
CN1560746A (zh) * | 2004-02-27 | 2005-01-05 | 中国人民解放军国防科学技术大学 | 基于操作系统反向页表的页迁移和复制方法 |
CN102654863A (zh) * | 2011-03-02 | 2012-09-05 | 华北计算机系统工程研究所 | 一种实时数据库历史数据组织管理方式 |
Also Published As
Publication number | Publication date |
---|---|
CN103049396A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049396B (zh) | 数据的刷写方法及装置 | |
TWI704496B (zh) | 電子機器、電腦系統及其等之控制方法 | |
CN103049397B (zh) | 一种基于相变存储器的固态硬盘内部缓存管理方法及系统 | |
TWI398770B (zh) | 用於快閃記憶體的資料存取方法、儲存系統與控制器 | |
TWI405209B (zh) | 資料管理方法及使用此方法的快閃儲存系統與控制器 | |
KR102517685B1 (ko) | 메모리 블록 복구 방법 및 디바이스 | |
CN103345368B (zh) | 一种在缓冲存储器中缓存数据的方法 | |
US20230185480A1 (en) | Ssd-based log data storage method and apparatus, device and medium | |
WO2024051041A1 (zh) | 一种数据存取方法、装置、设备和非易失性可读存储介质 | |
CN109388341A (zh) | 一种基于Device Mapper的系统存储优化方法 | |
US20110191529A1 (en) | Semiconductor storage device and method of controlling semiconductor storage device | |
CN116755625A (zh) | 一种数据处理方法、装置、设备及可读存储介质 | |
CN110275678B (zh) | 一种基于stt-mram的固态存储器件随机访问性能提升方法 | |
US20210263668A1 (en) | Information processing device and computer-readable recording medium recording storage control program | |
CN102609224B (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
CN103544097A (zh) | 嵌入式系统的日志存储方法、系统及日志读取方法和系统 | |
CN105589912B (zh) | 一种利用mram处理频写文件的方法及存储结构 | |
KR101135313B1 (ko) | 요청 동작을 스케줄링하는 낸드 플래시 메모리 장치 및 방법 | |
CN116149554B (zh) | 一种基于risc-v及其扩展指令的数据存储处理系统及其方法 | |
CN105630406B (zh) | 利用mram作为编辑缓存区的存储系统及编辑缓存方法 | |
CN108958657B (zh) | 一种数据存储方法、存储设备及存储系统 | |
CN105630697B (zh) | 一种利用mram存储小文件的存储装置 | |
CN103176753A (zh) | 存储设备及其数据管理方法 | |
CN116561091A (zh) | 一种日志存储方法、装置、设备及可读存储介质 | |
CN102262511B (zh) | 用于raid的缓存管理系统及方法 |
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 |