一种存储器故障处理方法及装置与流程

文档序号:20016984发布日期:2020-02-25 10:43阅读:494来源:国知局
一种存储器故障处理方法及装置与流程

本申请涉及存储技术领域,尤其涉及一种存储器故障处理方法及装置。



背景技术:

内存作为设备中一个重要组件,能够存放设备中处理器运算所需要的数据,并且还能够与设备中的硬盘等外部存储器进行数据交换。

当设备在运行过程中,处理器可以先将运算所需要的数据调到内存中,处理器从内存中获取运算所需要的数据进行运算,若内存中的数据出错则会影响到设备的整体运行。

传统的内存为易失性内存,也就是在设备掉电时,内存中的数据会丢失,导致设备无法正常运行。为了保证内存中数据能够在设备掉电后仍然存在,衍生出了持久化内存,例如数据中心级持久性内存(datacenterpersistentmemory,dcpmm),dcpmm在业界也被称为直流持久化内存,持久化内存的容量更大,且读写速度接近于易失性内存。

虽然持久化内存能够长时间的存储数据,但同样也面临数据可靠性的问题,例如当持久化内存发生性能故障时,会导致处理器不能从持久化内存中获取数据进行运算,进而使得设备不能正常运行。

综上,亟需一种适用于持久化内存的有效保证数据可靠性的方法。



技术实现要素:

本申请提供一种存储器故障处理方法及装置,用以提供一种能够保证dcpmm中数据可靠性的方法。

第一方面,本申请提供了一种存储器故障处理方法,该应用于包括第一存储控制器和第二存储控制器的设备中,第一存储控制器管理第一存储器,第二存储控制器管理第二存储器;这里并不限定第一存储器和第二存储器的数量,可以是一个,也可以是多个。第二存储控制器管理的第二存储器形成的存储空间为第一存储控制器管理的第一存储器的存储空间的备份空间,该方法包括:当发现第一存储控制器管理的第一存储器发生故障时,将设备的数据读写操作从第一存储控制器管理的第一存储器形成的存储空间转移至第二存储控制器管理的第二存储器形成的存储空间。

通过上述方法,以存储控制器(第一存储控制器和第二存储控制器)所管理存储器形成的存储空间为粒度作主备存储空间,适用于dcpmm作为存储器(如第一存储器或第二存储器)的场景;另外在其中一个存储控制器所管理的存储器发生故障时,将该设备的数据读写操作切换到另一个管理器所管理的存储空间,能够保证数据的可靠性。

在一种可能的实现方式中,在该设备中,还可以利用第二存储控制器管理的第二存储器中的数据对第一存储控制器管理的第一存储器中的故障数据进行数据回写,对发生故障的第一存储器的数据进行恢复。

若回写成功,在设备下次上电之后,可以将设备的数据读写操作切换至第一存储控制器管理的第一存储器形成的存储空间。

通过上述方法,可以有效的对发生故障的第一存储器的数据进行恢复,使第一存储控制器所管理的第一存储器所形成的存储空间能够恢复正常,便于该设备能够继续对第一存储控制器所管理的第一存储器所形成的存储空间进行数据读写。

在一种可能的实现方式中,若回写失败,该设备可以发出告警信息,告警信息用于指示第一存储器发生故障。

通过上述方法,若无法对发生故障的第一存储器的数据进行恢复,可以及时提醒用户,以便用户可以及时发现设备中第一存储器的故障,对故障的第一存储器进行更换。

在一种可能的实现方式中,第一存储控制器管理dcpmm,第二存储控制器管理dcpmm。也就是说,第一存储器和第二存储器均为dcpmm,第一存储控制器和第二存储控制器为内存控制器,例如内存控制器可以为imc。

通过上述方法,以内存控制器所管理dcpmm形成的存储空间为粒度作主备存储空间,能够较好的保证dcpmm中数据的可靠性,适用于dcpmm不同插法,且由于dcpmm本身具备较好的读写速率,使得该种情况下,设备整体的数据读取效率较高,能够保证设备的整体性能不受影响。

在一种可能的实现方式中,第一存储控制器管理dcpmm,第二存储控制器管理多个磁盘,第一存储控制器为内存控制器,第二存储控制器为raid卡。

通过上述方法,能够保证内存控制器所管理的dcpmm中数据的可靠性,且在该种情况下,利用多个磁盘所形成的存储空间作为备份空间,而不是使用内存控制器所管理的部分dcpmm所形成的存储空间作为备份空间,能够有效节约成本。

在一种可能的实现方式中,在该设备中可以将第一存储控制器管理的多个第一存储器的存储空间映射为第一存储控制器的逻辑空间,建立第一存储器的存储空间的地址映射为第一存储控制器的逻辑空间的地址的映射关系,这样第一存储控制器在将数据存储在第一存储器时,可以为数据分配逻辑空间的地址,这样可能将数据较为均匀的分布在各个第一存储器中,实现第一存储器管理的多个第一存储器的数据均衡。

在一种可能的实现方式中,第一存储控制器管理的第一存储器发生故障之前,可以对第一存储器控制器管理的第一存储器进行故障检测。设备中可以设置一种默认的功能,当设备初始启动时,可以启动该功能,该功能包括对故障检测功能,还指示在检测到第一存储器发生故障时,利用备份空间的数据对第一存储器进行数据回写。

通过上述方法,提前启动故障检测功能,能够及时发现存在故障的第一存储器,当第一存储器发生故障时,可以及时的进行数据回写,确保数据的可靠性,保证设备可以正常运行。

在一种可能的实现方式中,第一存储控制器管理的第一存储器发生故障之前,在启动设备时,可以提示用户选择主备存储空间的模式,如第一模式或第二模式,第一模式可以为能够保证读写效率的性能模式(对应第一存储器和第二存储器均为dcpmm,第一存储控制器和第二存储控制器均为内存控制器的情况),第二模式可以为能够节约成本的成本模式(对应第一存储器为dcpmm,第一存储控制器为内存控制器,第二存储器为磁盘,第二存储控制器为raid卡的情况)。用户可以选择所需要的模式,并触发指令,该指令用于指示配置第一模式或第二模式。当设备接收到用户触发的指令后,响应于用户触发的指令,配置第一模式或第二模式;在配置第一模式或第二模式时,可以对第一存储控制器管理的第一存储器所形成的存储空间和第二存储控制器管理的第二存储器所形成的存储空间进行地址映射,将第一存储控制器管理的第一存储器所形成的存储空间配置为主存储空间,将第二存储控制器管理的第二存储器所形成的存储空间配置为备存储空间。

通过上述方法,能够根据用户触发的指令,灵活的配置不同模式下的主备存储空间,给予用户较多的选择,提升用户体验,通过地址映射的方式使得第一存储控制器管理的第一存储器所形成的存储空间和第二存储控制器管理的第二存储器所形成的存储空间之间存在关联。

在一种可能的实现方式中,在对第一存储控制器管理的第一存储器所形成的存储空间和第二存储控制器管理的第二存储器所形成的存储空间进行地址映射时,可以将第一存储控制器管理的第一存储器所形成的存储空间作为一个块,并将该块分为多个子块;将第二存储控制器管理的第二存储器所形成的存储空间作为一个块,并将该块分为多个子块;建立第一存储控制器管理的第一存储器所形成的存储空间的子块的地址与第二存储控制器管理的第二存储器所形成的存储空间的子块的地址之间一一对应的映射关系。

通过上述方法,通过划分子块的方式,对第一存储控制器管理的第一存储器所形成的存储空间和第二存储控制器管理的第二存储器所形成的存储空间进行地址映射,这种方式更加简单、高效。

第二方面,本申请实施例还提供了一种故障处理装置,有益效果可以参见第一方面的描述此处不再赘述。该设备具有实现上述第一方面的方法实例中行为的功能。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,故障处理装置的结构中包括检测单元和切换单元,还可以包括回写单元和配置单元,这些单元可以执行上述第一方面方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。

第四方面,本申请实施例还提供了一种设备,有益效果可以参见第一方面的描述此处不再赘述。设备的结构中包括处理单元、第一存储器以及第二存储器,处理单元被配置为支持设备执行上述第一方面方法中相应的功能。第一存储器和第二存储器与处理器耦合,第一存储器或第二存储器保存设备必要的程序指令和数据。设备的结构中还包括通信接口,用于与其他设备进行通信。

第五方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。

