一种单一的优化冗余存储系统的装置转让专利
申请号 : CN202110998875.5
文献号 : CN113703683B
文献日 : 2022-05-13
发明人 : 王展南 , 李庭育 , 王开屏
申请人 : 江苏华存电子科技有限公司
摘要 :
权利要求 :
1.一种单一的优化冗余存储系统的装置,其特征在于,包括:检测模块,用以对主机的两个接口状态进行实时检测,获取检测结果;
接收模块,用以接收所述主机的指令信息,所述指令信息为读或写;
切换模块,分别与所述接收模块和所述检测模块连接,用以根据所述接收模块的指令和所述检测结果对所述主机的两个接口进行切换;
处理模块,与所述切换模块连接,用以在接口切换完成后根据指令信息对存储装置进行相应地操作;
所述处理模块包括镜像单元和时间管理单元,所述镜像单元用以将存储装置中的闪存阵列完成镜像设置,形成镜像阵列,所述闪存阵列和所述镜像阵列镜像设置,所述闪存阵列和所述镜像阵列构成所述存储装置;
所述时间管理单元,用以在对存储装置进行相应操作的过程中根据操作结果分配对所述存储装置的访问时间;
所述时间管理单元内设置有第一访问时间T1、第二访问时间T2和第三访问时间T3,且T1
当接收到主机的指令信息为读取时,所述处理模块从闪存阵列和镜像阵列中同时读取数据至缓存空间,若读取的数据均正确,则采用第一访问时间T1完成对所述存储装置的访问;
若读取的数据有任意一个阵列内的数据不正确,则采用第二访问时间T2完成对所述存储装置的访问;
若读取的数据中无正确的数据,则采用第三访问时间T3完成对所述存储装置的访问;
所述根据指令信息对存储装置进行相应地操作包括:主机通过两个接口发送写入指令以及写入空间,且两个接口的状态均处于正常工作状态;
主机将待写入数据写入缓冲区,然后利用RAID1的算法将待写入数据同时写入存储装置中对应地写入空间中的闪存阵列和镜像阵列;
在对待写入数据进行写入时,处理模块设置有第一缓存占用量P1、第二缓存占用量P2和第三缓存占用量P3,且P1
当第一缓存占用量P1<待写入的数据在缓冲区内所占的数据量≤第二缓存占用量P2,则采用2×T0对存储装置进行访问;
当第二缓存占用量P2<待写入的数据在缓冲区内所占的数据量≤第三缓存占用量P3,则采用3×T0对存储装置进行访问;
当待写入的数据在缓冲区内所占的数据量>第三缓存占用量P3,则采用4×T0对存储装置进行访问;
所述根据指令信息对存储装置进行相应地操作包括:主机发出读取指令以及对应的读取空间,接口控制器接收到读取指令后,确定存储装置中对应的读取空间,从闪存阵列和镜像阵列内均读取相应的数据至缓存空间,当闪存阵列和镜像阵列内的数据均正确时,将任意一份数据发送至主机,实现主机从存储空间内读取数据;
所述根据指令信息对存储装置进行相应地操作包括:主机发出读取指令以及读取空间地址,接收模块接收到读取指令后,分别读取闪存阵列和镜像阵列;
在读取过程中,若读取闪存阵列内的数据错误,读取镜像阵列内的数据正确,则将镜像阵列内正确的数据发送给主机,并将闪存阵列内的错误数据根据镜像阵列内的正确数据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确,或,所述根据指令信息对存储装置进行相应地操作包括:若读取闪存阵列内的数据正确,读取镜像阵列内的数据错误,则将闪存阵列内正确的数据发送给主机,并将镜像阵列内的错误数据根据闪存阵列内的正确数据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确;
所述根据指令信息对存储装置进行相应地操作包括:在读取过程中,若读取闪存阵列内的数据错误,读取镜像阵列内的数据也错误,则执行读取重试,在进行读取重试过程中,闪存阵列与镜像阵列同时进行读取重试,直到闪存阵列或镜像阵列读取重试成功,表示读取数据成功,若是闪存阵列读取重试成功,则在闪存阵列读取数据后,将读取的数据通过接口发送至主机,与此同时,将读取的数据覆写至镜像阵列和闪存阵列,以使镜像阵列和闪存阵列内的存储的数据正确。
2.根据权利要求1所述的单一的优化冗余存储系统的装置,其特征在于,在读写的数据量相同时,所述第一访问时间T1=标准时间T0;
所述第二访问时间T2=1.5×标准时间T0;
所述第三访问时间T3=1.9×标准时间T0。
3.根据权利要求2所述的单一的优化冗余存储系统的装置,其特征在于,所述闪存阵列包括4个NAND,所述镜像阵列包括4个NAND。
说明书 :
一种单一的优化冗余存储系统的装置
技术领域
背景技术
增加的存储装置。
正常运行时,主机仍保持工作状态不停机,则需要额外安装一个控制器和若干个存储装置,
且主机分别与两个主控制器连接,且需要多个NVMe存储装置分别与主控制器连接。在进行
数据的读写处理时,两个主控制器会同时进行,完成读写以及存储操作。整个系统结构复
杂,而且主控制器和存储装置是需要额外购买,造价不菲、后期维护也需要高昂的物力和人
力成本。
发明内容
阵列和所述镜像阵列构成所述存储装置;
的访问;
存阵列和镜像阵列内的数据均正确时,将任意一份数据发送至主机,实现主机从存储空间
内读取数据。
据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确,或,
以使所述闪存阵列和所述镜像阵列内的数据均正确。
阵列或镜像阵列读取重试成功,表示读取数据成功,若是闪存阵列读取重试成功,则在闪存
阵列读取数据后,将读取的数据通过接口发送至主机,与此同时,将读取的数据覆写至镜像
阵列和闪存阵列,以使镜像阵列和闪存阵列内的存储的数据正确。
置的持续访问,待故障接口修复后,则将各接口的可以继续完成各自的数据的处理,大大提
高了主机对存储装置访问的稳定性;另外在存储装置内通过镜像设置的闪存阵列和镜像阵
列,在对存储装置进行访问的过程中,闪存阵列和镜像阵列的数据一致,当其中的一个数据
错误,则可由主机根据另一正确的数据予以修正,也可大大提升冗余存储系统的稳定性,本
发明实施例通过双接口和双阵列的形式进一步提高了冗余存储系统的稳定性,且本发明实
施例中只有一个存储装置,也完成了对应的冗余工作,大大提高了系统的稳定性,经济便
捷,成本低。
中的闪存阵列和镜像阵列采用镜像写入的方式,使得闪存阵列中的数据与镜像阵列中的数
据一致,提高存储系统的稳定性,当任意阵列故障时都可以根据另一个阵列的数据进行修
正。
对存储装置的访问时间就要增加,以使在访问时间内完成数据写入,且写入是闪存阵列与
镜像阵列同时写入,大大提高系统的稳定性。
一数据发送至主机,完成对存储装置的读取操作,在实际应用过程中,由于闪存阵列和镜像
阵列中的数据可以互相校正,在读取的过程中,还可以与处理模块预先存储的数据进行比
较,以确定读出的数据是否正确,实现对数据的双层校正,提高主机对存储装置访问的效
率。
数据对错误的数据进行修正,以使下次读取时能够读取正确的数据,提高对存储装置的访
问效率。
内,以便于下一读取周期内对存储装置的数据的读取,提高主机与存储装置的数据读取,提
高冗余存储系统的稳定性。
中,第二访问时间是在第一访问时间的基础上增加了数据写入的时间,第三访问时间是在
第一访问时间的基础上增加了读取重试时间+数据重新写入的时间,因此本发明实施例通
过对于访问时间的限定,提高了主机对存储装置的控制的精确性,提高数据处理的效率。
此不一一列举,实现对存储装置的快速读取和写入,大大提高访问速度。
附图说明
具体实施方式
不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不
能理解为对本发明的限制。
连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,
可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在
本发明中的具体含义。
述镜像阵列构成所述存储装置;
的访问;
故障接口修复后,则将各接口的可以继续完成各自的数据的处理,大大提高了主机对存储
装置访问的稳定性;另外在存储装置内通过镜像设置的闪存阵列和镜像阵列,在对存储装
置进行访问的过程中,闪存阵列和镜像阵列的数据一致,当其中的一个数据错误,则可由主
机根据另一正确的数据予以修正,也可大大提升冗余存储系统的稳定性,本发明实施例通
过双接口和双阵列的形式进一步提高了冗余存储系统的稳定性,且本发明实施例中只有一
个存储装置,也完成了对应的冗余工作,大大提高了系统的稳定性,经济便捷,成本低。
统信息处理效率。
间内,在存储装置中的闪存阵列和镜像阵列采用镜像写入的方式,使得闪存阵列中的数据
与镜像阵列中的数据一致,提高存储系统的稳定性,当任意阵列故障时都可以根据另一个
阵列的数据进行修正。
数据较多,则相应地对存储装置的访问时间就要增加,以使在访问时间内完成数据写入,且
写入是闪存阵列与镜像阵列同时写入,大大提高系统的稳定性。
存阵列和镜像阵列内的数据均正确时,将任意一份数据发送至主机,实现主机从存储空间
内读取数据。
据均正确,则选择任一数据发送至主机,完成对存储装置的读取操作,在实际应用过程中,
由于闪存阵列和镜像阵列中的数据可以互相校正,在读取的过程中,还可以与处理模块预
先存储的数据进行比较,以确定读出的数据是否正确,实现对数据的双层校正,提高主机对
存储装置访问的效率。
据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确,或,
以使所述闪存阵列和所述镜像阵列内的数据均正确。
误,则利用正确的数据对错误的数据进行修正,以使下次读取时能够读取正确的数据,提高
对存储装置的访问效率。
阵列或镜像阵列读取重试成功,表示读取数据成功,若是闪存阵列读取重试成功,则在闪存
阵列读取数据后,将读取的数据通过接口发送至主机,与此同时,将读取的数据覆写至镜像
阵列和闪存阵列,以使镜像阵列和闪存阵列内的存储的数据正确。
存阵列和镜像阵列内,以便于下一读取周期内对存储装置的数据的读取,提高主机与存储
装置的数据读取,提高冗余存储系统的稳定性。
的效率,在实际应用中,第二访问时间是在第一访问时间的基础上增加了数据写入的时间,
第三访问时间是在第一访问时间的基础上增加了读取重试时间+数据重新写入的时间,因
此本发明实施例通过对于访问时间的限定,提高了主机对存储装置的控制的精确性,提高
数据处理的效率。
可以是其他数量,在此不一一列举,实现对存储装置的快速读取和写入,大大提高访问速
度。
入/输出控制器
一对应,协同完成读写数据操作。本发明实施例中host驱动程序支持输入/输出分享,如果
NVMe存储装置一个接口失效,另一个接口完好,那么存储装置的固件由完好的接口进行收
送数据;当NVMe存储装置失效的接口恢复时,固件会把失效接口的数据工作还给失效接口。
(NamespaceID),访问空间协同完成写入数据操作。当系统进行写入数据操作时,两组NAND
会根据指令各写为一份数据,由于两组NAND属于不同的传输通道,不同的NAND,同时写入数
据,及时、高效的完成了数据的写入及备份工作,本发明实施例中的两组NAND就是指闪存阵
列和镜像阵列。
空间协同完成读取数据操作。当系统进行读取数据的操作时,会同时下达读取数据命令给
两组NAND,两组NAND将数据读取到缓存空间中,系统会自动选择其中一份读取好的数据实
时传送给主机host。
访问空间协同完成读取数据操作。当系统进行读取数据的操作,一边NAND读取数据错误,一
边NAND读取数据正确,可以直接将buffer中正确的数据实时传送给host,并将正确的数据
覆写到有ECC fail的那边的NAND,不用耗时去做ReadRetry或softbit运算。
问空间协同完成读取数据操作。当系统进行读取数据的操作,如果两边NAND读取数据都错
误,此时需要两边NAND都进行read retry操作,直至有一边NAND重新读取正确read retry
成功,系统将读取正确的数据传送至主机host,同时,将正确的数据重新覆写到两组NAND。
像技术典型地将会同时在阵列中产生两个完全相同的数据副本,分布在两个不同的磁盘驱
动器组上。镜像提供了完全的数据冗余能力,当一个数据副本失效不可用时,外部系统仍可
正常访问另一副本,不会对应用系统运行和性能产生影响。本发明实施例使用的RAID是由
软件控制的软RAID,即没有专用的控制芯片和输入/输出芯片,完全由操作系统和CPU来实
现所有的RAID的功能,并且配置管理和数据恢复都比较简单。
本发明实施例中的主机可以是工业计算机或汽车等。
可以把工作还回来。
发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些
更改或替换之后的技术方案都将落入本发明的保护范围之内。
等同替换、改进等,均应包含在本发明的保护范围之内。