CN101515255A - 一种数据的存储方法和存储装置 - Google Patents
一种数据的存储方法和存储装置 Download PDFInfo
- Publication number
- CN101515255A CN101515255A CNA2009101294209A CN200910129420A CN101515255A CN 101515255 A CN101515255 A CN 101515255A CN A2009101294209 A CNA2009101294209 A CN A2009101294209A CN 200910129420 A CN200910129420 A CN 200910129420A CN 101515255 A CN101515255 A CN 101515255A
- Authority
- CN
- China
- Prior art keywords
- memory
- data
- blank
- storage
- memory block
- 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
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例公开了一种数据的存储方法,该方法包括:根据接收到的写请求,获取不在同一个缓存板上的至少两个空白内存块,每个缓存板包括多于1个的空白内存块;将数据存储到所述获取的至少两个空白内存块中,所述内存块中存储的数据是相同的数据;将所述至少两个内存块中的其中一个内存块中的数据发送给存储介质。本发明实施例还提供一种存储装置。本发明技术方案当有Cache板损坏不能使用时,不用构建各个Cache板之间的镜像关系,而是接收到主机发送的写请求之后,获取不在同一个Cache板上的至少两个空白内存块,将主机发送的数据存储到所述获取的内存块中,从而提高了存储设备的工作效率。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种数据的存储方法和存储装置。
背景技术
在数据的存储***运行中,存储***的可靠性是非常重要的,因为数据的丢失所造成的损失是难以挽回的。现阶段,存储***中缓存(Cache)模块在解决处理器与硬盘之间因处理速度不同所引起的矛盾上发挥了重要作用,主要表现在:一是在用户写操作时,当用户的写数据写入Cache模块中时,***就会响应写操作完成,用户执行下一个想要执行的操作,此时,在存储***内部,Cache模块中用户的写数据每隔一段时间被集中写入存储介质(存储介质通常是磁盘、硬盘)。二是在用户读操作时,由于Cache模块中存放了读取频率较高的数据,因此,用户的读取数据的请求可以不需要访问存储介质,而直接从Cache模块中读取,解决了物理磁盘读取速度慢的问题。为了防止Cache模块中存储的需要写入存储介质中的数据丢失,需要对Cache模块中存储的需要写入存储介质中的数据备份,将存储在Cache模块中且还没有存储到存储介质中的数据(即脏数据Dirty Data)进行备份,防止在将脏数据存储到磁盘时,发生数据丢失,而导致数据的永久丢失。
为了易于理解现有技术中对Cache模块中的脏数据备份的方法,首先对存储***中的逻辑架构做说明,参见图1所示,为一种可以实现Cache模块中的脏数据备份的存储***逻辑架构,该存储***中包含有控制器A和控制器B,每个控制器的结构相同,都包括控制模块、用户接口模块、Cache模块和磁盘接口模块,用户要写入的数据通过用户接口模块写入Cache模块,成为了脏数据,脏数据通过磁盘接口模块写入到磁盘中,以上所说的过程通过控制模块来控制。控制器A中Cache模块中的脏数据通过镜像通道,备份到控制器B中的Cache模块中,同理,控制器B中Cache模块中的脏数据也可以通过镜像通道,备份到控制器A中的Cache模块中。为了便于以下的说明,需要理解的Cache模块在物理实现上为Cache板,即Cache模块与Cache板是相同,全文都有这样的理解。
现有高端的存储设备中,通常有多个控制器,每个存储器的结构与控制器A相似,控制器中Cache模块的脏数据通过循环镜像方法来实现备份。参见图2所示,图中的箭头表示数据备份或者镜像的存储地址,前一个Cache板中的脏数据镜像到后面一个Cache板中,最后一个Cache板中的脏数据镜像到第一个Cache板中。多于两个控制器的存储设备中的各控制器根据该循环镜像关系,执行对脏数据的备份。当多个Cache板中有一个损坏,假设为图2中Cache板2,该Cache板2中的数据被及时的存储到存储介质中,在没有新的Cache板替换该损坏的Cache板2时,需要构建Cache板1和Cache板3之间的镜像关系,即将Cache板1中的写数据存储到Cache板3中;当有新的Cache板替换损坏的Cache板2时,需要构建Cache板1和新Cache板、新Cache板和Cache板3这两个镜像关系,即将Cache板1中的写数据镜像到新Cache板中,配置将新Cache板接收到的写数据镜像到Cache板3中的信息。
在对现有技术的研究和实践过程中,本发明的发明人发现,这种具有多个控制器的存储设备中,如果其中某个控制器中的Cache板损坏了,在用好的Cache板替换损坏的Cache板之前和之后,都需要重新构建各Cache板之间的镜像关系,不利于提高存储设备的工作效率。
发明内容
本发明实施例提供一种数据的存储方法和存储装置,打破各Cache板之间固定的镜像关系,实现提高存储设备工作效率的目的。
本发明实施例提供一种数据的存储方法,包括:
根据接收到的写请求,获取不在同一个缓存板上的至少两个空白内存块,每个缓存板包括多于1个的空白内存块;
将数据存储到所述获取的至少两个空白内存块中,所述内存块中存储的数据是相同的数据;
将所述至少两个空白内存块中的其中一个内存块中的数据发送给存储介质。
本发明实施例还提供一种数据的存储装置,包括:
存储单元,包括多于至少两个的缓存板,每个缓存板包括多于1个的内存块;
接收单元,用于接收写请求;
获取单元,用于根据接收到的写请求,获取不在同一个缓存板上的至少两个空白内存块,将数据存储到所述获取的至少两个空白内存块中,所述至少两个内存块中存储的数据是相同的数据;
第一发送单元,用于将所述至少两个内存块中的其中一个内存块中的数据发送给存储介质。
本发明实施例采用存储装置将数据分别写入不属于同一Cache板的至少两个空白内存块中,由于每次写入数据之前获取的空白内存块是从各个Cache板组成的可以使用的存储空间中的内存块,不是固定属于某个Cache板,当有Cache板损坏不能使用时,不需要重新构建各个Cache板之间的镜像关系,而是在接收到写请求之后,才需要获取不在同一个缓存Cache板上的至少两个空白内存块,将数据存储到所述获取的至少两个内存块中,从而提高了存储设备的工作效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是现有技术中具有两个控制器的存储装置实现镜像的简易逻辑架构;
图2是现有技术中具有多于两个控制器的存储装置中数据备份的简易逻辑图;
图3是本发明实施例一提供的一种数据的存储方法的简易流程图;
图4是本发明实施例一中表示内存块之间镜像关系的示意简图;
图5是本发明实施例二提供的一种数据的存储方法的简易流程图;
图6是本发明实施例三提供的一种存储装置的逻辑单元图;
图7是本发明实施例四提供的一种存储装置的模块图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明实施例提供了一种数据的存储方法,参见图3所示,该方法包括:
步骤1:接收写请求;
其中,步骤1中存储装置接收到的写请求可以是由主机直接发送的,也可以是主机通过网络转发到该存储装置的。
步骤2:根据接收到的写请求,获取不在同一个缓存Cache板上的至少两个空白的内存块,每个Cache板包括多于1个的内存块;
其中,步骤2中的Cache板与Cache模块可以认为是相同的,多个Cache模块在物理实现上可以是多个Cache板,每个Cache板上的存储空间又可以划分为多个内存块。如图4所示,可以认为每个Cache板分为三部分,包括:读空间、写空间和镜像空间,其中,镜像空间用于存储的数据是其他Cache板中的写数据的备份。如图4所示,假设该存储设备中包括4个Cache板,该存储设备中的各Cache板不是固定的如现有技术中的镜像关系,而是将Cache板中的存储控制划分为更小的内存块,按照内存块之间的镜像,达到备份数据的目的。图4中的箭头表示两内存块的镜像关系。
在本发明实施例中Cache板被划分为多于1个的内存块,不同于现有技术中存储数据的内存资源是以Cache板为单位,在本实施例中存储数据的内存资源是以更小的内存块为单位,因此,不需要专门设置各Cache板之间的镜像关系,而是,在需要存储数据时,获取至少两个空白内存块,建立内存块之间的镜像关系。Cache板被划分的内存块越多,可用的内存资源越丰富。
还需要说明的是,获取不在同一个Cache板上的至少两个空白的内存块可以是在随机的、哈希(HASH)算法或者按照Cache板的负荷状况的其中任一种方法,选择不是同一个Cache板上的内存块。
步骤3:将数据存储到获取的至少两个空白内存块,使得内存块中每块存储的数据相同;
其中,步骤3中主机发送的、或者网络中传输设备发送的数据要通过存储装置中的用户接口,使得主机发送的数据被存储到获取的内存块中。两个或者两个以上的内存块中被写入的数据是相同的,两个或者两个以上的内存块中的数据互为镜像(或者互为备份)。
步骤4:将执行完成步骤3后的至少两个内存块中其中一个内存块中的数据发送给存储介质。
通过步骤4,将缓存板中的数据存储到存储介质(如磁盘)中,实现了对数据的可靠存储。
通过以上对本发明实施例提供的一种数据的存储方法的说明,存储装置将主机发送的数据分别写入不属于同一Cache板的两个或者两个以上内存块中,由于每次写入数据之前获取的空白内存块是从各个Cache板组成的可以使用的存储空间中的内存块,不是固定属于某个Cache板,当有Cache板损坏不能使用时,不需要重新构建各个Cache板之间的镜像关系,而是在接收到主机发送的写请求之后,才需要获取不在同一个缓存Cache板上的两个或者两个以上空白内存块,将主机发送的数据存储到所述获取的两个或者两个以上内存块中,从而提高了存储设备的工作效率。
需要说明的是,该方法还可以包括:
步骤5:保存获取的至少两个空白内存块之间的镜像关系;
需要说明的是,步骤2中获取的至少两个空白内存块是用来为存储相同的数据,即对数据备份,因此,不同与现有技术中存储器中约定的镜像关系,在步骤4中需要建立两个或者两个以上内存块的镜像关系,保证一个内存块在将数据写入存储介质(例如:磁盘)发送错误时,根据该镜像关系可以获取到备份数据,再将备份数据写入存储介质,避免数据丢失。
建立镜像关系可以是建立两个或者两个以上内存块之间的对应关系,当获知到其中一个内存块的地址或者标识,就可以获知与其镜像的内存块的地址。
通过以上对该方法增加步骤5,使得存储设备在写操作错误时,可以容易的获取备份的数据,避免数据丢失。
实施例二
本发明实施例提供了一种数据的存储方法,该方法与实施例一相似,都可以实现当存储装置中有Cache板损坏时,替换后Cache板被作为内存块资源,而不需要立即构建新Cache板的镜像关系。本实施例是实施例一的具体说明,下面对该实施例做说明。
结合图5对本实施例做说明,该方法包括:
步骤A1:接收主机发送的写请求;
步骤A1中主机发送的写请求可以是主机直接发送给存储装置的,也可以是主机通过某个网络(如某个局域网)发送给存储装置的。
步骤A2:根据接收到的写请求,判断各个Cache板的负荷是否相同,如果是,进入步骤A3,如果否,进入步骤A4;
其中,需要说明的是,Cache板按照存储数据的用途可以分为三部分,包括:读空间、写空间和镜像空间。因此,Cache板上的负荷包括三种:一是存储在Cache板上,要发送给主机读的数据;二是存储在Cache板上要写入磁盘的数据;三是防止写操作时数据丢失的镜像数据,即备份数据。存储装置中判断每个Cache板上负荷是否一样,可以具体是判断每个Cache板上存储空间的利用率,利用率高的Cache板的负荷重,利用率低的Cache板的负荷轻。
步骤A3:任意选择两个Cache板,从这两个Cache板中获取各一个空白的内存块,进入步骤A5;
步骤A4:选择负荷按照由轻到重的顺序,排列在第一和第二的两个Cache板,从这两个Cache板中获取各一块空白的内存块,进入步骤A5;
其中,还需要说明的是,步骤A3或者步骤A4中获取的属于不同Cache板上的两个空白内存块的存储空间通常是相同大小,即一种简单的做法是在该存储装置中每个Cache板上划分的内存块的存储空间大小都相同,每个内存块的存储空间大小的具体数值可以根据设计要求来设定,通常,将Cache板划分的内存块越多,使得存储数据的内存资源更丰富,不需要专门建立Cache板之间的内存关系,而是根据需要存储内存块之间的镜像关系,提高了存储装置的工作效率。
步骤A5:将数据分别存储到获取的两个空白内存块中,其中,两个内存块中存储的数据相同;
步骤A6:将步骤A5中存储有数据的两个内存块中的其中一个内存块中的数据发送给磁盘。
通过步骤A6将缓存中的数据存储到存储设备中。
本实施例提供的方法可以实现与实施例一相同技术效果,即将主机发送的数据分别写入不属于同一Cache板的两个空白内存块中;当某个Cache板损坏、且被好的Cache板替换时,替换后的新Cache板被作为内存块资源,不需要重新构建镜像关系,而是当有数据要写入时,才需要获取两个空白内存块,提高了存储装置的工作效率。该方法中通过判断存储装置中各Cache板的负荷状况,选择获取不同在一个Cache板上的两个空白内存块,可以实现各Cache板上的负荷均衡,提高的存储装置的性能。
还需要说明的是,为了保证在数据丢失时,可以迅速的获取到备份的数据,该方法还进一步包括:
步骤A7:保存两个内存块之间的镜像关系;
其中,步骤A7中保存的镜像关系具体可以是:建立两个内存块之间的对应关系,当获取其中一个内存块的地址获取标识,就可以获取与之镜像的内存块的地址,从而方便存储设备获取到备份数据(或者镜像的数据)。
还需要说明的是,存储装置在执行一次将主机发送的数据存储到磁盘的过程中,内存块的存储大小通常是固定的,因此,可能会出现主机发送的数据的大小超出了一个内存块的存储容量,因此,该方法还包括:
步骤A8:判断主机发送的数据是否超过了获取的一个内存块的容量,如果是,进入步骤A2;如果否,则进入步骤A8或者结束操作。
因此,内存块的存储空间大小还应该考虑每次脏数据的大小,对于一次写入的脏数据较大的情况,将超出内存块容量的数据再循环执行获取空白内存块,使得该方法更完善。
步骤A9:发送写完成响应给主机。
通过增加步骤A9,方便主机根据该写完成响应执行其他操作。
以上对步骤A1至A9的说明,使得存储设备在有Cache板损坏时,替换的新Cache板不需要重新构建镜像关系,而是当有数据写入时,将新Cache板上的存储空间作为内存块资源,以备后续操作使用;通过判断并且选择负荷轻的Cache板,使得Cache板上的负荷均衡,提高了存储装置的性能;
实施例三
本发明实施例提供了一种存储装置,参加图6所示,该存储装置包括:接收单元100、获取单元200、存储单元300和第一发送单元600a。
其中,接收单元100,用于接收主机发送的写请求;
获取单元200,用于根据写请求,获取不在同一个缓存Cache板上的至少两个空白的内存块,将数据存储到所述获取的至少两个空白内存块中,所述至少两个内存块中存储的数据是相同的数据;
存储单元300,包括多于两个的缓存板,每个缓存板包括多于1个的内存块;;
第一发送单元600a,用于将至少两个存储有数据的其中一个内存块中的数据发送给存储介质。
需要说明的是,存储单元300中包括2个以上的Cache板,每个Cache板上包括多于1个内存块。
接收单元100接收到主机发送的写请求后,通知获取单元200,获取单元200根据接收到的写请求,获取不是同一个缓存Cache板上的至少两个空白内存块,其中,每个Cache板上包括多于1个的内存块,将主机发送的数据存储到获取的两个或者两个以上的内存块中,且两个或者两个以上的内存块中存储的数据相同,因此,两个或者两个以上的内存块中的数据成互为镜像数据,当一个Cache板损坏时,存储装置可以从镜像的内存块中获取到数据,将数据再存储到存储介质(如磁盘),从而避免了数据丢失。
通过以上对本实施例的说明,该存储装置根据获取单元200获取的不在同一个Cache板上的至少两个空白的内存块,将主机发送的数据分别写入获取的每个获取的内存块中,将其中一个内存块中的数据通过第一发送单元600a发送给存储介质。由于每次写入数据之前获取的空白内存块是从各个Cache板组成的可以使用的存储空间中的内存块,不是固定属于某个Cache板,当有Cache板损坏不能使用时,不需要重新构建各个Cache板之间的镜像关系,而是在接收到主机发送的写请求之后,获取单元200才获取不在同一个缓存Cache板上的至少两个空白内存块,将主机发送的数据存储到所述获取的内存块中,从而提高了存储设备的工作效率。
可选的,该存储装置中的获取单元200可以具体包括:判断负荷单元201和选择单元202。
其中,判断负荷单元201,用于根据接收到的写请求,判断各个Cache板的负荷是否一样;当判断负荷单元201中判断各Cache板上的负荷相同,则通知选择单元202,选择单元202任意选择不是同一Cache板上各一块空白内存块;当判断负荷单元201中判断出个Cache板上的负荷不同时,选择单元202选择负荷按照由轻到重的顺序,排列在第一和第二的两个Cache板上的各一块空白内存块。
由于获取单元200中根据判断负荷单元201中的判断各Cache板上的负荷是否相同,由选择单元202选择负荷轻的Cache板上的空白内存块,使得各Cache板上的负荷均衡,提高了存储装置的***性能。
可选的,该存储装置还可以包括:
存储关系单元400,用于保存获取的两个内存块之间的镜像关系。
其中,存储关系单元400存储获取的两个内存块之间的镜像关系,以便于当有一个Cache板损坏时,可以容易的获取到备份的数据。
可选的,该存储装置还可以包括:
判断溢出单元500,用于判断主机发送的数据的大小是否超过获取的一个内存块的容量;
第二发送单元600b,用于当判断溢出单元500中判断出数据的大小没有超过获取的一个内存块的容量时,发送写完成响应给主机。
其中,如果数据的大小超过了获取的一个内存块的容量,通知获取单元200,再获取两个不同在一个Cache板上的空白内存块,具体可以是如果数据大小超过了一个内存块的容量,判断溢出单元500将该结果通知获取单元200中的判断负荷单元201;如果数据的大小没有超过一个内存块的容量,则结束操作,或者通知第二发送单元600b;第二发送单元600b发送写完成响应给主机。其中,由于两个块的存储空间通常是相同的,且获取的两个内存块中的存储的数据是相同的,当主机发送的数据大小超过一个内存块的容量时,当然与之镜像的内存块中数据大小也超过了内存块的容量。因此,需要循环执行获取空白内存块,将数据存储到内存块中。
通过增加判断溢出单元500和发送单元600,使得该存储装置更智能,为用户提供更高的用户体验。
实施例四
本实施例提供一种存储装置,该实施例与实施例三提供的一种存储装置相似,参见图7所示,该存储装置10包括:接口模块101、交换模块102、管理模块103,缓存Cache板104和磁盘节点105。
其中,接口模块101用于接收主机或者网络的传输设备发送的写请求,与实施例三中的接收模块功能相似。外部的设备可以是主机,或者网络中的传输设备。接口模块101中包括多个接口模块,如图中接口模块101a,接口模块101b,接口模块101c,接口模块101d,通常不同的接口模块代表不同主机与存储装置的通信协议,如:接口模块101a采用光纤通道(FC,Fiber Channel)与主机进行通信,接口模块101b采用串行接口(SAS,Serial Attached SCSI)与主机通信等。需要主机与存储装置的通信协议还有多种,此处不做限定。
交换模块102可以包含多个,如图交换模块102a和交换模块102b,此处以接口模块101a为例,交换模块102a根据管理模块103中的策略,将接口模块101a发送来的数据发送到对应的Cache板,或者,将Cache板上的数据发送的数据发送到对应的接口模块101a,从接口模块101a中传输出该存储装置,其余接口模块与接口模块101a的功能相同;交换模块102b根据管理模块103中的策略,将不同的Cache板上的数据,由该交换模块102b发送到的对应的磁盘节点105中存储,交换模块可以与现有技术中的说明相似。
Cache板104至少为2个以上,可以将多个Cache板形成的存储空间称为存储单元,该存储单元与实施例三中的存储单元有相似的说明。每个Cache板都用于存储数据,磁盘节点105可以是一个,也可以是多个,用于存储数据,磁盘节点也称为存储介质。其中,Cache板存储数据和Disk Node存储的数据的关系是公知常识,此处不赘述。
管理模块103控制该存储装置中的其他模块,具体说明包括:存储装置通过其接口模块101接收到主机发送的写请求后,管理模块103根据该写请求,获取不在同一个Cache板上的两个空白内存块,每个Cache板包括多于1个的内存块;管理模块103控制将主机发送的数据存储到获取的两个空白内存块中,管理模块103将存储有数据的两个内存块中的其中一个内存块上的数据发送给磁盘节点,磁盘节点接收其中一个内存块发送的数据,且存储在磁盘节点中。
需要理解的时,通过以上说明管理模块103中包括了实施例三中说明的获取单元200,该管理模块103中还可以包括实施例三中的判断溢出单元和发送单元。但是,需要理解的是,该管理模块103不可以简单的认为是实施例三中的获取单元200,该管理模块还可以包括:判断溢出单元500、第一发送单元600a和第二发送单元600b,该管理模块103是该存储装置中的控制中心。
为了方便理解,图7中还对该存储装置以外的逻辑架构进行的描绘,即一个或者多个主机70,可以通过某个网络80连接到该存储装置,使得主机可以与该存储装置通信。
通过以上对本实施例提供的一种存储装置的说明,该存储装置中的管理模块103将主机发送的数据分别写入不属于同一Cache板的两个内存块中,由于每次写入数据之前,管理模块103获取的空白内存块是从各个Cache板组成的可以使用的存储空间中的内存块,不是固定属于某个Cache板,当有Cache板损坏不能使用时,不需要重新构建各个Cache板之间的镜像关系,而是在接收到主机发送的写请求之后,才需要获取不在同一个缓存Cache板上的两个空白内存块,将主机发送的数据存储到所述获取的两个空白内存块中,从而提高了存储设备的工作效率。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例所提供的一种数据的存储方法以及响应的装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1、一种数据的存储方法,其特征在于,包括:
根据接收到的写请求,获取不在同一个缓存板上的至少两个空白内存块,每个缓存板包括多于1个的空白内存块;
将数据存储到所述获取的至少两个空白内存块中,所述内存块中存储的数据是相同的数据;
将所述至少两个内存块中的其中一个内存块中的数据发送给存储介质。
2、根据权利要求1所述的方法,其特征在于,所述根据接收到的写请求,获取不在同一个缓存板上的至少两个空白内存块,每个缓存板包括多于1个的内存块,进一步包括:
根据接收到的写请求,和预置的哈希算法,获取不在同一个缓存板上的至少两个空白的内存块。
3、根据权利要求1所述的方法,其特征在于,所述根据接收到的写请求,获取不在同一个缓存板上的至少两个空白内存块,每个缓存板包括多于1个的内存块,进一步包括:
根据接收到的写请求,判断各个缓存板上的负荷是否相同,如果判断结果是各个缓存板上的负荷不相同,则从负荷按照由轻到重的顺序,排列在第一和第二的两个缓存板中各获取一块空白内存块。
4、根据权利要求3所述的方法,其特征在于,当所述判断各个缓存板上的负荷为相同时,所述方法还包括:从任意至少两个缓存板上各获取一块空白内存块。
5、根据权利要求1、3或4任一项所述的方法,其特征在于,所述方法还包括:
判断数据的大小是否超过所述获取的至少两个空白内存块中的其中一块内存块的容量,如果是,重复执行所述获取不在同一个缓存板上的至少两个空白内存块的步骤。
6、根据权利要求5所述的方法,其特征在于,当所述判断数据大小没有超过所述获取的至少两个空白内存块中的其中一块内存块的容量时,所述方法还包括:发送写完成响应给所述主机。
7、根据权利要求1所述的方法,其特征在于,所述方法还包括:
保存所述获取的至少两个空白内存块之间的镜像关系。
8、一种存储装置,其特征在于,包括:
存储单元,包括多于至少两个的缓存板,每个缓存板包括多于1个的内存块;
接收单元,用于接收写请求;
获取单元,用于根据接收到的写请求,获取不在同一个缓存板上的至少两个空白内存块,将数据存储到所述获取的至少两个空白内存块中,所述至少两个内存块中存储的数据是相同的数据;
第一发送单元,用于将所述至少两个内存块中的其中一个内存块中的数据发送给存储介质。
9、根据权利要求8所述的存储装置,其特征在于,所述获取单元进一步包括:
判断负荷单元,用于根据接收到的写请求,判断各个缓存板上的负荷是否相同;
选择单元,用于当所述判断负荷单元中的判断结果为各个缓存板上的负荷不相同时,从负荷按照由轻到重的顺序,排列在第一和第二的两个缓存板中各获取一块空白内存块。
10、根据权利要求9所述的存储装置,其特征在于,选择单元还用于当所述判断负荷单元中的判断结果为各个缓存板上的负荷相同时,从任意至少两个缓存板上各获取一块空白内存块。
11、根据权利要求8至10任一项所述的存储装置,其特征在于,所述存储装置还包括:
判断溢出单元,用于判断数据大小是否超过所述获取的至少两个空白内存块中的其中一块内存块的容量,如果是,通知所述获取单元。
12、根据权利要求11所述的存储装置,其特征在于,所述存储装置还包括:
第二发送单元,用于当所述判断数据的大小是否超过所述获取的至少两个空白内存块中的其中一块内存块的容量,发送写完成响应给所述主机。
13、根据权利要求8所述的存储装置,其特征在于,所述存储装置还包括:
存储关系单元,用于保存所述获取的至少两个空白内存块之间的镜像关系。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009101294209A CN101515255A (zh) | 2009-03-18 | 2009-03-18 | 一种数据的存储方法和存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2009101294209A CN101515255A (zh) | 2009-03-18 | 2009-03-18 | 一种数据的存储方法和存储装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101515255A true CN101515255A (zh) | 2009-08-26 |
Family
ID=41039717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2009101294209A Pending CN101515255A (zh) | 2009-03-18 | 2009-03-18 | 一种数据的存储方法和存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101515255A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102640118A (zh) * | 2009-10-16 | 2012-08-15 | 赛门铁克公司 | 用于高效文件存储的具有多个索引的去重复存储*** |
CN102880277A (zh) * | 2012-09-05 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 一种双控磁盘阵列不间断电源冗余保护方法 |
WO2014000300A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 数据缓存装置、数据存储***及方法 |
CN105045685A (zh) * | 2015-08-04 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 缓存数据的备份方法及装置、缓存数据的恢复方法及装置 |
CN107678689A (zh) * | 2017-09-27 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种数据写入的方法及装置 |
CN108984104A (zh) * | 2017-06-02 | 2018-12-11 | 伊姆西Ip控股有限责任公司 | 用于缓存管理的方法和设备 |
-
2009
- 2009-03-18 CN CNA2009101294209A patent/CN101515255A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102640118A (zh) * | 2009-10-16 | 2012-08-15 | 赛门铁克公司 | 用于高效文件存储的具有多个索引的去重复存储*** |
CN102640118B (zh) * | 2009-10-16 | 2015-09-09 | 赛门铁克公司 | 用于高效文件存储的具有多个索引的去重复存储*** |
WO2014000300A1 (zh) * | 2012-06-30 | 2014-01-03 | 华为技术有限公司 | 数据缓存装置、数据存储***及方法 |
CN102880277A (zh) * | 2012-09-05 | 2013-01-16 | 浪潮(北京)电子信息产业有限公司 | 一种双控磁盘阵列不间断电源冗余保护方法 |
CN105045685A (zh) * | 2015-08-04 | 2015-11-11 | 浪潮电子信息产业股份有限公司 | 缓存数据的备份方法及装置、缓存数据的恢复方法及装置 |
CN108984104A (zh) * | 2017-06-02 | 2018-12-11 | 伊姆西Ip控股有限责任公司 | 用于缓存管理的方法和设备 |
CN108984104B (zh) * | 2017-06-02 | 2021-09-17 | 伊姆西Ip控股有限责任公司 | 用于缓存管理的方法和设备 |
CN107678689A (zh) * | 2017-09-27 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种数据写入的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101055511B (zh) | 一种存储阵列***及其数据操作方法 | |
US20090049240A1 (en) | Apparatus and method for storage management system | |
CN101515255A (zh) | 一种数据的存储方法和存储装置 | |
CN106066890B (zh) | 一种分布式高性能数据库一体机*** | |
CN105242881A (zh) | 分布式存储***及其数据读写方法 | |
CN103257941B (zh) | 多协议存储控制器和*** | |
CN101808127B (zh) | 数据备份方法、***和服务器 | |
CN105934793A (zh) | 一种存储***数据分发的方法、分发装置与存储*** | |
US9336093B2 (en) | Information processing system and access control method | |
CN102215268A (zh) | 一种迁移文件数据的方法和装置 | |
KR20170027921A (ko) | 인터페이스 회로들, 메모리 모듈들 및 인터페이스 회로들과 메모리 모듈들을 연결하는 스위치 회로를 포함하는 서버 장치 | |
CN104424052A (zh) | 一种自动冗余的分布式存储***及方法 | |
CN111309245B (zh) | 一种分层存储写入方法和装置、读取方法和装置及*** | |
CN107329704A (zh) | 一种缓存镜像方法及控制器 | |
CN103902475A (zh) | 一种基于队列管理机制的固态硬盘并行访问方法及装置 | |
CN103577125A (zh) | 一种应用于高端磁盘阵列的跨控制器组写镜像方法和装置 | |
CN117632808B (zh) | 多控存储阵列、存储***、数据处理方法以及存储介质 | |
CN103778120A (zh) | 全局文件标识生成方法、生成装置及相应的分布式文件*** | |
CN105930357A (zh) | 分布式文件***及数据节点数据存储处理的方法、装置 | |
CN101510837B (zh) | 以太网桥设备、迁移聚合口地址的方法及装置 | |
US8156294B2 (en) | Apparatus and method for controlling storage buffers | |
CN103139098A (zh) | 数据传输控制方法、装置和***以及光纤通道交换机 | |
CN102982033A (zh) | 小文件的存储方法及*** | |
CN105068896B (zh) | 基于raid备份的数据处理方法及装置 | |
CN104572374A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Open date: 20090826 |