第六方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面的方法。

第七方面,本申请还提供一种计算机芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述各方面的方法。

附图说明

图1为本申请提供的一种存储器管理系统架构示意图;

图2为本申请提供的另一种存储器管理系统架构示意图;

图3为本申请提供的一种存储器管理系统配置方法示意图;

图4为本申请提供的一种存储器故障处理方法示意图;

图5为本申请提供的另一种存储器故障处理方法示意图;

图6为本申请提供的一种故障处理装置的结构示意图;

图7为本申请提供的一种设备的结构示意图。

具体实施方式

本申请实施例提供了一种存储器故障处理方法,本申请实施例中以存储控制器所管理的存储空间为粒度做镜像配置,将第一存储控制器所管理的第一存储器形成的存储空间作为主存储空间,第二存储控制器所管理的第二存储器所形成的存储空间为备存储空间,当第一存储控制器管理的第一存储器发生故障时,设备进行主存储空间与备存储空间切换,将设备的数据读写操作切换至备存储空间,并利用备存储空间中存储的数据对发生故障的第一存储器进行数据回写。本申请实施例利用存储控制器(第一存储控制器和第二存储控制器)所管理的存储器(第一存储器和第二存储器)的存储空间为粒度作主备存储空间,适用于dcpmm作为存储器(如第一存储器或第二存储器)的场景,能够保证dcpmm的数据可靠性,适用于多个dcpmm在设备中不同插法,有效的扩展了应用范围。

本申请实施例中两个存储控制器所管理的存储器(如第一存储器或第二存储器)的类型可以相同,也可以不同,例如其中两个存储控制器均可以管理多个dcpmm,又例如,一个存储控制器管理多个dcpmm,另一个存储控制器管理由多个磁盘构成的冗余磁盘阵列(redundantarrayofindependentdisks,raid)。下面介绍两种本申请适用设备中存储器的管理系统。本申请实施例中第一存储器或第二存储器也可以为除dcpmm或磁盘以外的其他类型的存储器,本申请实施例仅是以dcpmm或磁盘为例进行说明。

第一种,两个存储控制器均可以管理多个dcpmm,两个存储控制器可以为内存控制器(memorycontroller),内存控制器可以管理dcpmm,例如,能够读取dcpmm中的数据,还可以在dcpmm中写入数据,还可以将数据缓存在dcpmm中等。内存控制器可以设备中独立的模块,也可以是集成在设备中的处理器内,如集成在中央处理器(centralprocessingunit,cpu)。示例性的,内存控制器可以为集合内存控制器(integratedmemorycontroller,imc)。imc集成在处理器中,实现管理dcomm的功能,其中,包括对dcpmm进行初始化,以及对dcpmm进行数据读写、以及缓存操作。

本申请实施例仅是以内存控制器为imc为例,本申请实施例并不限定其他类型的内存控制器的具体形态,也不限定内存控制器需要集成在处理器中,凡是能够管理dcpmm的控制器均可以作为本申请中的内存控制器。

如图1所示,为本申请实施例提供的一种存储器管理系统架构示意图,该存储器管理系统位于设备中,该系统包括cpu100,本申请实施例提供的方法实施例中的各个步骤可以但不限于由cpu100执行。

cpu100中包括两个imc,分别为imc110和imc120。每个imc管理三个通道(channel),如imc110管理channel111、channel112、以及channel113。imc120管理channel121、channel122、以及channel123。每个channel中最多可以支持两个内存槽位,每个内存槽位可以插入一个dcpmm或一个动态随机存取存储器(dynamicrandomaccessmemory,dram)。

dcpmm是一种特殊的存储器,dcpmm采用通用双列直插式存储模块(dualinlinememorymodules,dimm)封装接口,在不同的模式下,可以作为非易失性内存或易失性内存。举例来说,dcpmm存在三种不同的模式,分为内存模式(memorymode,mm)、应用模式(appdirect,ad)以及混合模式(mix)。其中,内存模式下的dcpmm可作为易失性内存,应用模式下的dcpmm可作为非易失性内存,能够实现掉电数据不丢失;混合模式下的dcpmm部分存储空间可以作为非易失性内存,部分存储空间可以作为易失性内存。

