CN113703683B - 一种单一的优化冗余存储系统的装置 - Google Patents
一种单一的优化冗余存储系统的装置 Download PDFInfo
- Publication number
- CN113703683B CN113703683B CN202110998875.5A CN202110998875A CN113703683B CN 113703683 B CN113703683 B CN 113703683B CN 202110998875 A CN202110998875 A CN 202110998875A CN 113703683 B CN113703683 B CN 113703683B
- Authority
- CN
- China
- Prior art keywords
- data
- storage device
- flash memory
- array
- mirror image
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种单一的优化冗余存储系统的装置,包括检测模块,用以对主机的两个接口状态进行实时检测,获取检测结果;接收模块,用以接收所述主机的指令信息,切换模块,分别与所述接收模块和所述检测模块连接,用以根据所述接收模块的指令和所述检测结果对所述主机的两个接口进行切换;处理模块,用以在接口切换完成后根据指令信息对存储装置进行相应地操作;所述处理模块包括镜像单元和时间管理单元,时间管理单元用以在对存储装置进行相应操作的过程中根据操作结果分配对所述存储装置的访问时间。通过不同的读取结果分配不同的访问时间,使得对于存储装置的访问时间进行精确控制,提高主机访问效率,大大提高系统的稳定性和系统信息处理效率。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种单一的优化冗余存储系统的装置。
背景技术
在科技快速进步、网络信息爆炸式增长的今天,信息数据的处理、存储以及备份尤为重要。冗余存储装置是为了在主体存储装置出现故障时能替代主体存储装置工作而额外增加的存储装置。
传统上架构一个冗余系统,会用两张主控制器和多个存储装置,请参阅图1所示。图1中包括主机、两个主控制器和多个存储装置,为了在一个主控制器或一个存储装置无法正常运行时,主机仍保持工作状态不停机,则需要额外安装一个控制器和若干个存储装置,且主机分别与两个主控制器连接,且需要多个NVMe存储装置分别与主控制器连接。在进行数据的读写处理时,两个主控制器会同时进行,完成读写以及存储操作。整个系统结构复杂,而且主控制器和存储装置是需要额外购买,造价不菲、后期维护也需要高昂的物力和人力成本。
发明内容
为此,本发明提供一种单一的优化冗余存储系统的装置,可以克服传统冗余系统的结构复杂和成本高的问题。
为实现上述目的,本发明提供一种单一的优化冗余存储系统的装置,包括:
检测模块,用以对主机的两个接口状态进行实时检测,获取检测结果;
接收模块,用以接收所述主机的指令信息,所述指令信息为读或写;
切换模块,分别与所述接收模块和所述检测模块连接,用以根据所述接收模块的指令和所述检测结果对所述主机的两个接口进行切换;
处理模块,与所述切换模块连接,用以在接口切换完成后根据指令信息对存储装置进行相应地操作;
所述处理模块包括镜像单元和时间管理单元,所述镜像单元用以将存储装置中的闪存阵列完成镜像设置,形成镜像阵列,所述闪存阵列和所述镜像阵列镜像设置,所述闪存阵列和所述镜像阵列构成所述存储装置;
所述时间管理单元,用以在对存储装置进行相应操作的过程中根据操作结果分配对所述存储装置的访问时间;
所述时间管理单元内设置有第一访问时间T1、第二访问时间T2和第三访问时间T3,且T1<T2<T3,
当接收到主机的指令信息为读取时,所述处理模块从闪存阵列和镜像阵列中同时读取数据至缓存空间,若读取的数据均正确,则采用第一访问时间T1完成对所述存储装置的访问;
若读取的数据有任意一个阵列内的数据不正确,则采用第二访问时间T2完成对所述存储装置的访问;
若读取的数据中无正确的数据,则采用第三访问时间T3完成对所述存储装置的访问。
进一步地,所述根据指令信息对存储装置进行相应地操作包括:
主机通过两个接口发送写入指令以及写入空间,且两个接口的状态均处于正常工作状态;
主机将待写入数据写入缓冲区,然后利用RAID1的算法将待写入数据同时写入存储装置中对应地写入空间中的闪存阵列和镜像阵列。
进一步地,在对待写入数据进行写入时,处理模块设置有第一缓存占用量P1、第二缓存占用量P2和第三缓存占用量P3,且≤P1<P2<P3,
当待写入的数据在缓冲区内所占的数据量≤第一缓存占用量P1时,则采用标准时间T0对存储装置进行访问;
当第一缓存占用量P1<待写入的数据在缓冲区内所占的数据量≤第二缓存占用量P2,则采用2×T0对存储装置进行访问;
当第二缓存占用量P2<待写入的数据在缓冲区内所占的数据量≤第三缓存占用量P3,则采用3×T0对存储装置进行访问;
当待写入的数据在缓冲区内所占的数据量>第三缓存占用量P3,则采用4×T0对存储装置进行访问。
进一步地,所述根据指令信息对存储装置进行相应地操作包括:
主机发出读取指令以及对应的读取空间,接口控制器接收到读取指令后,确定存储装置中对应的读取空间,从闪存阵列和镜像阵列内均读取相应的数据至缓存空间,当闪存阵列和镜像阵列内的数据均正确时,将任意一份数据发送至主机,实现主机从存储空间内读取数据。
进一步地,所述根据指令信息对存储装置进行相应地操作包括:
主机发出读取指令以及读取空间地址,接收模块接收到读取指令后,分别读取闪存阵列和镜像阵列;
在读取过程中,若读取闪存阵列内的数据错误,读取镜像阵列内的数据正确,则将镜像阵列内正确的数据发送给主机,并将闪存阵列内的错误数据根据镜像阵列内的正确数据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确,或,
所述根据指令信息对存储装置进行相应地操作包括:
若读取闪存阵列内的数据正确,读取镜像阵列内的数据错误,则将闪存阵列内正确的数据发送给主机,并将镜像阵列内的错误数据根据闪存阵列内的正确数据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确。
进一步地,所述根据指令信息对存储装置进行相应地操作包括:
在读取过程中,若读取闪存阵列内的数据错误,读取镜像阵列内的数据也错误,则执行读取重试,在进行读取重试过程中,闪存阵列与镜像阵列同时进行读取重试,直到闪存阵列或镜像阵列读取重试成功,表示读取数据成功,若是闪存阵列读取重试成功,则在闪存阵列读取数据后,将读取的数据通过接口发送至主机,与此同时,将读取的数据覆写至镜像阵列和闪存阵列,以使镜像阵列和闪存阵列内的存储的数据正确。
进一步地,在读写的数据量相同时,所述第一访问时间T1=标准时间T0;
所述二访问时间T2=1.5×标准时间T0;
所述第三访问时间T3=1.9×标准时间T0。
进一步地,所述闪存阵列包括4个NAND,所述镜像阵列包括4个NAND。
与现有技术相比,本发明的有益效果在于,通过在主机上设置有两个接口,当任意一个接口出现故障时,可以由另一个接口来完成相应地数据的传递,提高了主机对存储装置的持续访问,待故障接口修复后,则将各接口的可以继续完成各自的数据的处理,大大提高了主机对存储装置访问的稳定性;另外在存储装置内通过镜像设置的闪存阵列和镜像阵列,在对存储装置进行访问的过程中,闪存阵列和镜像阵列的数据一致,当其中的一个数据错误,则可由主机根据另一正确的数据予以修正,也可大大提升冗余存储系统的稳定性,本发明实施例通过双接口和双阵列的形式进一步提高了冗余存储系统的稳定性,且本发明实施例中只有一个存储装置,也完成了对应的冗余工作,大大提高了系统的稳定性,经济便捷,成本低。
尤其,通过不同的读取结果分配不同的访问时间,使得对于存储装置的访问时间进行精确控制,提高主机访问效率,大大提高系统的稳定性和系统信息处理效率。
尤其,通过主机发出的写入指令以及写入空间,以便于控制器根据写入空间确定在存储装置中的写入位置,然后将对应的待写入数据写入对应的写入空间内,在存储装置中的闪存阵列和镜像阵列采用镜像写入的方式,使得闪存阵列中的数据与镜像阵列中的数据一致,提高存储系统的稳定性,当任意阵列故障时都可以根据另一个阵列的数据进行修正。
尤其,通过在写入过程中,根据待写入数据的缓存占用量,判定待写入数据的数据量,以根据实际数据量对存储装置的访问时间进行调节,但是待写入的数据较多,则相应地对存储装置的访问时间就要增加,以使在访问时间内完成数据写入,且写入是闪存阵列与镜像阵列同时写入,大大提高系统的稳定性。
尤其,通过读取指令确定访问存储装置的位置,并从闪存阵列和镜像阵列中的对应位置读取数据,并比较确定读取的数据是否正确,若两个阵列中的数据均正确,则选择任一数据发送至主机,完成对存储装置的读取操作,在实际应用过程中,由于闪存阵列和镜像阵列中的数据可以互相校正,在读取的过程中,还可以与处理模块预先存储的数据进行比较,以确定读出的数据是否正确,实现对数据的双层校正,提高主机对存储装置访问的效率。
尤其,通过在闪存阵列与镜像阵列中的任意数据错误,则可以将正确的数据发送至主机,完成数据的读取,在实际应用过程中,若是有一阵列内的数据错误,则利用正确的数据对错误的数据进行修正,以使下次读取时能够读取正确的数据,提高对存储装置的访问效率。
尤其,通过在读取失败时,发起读取重试,然后若有一个阵列内的数据读取成功,则将读取成功的数据发送至主机,并将读取出的数据重新写入对应的闪存阵列和镜像阵列内,以便于下一读取周期内对存储装置的数据的读取,提高主机与存储装置的数据读取,提高冗余存储系统的稳定性。
尤其,通过对访问时间根据实际数据访问情况进行限定,使得对于存储装置的访问时间精准控制,使得主机对存储装置的访问更加高效,提高数据处理的效率,在实际应用中,第二访问时间是在第一访问时间的基础上增加了数据写入的时间,第三访问时间是在第一访问时间的基础上增加了读取重试时间+数据重新写入的时间,因此本发明实施例通过对于访问时间的限定,提高了主机对存储装置的控制的精确性,提高数据处理的效率。
尤其,通过对闪存阵列和镜像阵列的数量进行进一步限定,使得存储装置更为具象化,在实际应用过程中,闪存阵列与镜像阵列的数量还可以是8个,还可以是其他数量,在此不一一列举,实现对存储装置的快速读取和写入,大大提高访问速度。
附图说明
图1为现有技术中提供的传统冗余系统的结构示意图;
图2为本发明实施例提供的个人冗余系统的结构示意图;
图3为本发明实施例当一个接口失效或恢复场景示意图;
图4为本发明实施例写数据的场景示意图;
图5为本发明实施例读数据时两边都对的场景示意图;
图6为本发明实施例读数据时数据一边对一边错的场景示意图;
图7为本发明实施例读数据时数据两边都错的场景示意图。
具体实施方式
为了使本发明的目的和优点更加清楚明白,下面结合实施例对本发明作进一步描述;应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非在限制本发明的保护范围。
需要说明的是,在本发明的描述中,术语“上”、“下”、“左”、“右”、“内”、“外”等指示的方向或位置关系的术语是基于附图所示的方向或位置关系,这仅仅是为了便于描述,而不是指示或暗示所述装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,还需要说明的是,在本发明的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可根据具体情况理解上述术语在本发明中的具体含义。
请参阅图2所示,本发明实施例提供的单一的优化冗余存储系统的装置包括:
检测模块10,用以对主机的两个接口状态进行实时检测,获取检测结果;
接收模块20,用以接收所述主机的指令信息,所述指令信息为读或写;
切换模块30,分别与所述接收模块和所述检测模块连接,用以根据所述接收模块的指令和所述检测结果对所述主机的两个接口进行切换;
处理模块40,与所述切换模块连接,用以在接口切换完成后根据指令信息对存储装置进行相应地操作;
所述处理模块包括镜像单元41和时间管理单元42,用以将存储装置中的闪存阵列完成镜像设置,形成镜像阵列,所述闪存阵列和所述镜像阵列镜像设置,所述闪存阵列和所述镜像阵列构成所述存储装置;
时间管理单元42,用以在对存储装置进行相应操作的过程中根据操作结果分配对所述存储装置的访问时间;
所述时间管理单元内设置有第一访问时间T1、第二访问时间T2和第三访问时间T3,且T1<T2<T3,
当接收到主机的指令信息为读取时,所述处理模块从闪存阵列和镜像阵列中同时读取数据至缓存空间,若读取的数据均正确,则采用第一访问时间T1完成对所述存储装置的访问;
若读取的数据有任意一个阵列内的数据不正确,则采用第二访问时间T2完成对所述存储装置的访问;
若读取的数据中无正确的数据,则采用第三访问时间T3完成对所述存储装置的访问。
具体而言,本发明实施例通过在主机上设置有两个接口,当任意一个接口出现故障时,可以由另一个接口来完成相应地数据的传递,提高了主机对存储装置的持续访问,待故障接口修复后,则将各接口的可以继续完成各自的数据的处理,大大提高了主机对存储装置访问的稳定性;另外在存储装置内通过镜像设置的闪存阵列和镜像阵列,在对存储装置进行访问的过程中,闪存阵列和镜像阵列的数据一致,当其中的一个数据错误,则可由主机根据另一正确的数据予以修正,也可大大提升冗余存储系统的稳定性,本发明实施例通过双接口和双阵列的形式进一步提高了冗余存储系统的稳定性,且本发明实施例中只有一个存储装置,也完成了对应的冗余工作,大大提高了系统的稳定性,经济便捷,成本低。
本发明实施例中的时间管理模块通过不同的读取结果分配不同的访问时间,使得对于存储装置的访问时间进行精确控制,提高主机访问效率,大大提高系统的稳定性和系统信息处理效率。
具体而言,所述根据指令信息对存储装置进行相应地操作包括:
主机通过两个接口发送写入指令以及写入空间,且两个接口的状态均处于正常工作状态;
主机将待写入数据写入缓冲区,然后利用RAID1的算法将待写入数据同时写入存储装置中对应地写入空间中的闪存阵列和镜像阵列。
具体而言,本发明实施例通过主机发出的写入指令以及写入空间,以便于控制器根据写入空间确定在存储装置中的写入位置,然后将对应的待写入数据写入对应的写入空间内,在存储装置中的闪存阵列和镜像阵列采用镜像写入的方式,使得闪存阵列中的数据与镜像阵列中的数据一致,提高存储系统的稳定性,当任意阵列故障时都可以根据另一个阵列的数据进行修正。
具体而言,在对待写入数据进行写入时,处理模块设置有第一缓存占用量P1、第二缓存占用量P2和第三缓存占用量P3,且≤P1<P2<P3,
当待写入的数据在缓冲区内所占的数据量≤第一缓存占用量P1时,则采用标准时间T0对存储装置进行访问;
当第一缓存占用量P1<待写入的数据在缓冲区内所占的数据量≤第二缓存占用量P2,则采用2×T0对存储装置进行访问;
当第二缓存占用量P2<待写入的数据在缓冲区内所占的数据量≤第三缓存占用量P3,则采用3×T0对存储装置进行访问;
当待写入的数据在缓冲区内所占的数据量>第三缓存占用量P3,则采用4×T0对存储装置进行访问。
具体而言,本发明实施例通过在写入过程中,根据待写入数据的缓存占用量,判定待写入数据的数据量,以根据实际数据量对存储装置的访问时间进行调节,但是待写入的数据较多,则相应地对存储装置的访问时间就要增加,以使在访问时间内完成数据写入,且写入是闪存阵列与镜像阵列同时写入,大大提高系统的稳定性。
具体而言,所述根据指令信息对存储装置进行相应地操作包括:
主机发出读取指令以及对应的读取空间,接口控制器接收到读取指令后,确定存储装置中对应的读取空间,从闪存阵列和镜像阵列内均读取相应的数据至缓存空间,当闪存阵列和镜像阵列内的数据均正确时,将任意一份数据发送至主机,实现主机从存储空间内读取数据。
具体而言,本发明实施例通过读取指令确定访问存储装置的位置,并从闪存阵列和镜像阵列中的对应位置读取数据,并比较确定读取的数据是否正确,若两个阵列中的数据均正确,则选择任一数据发送至主机,完成对存储装置的读取操作,在实际应用过程中,由于闪存阵列和镜像阵列中的数据可以互相校正,在读取的过程中,还可以与处理模块预先存储的数据进行比较,以确定读出的数据是否正确,实现对数据的双层校正,提高主机对存储装置访问的效率。
具体而言,所述根据指令信息对存储装置进行相应地操作包括:
主机发出读取指令以及读取空间地址,接收模块接收到读取指令后,分别读取闪存阵列和镜像阵列;
在读取过程中,若读取闪存阵列内的数据错误,读取镜像阵列内的数据正确,则将镜像阵列内正确的数据发送给主机,并将闪存阵列内的错误数据根据镜像阵列内的正确数据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确,或,
若读取闪存阵列内的数据正确,读取镜像阵列内的数据错误,则将闪存阵列内正确的数据发送给主机,并将镜像阵列内的错误数据根据闪存阵列内的正确数据予以修正,以使所述闪存阵列和所述镜像阵列内的数据均正确。
具体而言,本发明实施例通过在闪存阵列与镜像阵列中的任意数据错误,则可以将正确的数据发送至主机,完成数据的读取,在实际应用过程中,若是有一阵列内的数据错误,则利用正确的数据对错误的数据进行修正,以使下次读取时能够读取正确的数据,提高对存储装置的访问效率。
具体而言,所述根据指令信息对存储装置进行相应地操作包括:
在读取过程中,若读取闪存阵列内的数据错误,读取镜像阵列内的数据也错误,则执行读取重试,在进行读取重试过程中,闪存阵列与镜像阵列同时进行读取重试,直到闪存阵列或镜像阵列读取重试成功,表示读取数据成功,若是闪存阵列读取重试成功,则在闪存阵列读取数据后,将读取的数据通过接口发送至主机,与此同时,将读取的数据覆写至镜像阵列和闪存阵列,以使镜像阵列和闪存阵列内的存储的数据正确。
具体而言,本发明实施例通过在读取失败时,发起读取重试,然后若有一个阵列内的数据读取成功,则将读取成功的数据发送至主机,并将读取出的数据重新写入对应的闪存阵列和镜像阵列内,以便于下一读取周期内对存储装置的数据的读取,提高主机与存储装置的数据读取,提高冗余存储系统的稳定性。
具体而言,在读写的数据量相同时,所述第一访问时间T1=标准时间T0;
所述二访问时间T2=1.5×标准时间T0;
所述第三访问时间T3=1.9×标准时间T0。
具体而言,本发明实施例通过对访问时间根据实际数据访问情况进行限定,使得对于存储装置的访问时间精准控制,使得主机对存储装置的访问更加高效,提高数据处理的效率,在实际应用中,第二访问时间是在第一访问时间的基础上增加了数据写入的时间,第三访问时间是在第一访问时间的基础上增加了读取重试时间+数据重新写入的时间,因此本发明实施例通过对于访问时间的限定,提高了主机对存储装置的控制的精确性,提高数据处理的效率。
具体而言,所述闪存阵列包括4个NAND,所述镜像阵列包括4个NAND。
具体而言,本发明实施例通过对闪存阵列和镜像阵列的数量进行进一步限定,使得存储装置更为具象化,在实际应用过程中,闪存阵列与镜像阵列的数量还可以是8个,还可以是其他数量,在此不一一列举,实现对存储装置的快速读取和写入,大大提高访问速度。
具体而言,所述存储装置为NVMe储存装置,将单一的NVMe储存装置连接主机host,即构建成一个冗余存储系统。其中主机host设置有两个接口,这两个接口分别连接NVMe输入/输出控制器
请参阅图3所示,主机host两个接口连接同一NVMe储存装置的两个接口,存储装置中的NAND分两组作RAID1镜像复制。通过NVMe输入/输出控制器,访问空间ID与访问空间一一对应,协同完成读写数据操作。本发明实施例中host驱动程序支持输入/输出分享,如果NVMe存储装置一个接口失效,另一个接口完好,那么存储装置的固件由完好的接口进行收送数据;当NVMe存储装置失效的接口恢复时,固件会把失效接口的数据工作还给失效接口。
请参阅图4所示,主机host的两个接口连接同一NVMe储存装置的两个接口,存储装置中的NAND分两组作RAID1镜像复制。通过NVMe输入/输出控制器,访问空间ID(NamespaceID),访问空间协同完成写入数据操作。当系统进行写入数据操作时,两组NAND会根据指令各写为一份数据,由于两组NAND属于不同的传输通道,不同的NAND,同时写入数据,及时、高效的完成了数据的写入及备份工作,本发明实施例中的两组NAND就是指闪存阵列和镜像阵列。
请参阅图5所示,主机host两个接口连接同一NVMe储存装置的两个接口,存储装置中的NAND分两组,且两组作RAID1镜像复制。通过NVMe输入/输出控制器,访问空间ID,访问空间协同完成读取数据操作。当系统进行读取数据的操作时,会同时下达读取数据命令给两组NAND,两组NAND将数据读取到缓存空间中,系统会自动选择其中一份读取好的数据实时传送给主机host。
请参阅图6所示,主机host两个接口连接同一NVMe储存装置的两个接口,存储装置中的NAND分两组,其两组之间作RAID1镜像复制。通过NVMe输入/输出控制器,访问空间ID,访问空间协同完成读取数据操作。当系统进行读取数据的操作,一边NAND读取数据错误,一边NAND读取数据正确,可以直接将buffer中正确的数据实时传送给host,并将正确的数据覆写到有ECC fail的那边的NAND,不用耗时去做ReadRetry或softbit运算。
请参阅图7所示,主机host两个接口连接同一NVMe储存装置的两个接口,存储装置中的NAND分两组,且该两组作RAID1镜像复制。通过NVMe输入/输出控制器,访问空间ID,访问空间协同完成读取数据操作。当系统进行读取数据的操作,如果两边NAND读取数据都错误,此时需要两边NAND都进行read retry操作,直至有一边NAND重新读取正确read retry成功,系统将读取正确的数据传送至主机host,同时,将正确的数据重新覆写到两组NAND。
所述的把存储装置中的NAND分两组,且两组之间作RAID1镜像复制,镜像是一种冗余技术,为磁盘提供保护功能,防止磁盘发生故障而造成数据丢失。对于RAID而言,采用镜像技术典型地将会同时在阵列中产生两个完全相同的数据副本,分布在两个不同的磁盘驱动器组上。镜像提供了完全的数据冗余能力,当一个数据副本失效不可用时,外部系统仍可正常访问另一副本,不会对应用系统运行和性能产生影响。本发明实施例使用的RAID是由软件控制的软RAID,即没有专用的控制芯片和输入/输出芯片,完全由操作系统和CPU来实现所有的RAID的功能,并且配置管理和数据恢复都比较简单。
将主机host和NVMe储存装置的两个接口连接,加固件和RAID1算法来达成冗余的目的。在写读均可实时利用其中一个或两个接口传输,并将数据用RAID1存在两组NAND中,本发明实施例中的主机可以是工业计算机或汽车等。
本发明实施例为一简单,便直,有效的数据冗余系统,数据不但有备份可以实时从任一接口传输,且当某一接口出问题,另一接口可以把其工作接过去,当出问题接口复原还可以把工作还回来。
本发明实施例中的冗余系统适合用个人,汽车,小工厂等对冗余系统有需求且对价格敏感又不想更动原有系统的应用,既经济,实时,还有备份,一举数得。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
以上所述仅为本发明的优选实施例,并不用于限制本发明;对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (3)
1.一种单一的优化冗余存储系统的装置,其特征在于,包括:
检测模块,用以对主机的两个接口状态进行实时检测,获取检测结果;
接收模块,用以接收所述主机的指令信息,所述指令信息为读或写;
切换模块,分别与所述接收模块和所述检测模块连接,用以根据所述接收模块的指令和所述检测结果对所述主机的两个接口进行切换;
处理模块,与所述切换模块连接,用以在接口切换完成后根据指令信息对存储装置进行相应地操作;
所述处理模块包括镜像单元和时间管理单元,所述镜像单元用以将存储装置中的闪存阵列完成镜像设置,形成镜像阵列,所述闪存阵列和所述镜像阵列镜像设置,所述闪存阵列和所述镜像阵列构成所述存储装置;
所述时间管理单元,用以在对存储装置进行相应操作的过程中根据操作结果分配对所述存储装置的访问时间;
所述时间管理单元内设置有第一访问时间T1、第二访问时间T2和第三访问时间T3,且T1<T2<T3,
当接收到主机的指令信息为读取时,所述处理模块从闪存阵列和镜像阵列中同时读取数据至缓存空间,若读取的数据均正确,则采用第一访问时间T1完成对所述存储装置的访问;
若读取的数据有任意一个阵列内的数据不正确,则采用第二访问时间T2完成对所述存储装置的访问;
若读取的数据中无正确的数据,则采用第三访问时间T3完成对所述存储装置的访问;
所述根据指令信息对存储装置进行相应地操作包括:
主机通过两个接口发送写入指令以及写入空间,且两个接口的状态均处于正常工作状态;
主机将待写入数据写入缓冲区,然后利用RAID1的算法将待写入数据同时写入存储装置中对应地写入空间中的闪存阵列和镜像阵列;
在对待写入数据进行写入时,处理模块设置有第一缓存占用量P1、第二缓存占用量P2和第三缓存占用量P3,且P1<P2<P3,
当待写入的数据在缓冲区内所占的数据量≤第一缓存占用量P1时,则采用标准时间T0对存储装置进行访问;
当第一缓存占用量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。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998875.5A CN113703683B (zh) | 2021-08-28 | 2021-08-28 | 一种单一的优化冗余存储系统的装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110998875.5A CN113703683B (zh) | 2021-08-28 | 2021-08-28 | 一种单一的优化冗余存储系统的装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113703683A CN113703683A (zh) | 2021-11-26 |
CN113703683B true CN113703683B (zh) | 2022-05-13 |
Family
ID=78656307
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110998875.5A Active CN113703683B (zh) | 2021-08-28 | 2021-08-28 | 一种单一的优化冗余存储系统的装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113703683B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115291814B (zh) * | 2022-10-09 | 2023-07-25 | 深圳市安信达存储技术有限公司 | 嵌入式存储芯片数据存储方法、嵌入式存储芯片及存储系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843983A (zh) * | 2017-02-09 | 2017-06-13 | 深圳市风云实业有限公司 | 远程升级现场可编程门阵列的系统及方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN201374192Y (zh) * | 2008-12-12 | 2009-12-30 | 苏州亮智科技有限公司 | 闪存存储装置 |
US8484408B2 (en) * | 2010-12-29 | 2013-07-09 | International Business Machines Corporation | Storage system cache with flash memory in a raid configuration that commits writes as full stripes |
US8819328B2 (en) * | 2010-12-30 | 2014-08-26 | Sandisk Technologies Inc. | Controller and method for performing background operations |
CN102541469B (zh) * | 2011-12-13 | 2015-01-21 | 华为技术有限公司 | 固件存储系统中数据保护的方法、设备及系统 |
KR101988287B1 (ko) * | 2012-11-26 | 2019-06-12 | 삼성전자주식회사 | 저장 장치 및 그것을 포함하는 컴퓨팅 시스템, 및 그것의 데이터 전송 방법 |
US9740426B2 (en) * | 2014-09-19 | 2017-08-22 | Lenovo (Singapore) Pte. Ltd. | Drive array policy control |
KR102261815B1 (ko) * | 2014-10-30 | 2021-06-07 | 삼성전자주식회사 | 펌웨어 업데이트 시간을 줄일 수 있는 데이터 저장 장치, 및 이를 포함하는 데이터 처리 시스템 |
US9910813B1 (en) * | 2015-02-04 | 2018-03-06 | Amazon Technologies, Inc. | Single function using multiple ports |
KR20190004094A (ko) * | 2017-07-03 | 2019-01-11 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
-
2021
- 2021-08-28 CN CN202110998875.5A patent/CN113703683B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843983A (zh) * | 2017-02-09 | 2017-06-13 | 深圳市风云实业有限公司 | 远程升级现场可编程门阵列的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113703683A (zh) | 2021-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6854071B2 (en) | Method and apparatus for providing write recovery of faulty data in a non-redundant raid system | |
US6079029A (en) | Device array system providing redundancy of disks from active system disks during a disk failure | |
US5566316A (en) | Method and apparatus for hierarchical management of data storage elements in an array storage device | |
CN100377060C (zh) | 盘阵列装置和数据恢复方法 | |
JP3742494B2 (ja) | 大容量記憶装置 | |
US7984325B2 (en) | Storage control device, data recovery device, and storage system | |
US5148540A (en) | System with backup of data storage status and device identification for enabling system recovery after powerloss | |
US6061750A (en) | Failover system for a DASD storage controller reconfiguring a first processor, a bridge, a second host adaptor, and a second device adaptor upon a second processor failure | |
US6467023B1 (en) | Method for logical unit creation with immediate availability in a raid storage environment | |
US7620843B2 (en) | Rebuilding a storage system | |
US20090327803A1 (en) | Storage control device and storage control method | |
EP0718766A2 (en) | Method of operating a disk drive array | |
US6961818B1 (en) | Method, system and computer program product for managing data in a mirrored cache using an access balancing technique | |
CN101923441B (zh) | 混合磁盘冗余阵列的写请求处理方法、控制器和存储系统 | |
WO1997048047A1 (en) | Improved non-volatile and volatile cache providing data integrity | |
JPH07134635A (ja) | ディスクアレイ装置 | |
CN104798059B (zh) | 在检查点外部处理写入数据的多个计算机系统 | |
US9378092B2 (en) | Storage control apparatus and storage control method | |
CN113703683B (zh) | 一种单一的优化冗余存储系统的装置 | |
US7130973B1 (en) | Method and apparatus to restore data redundancy and utilize spare storage spaces | |
CN113220221B (zh) | 存储器控制器与数据处理方法 | |
JP2007058873A (ja) | 不揮発メモリを使用したディスク制御装置 | |
US7330955B2 (en) | Recovery record for updating a system configuration | |
JP3699473B2 (ja) | ディスクアレイ装置 | |
JP2004164675A (ja) | ディスクアレイ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |