【技术实现步骤摘要】
本申请涉及存储领域,特别涉及应用于存储设备的存储控制方法和存储设备。
技术介绍
1、在存储应用中,为了保证存储设备的可靠性,通常,一台存储设备内会设置有多个控制器,任一控制器故障时,由其它控制器接管该故障控制器的业务,保障业务连续性。存储设备中的控制器,主要负责数据收发、数据存储和数据保护等操作。
2、在具体实现时,存储设备中的各个控制器通常采用相同设计方案。而相同的设计方案可能会导致各控制器在同一时间发生异常,引起业务中断。
技术实现思路
1、本申请实施例提供了应用于存储设备的存储控制方法和存储设备,以避免存储设备中的各个控制器在同一时间异常导致的业务中断。
2、本申请实施例提供的技术方案包括:
3、一种应用于存储设备的存储控制方法,所述存储设备包括n个控制器,n大于1,所述n个控制器中至少两个控制器为异构控制器;所述方法包括:
4、第一控制器在启动过程中,根据第一控制器被实际安装的物理内存的内存大小、以及第一控制器被配置的硬件要求,确定第一控制器支持的内存窗口最大值;所述硬件要求至少包含所述物理内存中被除本控制器之外的其它控制器访问的要求;所述内存窗口最大值小于或等于物理内存中被除本控制器之外的其它控制器访问的内存窗口的大小;第一控制器为存储设备中的任一控制器;所述第一控制器当前的本地内存窗口协商标识为第一值,所述第一值表示未完成内存窗口协商;
5、第一控制器在确定出本控制器支持的内存窗口最大值后,检测存储设备是否存在
6、如果否,将所述内存窗口最大值确定为第一控制器的当前内存窗口协商值,将本地内存窗口协商标识从第一值更新为第二值;如果是,依据所述内存窗口最大值和各第二控制器的当前内存窗口协商值确定目标内存窗口协商值,控制至少一个第二控制器基于目标内存窗口协商值调整内存窗口以使调整后的内存窗口大小为目标内存窗口协商值,以及将目标内存窗口协商值确定为第一控制器的当前内存窗口协商值,将本地内存窗口协商标识从第一值更新为第二值;其中,第二值用于表示完成内存窗口协商;
7、第一控制器在完成启动后,基于当前内存窗口协商值以及至少一个第二控制器的当前内存窗口协商值,与至少一个第二控制器进行数据同步,以完成第一控制器的业务恢复。
8、一种存储设备,所述存储设备包括n个控制器,n大于1,所述n个控制器中至少两个控制器为异构控制器;
9、任一控制器包括:确定单元,处理单元、同步单元;
10、其中,确定单元用于在所处的第一控制器的启动过程中,根据第一控制器被实际安装的物理内存的内存大小、以及第一控制器被配置的硬件要求,确定第一控制器支持的内存窗口最大值;所述硬件要求至少包含所述物理内存中被除本控制器之外的其它控制器访问的要求;所述内存窗口最大值小于或等于所述物理内存中被除本控制器之外的其它控制器访问的内存窗口的大小;第一控制器为存储设备中的任一控制器;所述第一控制器当前的本地内存窗口协商标识为第一值,所述第一值表示未完成内存窗口协商;
11、处理单元,用于在确定出所述第一控制器支持的内存窗口最大值后,检测存储设备是否存在至少一个第二控制器,第二控制器是存储设备中已上电的控制器;
12、如果否,将所述内存窗口最大值确定为第一控制器的当前内存窗口协商值,将本地内存窗口协商标识从第一值更新为第二值;
13、如果是,依据所述内存窗口最大值和各第二控制器的当前内存窗口协商值确定目标内存窗口协商值,控制至少一个第二控制器基于目标内存窗口协商值调整内存窗口以使调整后的内存窗口大小为目标内存窗口协商值,以及将目标内存窗口协商值确定为第一控制器的当前内存窗口协商值,并将本地内存窗口协商标识从第一值更新为第二值,第一值表示未完成内存窗口协商,第二值用于表示完成内存窗口协商;
14、同步单元,用于在第一控制器在完成启动后,基于当前内存窗口协商值以及至少一个第二控制器的当前内存窗口协商值,与至少一个第二控制器进行数据同步,以完成第一控制器的业务恢复。
15、由以上技术方案可以看出,本实施例中,存储设备中通过采用至少两个异构控制器,通过控制器的差异化设计,避免了存储设备中的各个控制器在同一时间异常,保障业务连续性;
16、进一步地,本实施例中,任一控制器在启动过程中,会先根据本控制器被实际安装的物理内存的内存大小、以及本控制器被配置的硬件要求确定第一控制器支持的内存窗口最大值,之后基于本控制器支持的内存窗口最大值和存储设备中已上电的第二控制器进行动态协商确定本控制器以及第二控制器最新的当前内存窗口协商值,这实现了基于实际插入的控制器来确定各插入的控制器的当前内存窗口协商值,最大程度保证了为存储设备中各控制器分配最大的内存窗口,进而最大程度发挥存储设备中各控制器的性能。
本文档来自技高网...【技术保护点】
1.一种应用于存储设备的存储控制方法,其特征在于,所述存储设备包括N个控制器,N大于1,所述N个控制器中至少两个控制器为异构控制器;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述至少两个控制器为异构控制器是指:所述至少两个控制器采用不同厂商下同一架构的CPU,或者所述至少两个控制器采用不同架构的CPU。
3.根据权利要求1所述的方法,其特征在于,所述依据所述内存窗口最大值和各第二控制器的当前内存窗口协商值确定目标内存窗口协商值包括:
4.根据权利要求1所述的方法,其特征在于,所述控制至少一个第二控制器基于目标内存窗口协商值调整内存窗口以使调整后的内存窗口大小为目标内存窗口协商值包括:
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
6.根据权利要求5所述的方法,其特征在于,所述按照重新协商通知所携带的内存窗口协商值对本地内存窗口进行缩容包括:
7.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
8.根据权利要求1所述的方法,其特征在于,第一控制器基于当前内存
9.根据权利要求1至8任一所述的方法,其特征在于,该方法进一步包括:
10.一种存储设备,其特征在于,所述存储设备包括N个控制器,N大于1,所述N个控制器中至少两个控制器为异构控制器;
11.根据权利要求10所述的存储设备,其特征在于,所述至少两个控制器为异构控制器是指:所述至少两个控制器采用不同厂商下同一架构的CPU,或者所述至少两个控制器采用不同架构的CPU。
12.根据权利要求10所述的存储设备,其特征在于,所述依据所述内存窗口最大值和各第二控制器的当前内存窗口协商值确定目标内存窗口协商值包括:
13.根据权利要求10所述的存储设备,其特征在于,所述控制至少一个第二控制器基于目标内存窗口协商值调整内存窗口以使调整后的内存窗口大小为目标内存窗口协商值包括:
14.根据权利要求10所述的存储设备,其特征在于,
15.根据权利要求14所述的存储设备,其特征在于,所述按照重新协商通知所携带的内存窗口协商值对本地内存窗口进行缩容包括:
16.根据权利要求10所述的存储设备,其特征在于,所述处理单元进一步用于在第一控制器确认接管发生异常的其它控制器的业务时,将第一控制器本地内存窗口协商标识从第二值更新为第一值,并返回在确定出本控制器支持的内存窗口最大值后的操作。
17.根据权利要求10所述的存储设备,其特征在于,所述基于当前内存窗口协商值以及至少一个第二控制器的当前内存窗口协商值,与至少一个第二控制器进行数据同步包括:
18.根据权利要求10至17任一所述的存储设备,其特征在于,同步单元进一步用于在第一控制器接收到其它控制器发送的同步请求时,检查第一控制器的当前内存窗口协商值对应的内存窗口中是否存在脏数据,该其它控制器不为第一控制器已检测出的第二控制器;
...【技术特征摘要】
1.一种应用于存储设备的存储控制方法,其特征在于,所述存储设备包括n个控制器,n大于1,所述n个控制器中至少两个控制器为异构控制器;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述至少两个控制器为异构控制器是指:所述至少两个控制器采用不同厂商下同一架构的cpu,或者所述至少两个控制器采用不同架构的cpu。
3.根据权利要求1所述的方法,其特征在于,所述依据所述内存窗口最大值和各第二控制器的当前内存窗口协商值确定目标内存窗口协商值包括:
4.根据权利要求1所述的方法,其特征在于,所述控制至少一个第二控制器基于目标内存窗口协商值调整内存窗口以使调整后的内存窗口大小为目标内存窗口协商值包括:
5.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
6.根据权利要求5所述的方法,其特征在于,所述按照重新协商通知所携带的内存窗口协商值对本地内存窗口进行缩容包括:
7.根据权利要求1所述的方法,其特征在于,该方法进一步包括:
8.根据权利要求1所述的方法,其特征在于,第一控制器基于当前内存窗口协商值以及至少一个第二控制器的当前内存窗口协商值,与至少一个第二控制器进行数据同步包括:
9.根据权利要求1至8任一所述的方法,其特征在于,该方法进一步包括:
10.一种存储设备,其特征在于,所述存储设备包括n个控制器,n大于1,所述n个控制器中至少两个控制器为异构控制器;
11.根据权利要求10所述的存...
【专利技术属性】
技术研发人员:上官应兰,胡微,
申请(专利权)人:杭州宏杉科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。