imc中的各个channel下的内存槽位可以插入dcpmm,也可以不插入dcpmm,由于dcpmm的使用约束,在设备的内存条槽位上要求dram配合dcpmm应用插法,当前dcpmm根据容量用法总共支持15种规格插法。例如,imc中的各个dimm中均插入一个dcpmm,为一种插法;又例如,imc中的每个channel中只有一个dimm中插入dcpmm,也为一种插法。

在这种存储器管理系统架构下,可以将imc110所管理的多个dcpmm形成的存储空间(简称为imc110所管理的存储空间)和imc120所管理的存储空间中的一个imc所管理的存储空间配置为主存储空间,另一个imc所管理存储空间配置为备存储空间。也就是说将一个imc配置为主,另一个imc配置为备,设备的数据读写操作发生在主存储空间,同时在备存储空间中保存主存储空间中的数据备份。

作为一种可能的实施方式,为了保证主存储空间和备存储空间中的数据可以较为均匀的分布在各个通道下的dcpmm中,可以对每个imc所管理的存储空间进行数据均衡。

示例性的,针对一个imc所管理的存储空间,从该imc中每个channel下的dcpmm中取出部分或全部存储空间,映射为imc所管理的逻辑空间。当将数据存储至imc所管理的存储空间时,imc并不会将该数据存储到其所管理的某一个dcpmm里,而是从逻辑空间中为该数据分配存储地址,这样可以保证数据能够均匀的分布在各个通道下的dcpmm中。

第二种,一个存储控制器管理多个dcpmm,该存储控制器为imc;另一个存储控制器管理raid,该存储控制器为raid卡。

如图2所示,为本申请实施例提供的一种存储器管理系统架构示意图,该存储器管理系统位于设备中,该系统包括cpu100,cpu100中可以包括两个imc,分别为imc110和imc120。imc110和imc120的结构与如图1所示的系统架构类似,具体可参见前述说明,此处不再赘述。

在该存储器管理系统架构下,还包括raid卡200,raid卡200用于实现raid功能,为多个磁盘211构成的raid210配置冗余策略。在本申请实施例中,raid210可以作为imc110或/和imc120所管理的存储空间的镜像单元,也就是说,raid210可用于存储imc110或/和imc120所管理的存储空间的数据备份,另外,raid卡200为raid210配置的冗余策略可以为raid1,其中,raid1允许同时在两个磁盘211进行数据读写,保证两个磁盘211中的数据一致。raid卡200也可以为raid210配置的其他冗余策略,本申请实施例并不限定raid卡为raid配置的冗余策略,raid1仅为举例说明。

在这种存储器管理系统架构下,将imc110和/或imc120所管理多个dcpmm构成的存储空间(简称为imc110和/或imc120所管理的存储空间)配置为主存储空间,raid210为备存储空间。设备的数据读写操作发生在主存储空间,同时在备存储空间中保存主存储空间中的数据备份。

在该存储器管理系统架构下,也可以对每个imc所管理的存储空间进行数据均衡。实现数据均衡的方式与第一种存储器管理系统架构中imc实现数据均衡的方式相同,具体可以参见前述内容,此处不再赘述。

第一种存储器管理系统,将整个存储器管理系统中的一半数量的dcpmm所形成的存储空间作为备存储空间,将两个imc,一个作为主,另一个作为备;由于设备在进行数据读写时,仍是从dcpmm读取或写入数据,不会对整个存储器管理系统的数据读写效率造成影响,能够有效保证整个存储器管理系统的数据读写性能。

第二种存储器管理系统中利用raid作为镜像单元,并不需要借助整个存储器管理系统中部分dcpmm所形成的存储空间作为备份空间,能够有效节约成本。

本申请实施例提供了两种存储器管理系统,在设备初始启动时,基于用户的触发,可以将该设备的存储器管理系统配置为上述两种存储器管理系统中的一种。下面对存储器管理系统配置方法进行说明。

如图3所示,为本申请实施例提供的一种存储器管理系统配置方法,该方法包括:

步骤301:设备初始启动时,通过bios配置每个dcpmm的模式,如选择ad、mix或mm模式。

步骤302:在启动imc-dcpmm镜像巡检回写功能后,提示用户选择性能模式(对应第一种存储器管理系统)或成本模式(对应第二种存储器管理系统)。

imc-dcpmm镜像巡检回写功能是指设备启动后,对imc110所管理的dcpmm进行故障检测,在检测到imc110所管理的dcpmm发生故障的情况下,利用备存储空间中的数据对发生故障的dcpmm进行数据回写。

需要说明的是,imc-dcpmm镜像巡检回写功能中所检测的是作为主的imc所管理的dcpmm,也就是形成主存储空间的dcpmm。在本申请实施例中以imc110所管理存储空间为主存储空间为例进行说明,当以imc120所管理存储空间为主存储空间,则imc-dcpmm镜像巡检回写功能中所检测的dcpmm即为imc120所管理的dcpmm;当以imc110和imc120所管理存储空间为主存储空间,则imc-dcpmm镜像巡检回写功能中所检测的dcpmm即为imc110和imc120所管理的dcpmm。

若用户选择性能模式。

步骤303:针对cpu100中imc110和imc120,通过bios对imc110所管理的存储空间和imc120所管理的存储空间进行地址映射。

当对imc110所管理的dcpmm形成的存储空间和imc120所管理的dcpmm形成的存储空间进行地址映射时,可以将imc110所管理的存储空间看成一个块(block),然后对这个块进行子块分割,并针对每个子块赋予地址。

同样的,将imc120所管理的存储空间看成一个块(block),然后对这个块进行子块分割,并每个子块赋予地址;建立imc110下的各个子块与imc120下的各个子块的地址之间映射关系。

步骤304:将imc110所管理的存储空间配置为主存储空间,imc120所管理的存储空间配置为备存储空间。

步骤305:若成功将imc110所管理的存储空间配置为主存储空间,imc120所管理的存储空间配置为备存储空间,重新启动设备。

若没有成功将imc110所管理的存储空间配置为主存储空间,imc120所管理的存储空间配置为备存储空间,提示用户配置失败。

若用户选择成本模式。

步骤306:确定imc110所管理的存储空间中的非易失内存的大小。

bios可以通过访问每个dcpmm中的非易失性控制器(non-volatilememory,nvmcontroller),对每个dcpmm中的存储介质(media)进行容量检查,确认每个dcpmm的非易失内存的大小,进而确定imc110所管理的存储空间中的非易失内存的大小。

步骤307:raid200卡为raid210配置冗余策略,如配置raid1。

步骤308:对设备中imc110所管理的存储空间中的非易失内存和raid210进行地址映射。

在本申请实施例中,为了保证imc110所管理的存储空间中的非易失内存中数据的可靠性,可以仅将imc110所管理的存储空间的非易失内存与raid210进行地址映射。当然,也可以对imc110所管理的存储空间和raid210进行地址映射,这样既能保证imc110所管理的存储空间中的非易失内存中数据的可靠性,也可以保证imc110所管理的存储空间中的易失内存中数据的可靠性,在本申请实施例中仅是以imc110所管理的存储空间中的非易失内存和raid210进行地址映射为例进行说明,对于imc110所管理的存储空间和raid210进行地址映射的情况与对设备中imc110所管理的存储空间中的非易失内存和raid210进行地址映射的情况类似,此处不再赘述。

需要说明的是,本申请实施例中以将imc110所管理的存储空间的非易失内存配置为主存储空间为例进行说明,故在步骤307中需要对imc110所管理的存储空间中的非易失内存和raid210进行地址映射。

若将imc120所管理的存储空间的非易失内存配置为主存储空间,则需要对imc120所管理的存储空间中的非易失内存和raid210进行地址映射;若将imc110和imc120所管理的存储空间的非易失内存配置为主存储空间,则需要将imc110以及imc120所管理的存储空间中的非易失内存和raid210进行地址映射,可以根据实际场景进行设置。上述这两种情况与将imc110所管理的存储空间的非易失内存配置为主存储空间的方式类似,此处不再赘述。

当对imc110所管理的存储空间中的非易失内存和raid210进行地址映射时,可以将imc110所管理的存储空间中的非易失内存看成一个块,然后对这个块进行子块分割,并针对每个子块赋予地址。

同样的,将raid210看成一个块,然后对这个块进行子块分割,并每个子块赋予地址;建立imc110下的各个子块与raid210的各个子块的地址之间映射关系。

