CN103049395A - 缓存存储设备数据的方法及其系统 - Google Patents
缓存存储设备数据的方法及其系统 Download PDFInfo
- Publication number
- CN103049395A CN103049395A CN2012105276697A CN201210527669A CN103049395A CN 103049395 A CN103049395 A CN 103049395A CN 2012105276697 A CN2012105276697 A CN 2012105276697A CN 201210527669 A CN201210527669 A CN 201210527669A CN 103049395 A CN103049395 A CN 103049395A
- Authority
- CN
- China
- Prior art keywords
- data
- buffer memory
- instruction
- lba
- data corresponding
- 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
Links
- 238000003860 storage Methods 0.000 title claims abstract description 40
- 238000000034 method Methods 0.000 title claims abstract description 32
- 230000015654 memory Effects 0.000 claims description 180
- 230000006870 function Effects 0.000 claims description 28
- 230000001143 conditioned effect Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 description 8
- 230000009977 dual effect Effects 0.000 description 4
- 241001269238 Data Species 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000002950 deficient Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 240000004859 Gamochaeta purpurea Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010205 computational analysis Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002040 relaxant effect Effects 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明适用于存储技术领域,提供了一种缓存存储设备数据的方法及其系统,所述方法包括如下步骤:设置需要缓存的数据的逻辑块寻址范围;在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存。借此,本发明提升了存储设备的IO性能,增强存储设备处理IO数据的能力。
Description
技术领域
本发明涉及存储技术领域,尤其涉及一种缓存存储设备数据的方法及其系统。
背景技术
计算机对人类的生产活动和社会活动产生了极其重要的影响,并以强大的生命力飞速发展。它的应用领域从最初的军事科研应用扩展到目前社会的各个领域,已形成了规模巨大的计算机产业,带动了全球范围的技术进步,由此引发了深刻的社会变革。计算机已遍及学校、企事业单位,进入寻常百姓家,成为信息社会中必不可少的工具。它是人类进入信息时代的重要标志之一。计算机的主要硬件,硬盘,内存和处理器之间的速度是不一样的,其中处理器的速度是非常快的,内存次之,而硬盘的速度相对于处理器来说是很慢的。一件任务的处理要通过处理器给出的指令,把相关数据从硬盘里调出来,到内存,在内存和处理器之间还会有许多数据的传输,内存本身不能处理数据,要通过处理器来处理,当他们一起工作的时候,由于处理器和内存工作得快,它们常在把数据处理完了,则需要等硬盘,这样就大大降低了系统的整体性能,不能发挥所有硬件的性能。为了解决这个问题,一个优秀的操作系统必然要有“缓存”作为这些硬件之间的一个中间站,以缓和这种矛盾,从而一定程度上提高系统的性能,“缓存”处理的越好,系统的性能发挥的越好。但是现有技术中传统的缓存机制并不能高效地运作。
综上可知,现有的缓存存储设备数据的技术在实际使用上,显然存在不便与缺陷,所以有必要加以改进。
发明内容
针对上述的缺陷,本发明的目的在于提供一种缓存存储设备数据的方法及其系统,以提升存储设备的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指令对应的数据在所述需要缓存的数据逻辑块寻址范围内时,缓存所述IO指令对应的数据。
根据所述的系统,所述需要缓存的数据在所述缓存模块中具有最高优先级别。
本发明通过设置需要缓存的数据的逻辑块寻址范围;在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存。因此,本发明通过分析存储设备IO特征,识别热点数据地址范围/规则,然后将该热点数据地址范围/规则的相关参数及信息配置到缓存中,从而将热点数据居留在缓存中,从而提升存储设备的IO性能,增强存储设备处理IO数据的能力。提升了带有缓存的储存设备系统的缓存效率。
附图说明
图1是本发明的第一实施例提供的带有缓存的储存设备系统结构图;
图2是本发明第二~四实施例提供的带有缓存的储存设备系统结构图;
图3是本发明一个实施例提供的带有缓存的储存设备系统架构图;
图4是本发明的第五实施例提供的缓存存储设备数据的方法流程图;
图5是本发明一个实施例提供的缓存读写IO处理方法流程图;
图6是本发明一个实施例提供的Dirty数据写盘处理方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参见图1,在本发明的第一实施例中提供了一种带有缓存的储存设备系统100,所述系统100包括:
设置模块10,用于设置需要缓存的数据的逻辑块寻址范围;
缓存模块20,用于在存储设备接收到的IO(Input/Output,输入/输出)指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存;
数据存储模块30,用于在预设条件到达时,存储已缓存的所述IO指令对应的数据。
在该实施例中,用户可以预先设置缓存的数据的逻辑块寻址范围;这些需要缓存的数据通常是应用相关的热点数据,由于这些热点数据产生的量及频度比较高,因此设置一定范围内的需要缓存的数据的逻辑块寻址地址,可以在这些地址范围的数据产生时,缓存模块20对这些数据进行缓存,然后在预设条件达到时将缓存模块20已缓存的所述IO指令对应的数据存储于数据存储模块30中,提高计算机系统处理数据的速率。
在本发明的第二实施例中,所述预设条件包括:将已缓存的所述IO指令对应的数据存储到所述数据存储模块的定时时间;和/或
已缓存的所述IO指令对应的数据在缓存模块20中存储的时间期限;和/或已缓存的所述IO指令对应的数据在缓存模块20中达到的存储百分比值。
在该实施例中,将已缓存的所述IO指令对应的数据存储到所述存储设备后,当将已缓存的所述IO指令对应的数据存储到所述存储设备的定时时间达到时,例如预设5分钟将这些缓存数据存储到存储设备一次,以防止断电导致数据的丢失。也可以设置所述IO指令对应的数据在缓存模块20中存储的时间期限,如在缓存模块20中已经存储了1小时,则将这些缓存数据存储到存储设备数据存储模块30中。还可以是当这些缓存数据已经在缓存模块20中达到缓存模块20存储容量的50%,则将这些缓存数据存储到数据存储模块30,以保证缓存模块20的正常使用以及缓存数据的有效性等。
参见图2,在本发明的第三实施例中,设置模块10包括:
分析及获取子模块11,用于分析应用的特征,将所述应用的热点数据设置为所述需要缓存的数据,并获取所述需要缓存的数据逻辑块寻址范围;
配置子模块12,用于将所述需要缓存的数据的逻辑块寻址范围的信息记录到配置文件当中,并将所述配置文件通过缓存模块20接口配置到缓存模块20当中;或者
分析及配置子模块13,用于分析应用的特征,根据所述应用的特征撰写缓存配置函数,并将所述缓存配置函数注册于所述缓存模块20。
在该实施例中,设置模块10可以通过两种方式对需要缓存的数据逻辑块寻址范围进行设置。第一种是通过分析及获取子模块11对常用的应用的特征进行分析,可以采用一些分析算法或者是工具对这些应用进行分析,知道应用的哪些数据属于热点数据,然后设置其数据为需要缓存的数据,将这些数据对应的逻辑块寻址范围进行记录,并由配置子模块12配置到缓存模块20中。第二种方式是通过分析及配置子模块13根据所述应用的特征撰写缓存配置函数,该函数用于计算分析所述应用的热点数据,这些数据通常需要缓存到缓存模块20。分析及配置子模块13将所述缓存配置函数注册于所述缓存模块20,当存储设备接收到IO指令时,通过该函数进行运算分析该IO指令对应的数据是否需要缓存,需要则将其缓存到缓存模块20中。
参见图2,在本发明的第四实施例中,缓存模块20包括:
第一判断子模块21,用于在存储设备接收到的IO指令时,判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;或者
第二判断子模块22,用于在存储设备接收到的IO指令时,通过所述缓存配置函数判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;
缓存子模块23,用于当所述IO指令对应的数据在所述需要缓存的数据逻辑块寻址范围内时,缓存所述IO指令对应的数据。
在该实施例中,第一判断子模块21、第二判断子模块22分别判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;若在则由缓存子模块23缓存所述IO指令对应的数据。并且优选的,所述需要缓存的数据在所述缓存模块20中具有最高优先级别。即这些缓存数据拥有较高的优先级别,除非缓存空间紧张,否则将长驻缓存。也就是说传统缓存系统中的淘汰、替换算法将最后考虑这些数据。
参见图3,在本发明的一个实施例中,提供了带有缓存的储存设备系统200。
在该实施例中,该带有缓存的储存设备系统200分为如下几个部分:缓存参数配置模块201、缓存IO处理模块202、Dirty flush模块203。其中缓存参数配置模块201负责缓存参数的设置,包括缓存大小的设置、dirty flush参数设置、热点数据LBA(Logical Block Addressing,逻辑块寻址)地址范围/规则设置。用户配置接口存在如下两种方式:对于简单的LBA地址范围,在配置文件中记录所有热点数据LBA地址范围,通过缓存参数配置模块201加载到缓存系统中;对于复杂的热点数据LBA,用户撰写配置函数,然后通过缓存系统提供的接口注册到缓存系统中,缓存系统在接到IO后,将根据该函数判断数据是否需要缓存。缓存IO处理模块202负责确定IO数据是否缓存;Dirty flush(旧数据缓存)模块203负责将dirty数据写入存储设备。
在上述多个实施例中,带有缓存的储存设备系统100,200的多个模块可以是软件单元,硬件单元或软硬件结合单元。
参见图4,在本发明的第五实施例中提供了一种缓存存储设备数据的方法,所述方法包括如下步骤:
步骤S401中,设置模块10设置需要缓存的数据的逻辑块寻址范围;
步骤S402中,缓存模块20在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存。
在存储设备当中,各种设备的存取数据速度是不同的,快速设备也可充当慢速设备的缓存。在缓存的实现中,何种数据需要缓存决定了数据的存取效率,其基本原理是“引用的局部性”,这可以分为时间局部性和空间局部性。空间局部性是指CPU在某一时刻需要某个数据,那么很可能下一步就需要其附近的数据;时间局部性是指当某个数据被访问过一次之后,过不了多久时间就会被再一次访问。对于应用程序而言,不管是指令流还是数据流都会出现引用的局部性现象;对于存储设备而言,也会出现同样的局部性现象,但仍然存在一些随机访问的情况,视应用的IO特征而定,在一些应用中,IO有明显的特征,一些数据是热点数据,而其他数据是冷点数据,且这些热点数据的地址是遵循一定规则的,可计算出来。对于这类应用,IO存在随机性可以通过设置模块10设置需要缓存的数据的逻辑块寻址范围;然后缓存模块20在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存。
在本发明的第六实施例中,在所述步骤S402之后包括:
在预设条件到达时,将已缓存的所述IO指令对应的数据存储到所述存储设备中;该步骤由数据存储模块30实现。
所述预设条件包括:将已缓存的所述IO指令对应的数据存储到所述存储设备的定时时间;和/或
已缓存的所述IO指令对应的数据在缓存系统中存储的时间期限;和/或
已缓存的所述IO指令对应的数据在缓存系统中达到的存储百分比值。
在该实施例中,对于已经缓存的数据存储到存储设备预设存储条件。具体的可以根据缓存系统中已缓存的所述IO指令对应的数据在所述缓存系统中存储时间或者是达到一定的百分比值,还可以是设定定时时间,在该定时时间到达时定时将这些数据存储到存储设备中,以防止掉电等情况发生造成缓存数据的丢失。
在本发明的第七实施例中,所述步骤S401包括:
分析及获取子模块11分析应用的特征,将所述应用的热点数据设置为所述需要缓存的数据,并获取所述需要缓存的数据逻辑块寻址范围;
配置子模块12将所述需要缓存的数据的逻辑块寻址范围的信息记录到配置文件当中,并将所述配置文件通过缓存系统接口配置到缓存系统当中;或者
分析及配置子模块13分析应用的特征,根据所述应用的特征撰写缓存配置函数,并将所述缓存配置函数注册于所述缓存系统。
在该实施例中,对于用户识别应用的IO特征,总结出热点数据的LBA地址范围或是规则。用户可通过应用的IO特征或是IO分析工具,识别出热点数据LBA地址范围。对于一些特殊应用,可识别出热点数据的LBA地址规则。将热点数据LBA地址范围或规则配置到缓存系统中可通过如下两种方式进行配置:一是用户指定LBA地址范围,将这些信息记录到配置文件当中,然后通过缓存系统接口配置到缓存系统当中。二是用户撰写配置函数,然后在缓存系统中在线注册该函数,存储系统在接到IO后,先调用该函数决定是否缓存该IO数据。
在本发明的一个实施例中,需要将将dirty数据写入存储设备,缓存中的dirty数据如果不及时写入存储设备,那么就存在断电丢数据的危险。在该实施例中,用户通过配置文件记录dirty数据的处理方式,有如下配置参数:定期写盘周期、Dirty数据的最大居留时间、Dirty数据在缓存中百分比临界点。参数加载到缓存系统后,缓存将根据该规则将dirty数据写入存储设备。
在本发明的第七实施例中,所述步骤S402包括:
第一判断子模块21在存储设备接收到的IO指令时,判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;或者
第二判断子模块22在存储设备接收到的IO指令时,通过所述缓存配置函数判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;
缓存子模块23当所述IO指令对应的数据在所述需要缓存的数据逻辑块寻址范围内时,将所述IO指令对应的数据存储在所述缓存系统中。
在该实施例中,可以通过第一判断子模块21和/或第二判断子模块22采用两种方式对存储设备接收到的IO指令是否需要进行缓存进行判断。在判断该IO指令对应的数据需要进行缓存时,则通过缓存子模块23将这些数据缓存到缓存系统中。
在上述第五实施例到第七实施例中,所述缓存系统可以为上述的带有缓存的储存设备系统100,200中的缓存模块20。所述存储设备可以为带有缓存的储存设备系统100,200中的数据存储模块30。
参见图5,在本发明的一个实施例中,提供了缓存读写IO处理方法,描述如下:
步骤S501中,带有缓存的储存设备系统100接收到IO指令;
步骤S502中,判断Dirty数据超过用户配置阀值,是则执行步骤S503,否则结束流程,继续等待。
步骤S503中,组织dirty数据写盘。
步骤S504中,数据状态变为clean。
在该实施例中,提供了Dirty数据写盘处理流程,用户可通过缓存配置模块对dirty数据的flush是把缓冲区的数据强行输出方式进行配置,同传统存储设备缓存的dirty数据处理方式相同,分为两种:Write-through(直写模式)在数据更新时,同时写入缓存Cache和后端存储。Write-back(回写模式)在数据更新时只写入缓存Cache。只在数据被替换出缓存时,被修改的缓存数据才会被写到后端存储。
参见图6,在本发明的一个实施例中,提供了缓存IO读写处理流程,描述如下:
步骤S601中,接收到IO指令
步骤S601中,判断该数据是否进行缓存;是则执行步骤S603,否则执行步骤S604;
步骤S603中,在cache中存取数据。
步骤S604中,判断根据用户配置确定该IO是否驻留cache,是则执行步骤S607,否则执行步骤S605;
步骤S605中,判断是否cache该IO数据,是则执行步骤S608,否则执行步骤S606;
步骤S606中,在存储设备中存取数据;
步骤S607中,在cache查找空闲空间,优先淘汰/替换非用户配置LBA地址范围内的数据;
步骤S608中,在cache查找空闲空间,只淘汰/替换非用户配置LBA地址范围内的数据;
步骤S609中,存取数据到缓存中,并标识数据为高优先级别。避免被淘汰;
步骤S610中,存取数据到缓存系统中。
在该实施例中,缓存处理机制同传统的存储设备缓存,包括缓存的数据组织方式,不同的是对于用户配置的LBA地址范围/规则中的数据,该系统必定缓存,这些数据拥有较高的优先级别,相对于其他缓存数据而言是最后被淘汰、替换的。同时这些数据在内部遵循传统存储设备缓存的淘汰、替换算法,比如:LRU(Least Recently Used,最近最少使用算法)算法:将最近最少使用的内容替换出Cache;还可以是LFU(Lease Frequently Used,最不经常使用页置换)算法:将访问次数最少的内容替换出Cache(高速缓冲存储器)。
在本发明的一个实施例中,提供缓存存储设备数据的方法,该方法包括如下步骤:A、用户根据应用特征计算需要缓存的数据地址,以LBA的方式呈现,将该地址范围或是规则配置到系统当中;B、存储设备在接收IO时,检测IO的LBA地址是否在该地址范围中或是符合用户配置规则,如果是那么该IO数据将缓存;C、对于缓存中的dirty数据,为了防止异常或是断电而引发数据丢失,定期将缓存中的数据写入存储设备中。进一步的,在步骤A中,用户根据应用特征,归纳出需要缓存的数据的LBA地址计算规则,然后将该规则配置到系统当中。配置方式可以通过配置文件或者撰写配置函数,然后通过系统提供的接口使配置生效。在步骤B中,存储设备在接到IO时,将根据该规则确认是否缓存该IO数据,IO起始LBA、终止LBA落入该范围/规则的数据均缓存。在步骤C中,对于dirty数据写入存储设备,用户可根据dirty数据滞留时间、dirty数据百分比、写入周期等规则写入配置。其中所述规则根据应用的特征进行分析,也可以根据用户的使用习惯进行分析获取。
综上所述,本发明通过设置需要缓存的数据的逻辑块寻址范围;在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存。因此,本发明通过分析存储设备IO特征,识别热点数据地址范围/规则,然后将该热点数据地址范围/规则的相关参数及信息配置到缓存中,从而将热点数据居留在缓存中,从而提升存储设备的IO性能,增强存储设备处理IO数据的能力。提升了带有缓存的储存设备系统的缓存效率。
当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (10)
1.一种缓存存储设备数据的方法,其特征在于,所述方法包括如下步骤:
设置需要缓存的数据的逻辑块寻址范围;
在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存。
2.根据权利要求1所述的方法,其特征在于,在所述在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存的步骤之后包括:
在预设条件到达时,将已缓存的所述IO指令对应的数据存储到所述存储设备中;
所述预设条件包括:将已缓存的所述IO指令对应的数据存储到所述存储设备的定时时间;和/或
已缓存的所述IO指令对应的数据在缓存系统中存储的时间期限;和/或
已缓存的所述IO指令对应的数据在缓存系统中达到的存储百分比值。
3.根据权利要求1所述的方法,其特征在于,所述设置需要缓存的数据的逻辑块寻址范围的步骤包括:
分析应用的特征,将所述应用的热点数据设置为所述需要缓存的数据,并获取所述需要缓存的数据逻辑块寻址范围;
将所述需要缓存的数据的逻辑块寻址范围的信息记录到配置文件当中,并将所述配置文件通过缓存系统接口配置到缓存系统当中;或者
分析应用的特征,根据所述应用的特征撰写缓存配置函数,并将所述缓存配置函数注册于所述缓存系统。
4.根据权利要求3所述的方法,其特征在于,所述在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存的步骤包括:
在存储设备接收到的IO指令时,判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;或者
在存储设备接收到的IO指令时,通过所述缓存配置函数判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;
当所述IO指令对应的数据在所述需要缓存的数据逻辑块寻址范围内时,将所述IO指令对应的数据存储在所述缓存系统中。
5.根据权利要求4所述的方法,其特征在于,所述需要缓存的数据在所述缓存系统中具有最高优先级别。
6.一种带有缓存的储存设备系统,其特征在于,所述系统包括:
设置模块,用于设置需要缓存的数据的逻辑块寻址范围;
缓存模块,用于在存储设备接收到的IO指令在所述逻辑块寻址范围内时,将所述IO指令对应的数据进行缓存;
数据存储模块,用于在预设条件到达时,存储已缓存的所述IO指令对应的数据。
7.根据权利要求6所述的系统,其特征在于,所述预设条件包括:将已缓存的所述IO指令对应的数据存储到所述数据存储模块的定时时间;和/或
已缓存的所述IO指令对应的数据在所述缓存模块中存储的时间期限;和/或
已缓存的所述IO指令对应的数据在所述缓存模块中达到的存储百分比值。
8.根据权利要求6所述的系统,其特征在于,所述设置模块包括:
分析及获取子模块,用于分析应用的特征,将所述应用的热点数据设置为所述需要缓存的数据,并获取所述需要缓存的数据逻辑块寻址范围;
配置子模块,用于将所述需要缓存的数据的逻辑块寻址范围的信息记录到配置文件当中,并将所述配置文件通过缓存模块接口配置到缓存模块当中;或者
分析及配置子模块,用于分析应用的特征,根据所述应用的特征撰写缓存配置函数,并将所述缓存配置函数注册于所述缓存模块。
9.根据权利要求8所述的系统,其特征在于,所述缓存模块包括:
第一判断子模块,用于在存储设备接收到的IO指令时,判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;或者
第二判断子模块,用于在存储设备接收到的IO指令时,通过所述缓存配置函数判断所述IO指令对应的数据是否在所述需要缓存的数据逻辑块寻址范围内;
缓存子模块,用于当所述IO指令对应的数据在所述需要缓存的数据逻辑块寻址范围内时,缓存所述IO指令对应的数据。
10.根据权利要求9所述的系统,其特征在于,所述需要缓存的数据在所述缓存模块中具有最高优先级别。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210527669.7A CN103049395B (zh) | 2012-12-10 | 2012-12-10 | 缓存存储设备数据的方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210527669.7A CN103049395B (zh) | 2012-12-10 | 2012-12-10 | 缓存存储设备数据的方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049395A true CN103049395A (zh) | 2013-04-17 |
CN103049395B CN103049395B (zh) | 2015-12-23 |
Family
ID=48062042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210527669.7A Expired - Fee Related CN103049395B (zh) | 2012-12-10 | 2012-12-10 | 缓存存储设备数据的方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049395B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227624A (zh) * | 2016-08-29 | 2016-12-14 | 四川格锐乾图科技有限公司 | 一种自动储存及备份数据的通讯软件识别系统 |
CN106326748A (zh) * | 2016-08-29 | 2017-01-11 | 四川格锐乾图科技有限公司 | 一种智能储存并防止病毒的软件检测系统 |
CN106339059A (zh) * | 2016-08-29 | 2017-01-18 | 四川格锐乾图科技有限公司 | 一种骤停电的资料保app升级系统 |
CN111104066A (zh) * | 2019-12-17 | 2020-05-05 | 华中科技大学 | 数据写入方法、装置及存储服务器和计算机可读存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016267A1 (en) * | 2006-06-30 | 2008-01-17 | Tdk Corporation | Memory controller, flash memory system having memory controller, and method for controlling flash memory |
CN101853208A (zh) * | 2009-03-31 | 2010-10-06 | 英特尔公司 | 基于文件级启发式规则来执行缓存的方法和系统 |
-
2012
- 2012-12-10 CN CN201210527669.7A patent/CN103049395B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080016267A1 (en) * | 2006-06-30 | 2008-01-17 | Tdk Corporation | Memory controller, flash memory system having memory controller, and method for controlling flash memory |
CN101853208A (zh) * | 2009-03-31 | 2010-10-06 | 英特尔公司 | 基于文件级启发式规则来执行缓存的方法和系统 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106227624A (zh) * | 2016-08-29 | 2016-12-14 | 四川格锐乾图科技有限公司 | 一种自动储存及备份数据的通讯软件识别系统 |
CN106326748A (zh) * | 2016-08-29 | 2017-01-11 | 四川格锐乾图科技有限公司 | 一种智能储存并防止病毒的软件检测系统 |
CN106339059A (zh) * | 2016-08-29 | 2017-01-18 | 四川格锐乾图科技有限公司 | 一种骤停电的资料保app升级系统 |
CN111104066A (zh) * | 2019-12-17 | 2020-05-05 | 华中科技大学 | 数据写入方法、装置及存储服务器和计算机可读存储介质 |
CN111104066B (zh) * | 2019-12-17 | 2021-07-27 | 华中科技大学 | 数据写入方法、装置及存储服务器和计算机可读存储介质 |
US11947829B2 (en) | 2019-12-17 | 2024-04-02 | Tencent Technology (Shenzhen) Company Limited | Data writing method, device, storage server, and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN103049395B (zh) | 2015-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9785571B2 (en) | Methods and systems for memory de-duplication | |
EP2743834B1 (en) | Dynamic set-associative cache apparatus for processor and visiting method thereof | |
US10019381B2 (en) | Cache control to reduce transaction roll back | |
US20130166824A1 (en) | Block management for nonvolatile memory device | |
KR101559023B1 (ko) | 메모리 페이지들의 일부에 저장된 메타데이터를 갖는 메모리 | |
CN103279428B (zh) | 一种显式的面向流应用的多核Cache一致性主动管理方法 | |
CN104133780A (zh) | 一种跨页预取方法、装置及系统 | |
US9201806B2 (en) | Anticipatorily loading a page of memory | |
Okamoto et al. | Application driven SCM and NAND flash hybrid SSD design for data-centric computing system | |
CN102859504B (zh) | 复制数据的方法和系统以及获得数据副本的方法 | |
CN100377117C (zh) | 用于虚实地址变换及读写高速缓冲存储器的方法及装置 | |
US9875191B2 (en) | Electronic device having scratchpad memory and management method for scratchpad memory | |
US20120173843A1 (en) | Translation look-aside buffer including hazard state | |
CN103049395B (zh) | 缓存存储设备数据的方法及其系统 | |
US9081660B2 (en) | Method and system for efficiently swapping pieces into and out of DRAM | |
Quan et al. | Prediction table based management policy for STT-RAM and SRAM hybrid cache | |
CN101645034A (zh) | 用于检测数据存取违例的方法和装置 | |
CN108664217B (zh) | 一种降低固态盘存储系统写性能抖动的缓存方法及系统 | |
US8738877B2 (en) | Processor with garbage-collection based classification of memory | |
Jin et al. | Write-aware buffer management policy for performance and durability enhancement in NAND flash memory | |
CN106649143B (zh) | 一种访问缓存的方法、装置及电子设备 | |
US20140013054A1 (en) | Storing data structures in cache | |
Tan et al. | APMigration: Improving performance of hybrid memory performance via an adaptive page migration method | |
US20040078544A1 (en) | Memory address remapping method | |
Shi et al. | A unified write buffer cache management scheme for flash memory |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20180523 Address after: 528000 No. 32 Industrial East Road, Songshan Lake high tech Industrial Development Zone, Dongguan, Guangdong Patentee after: DONGGUAN MEMORY STORAGE TECHNOLOGY Co.,Ltd. Address before: 518000, 5 floor, South East Industrial and trade building, Houhai East Road, Shekou, Nanshan District, Shenzhen, Guangdong. Patentee before: RAMAXEL TECHNOLOGY (SHENZHEN) Ltd. |
|
TR01 | Transfer of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20151223 |