CN104182353A - 一种采用不同存储介质的数据存储系统 - Google Patents
一种采用不同存储介质的数据存储系统 Download PDFInfo
- Publication number
- CN104182353A CN104182353A CN201410412927.6A CN201410412927A CN104182353A CN 104182353 A CN104182353 A CN 104182353A CN 201410412927 A CN201410412927 A CN 201410412927A CN 104182353 A CN104182353 A CN 104182353A
- Authority
- CN
- China
- Prior art keywords
- data
- storage system
- speed memory
- storage
- memory
- 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.)
- Pending
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种采用不同存储介质的数据存储系统,所述数据存储系统包括:主存储设备,包括支持热插拔的非易失性高速存储器和非高速存储器,其中,所述非易失性高速存储器用于永久存储所述数据存储系统的元数据;缓冲存储器,与所述主存储设备相连接,用于临时存储所述主存储设备中的数据。通过本申请,可以提升数据存取的效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及数据存储技术领域,尤其涉及一种采用不同存储介质的数据存储系统。
背景技术
在计算机系统,尤其是数据存储系统中,利用存储层次原理与数据局部性原理,将昂贵的高速小容量存储介质和廉价大容量低速存储介质搭配使用,可以有效提升数据存取效率。
发明内容
本申请提供了一种采用不同存储介质的数据存储系统。
上述数据存储系统包括:主存储设备,包括支持热插拔的非易失性高速存储器和非高速存储器,其中,所述非易失性高速存储器用于永久存储所述数据存储系统的元数据;缓冲存储器,与所述主存储设备相连接,用于临时存储所述主存储设备中的数据。
进一步地,所述数据存储系统还包括控制器,用于响应于对所述数据存储系统的数据访问请求而对所述主存储设备或所述缓冲存储器进行操作。
进一步地,所述数据存储系统还包括不同于所述非易失性高速存储器的其它的至少一个支持热插拔的非易失性高速存储器,这些非易失性高速存储器共同组成支持数据冗余保护的数据冗余组。
进一步地,所述支持热插拔的非易失性高速存储器包括支持热插拔的固态硬盘。
进一步地,所述元数据包括以下中的至少一项:所述非高速存储器所存储数据的索引数据,数据块指针,与数据保护机制相关的索引和辅助数据,以及数据冗余级别信息。
进一步地,所述非高速存储器包括硬盘、软盘、磁带、CD-ROM、DVD-ROM。
本申请提出的采用不同存储介质的数据存储系统具有如下特点:将硬盘规格的高速存储介质(即支持热插拔的非易失性高速存储器)直接作为主存储设备的一部分,而不是作为缓冲存储器来使用,提升了数据存取的效率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本申请的采用不同存储介质的数据存储系统的一个实施例的结构示意图;
图2是本申请的非易失性高速存储器中存储的元数据列表的一个示例。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。
图1示出了采用不同存储介质的数据存储系统的一个实施例的结构示意图。
如图1所示,本实施例所述的采用不同存储介质的数据存储系统100包括:非易失性高速存储器1011,非高速存储器1012和缓冲存储器103,其中,所述非易失性高速存储器1011和所述非高速存储器1012组成了主存储设备101。所述缓冲存储器与所述主存储设备101相连接,用于临时存储所述主存储设备101中的数据。
在本实施例中,所述非易失性高速存储器1011是支持热插拔的非易失性高速存储器,例如支持热插拔的固态硬盘SSD(Solid State Drive)。在数据存储系统100中,所述非易失性高速存储器1011用于永久(非临时性)存储所述数据存储系统的元数据(metadata),对所述元数据的更新也直接在非易失性高速存储器1011中完成。所述非高速存储器1012优选地也可以被热插拔,其包括但不限于硬盘、软盘、磁带、CD-ROM、DVD-ROM。
在本实施例中,元数据是指所有在数据读写过程必须使用到且相对大多数数据块更加频繁访问的数据。所述元数据包括但不限于以下中的至少一项:所述非高速存储器1012所存储数据的索引数据,数据块指针,与数据保护机制相关的索引和辅助数据,以及数据冗余级别信息。所述数据保护机制包括但不限于逻辑卷快照机制、重复数据删除机制、访问控制机制、数据分层存储机制、数据加密与压缩机制等。图2给出了非易失性高速存储器1011中存储的元数据列表的一个示例。
在本实施例的一个优选实现方式中,所述数据存储系统100还包括控制器(未示出),用于响应于对所述数据存储系统100的数据访问请求而对所述主存储设备101或所述缓冲存储器103进行操作。
在本实施例的一个优选实现方式中,为了确保永久存储在所述非易失性高速存储器1011中的元数据可用性,所述数据存储系统100进一步包括了不同于所述非易失性高速存储器1011的其它的至少一个支持热插拔的非易失性高速存储器,这些非易失性高速存储器共同组成支持数据冗余保护的数据冗余组。
下面给出了根据本实施例,初始化包括支持热插拔的非易失性高速存储器和非高速存储器的主存储设备的一个示例。
步骤1:系统管理员在数据存储系统100的控制器所在的终端上输入命令,列出所有连接到控制器的盘柜(用于存放可热插拔的非高速存储器1012与非易失性高速存储器1011)中所有的存储介质信息;
步骤2:控制器接收到系统管理员的命令请求后,通过存储接口卡和存储总线向附加的盘柜发出存储介质查询信息;
步骤3:盘柜上的内嵌管理软件查询各个存储介质的端口连接状态和存储介质详细信息,将查询结果返回给控制器;
步骤4:系统管理员确认在盘柜中存在高速存储介质(例如,非易失性高速存储器)与普通存储介质(例如,非高速存储器);如果高速存储介质不存在或数量太少(如1个)无法形成冗余配置,将发出警告;
步骤5:系统管理员在数据存储系统的控制器的终端上输入命令,设定元数据所在的高速存储介质,以及其它所有数据所在的普通存储介质,并发出创建高速存储介质加速的存储池的命令;
步骤6:控制器接收到系统管理命令请求后,确认所有存储介质状态为可用后,开始在高速存储介质(和普通存储介质)上写入必要的元数据信息;
步骤7:上述操作完成后,控制器提示系统管理员存储空间创建操作已经完成。
下面给出了根据本实施例和以上示例,在主存储设备中创建逻辑卷的一个示例。
步骤1:系统管理员在数据存储系统100的控制器所在的终端上输入命令,在已经创建完成的高速存储介质加速的存储池内创建指定容量和块大小的逻辑卷;
步骤2:控制器接收到系统管理员的命令请求后,检查输入参数的合法性,包括存储空间名称是否已经建立、期望的逻辑卷容量是否允许以及数据块大小是否合法;
步骤3:如果控制器判断参数非法,则提供给系统管理员出错信息;
步骤4:输入参数合法时,控制器将在高速存储介质上分配元数据块,为初始化逻辑卷步骤产生的所有元数据信息(包括块大小、逻辑卷产生精确时间、逻辑卷容量、逻辑卷对象ID信息、以及逻辑卷对象节点),分配持久的存储空间;
步骤5:分配与数据填充成功后,控制器通过IO控制器,向目标盘柜中的高速存储介质写入更新后的数据;
步骤6:控制器提示系统管理员逻辑卷创建工作完成。
下面给出了根据本实施例,在逻辑卷中写入数据的一个示例。
步骤1:控制器接收到来自主机的向某一逻辑卷的数据块写入请求;
步骤2:控制器接收到上述数据块写入请求后,检查输入参数的合法性,包括该逻辑卷是否已经创建、是否允许写入,以及写入数据块的位置是否超出了逻辑卷的容量范围;
步骤3:如果控制器判断参数非法,则提供给主机端出错信息;
步骤4:当输入参数合法时,控制器将判断该数据块是否已经分配,并开启新的事务:
步骤5:若已经分配,则在内存中的逻辑卷地址映射表中寻找对应位置的Blkmap(block map,块映射)元数据缓存块,如果该Blkmap元数据块不在缓冲存储器中,则从高速存储介质(例如,非易失性高速存储器)读取出;转到步骤7;
步骤6:如果没有分配,则从该逻辑卷所包含的其它存储介质中分配一个数据块,然后从高速存储介质中分配或读取出一个包含其块地址指针的Blkmap元数据块;
步骤7:控制器填充内存中的Blkmap元数据缓存块中目标数据块的地址指针,并将该缓存块状态置为dirty(脏),并加入到此次事务中;
步骤8:控制器启动I/O操作,将数据写入目标存储介质中;
步骤9:数据块写入成功后,将包含此数据块地址指针的元数据块,以及相关的冗余数据块更新到高速存储介质;
步骤10:本次事务完成;
步骤11:控制器通过主机本次数据块写入操作完成。
下面给出了根据本实施例,从逻辑卷读取数据的一个示例。
步骤1:控制器接收到来自主机的向某一逻辑卷的数据块读取请求;
步骤2:控制器接收到数据块读取请求后,检查输入参数的合法性,包括该逻辑卷是否已经创建、是否允许读取,以及读取数据块的位置是否超出了逻辑卷的容量范围;
步骤3:如果控制器判断参数非法,则提供给主机端出错信息;
步骤4:当输入参数合法时,控制器将判断该数据块是否已经分配,进行判断前需在内存中的逻辑卷地址映射表中寻找对应位置的Blkmap元数据缓存块,如果该Blkmap元数据块不在缓冲存储器中,则从高速存储介质读取出;
步骤5:如果没有分配,则直接返回给主机端全0数据块,本次操作结束;
步骤6:若已经分配,则从内存中的Blkmap元数据缓存块提取目标数据块的地址指针;
步骤7:控制器启动I/O操作,将数据块从其存储介质中取出;
步骤8:控制器启动与主机端口通信,将读取出的数据块传送给主机;
步骤9:操作完成。
下面给出了根据本实施例,在降级模式下的逻辑卷写入数据的一个示例。其中,降级模式是指部分非易失性高速存储器失效,但系统冗余度足够,仍可以服务主机端的I/O请求的情形
步骤1:控制器接收到来自主机的向某一逻辑卷的数据块写入请求;
步骤2:控制器接收到数据块写入请求后,检查输入参数的合法性,包括该逻辑卷是否已经创建、是否允许写入,以及写入数据块的位置是否超出了逻辑卷的容量范围;
步骤3:如果控制器判断参数非法,则提供给主机端出错信息;
步骤4:当输入参数合法时,控制器将判断该数据块是否已经分配,并开启新的事务:
步骤5:若已经分配,则在内存中的逻辑卷地址映射表中寻找对应位置的Blkmap元数据缓存块,如果该Blkmap元数据块不在缓冲存储器中,则从非易失性高速存储器读取出,如果目标加速介质失效,则从冗余组中其它闪存介质中读取出来;转到步骤7;
步骤6:如果没有分配,则从该逻辑卷所包含的其它存储介质中分配一个数据块,然后从仍在正常工作的高速存储介质中分配,或通过冗余组的其它高速存储介质读取并计算出一个包含其块地址指针的Blkmap元数据块;
步骤7:控制器填充内存中的Blkmap元数据缓存块中目标数据块的地址指针,并将该缓存块状态置为dirty(脏),并加入到此次事务中;
步骤8:控制器启动I/O操作,将数据写入目标存储介质中;
步骤9:数据块写入成功后,将包含此数据块地址指针的元数据块,以及相关的冗余数据块更新到高速存储介质;
步骤10:本次事务完成;
步骤11:控制器通过主机本次数据块写入操作完成。
下面给出了根据本实施例,在降级模式下的逻辑卷读取数据的一个示例。
步骤1:控制器接收到来自主机的向某一逻辑卷的数据块读取请求;
步骤2:控制器接收到数据块读取请求后,检查输入参数的合法性,包括该逻辑卷是否已经创建、是否允许读取,以及读取数据块的位置是否超出了逻辑卷的容量范围;
步骤3:如果控制器判断参数非法,则提供给主机端出错信息;
步骤4:当输入参数合法时,控制器将判断该数据块是否已经分配,如果存储该数据库分配信息的高速存储介质失效,则可能需要先从冗余组内其它高速存储介质读取数据,然后计算出元数据信息进行判断;
步骤5:如果没有分配,则直接返回给主机端全0数据块,本次操作结束;
步骤6:若已经分配,则从内存中的Blkmap元数据缓存块提取目标数据块的地址指针;
步骤7:控制器启动I/O操作,将数据块从其存储介质中取出;
步骤8:控制器启动与主机端口通信,将读取出的数据块传送给主机;
步骤9:操作完成。
下面给出了根据本实施例,对逻辑卷进行快照创建操作的一个示例。
步骤1:系统管理员在控制器终端上输入命令,在某个现有逻辑卷上创建快照;
步骤2:控制器接收到系统管理员的命令后,检查输入参数的合法性,即逻辑卷是否已经建立;
步骤3:如果控制器判断参数非法,则提供给管理员出错信息;
步骤4:如果输入参数合法时,控制器将发出逻辑卷I/O操作冻结命令,禁止接收新I/O请求
步骤5:在高速存储介质上分配元数据块,为逻辑卷快照的创建时间、逻辑卷快照对象ID等信息、以及逻辑卷快照对象节点,分配持久的存储空间;
步骤6:分配与数据填充成功后,控制器通过IO控制器,向高速存储介质写入更新后的数据;
步骤7:控制器将发出逻辑卷I/O操作解冻命令,允许接收新的I/O请求;
步骤8:控制器提示系统管理员逻辑卷快照创建工作完成。
与常规的通过混合介质在垂直存储层次上来改进和扩展数据存储系统的自动分层技术相比,本申请通过合理使用高速存储介质(包括非易失性高速存储器,例如支持热插拔的固态硬盘SSD),在“水平方向”上改进数据存储系统的性能。“水平方向”的意思是,本申请直接将硬盘规格的高速存储介质直接作为整个数据存储池以及逻辑卷管理器数据布局中的一部分,而不是作为缓冲存储器来使用,即在高速存储介质中永久存放逻辑卷中必须频繁存取的一部分数据。此外,在数据存储系统的其余的存储空间内,不再保存这部分数据的备份或者副本,从而避免了低效的数据副本在不同速度的存储层次上的调度开销。进一步地,通过在新增数据存储空间内配备适量的高速存储介质,确保数据存储系统能在容量扩充的同时获得I/O性能的线性扩展。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (6)
1.一种采用不同存储介质的数据存储系统,其特征在于,包括:
主存储设备,包括支持热插拔的非易失性高速存储器和非高速存储器,其中,所述非易失性高速存储器用于永久存储所述数据存储系统的元数据;
缓冲存储器,与所述主存储设备相连接,用于临时存储所述主存储设备中的数据。
2.根据权利要求1所述的数据存储系统,其特征在于,所述数据存储系统还包括控制器,用于响应于对所述数据存储系统的数据访问请求而对所述主存储设备或所述缓冲存储器进行操作。
3.根据权利要求1或2所述的数据存储系统,其特征在于,所述数据存储系统还包括不同于所述非易失性高速存储器的其它的至少一个支持热插拔的非易失性高速存储器,这些非易失性高速存储器共同组成支持数据冗余保护的数据冗余组。
4.根据权利要求1或2所述的数据存储系统,其特征在于,所述支持热插拔的非易失性高速存储器包括支持热插拔的固态硬盘。
5.根据权利要求1或2所述的数据存储系统,其特征在于,所述元数据包括以下中的至少一项:所述非高速存储器所存储数据的索引数据,数据块指针,与数据保护机制相关的索引和辅助数据,以及数据冗余级别信息。
6.根据权利要求1或2所述的数据存储系统,其特征在于,所述非高速存储器包括硬盘、软盘、磁带、CD-ROM、DVD-ROM。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410412927.6A CN104182353A (zh) | 2014-08-21 | 2014-08-21 | 一种采用不同存储介质的数据存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410412927.6A CN104182353A (zh) | 2014-08-21 | 2014-08-21 | 一种采用不同存储介质的数据存储系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104182353A true CN104182353A (zh) | 2014-12-03 |
Family
ID=51963416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410412927.6A Pending CN104182353A (zh) | 2014-08-21 | 2014-08-21 | 一种采用不同存储介质的数据存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104182353A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599236A (zh) * | 2016-12-20 | 2017-04-26 | 北海市云盛科技有限公司 | 一种文件系统的元数据存储方法和装置 |
CN108153495A (zh) * | 2018-01-15 | 2018-06-12 | 沈阳延云云计算技术有限公司 | 数据存储方法、装置及数据存储系统 |
CN110209341A (zh) * | 2018-03-23 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据写入方法、装置和存储设备 |
CN110737542A (zh) * | 2018-07-19 | 2020-01-31 | 慧与发展有限责任合伙企业 | 冻结和解除冻结上游卷和下游卷 |
CN111309245A (zh) * | 2018-12-12 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 一种分层存储写入方法和装置、读取方法和装置及系统 |
CN116820353A (zh) * | 2023-08-28 | 2023-09-29 | 苏州浪潮智能科技有限公司 | 分布式存储系统的数据处理方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904858A (zh) * | 2005-07-25 | 2007-01-31 | 索尼株式会社 | 数据存储设备、数据存储方法以及记录/再现系统 |
CN101587426A (zh) * | 2008-05-20 | 2009-11-25 | 索尼株式会社 | 信息记录方法和信息记录装置 |
-
2014
- 2014-08-21 CN CN201410412927.6A patent/CN104182353A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1904858A (zh) * | 2005-07-25 | 2007-01-31 | 索尼株式会社 | 数据存储设备、数据存储方法以及记录/再现系统 |
CN101587426A (zh) * | 2008-05-20 | 2009-11-25 | 索尼株式会社 | 信息记录方法和信息记录装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599236A (zh) * | 2016-12-20 | 2017-04-26 | 北海市云盛科技有限公司 | 一种文件系统的元数据存储方法和装置 |
CN108153495A (zh) * | 2018-01-15 | 2018-06-12 | 沈阳延云云计算技术有限公司 | 数据存储方法、装置及数据存储系统 |
CN110209341A (zh) * | 2018-03-23 | 2019-09-06 | 腾讯科技(深圳)有限公司 | 一种数据写入方法、装置和存储设备 |
CN110209341B (zh) * | 2018-03-23 | 2022-02-01 | 腾讯科技(深圳)有限公司 | 一种数据写入方法、装置和存储设备 |
CN110737542A (zh) * | 2018-07-19 | 2020-01-31 | 慧与发展有限责任合伙企业 | 冻结和解除冻结上游卷和下游卷 |
CN111309245A (zh) * | 2018-12-12 | 2020-06-19 | 阿里巴巴集团控股有限公司 | 一种分层存储写入方法和装置、读取方法和装置及系统 |
CN111309245B (zh) * | 2018-12-12 | 2024-04-09 | 阿里巴巴集团控股有限公司 | 一种分层存储写入方法和装置、读取方法和装置及系统 |
CN116820353A (zh) * | 2023-08-28 | 2023-09-29 | 苏州浪潮智能科技有限公司 | 分布式存储系统的数据处理方法、系统、设备及存储介质 |
CN116820353B (zh) * | 2023-08-28 | 2024-01-26 | 苏州浪潮智能科技有限公司 | 分布式存储系统的数据处理方法、系统、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107632939B (zh) | 用于存储装置的映射表 | |
US9996435B2 (en) | Reliability scheme using hybrid SSD/HDD replication with log structured management | |
KR101086857B1 (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법 | |
CN104182353A (zh) | 一种采用不同存储介质的数据存储系统 | |
US8924659B2 (en) | Performance improvement in flash memory accesses | |
CN102511044B (zh) | 一种数据删除方法及装置 | |
US20070288711A1 (en) | Snapshot copy management method used for logic volume manager | |
US20150347310A1 (en) | Storage Controller and Method for Managing Metadata in a Cache Store | |
US8832356B2 (en) | Apparatus and method for flash memory address translation | |
US8694563B1 (en) | Space recovery for thin-provisioned storage volumes | |
CN104572478A (zh) | 数据存取方法和数据存取装置 | |
US9122586B2 (en) | Physical-to-logical address map to speed up a recycle operation in a solid state drive | |
US10649891B2 (en) | Storage device that maintains mapping data therein | |
CN104854554A (zh) | 储存转换层 | |
US20170364447A1 (en) | Read cache management | |
CN103049224B (zh) | 将数据导入物理磁带的方法、装置和系统 | |
US8862819B2 (en) | Log structure array | |
CN108182154A (zh) | 一种基于固态硬盘的日志文件的读写方法及固态硬盘 | |
CN104850355A (zh) | 存储装置、存储系统及存储装置的地址信息处理方法 | |
KR20110139956A (ko) | 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법 | |
CN110895513A (zh) | 一种系统垃圾回收方法和固态硬盘中的垃圾回收方法 | |
US20080147970A1 (en) | Data storage system having a global cache memory distributed among non-volatile memories within system disk drives | |
US10031689B2 (en) | Stream management for storage devices | |
CN105068896B (zh) | 基于raid备份的数据处理方法及装置 | |
US20100131469A1 (en) | Storage management device and file deletion control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141203 |
|
WD01 | Invention patent application deemed withdrawn after publication |