步骤309:将imc110所管理的存储空间中的非易失内存配置为主存储空间,raid210配置为备存储空间。

步骤310:若成功将imc110所管理的存储空间中的非易失内存配置为主存储空间,raid210配置为备存储空间。否则提示用户配置失败。

在配置了存储器管理系统后,当设备在主存储空间执行的写入操作时,可以在备存储空间执行相同的写入操作,使备存储空间可以存储有主存储空间的数据备份。另外,当imc110所管理的dcpmm出现故障时,也可以采用对应的dcpmm故障处理方法,下面分别对上述两种不同的存储器管理系统下的dcpmm故障处理方法进行说明:

第一种,基于图1所示的存储器管理系统架构的dcpmm故障处理方法。

如图4所述,以imc110为主,imc120为备为例,为本申请实施例提供的一种dcpmm故障处理方法,该方法包括:

步骤401:设备运行中,对设备中imc110所管理的每个dcpmm进行检测。

dcpmm中包括非易失性控制器(non-volatilememory,nvmcontroller)和存储介质(media)。其中,dcpmm中的存储介质用于存储数据。nvmcontroller能够主动的对dcpmm中的存储介质进行监控,确定dcpmm中的存储介质的状态(例如存储介质的温度、存储介质是否有不可纠正错误等),并记录在故障监控信息中。

在本申请实施例中可以通过访问每个dcpmm中的nvmcontroller确定每个dcpmm是否故障。

针对imc110所管理的任一dcpmm,若没有成功访问到该dcpmm中的nvmcontroller,则该dcpmm中的nvmcontroller故障,进而确定该dcpmm故障。

若成功访问到nvmcontroller,则可以访问该nvmcontroller记录的故障监控信息,确定该dcpmm的中存储介质的状态,例如,当该存储介质存在温度过高、不可纠正错误或电气损坏等不可逆的情况时,确定该存储介质故障,进而确定该dcpmm故障。

步骤402:当检测到imc110管理的dcpmm发生故障时,将设备的数据读写操作切换至imc120所管理的存储空间中。也就是将imc110降级为备,将imc120升级为主。

步骤403:利用imc120所管理的存储空间中的数据对故障的dcpmm进行数据回写。

步骤404:若回写成功,当下次设备启动后,恢复imc120和imc110主备关系,imc110为主,imc120为备。

步骤405:若回写失败,向用户发送告警信息,提示dcpmm故障,还可以通知用户更换故障的dcpmm。

用户关闭设备电源,更换故障的dcpmm,当重新上电后,设备中的各个组件(如处理器、存储器等)进行初始化,初始化完成后,再次利用imc120所管理的存储空间中的数据对新更换的dcpmm进行数据回写,若数据回写成功,恢复imc120和imc110主备关系。

需要说明的是,在步骤405中即便数据回写失败,imc120和imc110主备关系不解绑,这样能够保持imc120所管理的存储空间和imc110所管理的存储空间之间仍保持有地址映射,imc110所管理的dcpmm中,除去故障的dcpmm,其余dcpmm中存储的数据的备份数据仍可以保存在imc120所管理的存储空间中。

第二种,基于图2所示的存储器管理系统架构的dcpmm故障处理方法。

如图5所述,为本申请实施例提供的一种dcpmm故障处理方法,该方法包括:

步骤501:设备运行中,对设备中每个dcpmm进行检测。与步骤401相同,具体可以参见步骤401的相关描述,此处不再赘述。

步骤502:当检测到imc110管理的dcpmm发生故障时,将设备的数据读写操作切换至raid210中。也就是将raid210升级为主存储空间,将imc110所管理的存储空间作为备存储空间。

步骤503:利用raid中存储的数据对imc110管理的dcpmm进行数据回写。

示例性的,可以对raid中存储的数据和imc110所管理的存储空间中的数据进行对比,对于raid中与imc110所管理的存储空间中不一致的数据,擦除imc110所管理的存储空间中不一致的数据,利用raid中存储的数据进行数据覆盖。

步骤504:若回写成功,当下次设备启动后,恢复imc110和raid210的主备关系,imc110为主,raid210为备。

步骤505:若回写失败,向用户发送告警信息,提示dcpmm故障,还可以通知用户更换故障的dcpmm。

用户关闭设备电源,更换故障的dcpmm,当重新上电后,对设备中的各个组件进行初始化,初始化完成后,再次利用raid210中的数据对新更换的dcpmm进行数据回写。若数据回写成功,恢复imc110和raid210的主备关系。

需要说明的是,在步骤505中即便数据回写失败,imc120和raid210的主备关系不解绑,这样能够保持raid210所管理的存储空间和imc110所管理的存储空间之间仍保持有地址映射,imc110所管理的dcpmm中,除去故障的dcpmm,其余dcpmm中存储的数据的备份数据仍可以保存在raid210中。

基于与方法实施例同一发明构思,本申请实施例还提供了一种故障处理装置,用于执行上述如图3、4以及5所示的方法,相关特征可参见上述方法实施例,此处不再赘述,如图6所示,该故障处理装置600包括检测单元601以及切换单元602。

检测单元601,用于检测所述第一存储控制器管理的第一存储器发生故障。

切换单元602,用于在所述第一存储控制器管理的第一存储器发生故障时,将设备的数据读写操作从所述第一存储控制器管理的第一存储器形成的存储空间转移至所述第二存储控制器管理的第二存储器形成的存储空间。

故障处理装置600还包括回写单元603,该回写单元603可以利用第二存储控制器管理的第二存储器中的数据对第一存储控制器管理的第一存储器中的故障数据进行数据回写;以及若回写成功,在设备下次上电之后,将设备的读写操作切换至第一存储控制器管理的第一存储器形成的存储空间。若回写失败,发出告警信息,该告警信息用于指示第一存储器发生故障。

故障处理装置600还包括配置单元604,配置单元604可以将第一存储控制器管理的第一存储器的存储空间映射为第一存储控制器的逻辑空间,还可以在检测单元检测到第一存储控制器管理的第一存储器发生故障之前,接收用户发送的指令,指令用于指示配置第一模式或第二模式,第一模式指示第一存储器和第二存储器为dcpmm,第二模式指示第一存储器为dcpmm,第二存储器为磁盘;根据指令配置第一模式或第二模式。

上述故障处理装置600可以用于执行如图3、4以及5所示的方法,其中,检测单元601可以执行如图4所示的方法实施例中的步骤401以及步骤402中检测到imc110管理的dcpmm发生故障的方法,还可以执行如图5所示的方法实施例中的步骤501以及步骤502中检测到imc110管理的dcpmm发生故障的方法。切换单元602可以执行如图4所示的方法实施例中的步骤402中数据读取操作的切换方法以及如图5所示的方法实施例中的步骤502中数据读取操作的切换方法。回写单元603可以执行如图4所示的方法实施例中的步骤403~步骤405,还可以执行如图5所示的方法实施例中的步骤503~步骤505。配置单元604可以执行如图3所示的方法实施例中的步骤303~步骤310。

需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在一个简单的实施例中,本领域的技术人员可以想到上述实施例中的设备均可采用图7所示的形式。

如图7所示的设备700,包括至少一个处理单元710、第一存储器720以及第二存储器730,可选的,还可以包括通信接口740。

处理单元710包括第一存储控制器以及第二存储控制器,还可以包括一个或者多个通用处理器,例如cpu100,或者cpu100和硬件芯片的组合。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic)、可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、现场可编程逻辑门阵列(field-programmablegatearray,fpga)、通用阵列逻辑(genericarraylogic,gal)或其任意组合。本申请实施例并不限定处理单元710中所包括的处理器的数量以及类型,凡是能够调用存储器(如第一存储器720、第二存储器730或其他存储器)中的计算机程序指令的处理器均可以构成处理单元710。

本申请实施例中不限定上述处理单元710以及存储器720之间的具体连接介质。

在如图7的设备中,还包括通信接口730,处理单元710在与其他设备进行通信时,可以通过通信接口730进行数据传输。

当设备采用图7所示的形式时,图7中的处理单元710可以通过调用存储器(如第一存储器720、第二存储器730或其他存储器)中存储的计算机程序指令,使得设备700可以执行上述如图3、4以及5所示的方法。

具体的,图7中的检测单元、切换单元、回写单元和配置单元的功能/实现过程均可以通过图7中的处理单元710调用存储器中存储的计算机执行指令来实现。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1