CN108268219B - 一种处理io请求的方法及装置 - Google Patents
一种处理io请求的方法及装置 Download PDFInfo
- Publication number
- CN108268219B CN108268219B CN201810101626.XA CN201810101626A CN108268219B CN 108268219 B CN108268219 B CN 108268219B CN 201810101626 A CN201810101626 A CN 201810101626A CN 108268219 B CN108268219 B CN 108268219B
- Authority
- CN
- China
- Prior art keywords
- read
- data
- module
- write
- cache
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请提供一种处理IO请求的方法及装置,应用于存储设备,该存储设备的持久性存储介质为固态硬盘,所述方法包括:接收写请求,将所述写请求中的待写入数据写入到缓存空间,并返回写入成功信息;基于预设的业务策略对所述待写入数据进行处理;其中,所述业务策略包括重删和压缩中的一种或两种;将处理过的所述待写入数据写入到所述固态硬盘。在本申请技术方案中,存储设备在将写请求的待写入数据写入到缓存空间后即返回写入成功信息,提高了处理IO请求的响应时间,并在将待写入数据进行重删或压缩处理后写入固态硬盘,减少了写入固态硬盘的数据量,从而减少固态硬盘中闪存介质的磨损,延长了存储设备的使用寿命。
Description
技术领域
本申请涉及存储领域,特别涉及一种处理IO请求的方法及装置。
背景技术
存储设备能为用户提供方便快捷的数据写入、数据保护和数据读取的功能。其中,实现数据的快速读写是衡量存储设备性能的重要标准。
参见图1,为现有技术的一种存储设备的架构图,如图1所示,存储设备包括以下功能模块:
前端IO模块负责解析各类网络存储协议,比如FC(Fibre Channel,光纤通道)技术、ISCSI(Internet Small Computer System Interface,互联网小型计算机***接口)等,将用户发送的读写请求转化为存储设备内部的IO(Input/Output,输入/输出)请求。
LUN(Logical Unit Number,逻辑单元号)业务模块负责LUN空间的分配和管理,以及执行基于LUN的高级功能,比如:精简配置、重删、快照、压缩等。
IO数据读写缓存模块,负责IO数据的缓存,通过各种写缓存算法和读缓存算法,解决CPU处理和硬盘处理之间速度不对等的问题,降低IO请求的响应延时;存储设备一般用内存来做缓存,并提供掉电保护的能力。
元数据读写缓存模块,负责元数据的缓存,由于元数据间的逻辑关系相比IO数据间的逻辑关系复杂,因此,缓存元数据采用的读写算法与缓存IO数据的算法不同。
硬盘读写模块,负责向硬盘中写入或读取数据,硬盘可以包括机械硬盘和固态硬盘,通常情况下,存储设备会通过RAID(Redundant Arrays of Independent Disks,磁盘阵列)技术将硬盘进行组织,以提供冗余数据保护。
如图1所示,IO数据读写缓存模块和元数据读写缓存模块处于LUN业务模块和硬盘读写模块之间,主要解决二者读写数据的速度不同的问题。
为保持较高的读请求的缓存命中率,存储设备需要保持简单、有规律的IO模型,这种情况下,会简化LUN业务模块的功能,取消精简配置、重删、快照和压缩等功能。
然而,固态硬盘的磨损次数有限,当存储设备以固态硬盘作为持久缓存介质时,应当延长固态硬盘的寿命。存储设备的LUN业务模块简化了高级功能后,无法减少固态硬盘中闪存介质的磨损。
发明内容
有鉴于此,本申请提供一种处理IO请求的方法及装置,用以减少固态硬盘的闪存介质的磨损,从而延长存储设备的使用寿命。
具体地,本申请是通过如下技术方案实现的:
一种处理IO请求的方法,应用于存储设备,所述存储设备的持久存储介质为固态硬盘,包括:
接收写请求,将所述写请求中的待写入数据写入到缓存空间,并返回写入成功信息;
基于预设的业务策略对所述待写入数据进行处理;其中,所述业务策略包括重删和压缩中的一种或两种;
将处理过的所述待写入数据写入到所述固态硬盘。
在所述处理IO请求的方法中,所述方法还包括:
在基于所述业务策略处理所述待写入数据后,基于处理结果,更新所述缓存空间中的元数据;其中,所述元数据包括逻辑地址映射表、重删指纹映射库、本地缓存表,逻辑地址映射表包括逻辑地址和指纹的映射关系,重删指纹映射库包括物理地址和指纹的映射关系,本地缓存表包括逻辑地址、数据长度和本地缓存地址的映射关系;
基于预设的异步存储策略,将所述元数据写入到所述固态硬盘。
在所述处理IO请求的方法中,所述方法还包括:
接收读请求,确定所述读请求是否命中缓存;
如果未命中缓存,基于所述读请求中的逻辑地址查找所述元数据,确定所述读请求的待读取数据的物理地址;
根据所述待读取数据的物理地址和所述读请求中的数据长度读取所述待读取数据,并返回所述待读取数据。
在所述处理IO请求的方法中,所述方法还包括:
如果命中缓存,从所述缓存空间中读取所述待读取数据,并返回所述待读取数据;其中,所述缓存空间中的数据为处理所述写请求时写入的脏数据。
在所述处理IO请求的方法中,所述方法还包括:
当所述存储设备重启,从所述固态硬盘中将所述元数据读取到所述缓存空间。
一种处理IO请求的装置,应用于存储设备,所述存储设备的持久性存储介质为固态硬盘,包括:
接收单元,用于接收写请求,将所述写请求中的待写入数据写入到缓存空间,并返回写入成功信息;
处理单元,用于基于预设的业务策略对所述待写入数据进行处理;其中,所述业务策略包括重删和压缩中的一种或两种;
写入单元,用于将处理过的所述待写入数据写入到所述固态硬盘。
在所述处理IO请求的装置中,所述装置还包括:
更新单元,用于在基于所述业务策略处理所述待写入数据后,基于处理结果,更新所述缓存空间中的元数据;其中,所述元数据包括逻辑地址映射表、重删指纹映射库、本地缓存表,逻辑地址映射表包括逻辑地址和指纹的映射关系,重删指纹映射库包括物理地址和指纹的映射关系,本地缓存表包括逻辑地址、数据长度和本地缓存地址的映射关系;
所述写入单元,进一步用于基于预设的异步存储策略,将所述元数据写入到所述固态硬盘。
在所述处理IO请求的装置中,所述装置还包括:
所述接收单元,进一步用于接收读请求,确定所述读请求是否命中缓存;
查找单元,用于如果未命中缓存,基于所述读请求中的逻辑地址查找所述元数据,确定所述读请求的待读取数据的物理地址;
读取单元,用于根据所述待读取数据的物理地址和所述读请求中的数据长度读取所述待读取数据,并返回所述待读取数据。
在所述处理IO请求的装置中,所述装置还包括:
所述读取单元,进一步用于如果命中缓存,从所述缓存空间中读取所述待读取数据,并返回所述待读取数据;其中,所述缓存空间中的数据为处理所述写请求时写入的脏数据。
在所述处理IO请求的装置中,所述装置还包括:
所述读取单元,进一步用于当所述存储设备重启,从所述固态硬盘中将所述元数据读取到所述缓存空间。
在本申请实施例中,存储设备接收写请求,将上述写请求中的待写入数据写入到缓存空间后即可返回写入成功信息,显著提高了处理IO请求的响应时间;存储设备可以基于预设的业务策略对缓存空间中的上述待写入数据进行处理,其中,上述业务策略包括重删和压缩中的一种或两种,然后将处理过的上述待写入数据写入到固态硬盘;
由于存储设备可以对上述待写入数据进行重删或压缩处理,减少了向固态硬盘写入的数据量,从而减少固态硬盘中闪存介质的磨损,延长了存储设备的使用寿命;此外,存储设备在将上述写请求的待写入数据写入到缓存空间后即返回写入成功信息,从而避免了对上述待写入数据进行处理产生的IO响应的时延。
附图说明
图1是为现有技术的一种存储设备的架构图;
图2是本申请示出的一种存储设备的架构图;
图3是本申请示出的一种处理IO请求的方法的流程图;
图4是本申请示出的一种处理写请求的流程图;
图5是本申请示出的一种处理读请求的流程图;
图6是本申请示出的一种处理IO请求的装置的实施例框图;
图7是本申请示出的一种处理IO请求的装置的硬件结构图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对现有技术方案和本发明实施例中的技术方案作进一步详细的说明。
参见图2,为本申请示出的一种存储设备的架构图,如图2所示,IO数据读写缓存模块置于LUN业务模块之前,先于LUN业务模块处理IO请求。使得存储设备在接收到写请求时,将写请求中的待写入数据写入到缓存空间中即可返回写入成功信息,提高处理IO请求的响应时间。
需要指出的是,本申请中,IO数据读写缓存模块只在处理写请求时缓存待写入数据,在处理读请求时不缓存待读取数据,因此极大地减少了缓存数据所需的内存空间。在这种情况下,元数据读写缓存模块可以使用更多的内存空间用于缓存元数据,从而支持LUN业务模块实现更丰富的业务功能。
LUN业务模块可以基于预设的业务策略对缓存空间中的待写入数据进行处理,丰富了存储设备的业务功能。其中,上述业务策略可以包括重删、压缩和精简配置中的一种或多种的组合。
参见图3,为本申请示出的一种处理IO请求的方法的流程图,该方法应用于存储设备,该存储设备的持久性存储介质为固态硬盘,所述方法包括以下步骤:
步骤301:接收写请求,将所述写请求中的待写入数据写入到缓存空间,并返回写入成功信息。
存储设备接收到写请求,首先可以将上述写请求中的待写入数据写入到缓存空间,然后向发送写请求的设备返回写入成功信息。
需要指出的是,缓存空间可以为待写入数据提供掉电保护。具体可参照现有相关技术,本申请在此不再赘述。
通过该措施,可以显著提高处理写请求的响应时间。
步骤302:基于预设的业务策略对所述待写入数据进行处理;其中,所述业务策略包括重删和压缩中的一种或两种。
存储设备可以基于预设的业务策略对缓存空间中的上述待写入数据进行处理,其中,上述业务策略可以是重删,也可以是压缩,或者是重删和压缩。
需要指出的是,存储设备对上述待写入数据进行处理的时机可以是在待写入数据保存到缓存空间之后的某个时间点。换而言之,存储设备可以在将多个写请求中的待写入数据保存到缓存空间后,再基于上述业务策略进行处理。
参见图4,为本申请示出的一种处理写请求的流程图,如图4所示,存储设备将写请求中的待写入数据保存到缓存空间后,会异步处理上述待写入数据。
通过上述措施,存储设备可以减少向固态硬盘写入的数据量,减少固态硬盘的闪存介质的磨损,从而延长存储设备的使用寿命。
在本申请实施例中,存储设备在基于上述业务策略处理上述待写入数据后,可以基于处理结果,更新缓存空间中的元数据。
其中,上述元数据包括与上述业务策略相关的元数据和存储流程相关的元数据,可以包括逻辑地址映射表、重删指纹映射库和本地缓存表,逻辑地址映射表包括逻辑地址和指纹的映射关系,重删指纹映射库包括物理地址和指纹的映射关系,本地缓存表包括逻辑地址、数据长度和本地缓存地址的映射关系。
具体的更新过程可以参照现有相关技术,本申请在此不再赘述。
参见图4,存储设备可以基于预设的异步存储策略,将上述元数据写入到固态硬盘。
比如,存储设备可以在上述缓存空间中的元数据达到预设的容量阈值时,将元数据写入固态硬盘;
或者,存储设备可以周期性地将上述缓存空间中的元数据写入到固态硬盘。
后续当存储设备重启,可以从上述固态硬盘中将上述元数据读取到上述缓存空间,从而使得存储设备可以直接通过缓存空间中的元数据处理IO请求,提高处理IO请求的响应时间。
步骤303:将处理过的所述待写入数据写入到所述固态硬盘。
存储设备在基于上述业务策略处理缓存空间中的待写入数据,可以将上述待写入数据写入到固态硬盘。
至此,存储设备完成对写请求的处理过程。
参见图5,为本申请示出的一种处理写请求的流程图,如图5所示,存储设备接收到读请求,首先确定上述读请求是否命中缓存。
具体地,存储设备可以基于读请求中的逻辑地址(包括LUN标识和数据起始地址)查找上述本地缓存表,确定是否存在对应的本地缓存表项。
一方面,如果存在对应的本地缓存表项,说明命中缓存,存储设备可以从上述缓存空间中读取上述待读取数据,并向发送读请求的设备返回上述待读取数据。
需要指出的是,缓存空间中的数据全都是处理写请求时写入的脏数据。
另一方面,如果不存在对应的本地缓存表项,说明未命中缓存,在这种情况下,存储设备可以基于上述读请求中的逻辑地址查找上述元数据,确定上述读请求的待读取数据的物理地址。
具体地,存储设备可以基于上述逻辑地址查找上述逻辑地址映射表,确定上述待读取数据的指纹,然后基于上述待读取数据的指纹查找上述重删指纹映射库,确定上述待读取数据的物理地址。
进一步地,存储设备可以基于上述物理地址和上述读请求中的数据长度从固态硬盘中读取上述待读取数据,然后向发送读请求的设备返回上述待读取数据。
由于保存元数据的缓存空间较大,缓存空间中可保存大量元数据用于处理IO请求,提高了处理IO请求的响应时间。而固态硬盘本身的响应速度较快,取消处理读请求时缓存待读取数据的步骤,并不会对处理读请求造成太大的影响。因此,从整体上看,处理写请求和处理读请求的响应时间都减少了。
综上所述,在本申请实施例中,存储设备接收写请求,可以将上述写请求中的待写入数据写入到缓存空间后即返回写入成功信息,显著提高了处理写请求的响应时间;
存储设备基于预设的业务策略对上述待写入数据进行异步处理,然后将处理过的上述待写入数据写入到固态硬盘;上述业务策略包括重删或压缩中的一种或两种,经过处理后的待写入数据的数据量变小,减少了向固态硬盘写入待写入数据造成的闪存介质的磨损,有效延长了存储设备的使用寿命;
此外,本申请中,存储设备在处理读请求时,不缓存待读取数据,减少了缓存待读取数据的***开销,也使得更多的内存空间用于缓存元数据,从而提高了处理读请求时查找元数据的速度,减少了处理读请求的响应时间;而大量的元数据也可以更好地支持存储设备执行上述业务策略。
与前述处理IO请求的方法的实施例相对应,本申请还提供了处理IO请求的装置的实施例。
参见图6,为本申请示出的一种处理IO请求的装置的实施例框图:
如图6所示,该处理IO请求的装置60包括:
接收单元610,用于接收写请求,将所述写请求中的待写入数据写入到缓存空间,并返回写入成功信息。
处理单元620,用于基于预设的业务策略对所述待写入数据进行处理;其中,所述业务策略包括重删和压缩中的一种或两种。
写入单元630,用于将处理过的所述待写入数据写入到所述固态硬盘。
在本例中,所述装置还包括:
更新单元640(图中未示出),用于在基于所述业务策略处理所述待写入数据后,基于处理结果,更新所述缓存空间中的元数据;其中,所述元数据包括逻辑地址映射表、重删指纹映射库、本地缓存表,逻辑地址映射表包括逻辑地址和指纹的映射关系,重删指纹映射库包括物理地址和指纹的映射关系,本地缓存表包括逻辑地址、数据长度和本地缓存地址的映射关系。
所述写入单元630,进一步用于基于预设的异步存储策略,将所述元数据写入到所述固态硬盘。
在本例中,所述装置还包括:
所述接收单元610,进一步用于接收读请求,确定所述读请求是否命中缓存。
查找单元650(图中未示出),用于如果未命中缓存,基于所述读请求中的逻辑地址查找所述元数据,确定所述读请求的待读取数据的物理地址。
读取单元660(图中未示出),用于根据所述待读取数据的物理地址和所述读请求中的数据长度读取所述待读取数据,并返回所述待读取数据。
在本例中,所述装置还包括:
所述读取单元660(图中未示出),进一步用于如果命中缓存,从所述缓存空间中读取所述待读取数据,并返回所述待读取数据;其中,所述缓存空间中的数据为处理所述写请求时写入的脏数据。
在本例中,所述装置还包括:
所述读取单元660(图中未示出),进一步用于当所述存储设备重启,从所述固态硬盘中将所述元数据读取到所述缓存空间。
本申请处理IO请求的装置的实施例可以应用在存储设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在存储设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本申请处理IO请求的装置所在存储设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的存储设备通常根据该处理IO请求的装置的实际功能,还可以包括其他硬件,对此不再赘述。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种处理IO请求的方法,应用于存储设备,所述存储设备的持久存储介质为固态硬盘,其特征在于,所述存储设备包括前端IO模块、IO数据读写缓存模块、LUN业务模块、元数据读写缓存模块、硬盘读写模块;其中,所述IO数据读写缓存模块置于所述LUN业务模块之前,先于LUN业务模块处理IO请求,包括:
所述IO数据读写缓存模块接收经前端IO模块下发的写请求,将所述写请求中的待写入数据写入到缓存空间,并返回写入成功信息;
所述LUN业务模块基于预设的业务策略对所述待写入数据进行处理;其中,所述业务策略包括重删和压缩中的一种或两种;
所述硬盘读写模块将所述LUN业务模块处理过的所述待写入数据写入到所述固态硬盘。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述LUN业务模块基于所述业务策略处理所述待写入数据后,所述元数据读写缓存模块基于处理结果,更新所述缓存空间中的元数据;其中,所述元数据包括逻辑地址映射表、重删指纹映射库、本地缓存表,逻辑地址映射表包括逻辑地址和指纹的映射关系,重删指纹映射库包括物理地址和指纹的映射关系,本地缓存表包括逻辑地址、数据长度和本地缓存地址的映射关系;
基于预设的异步存储策略,通过所述硬盘读写模块将所述元数据写入到所述固态硬盘。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
所述IO数据读写缓存模块接收经前端IO模块下发的读请求,确定所述读请求是否命中缓存;
如果未命中缓存,所述元数据读写缓存模块基于所述读请求中的逻辑地址查找所述元数据,确定所述读请求的待读取数据的物理地址;
根据所述待读取数据的物理地址和所述读请求中的数据长度读取所述待读取数据,并返回所述待读取数据。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果命中缓存,所述IO数据读写缓存模块从所述缓存空间中读取所述待读取数据,并返回所述待读取数据;其中,所述缓存空间中的数据为处理所述写请求时写入的脏数据。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当所述存储设备重启,所述元数据读写缓存模块通过所述硬盘读写模块从所述固态硬盘中将所述元数据读取到所述缓存空间。
6.一种处理IO请求的装置,应用于存储设备,所述存储设备的持久性存储介质为固态硬盘,其特征在于,所述存储设备包括前端IO模块、IO数据读写缓存模块、LUN业务模块、元数据读写缓存模块、硬盘读写模块;其中,所述IO数据读写缓存模块置于所述LUN业务模块之前,先于LUN业务模块处理IO请求,包括:
接收单元,用于所述IO数据读写缓存模块接收经前端IO模块下发的写请求,将所述写请求中的待写入数据写入到缓存空间,并返回写入成功信息;
处理单元,用于所述LUN业务模块基于预设的业务策略对所述待写入数据进行处理;其中,所述业务策略包括重删和压缩中的一种或两种;
写入单元,用于所述硬盘读写模块将所述LUN业务模块处理过的所述待写入数据写入到所述固态硬盘。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
更新单元,用于在所述LUN业务模块基于所述业务策略处理所述待写入数据后,所述元数据读写缓存模块基于处理结果,更新所述缓存空间中的元数据;其中,所述元数据包括逻辑地址映射表、重删指纹映射库、本地缓存表,逻辑地址映射表包括逻辑地址和指纹的映射关系,重删指纹映射库包括物理地址和指纹的映射关系,本地缓存表包括逻辑地址、数据长度和本地缓存地址的映射关系;
所述写入单元,进一步用于基于预设的异步存储策略,通过所述硬盘读写模块将所述元数据写入到所述固态硬盘。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
所述接收单元,进一步用于所述IO数据读写缓存模块接收经前端IO模块下发的读请求,确定所述读请求是否命中缓存;
查找单元,用于如果未命中缓存,所述元数据读写缓存模块基于所述读请求中的逻辑地址查找所述元数据,确定所述读请求的待读取数据的物理地址;
读取单元,用于根据所述待读取数据的物理地址和所述读请求中的数据长度读取所述待读取数据,并返回所述待读取数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
所述读取单元,进一步用于如果命中缓存,所述IO数据读写缓存模块从所述缓存空间中读取所述待读取数据,并返回所述待读取数据;其中,所述缓存空间中的数据为处理所述写请求时写入的脏数据。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
所述读取单元,进一步用于当所述存储设备重启,所述元数据读写缓存模块通过所述硬盘读写模块从所述固态硬盘中将所述元数据读取到所述缓存空间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810101626.XA CN108268219B (zh) | 2018-02-01 | 2018-02-01 | 一种处理io请求的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810101626.XA CN108268219B (zh) | 2018-02-01 | 2018-02-01 | 一种处理io请求的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108268219A CN108268219A (zh) | 2018-07-10 |
CN108268219B true CN108268219B (zh) | 2021-02-09 |
Family
ID=62777247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810101626.XA Active CN108268219B (zh) | 2018-02-01 | 2018-02-01 | 一种处理io请求的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268219B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853614B2 (en) | 2021-11-26 | 2023-12-26 | Samsung Electronics Co., Ltd. | Synchronous write method and device, storage system and electronic device |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109086172B (zh) * | 2018-09-21 | 2022-12-06 | 郑州云海信息技术有限公司 | 一种数据处理的方法以及相关装置 |
CN111124258B (zh) * | 2018-10-31 | 2024-04-09 | 深信服科技股份有限公司 | 全闪存阵列的数据存储方法、装置、设备及可读存储介质 |
CN109656487B (zh) * | 2018-12-24 | 2023-04-28 | 平安科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN110532201B (zh) * | 2019-08-23 | 2021-08-31 | 北京浪潮数据技术有限公司 | 一种元数据处理方法及装置 |
CN111399753B (zh) * | 2019-08-23 | 2022-08-05 | 杭州海康威视***技术有限公司 | 写入图片的方法和装置 |
CN110543384B (zh) * | 2019-09-05 | 2022-05-17 | Oppo广东移动通信有限公司 | 内存的回写方法、装置、终端及存储介质 |
CN111026678B (zh) * | 2019-12-23 | 2021-11-16 | 深圳忆联信息***有限公司 | 基于固态硬盘的缓存设计方法、装置及计算机设备 |
CN111381779B (zh) * | 2020-03-05 | 2024-02-23 | 深信服科技股份有限公司 | 数据处理方法、装置、设备及存储介质 |
CN112130766A (zh) * | 2020-09-17 | 2020-12-25 | 山东云海国创云计算装备产业创新中心有限公司 | 一种基于Flash存储器的写数据方法、装置、设备及存储介质 |
CN113590547B (zh) * | 2021-06-30 | 2024-02-23 | 济南浪潮数据技术有限公司 | 一种icfs的缓存管理方法和*** |
CN115840662A (zh) * | 2021-09-18 | 2023-03-24 | 华为技术有限公司 | 一种数据备份***及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673191A (zh) * | 2009-09-28 | 2010-03-17 | 成都市华为赛门铁克科技有限公司 | 数据写入方法、装置及数据存储*** |
CN103329111A (zh) * | 2012-01-19 | 2013-09-25 | 华为技术有限公司 | 一种基于块存储的数据处理方法、装置及*** |
CN103544110A (zh) * | 2013-10-08 | 2014-01-29 | 华中科技大学 | 一种基于固态盘的块级连续数据保护方法 |
CN107193693A (zh) * | 2017-05-23 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种基于存储***的在线数据存储优化方法 |
CN107209714A (zh) * | 2015-03-16 | 2017-09-26 | 株式会社日立制作所 | 分布式存储***及分布式存储***的控制方法 |
-
2018
- 2018-02-01 CN CN201810101626.XA patent/CN108268219B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101673191A (zh) * | 2009-09-28 | 2010-03-17 | 成都市华为赛门铁克科技有限公司 | 数据写入方法、装置及数据存储*** |
CN103329111A (zh) * | 2012-01-19 | 2013-09-25 | 华为技术有限公司 | 一种基于块存储的数据处理方法、装置及*** |
CN103544110A (zh) * | 2013-10-08 | 2014-01-29 | 华中科技大学 | 一种基于固态盘的块级连续数据保护方法 |
CN107209714A (zh) * | 2015-03-16 | 2017-09-26 | 株式会社日立制作所 | 分布式存储***及分布式存储***的控制方法 |
CN107193693A (zh) * | 2017-05-23 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种基于存储***的在线数据存储优化方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853614B2 (en) | 2021-11-26 | 2023-12-26 | Samsung Electronics Co., Ltd. | Synchronous write method and device, storage system and electronic device |
Also Published As
Publication number | Publication date |
---|---|
CN108268219A (zh) | 2018-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108268219B (zh) | 一种处理io请求的方法及装置 | |
CN108804031B (zh) | 最佳记录查找 | |
CN108459826B (zh) | 一种处理io请求的方法及装置 | |
US9767140B2 (en) | Deduplicating storage with enhanced frequent-block detection | |
US10102150B1 (en) | Adaptive smart data cache eviction | |
US9619180B2 (en) | System method for I/O acceleration in hybrid storage wherein copies of data segments are deleted if identified segments does not meet quality level threshold | |
US6449689B1 (en) | System and method for efficiently storing compressed data on a hard disk drive | |
US8595451B2 (en) | Managing a storage cache utilizing externally assigned cache priority tags | |
CN104025059B (zh) | 用于数据存储存储器的空间收回的方法和*** | |
US9268711B1 (en) | System and method for improving cache performance | |
US20150039837A1 (en) | System and method for tiered caching and storage allocation | |
US20150293848A1 (en) | Enhancing data processing performance by cache management of fingerprint index | |
US10936412B1 (en) | Method and system for accessing data stored in data cache with fault tolerance | |
US9727479B1 (en) | Compressing portions of a buffer cache using an LRU queue | |
CN108628542B (zh) | 一种文件合并方法及控制器 | |
US10496290B1 (en) | Method and system for window-based churn handling in data cache | |
US10733105B1 (en) | Method for pipelined read optimization to improve performance of reading data from data cache and storage units | |
US9268696B1 (en) | System and method for improving cache performance | |
US11169968B2 (en) | Region-integrated data deduplication implementing a multi-lifetime duplicate finder | |
US20180307440A1 (en) | Storage control apparatus and storage control method | |
US10908818B1 (en) | Accessing deduplicated data from write-evict units in solid-state memory cache | |
US20240231657A1 (en) | Data processing method and storage system | |
US10585802B1 (en) | Method and system for caching directories in a storage system | |
US10565120B1 (en) | Method for efficient write path cache load to improve storage efficiency | |
US10474588B1 (en) | Method and system for memory-based data caching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |