CN102165407A - 与独立磁盘冗余阵列相关的操作 - Google Patents

与独立磁盘冗余阵列相关的操作 Download PDF

Info

Publication number
CN102165407A
CN102165407A CN200980137696XA CN200980137696A CN102165407A CN 102165407 A CN102165407 A CN 102165407A CN 200980137696X A CN200980137696X A CN 200980137696XA CN 200980137696 A CN200980137696 A CN 200980137696A CN 102165407 A CN102165407 A CN 102165407A
Authority
CN
China
Prior art keywords
data
disk
band
memory device
circuit
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.)
Granted
Application number
CN200980137696XA
Other languages
English (en)
Other versions
CN102165407B (zh
Inventor
Y·H·周
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN102165407A publication Critical patent/CN102165407A/zh
Application granted granted Critical
Publication of CN102165407B publication Critical patent/CN102165407B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/80Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

在一个实施例中,提供了一种装置,其可以包括电路,该电路用于至少部分地生成和/或至少部分地接收涉及独立磁盘冗余阵列(RAID)存储设备的至少一个访问请求。至少部分地响应于该至少一个请求,该存储设备能够访问加密内容和/或奇偶校验信息。该加密内容可以具有数据的至少一部分和/或该奇偶校验信息。可以将该加密内容存储在(1)存储设备的加密的磁盘条带中,以使得单独地基于数据的剩余的未加密的部分和存储在存储设备中的奇偶校验信息,不能恢复该数据;和/或(2)一个或多个分别的磁盘条带中,所述一个或多个分别的磁盘条带的数量是至少部分地基于在有加密级别的情况下与所述数据的至少一个特性相关联的一个或多个加密级别而确定的。

Description

与独立磁盘冗余阵列相关的操作
技术领域
本公开涉及与独立磁盘冗余阵列(RAID)相关的操作。
背景技术
在一种传统的RAID配置中,用户数据块和相关联的奇偶校验信息在RAID中的所有磁盘上(使用统一的加密方案)被加密和条带化(stripe)。如果修改了一个用户数据条带,那么与被修改的用户数据条带相关联的所有的其他用户数据和奇偶校验条带被解密,并且然后用于计算与被修改的用户数据条带相关联的新奇偶校验条带。在数据写处理中对所述其他用户数据和奇偶校验条带的该解密降低了数据写处理的速度和效率。
此外,在该传统的配置中,RAID中的每一个磁盘包括用户数据条带和奇偶校验信息二者。因此,如果并发执行的两个RAID操作涉及分别访问单个相应磁盘中的奇偶校验信息和用户数据,那么可能产生冲突/竞争问题。这可能降低RAID的效率和性能。
同样,在该传统的配置中,针对RAID中存储的所有用户数据使用单个统一的加密方案,而不考虑该数据的具体部分的特定性质、特性、敏感度和/或重要性。这降低了RAID的实用性,并且还妨碍了用户选择在数据安全性和RAID性能之间达到平衡。
附图说明
随着以下详细描述的进行并参考附图,实施例的特征和优点将会变得显而易见,在附图中,相同的标号描绘相同的部分,并且其中:
图1说明了实施例的特征。
图2说明了图1示出的实施例的变型的特征。
图3说明了在实施例中可以执行的操作。
尽管将参考说明性实施例进行以下详细描述,但是其许多替代、修改和变型对本领域技术人员将是显而易见的。因此,意图广泛地考虑所要求保护的主题。
具体实施方式
图1说明了系统实施例100。系统100可以包括主机10,所述主机10可以经由一个或多个通信链路50通信地耦合到RAID 28。
在该实施例中,如图1中所示,主机10可以包括电路板102和母板32。母板32可以包括一个或多个主机处理器12。每一个主机处理器12可以(例如,经由各自未示出的专用总线段)耦合到芯片组14。一个或多个主机处理器12的每一个可以包括例如可从本主题申请的受让人商业获得的各自的
Figure BDA0000052110180000021
CoreTM2VProTM微处理器。如本文所使用的,“处理器”表示能够至少部分地执行一个或多个算术运算和/或逻辑运算的电路。当然,可替换地,每一个主机处理器12可以包括例如从本主题申请的受让人之外的来源制造和/或可商业获得的各自的微处理器,而不脱离该实施例。
芯片组14可以包括未示出的存储器控制器中心,该存储器控制器中心可以将一个或多个主机处理器12、系统存储器21以及未示出的用户接口系统彼此耦合,并耦合到未示出的总线系统。芯片组14可以包括例如从可获自本主题申请的受让人的一个或多个集成电路芯片组(例如,存储器控制器中心芯片组和I/O控制器中心芯片组)中选择的一个或多个集成电路芯片,但是还可以或可替换地使用一个或多个其他集成电路芯片,而不脱离该实施例。未示出的用户接口系统可以包括例如键盘、指示设备和显示系统,它们可以允许人用户向系统100输入命令和监视系统100的操作。未示出的总线系统可以包括一个或多个总线,该一个或多个总线可以符合可从美国俄勒冈州波特兰市的外围部件互连(PCI)特别兴趣组获得的、在2002年7月22日发布的PCI ExpressTM基本规范修订版1.0中描述的总线协议。可替换地,所述总线可以包括其他类型的总线系统,而不脱离该实施例。
主机10中的控制器电路卡102可以经由链路50通信地耦合到RAID存储设备28,并且可以控制存储设备28的操作。在该实施例中,RAID存储设备28可以包括多个大容量存储磁盘60、62和/或64。可以在RAID存储设备28中实现的RAID级别可以变化,而不脱离本文描述的实施例。例如,取决于在RAID存储设备28中实现的RAID级别,包括在磁盘60、62和/或64中的大容量存储磁盘的数量可以变化,以使得这些磁盘的数量至少足够实现在RAID存储设备28中所实现的RAID级别。
如本文所使用的,“存储”可以表示可以分别在其中存储数据和/或从其中获取数据的一个或多个装置。同样如在本文中所使用的,术语“大容量存储装置”和“大容量存储设备”可以可互换地用来表示能够进行数据的非易失性存储的存储设备。此外,在本文中,术语“磁盘”、“大容量存储磁盘”和“大容量存储设备”可以可互换地用来表示这样的大容量存储设备,该大容量存储设备包括可以向其和/或在其上存储数据和/或可以从其中获取数据的一个或多个磁盘和/或一个或多个盘片和/或一个或多个表面。例如,在本文描述的实施例中,大容量存储磁盘可以包括但不限于:一个或多个非易失性磁和/或光盘存储设备,例如一个或多个硬盘设备。如本文所使用的,“电路”例如可以单独地或以任何组合的方式包括:模拟电路、数字电路、硬连线电路、可编程电路、状态机电路和/或可以包括可以由可编程电路执行的程序指令的存储器。
控制器电路卡102可以包括操作电路118。操作电路118可以包括存储I/O控制器120和存储器122。
可以将处理器12、系统存储器21和芯片组14包括在例如系统母板32的单个电路板中。母板32还可以包括未示出的总线系统和未示出的总线卡槽。卡102可以包括未示出的总线连接器,该总线连接器能够电地和机械地耦合到可以包括在母板32中的总线卡槽。当卡102的总线连接器如此耦合到包括在母板32中的总线卡槽时,操作电路118可以变得通信地耦合到母板32。
可替换地,控制器卡102的操作电路118的一些或全部可以不包括在卡102中,而是替代地,可以包括在其他结构、系统和/或设备中。这些其他结构、系统和/或设备可以例如包括在母板32中(例如,作为主机处理器12和/或芯片组14的一部分)。可替换地或附加地,包括在主机处理器12、芯片组14和/或电路118中的电路的一些或全部可以包括在一个或多个集成电路(未示出)中,该一个或多个集成电路可以包括在例如一个或多个集成电路芯片(未示出)中。
可以将一个或多个机器可读程序指令存储在计算机可读存储器122和/或21中。在系统100工作时,这些指令可以被控制器120和/或一个或多个主机处理器12访问和执行。当由控制器120和/或一个或多个主机处理器12执行时,这些一个或多个指令可以使得控制器120、操作电路118、主机处理器12和/或卡102执行本文描述为由控制器120、操作电路118、主机处理器12和/或卡102执行的操作。此外,当由控制器120和/或一个或多个主机处理器12执行时,这些一个或多个指令可以使得将数据55、一个或多个RAID指令57、一个或多个RAID描述符59、数据55和/或一个或多个查找表(LUT)82存储到存储器122中。可替换地或附加地,可以将数据55、一个或多个指令57、一个或多个描述符59和/或一个或多个LUT 82整体或部分地存储到存储器21中。计算机可读存储器21和122可以分别包括一个或多个以下类型的存储器:半导体固件存储器、可编程存储器、非易失性存储器、只读存储器、电可编程存储器、随机存取存储器、静态随机存取存储器、闪速存储器、磁盘存储器、光盘存储器,和/或其他或将来开发出的计算机可读存储器。
RAID 28可以包括操作电路118’,其构造可以与电路118的构造整体或部分地相一致。电路118’可以经由一个或多个链路50通信地耦合到电路板102和电路118。可以将一个或多个机器可读程序指令存储在电路118’中的计算机可读存储器(未示出)中。在系统100工作时,这些指令可以被电路118’中未示出的控制器访问和执行。当由电路118’中该未示出的控制器执行时,这些一个或多个指令可以使得该未示出的控制器120和/或操作电路118’执行本文描述为由该未示出的控制器和/或操作电路118’执行的操作。
一个或多个通信链路50可以兼容一个或多个通信协议,并且主机10中的电路118可以根据这些一个或多个通信协议、经由链路50与RAID 28中的电路118’交换数据和/或命令。例如,在该实施例中,一个或多个链路50可以兼容例如以太网协议、传输控制协议/网际协议(TCP/IP)协议、小型计算机系统接口(SCSI)协议和/或互联网小型计算机系统接口(iSCSI)协议,并且相应的操作电路118可以根据这些协议与RAID 28交换数据和/或命令。
系统100中使用的以太网协议可以符合或兼容2000年10月20日发布的电气和电子工程师协会(IEEE)标准802.32000版中描述的协议。可替换地或附加地,系统100中使用的TCP/IP协议可以符合或兼容1981年9月发布的互联网工程任务组(IETF)请求注解(RFC)791和793中描述的协议。系统100中可以使用的SCSI协议可以兼容美国国家标准协会(ANSI)小型计算机系统接口-2(SCSI-2)ANSI X3.131-1994规范中描述的协议。系统100中可以使用的iSCSI协议可以兼容2004年4月发布的IETF RFC 3720中描述的协议以及/或者该协议的其他版本和/或该协议的将来开发出的版本。当然,许多不同通信协议可以用于这种数据和/或命令交换,而不脱离该实施例。
系统100还可以包括一个或多个通信链路70,该一个或多个通信链路70可以将一个或多个网络160通信地耦合到操作电路118,以使得电路118能够经由一个或多个链路70接收一个或多个网络数据流72。一个或多个链路70可以符合或兼容一个或多个链路50可以符合或兼容的一个或多个通信协议。可替换地或附加地,一个或多个链路70可以符合其他和/或另外的通信协议。
现在参考图1到3,将描述可以在系统100中执行的操作300。例如,在系统100重置之后,至少部分地由于人用户(未示出)经由未示出的用户接口系统发送到主机系统10的请求,控制器120和/或处理器12可以发信号到电路118。如图3中的操作302所说明的,这可以使得电路118至少部分地生成可以涉及RAID存储设备28的至少一个访问请求52。例如,在该实施例中,至少一个请求52可以请求访问数据(例如,数据55)的一个或多个块。如在该实施例中所使用的,数据的“块”可以包括数据的一个或多个部分,例如,数据的一个或多个固定和/或预定义长度的段和/或单元。电路118可以经由一个或多个链路50至少部分地将至少一个分组54发送到RAID存储设备28。一个或多个分组54可以至少部分地包括一个或多个请求52。如该实施例中所使用的,“分组”可以包括一个或多个符号和/或值。如该实施例中还使用的,“访问”数据可以包括涉及和/或操纵数据的一个或多个操作,例如,读和/或写数据。
在电路118已经经由一个或多个链路50至少部分地将至少一个分组54发送到电路118’之后,电路118’可以至少部分地接收至少一个分组54。如图3中的操作304所说明的,这可以至少部分地使得电路118’至少部分地接收至少一个请求52。至少部分地响应于至少一个请求52,电路118’可以至少部分地根据至少一个请求52,访问存储设备28中与数据55相关联的加密内容和/或奇偶校验信息(PI)。在该实施例中,该加密内容可以包括数据55的至少一部分和/或与数据55相关联的PI的加密内容。该PI可以至少部分地基于数据55而生成,并且可以用来至少部分地基于RAID PI生成和/或数据恢复技术至少部分地重新生成和/重新构造数据55。可以至少部分地使用和/或根据以下技术中的一个或多个至少部分地生成PI:一个或多个XOR计算、一个或多个Reed-Solomon技术以及/或者其他和/或另外的校验子(syndrome)计算技术。该加密内容可以存储在存储设备28中的加密的磁盘条带中,以使得单独地基于数据55中剩余的未加密的部分和存储在存储设备28中的PI,不能恢复数据55。可替代地或附加地,该加密内容可以存储在一个或多个分别的磁盘条带中。可以至少部分地基于在有加密级别的情况下与数据55的一个或多个特性相关联的一个或多个加密级别确定磁盘条带的数量。
例如,在该实施例中,如果至少一个请求52至少部分地请求将数据55写入到存储设备28中,那么至少部分地响应于至少一个请求52,电路118’可以至少部分地基于数据55并且至少部分地根据在RAID 28中实现的特定RAID级别,生成加密内容85的一个或多个分别的磁盘条带30A……30N、一个或多个分别的未加密的磁盘条带32A……32N,以及一个或多个PI磁盘条带34A……34N。可替换地,主机10中的电路118可以至少部分地生成加密的磁盘条带和/或PI,并且可以将它们(例如,作为一个或多个请求52的一部分)至少部分地传送到RAID 28中的电路118’。电路118’可以将一个或多个磁盘条带30A……30N存储在RAID 28中的一个或多个分别的磁盘60中;电路118’可以将一个或多个磁盘条带32A……32N存储在RAID28中的一个或多个分别的磁盘62中;以及电路118’可以将一个或多个PI磁盘条带34A……34N存储在RAID 28中的一个或多个分别的磁盘64中。可以选择加密内容85中一个或多个加密的磁盘条带30A……30N的数量,以使得至少部分地取决于和/或由于RAID 28中实现的特定RAID级别,单独地基于(例如,使用)传统的RAID技术、剩余的一个或多个未加密的磁盘条带32A……32N以及一个或多个PI磁盘条带34A……34N,不能恢复(例如,不能重新构造和/或重新生成)一个或多个加密的磁盘条带30A……30N(并且,因此也不能恢复数据块55)。为了满足该条件,加密的条带30A……30N的数量(并且因此,可以存储条带30A……30N的分别的磁盘60的数量)至少比仅使用传统RAID技术、剩余的一个或多个未加密的磁盘条带32A……32N以及一个或多个PI磁盘条带34A……34N能够恢复的磁盘条带的最大数量大1(即,一)。例如,如果RAID 28实现单个异或(XOR)校验子,那么加密的磁盘条带30A……30N(以及包括在磁盘60中的分别的磁盘)的数量可以大于或等于2。可替换地,如果RAID 28实现双XOR校验子(和/或在两个磁盘发生故障的情况下,可以凭借其恢复RAID 28中的两个磁盘的其他/和/或另外的RAID技术),那么加密的磁盘条带30A……30N(以及包括在磁盘60中的分别的磁盘)的数量可以大于或等于3。为了增强安全性,取决于在RAID 28中实现的RAID级别,在至少部分地基于数据55生成的全部数据(例如,非PI)条带中包括的第一个条带和/或每隔一个条带(和/或例如至少部分地由人用户确定的条带的任意组合)可以被加密和包括在加密内容85中。
在该配置中,一个或多个PI条带34A……34N可以不被加密,并且可以以旋转方式(rotating fashion)(例如,至少部分地根据至少部分地基于RAID 28中存储未加密的数据和/或PI的磁盘的总数进行的模运算)存储在一个或多个磁盘64中,以使得在一个或多个磁盘64间尽量切实可行地均匀分配在一个或多个磁盘64中的全部PI条带。一个或多个磁盘64可以仅存储未加密的数据和/或未加密的PI。因此,一个或多个磁盘64可以与一个或多个磁盘60不同。然而,相反地,一个或多个磁盘62可以(但不必须)包括一个或多个磁盘64。有利地是,这可以提高RAID 28中写操作可以进行的速度,尤其是有利于如果该操作涉及对先前存储在RAID 28中的数据条带30A……30N和/或32A……32N中的一个的修改的情况,因为与要修改的数据条带相关联的旧PI的读取(例如,用于生成反映修改的数据条带的新PI)可以不涉及解密该旧PI或加密该新PI。因此,例如,如果写操作涉及修改条带32A,那么可以读取一个或多个(旧)PI条带34A……34N而不必对它们进行解密,并且在至少部分地基于修改的条带32A计算一个或多个新PI条带之后,可以以取代(例如,重写)一个或多个PI条带34A……34N而不必加密一个或多个新PI条带的方式将新的一个或多个PI条带写入一个或多个磁盘64。
此外,在该配置中,如果一个或多个请求52至少部分地请求涉及一个或多个未加密的数据条带32A……32N(和/或取决于实现,附加地和/或可替换地涉及一个或多个条带34A……34N)中的一个或多个的读操作,那么该读操作可以被执行,而不必对正读取的一个或多个数据条带32A……32N(和/或取决实现,一个或多个条带34A……34N)进行解密。有利地是,与如果RAID 28中的所有数据条带(包括条带32A……32N)都被加密的可能情况相比,这可以提高这种读操作可以执行的速度。
例如,在该配置中,包括在磁盘60、62和64中的磁盘总数可以等于8,并且RAID 28可以实现单个XOR校验子。在该例子中,包括在一个或多个加密的磁盘条带30A……30N中的条带数量(并且因此,包括在一个或多个磁盘60中的磁盘数量)可以等于2,并且包括在一个或多个未加密的磁盘条带32A……32N和一个或多个PI条带34A……34N中的条带总数(并且因此,包括在磁盘62和64中的磁盘总数)可以等于6。此外,在该例子中,数据55可以包括在数据条带30A……30N和32A……32N以及单个PI条带(例如,条带34A)中,该单个PI条带包括在一个或多个条带34A……34N中。可以由电路118’至少部分地基于数据条带来计算PI条带可以位于的磁盘。
附加地或可替换地,可以至少部分地基于在有加密基本的情况下可以与数据55的一个或多个特性相关联的一个或多个加密级别,来至少部分地确定加密内容85中的一个或多个加密的磁盘条带30A……30N的数量。在该配置中,可以至少部分地通过电路118、控制器120和/或一个或多个处理器12至少部分地基于一个或多个用户定义的和/或预定义的偏好,来在存储器122(和/或存储器21)中至少部分地生成和/或存储一个或多个指令57、一个或多个描述符59和/或LUT 82,其中所述偏好可以至少部分地将数据55的一个或多个特性与可以至少部分地由一个或多个指令57和/或一个或多个描述符59指示的一个或多个加密级别进行关联,并且可以在LUT 82中至少部分地反映、体现和/或指示这些关联。这些一个或多个特性可以例如包括:数据55是否来自安全的信道(例如,一个或多个链路70可以是或包括一个或多个安全的(加密的)信道);一个或多个分别的文件类型是否至少部分地包括数据55;数据55是否至少部分地来自分别的网络流(例如,网络流72);和/或数据55是否至少部分地满足一个或多个(例如,其他的和/或另外的)用户定义的和/或预定义的准则。这些一个或多个特性可以至少部分地与要与数据55结合使用的一个或多个加密级别相关联。例如,这些一个或多个特性可以至少部分地与一个或多个分别的加密级别相关联。这些一个或多个加密级别可以至少部分地关联、指定和/或指示在至少部分地将数据55存储在RAID 28中时要使用的加密的条带的数量,和/或在至少部分地生成加密的条带30A……30N时要使用的加密方法的类型。LUT 82可以至少部分地将这些一个或多个特性与一个或多个指令57和/或一个或多个描述符59进行关联,所述一个或多个指令57和/或一个或多个描述符59可以指示(和/或实现)至少部分地与这些一个或多个特性和/或与一个或多个加密级别自身相关联的一个或多个加密级别。
在该配置中,控制器120、电路118和/或一个或多个处理器12可以至少部分地基于所述关联和/或至少部分地与数据55的一个或多个特性相关联的(和/或如在LUT 82、一个或多个指令57和/或一个或多个描述符59中所至少部分指示的)一个或多个加密级别,来至少部分地生成一个或多个请求52。至少部分地响应于一个或多个请求52,电路118’可以根据一个或多个请求52访问加密内容85和/或PI 34A……34N。例如,控制器120、电路118和/或一个或多个处理器12可以至少部分地基于LUT 82、一个或多个指令57和/或一个或多个描述符59中的信息,来至少部分地确定至少部分地与数据55的一个或多个特性相关联的一个或多个加密级别。如果访问涉及写操作,那么控制器120、电路118和/或一个或多个处理器12可以基于数据55和在RAID 28中实现的RAID级别,根据至少部分地与数据55相关联的这些一个或多个加密级别(例如,使得条带30A……30N的数量等于与一个或多个加密级别相关联的磁盘条带的数量,和/或使得加密内容85至少部分地反映至少部分地与一个或多个加密级别相关联的一个或多个加密方法),来至少部分地生成一个或多个加密的数据条带30A……30N、一个或多个未加密的数据条带32A……32N和/或一个或多个奇偶校验条带34A……34N。控制器120、电路118和/或一个或多个处理器12然后可以至少部分地生成一个或多个请求52,并且至少部分地将其发送到电路118’,所述一个或多个请求52可以至少部分地请求将这些一个或多个加密的磁盘条带30A……30N、一个或多个未加密的磁盘条带32A……32N和一个或多个奇偶校验条带34A……34N至少部分地分别写入一个或多个磁盘60、一个或多个磁盘62和一个或多个磁盘64。至少部分地响应于一个或多个请求52,电路118’可以以一个或多个请求52请求的方式,将被写入的这些一个或多个加密的磁盘条带30A……30N、一个或多个未加密的磁盘条带32A……32N和一个或多个奇偶校验条带34A……34N至少部分地分别写入一个或多个磁盘60、一个或多个磁盘62和一个或多个磁盘64。可替换地,电路118’可以至少部分地基于(例如,在一个或多个请求52中发送到电路118’的)未加密版本的一个或多个磁盘条带30A……30N和一个或多个未加密的磁盘条带32A……32N,来至少部分地生成加密内容85和/或一个或多个PI条带34A……34N。
在该配置中,可能的是,至少部分地与数据55相关联的一个或多个加密级别可以至少部分地指示不对数据55进行加密。在该情况下,可以基本上消除加密内容85并且条带30A……30N可以包括数据55的未加密的数据条带。此外,在该配置中,如果没有加密级别与数据55的一个或多个特性相关联,那么数据55在RAID 28中存储时可以不被加密。在该情况下,与先前的情况一样,可以基本上消除加密内容85并且条带30A……30N可以包括数据55的未加密的数据条带。此外,在该配置中,一个或多个指令57和/或一个或多个描述符59可以至少部分地包括一个或多个保留字段,用于至少部分地指定和/或指示与数据55相关联的一个或多个加密级别;这可以增强与传统RAID系统和/或软件的兼容性。
因此,例如,在该配置中,可以至少部分地与数据55的一个或多个特性相关联的一个或多个加密级别可以至少部分地指示:一个或多个数据条带30A……30N通过仅包括单个加密的数据条带(例如,条带30A)而包括相对较低的加密级别(和相称地安全性)。可替换地,取决于数据55的一个或多个特性和/或与它们相关联的一个或多个加密级别,一个或多个数据条带30A……30N可以通过包括多个(两个、三个或更多)加密的数据条带而包括相对较高的加密级别(和相称地安全性)。此外,例如,可以由人用户经由未示出的用户接口,来修改可以与数据55的一个或多个特性相关联的一个或多个加密级别以及一个或多个特性本身。有利地是,在该实施例中,数据55的特定性质、特性、敏感度和/或重要性可以被用作选择数据55的加密级别(并且因此选择安全性)的准则;与现有技术相比,这可以提高该实施例的实用性。还有利地是,该实施例的上述特征可以允许人用户选择在数据安全性和RAID性能之间要达到的平衡。随着安全性进一步增强,可以与数据55的一个或多个特性相关联的一个或多个加密级别可以至少部分地指示一个或多个PI条带34A……34N可以被加密(并且可以包括在加密内容85中)。有利地是,这可以允许取决于这些一个或多个加密级别,而在RAID 28中对数据55的全部(或仅其的一部分)和与数据55相关联的PI的全部(或仅其的一部分)进行加密。因此,在该配置中,取决于这些一个或多个加密级别,一个或多个PI条带34A……34N和所有数据条带30A……30N与32A……32N二者都可以被加密并包括在加密内容85中。
在该实施例的变型中(见图2),PI条带34A……34N可以包括PI的分别的拷贝。例如,在图2示出的变型中,一个或多个磁盘64可以包括多个磁盘集200A……200N,所述多个磁盘集200A……200N可以分别包括一个或多个各自的磁盘202A……202N。多个磁盘集200A……200N中的第一磁盘集200A和第二磁盘集200N可以彼此互不相交(disjoint),并且可以分别包括一个或多个磁盘202A和一个或多个磁盘202N。一个或多个磁盘202A可以包括可以存储分别的PI条带34A的分别的磁盘,所述相应PI条带34A可以已经至少部分地基于数据55而至少部分地生成,并且数据55能够至少部分地基于PI条带34A至少部分地被重新构造。一个或多个磁盘202N可以包括可以存储相应PI条带34N的单个相应磁盘。PI条带34N可以是PI条带34A的拷贝。
在该变型中,可以将PI的分别的拷贝34A和34N分别存储在磁盘202A和202N各自的对应物理和/或逻辑地址空间和/或范围中。即,磁盘202A中可以存储PI条带34A的相应地址空间和/或范围可以在数值上与磁盘202N中可以存储PI条带34N的相应地址空间和/或范围相同。此外,在该变型中,第一磁盘集200A可以包括可以存储数据段(例如,数据条带)和与数据段相关联的PI段(例如,PI条带)的多个磁盘(例如,该多个磁盘可以整体或部分地包括在例如一个或多个磁盘62和/或60中)。一个或多个磁盘202N可以仅存储PI段的分别的拷贝(例如,存储在磁盘集200A中的PI条带的分别的拷贝),而可以不存储任何数据段(例如,可以不存储任何数据条带)。在该变型中,RAID 28可以实现大于三的RAID级别。
在该变型中,至少部分地响应于一个或多个请求52(至少部分地由电路118、控制器120和/或至少一个处理器12生成),电路118’可以根据一个或多个请求52访问加密内容85和/或PI 34A……34N。例如,如果访问涉及写操作并且没有数据55的条带先前已被写入RAID 28,那么控制器120、电路118和/或一个或多个处理器12可以基于数据55和在RAID 28中实现的RAID级别,根据该变型的上述特征,至少部分地生成一个或多个加密的数据条带30A……30N、一个或多个未加密的数据条带32A……32N和/或奇偶校验条带34A……34N。控制器120、电路118和/或一个或多个处理器12然后可以至少部分地生成一个或多个请求52并且至少部分地将其发送到电路118’,所述一个或多个请求52可以至少部分地请求将这些一个或多个加密的磁盘条带30A……30N、一个或多个未加密的磁盘条带32A……32N和奇偶校验条带34A……34N至少部分地分别写入一个或多个磁盘60、一个或多个磁盘62和磁盘64。至少部分地响应于一个或多个请求52,电路118’可以以一个或多个请求52请求的方式,将被写入的这些一个或多个加密的磁盘条带30A……30N、一个或多个未加密的磁盘条带32A……32N和奇偶校验条带34A……34N至少部分地分别写入一个或多个磁盘60、一个或多个磁盘62和磁盘64,以使得这些条带具有该变型的上述特征。可替换地,电路118’可以至少部分地基于(例如,在一个或多个请求52中发送到电路118’的)未加密版本的一个或多个磁盘条带30A……30N和一个或多个未加密的磁盘条带32A……32N,至少部分地生成加密内容85和/或PI条带34A……34N,以实现该变型的上述特征。
相反地,在该变型中,如果访问涉及数据55的至少一部分先前已被写入RAID 28并且要用新数据条带重写一个或多个数据条带(例如,条带32A)的写操作,那么电路118可以至少部分地生成一个或多个请求52并且至少部分地将其发送到电路118’,其中所述一个或多个请求52可以至少部分地请求将这些一个或多个数据条带32A和奇偶校验条带34A……34N至少部分地分别写入一个或多个磁盘62和磁盘64。至少部分地响应于一个或多个请求52,电路118’可以以一个或多个请求52请求的方式,将这些一个或多个磁盘条带32A和奇偶校验条带34A……34N分别写入一个或多个磁盘62和磁盘64,以使得这些条带具有该变型的上述特征。例如,电路118’可以读取(以及在需要时解密)一个或多个条带30A……30N、一个或多个条带32A……32N(除了正写入的新条带)和两个PI条带34A……34N之一(例如,条带34N),并且可以至少部分地基于由此读取的条带和要写入RAID 28的新数据条带,至少部分地生成新PI条带。即,针对该对两个PI条带34A、34N之一的读取,电路118’可以至少部分地基于是磁盘202A还是磁盘202N当前例如至少部分地由于另一个访问请求而正被访问,选择磁盘202A、202N中的一个来从中读取PI条带34A、34N的两个相应拷贝的一个。例如,如果至少部分地由于另一个访问请求导致存储PI条带34A的磁盘202A当前正在被访问,那么电路118’可以访问(例如,读取)存储在磁盘202N中的该PI条带34A的另一个拷贝34N,反之亦然,这取决于两个磁盘202A、202N的哪一个由于该另一个请求而当前正在被访问。在确定新PI后,电路118’可以将该新PI写入PI条带34A和34N二者(例如,可以用该新PI重写存储在条带34A和34N中的当前PI)。
因此,在该变型中,至少一个磁盘被提供来仅存储PI的拷贝,并且该PI的另一拷贝被存储在还存储数据条带的一个或多个磁盘中。有利地是,与现有技术相比,在该变型中,这可以减少冲突/竞争问题,并且可以提高RAID 28的效率和性能。
因此,在一个实施例中,提供了一种装置,其可以包括电路,该电路用于至少部分地生成和/或至少部分地接收涉及独立磁盘冗余阵列(RAID)存储设备的至少一个访问请求。至少部分地响应于该至少一个请求,该存储设备能够访问加密内容和/或PI。该加密内容可以具有数据的至少一部分和/或PI。可以将该加密内容存储在(1)存储设备的加密的磁盘条带中,以使得单独地基于数据的剩余的未加密的部分和存储在存储设备中的PI,不能恢复该数据;和/或(2)一个或多个分别的磁盘条带中,所述一个或多个分别的磁盘条带的数量是至少部分地基于在有加密级别的情况下与数据的至少一个特性相关联的一个或多个加密级别而确定的。
在该实施例的变型中,所述电路能够至少部分地生成和/或至少部分地接收访问RAID存储设备中的数据的至少一个请求。所述存储设备可以存储PI的第一拷贝和PI的第二拷贝。能够至少部分地基于所述PI来至少部分地重新构造所述数据。可以将所述第一拷贝存储在第一磁盘集的第一磁盘中,并且可以将第二拷贝存储在第二磁盘集的第二磁盘中。第一磁盘集可以与第二磁盘集不相交。至少部分地响应于所述至少一个请求,所述存储设备可以至少部分地基于所述第一磁盘是否至少部分地由于另一个请求而正在被访问,来读取所述第一拷贝或所述第二拷贝。
本文使用的术语和表达被用作描述性而非限制性的术语,并且在使用这些术语和表达时,并不意图排除所示出和描述的特征(或其部分)的任何等价物,并且应当认识到,在权利要求的范围内能够进行各种修改。因此,权利要求意图覆盖所有这些等价物。

Claims (17)

1.一种装置,包括:
电路,用于进行以下子段(a)和(b)中的至少一个:
(a)至少部分地生成涉及独立磁盘冗余阵列(RAID)存储设备的至少一个访问请求,所述存储设备能够至少部分地响应于所述至少一个请求而访问加密内容和奇偶校验信息中的至少一个,所述加密内容具有数据的至少一部分和所述奇偶校验信息中的至少一个,所述加密内容满足以下子段(c)和(d)中的至少一个:
(c)所述加密内容存储在所述存储设备中加密的磁盘条带中,以使得单独地基于所述数据的剩余的未加密的部分和存储在所述存储设备中的所述奇偶校验信息,不能恢复所述数据;
(d)所述加密内容存储在一个或多个分别的磁盘条带中,所述一个或多个分别的磁盘条带的数量是至少部分地基于在有加密级别的情况下与所述数据的一个或多个特性相关联的一个或多个加密级别而确定的;以及
(b)至少部分地接收所述至少一个请求。
2.根据权利要求1所述的装置,其中:
如果没有加密级别与所述一个或多个特性相关联,那么所述数据在所述存储设备中存储时不被加密。
3.根据权利要求1所述的装置,其中:
所述加密内容满足所述子段(c);
所述存储设备实现能够恢复两个磁盘的校验子;
所述加密的磁盘条带包括分别存储在所述存储设备中的至少三个分别的磁盘中的至少三个分别的条带;并且
所述奇偶校验信息在所述存储设备中存储时不被加密,并且在所述存储设备中与所述至少三个分别的磁盘不同的其他磁盘中被条带化。
4.根据权利要求1所述的装置,其中:
所述一个或多个特性包括以下中的至少一个:所述数据是否至少部分地来自安全的信道,所述数据是否来自分别的网络流,分别的文件类型是否至少部分地包括所述数据,以及所述数据是否满足一个或多个用户定义的准则;并且
至少部分地由以下中的至少一个来指示所述一个或多个加密级别:至少一个指令和至少一个RAID描述符。
5.根据权利要求4所述的装置,其中:
所述加密内容包括所述数据和所述奇偶校验信息二者。
6.根据权利要求1所述的装置,其中:
电路卡至少部分地包括所述电路。
7.一种计算机可读存储器,其存储一个或多个指令,所述一个或多个指令当由机器执行时导致执行下述操作,包括:
以下子段(a)和(b)中的至少一个:
(a)至少部分地由电路生成涉及独立磁盘冗余阵列(RAID)存储设备的至少一个访问请求,所述存储设备能够至少部分地响应于所述至少一个请求而访问加密内容和奇偶校验信息中的至少一个,所述加密内容具有数据的至少一部分和所述奇偶校验信息中的至少一个,所述加密内容满足以下子段(c)和(d)中的至少一个:
(c)所述加密内容存储在所述存储设备中加密的磁盘条带中,以使得单独地基于所述数据的剩余的未加密的部分和存储在所述存储设备中的所述奇偶校验信息,不能恢复所述数据;
(d)所述加密内容存储在一个或多个分别的磁盘条带中,所述一个或多个分别的磁盘条带的数量是至少部分地基于在有加密级别的情况下与所述数据的一个或多个特性相关联的一个或多个加密级别而确定的;以及
(b)至少部分地由所述电路接收所述至少一个请求。
8.根据权利要求7所述的存储器,其中:
如果没有加密级别与所述一个或多个特性相关联,那么所述数据在所述存储设备中存储时不被加密。
9.根据权利要求7所述的存储器,其中:
所述加密内容满足所述子段(c);
所述存储设备实现能够恢复两个磁盘的校验子;
所述加密的磁盘条带包括分别存储在所述存储设备中的至少三个分别的磁盘中的至少三个分别的条带;并且
所述奇偶校验信息在所述存储设备中存储时不被加密,并且在所述存储设备中与所述至少三个分别的磁盘不同的其他磁盘中被条带化。
10.根据权利要求7所述的存储器,其中:
所述一个或多个特性包括以下中的至少一个:所述数据是否至少部分地来自安全的信道,所述数据是否来自分别的网络流,分别的文件类型是否至少部分地包括所述数据,以及所述数据是否满足一个或多个用户定义的准则;并且
至少部分地由以下中的至少一个来指示所述一个或多个加密级别:至少一个指令和至少一个RAID描述符。
11.根据权利要求10所述的存储器,其中:
所述加密内容包括所述数据和所述奇偶校验信息二者。
12.根据权利要求7所述的存储器,其中:
电路卡至少部分地包括所述电路。
13.一种装置,包括:
电路,用于进行以下子段(a)和(b)中的至少一个:
(a)至少部分地生成访问独立磁盘冗余阵列(RAID)存储设备中的数据的至少一个请求,所述存储设备存储奇偶校验信息的第一拷贝和所述奇偶校验信息的第二拷贝,其中所述数据能够至少部分地基于所述奇偶校验信息而被至少部分地重新构造,所述第一拷贝存储在第一磁盘集的第一磁盘中并且所述第二拷贝存储在第二磁盘集的第二磁盘中,所述第一磁盘集与所述第二磁盘集不相交,所述存储设备至少部分地响应于所述至少一个请求而至少部分地基于所述第一磁盘是否至少部分地由于另一个请求而正在被访问,来读取所述第一拷贝和所述第二拷贝中的一个;以及
(b)至少部分地接收所述至少一个请求。
14.根据权利要求13所述的装置,其中:
所述至少一个请求包括将所述数据写入所述存储设备的写请求;
所述存储设备至少部分地响应于所述至少一个请求,还计算新奇偶校验信息,并且用所述新奇偶校验信息的分别的拷贝来取代所述第一拷贝和所述第二拷贝。
15.根据权利要求13所述的装置,其中:
电路卡至少部分地包括所述电路。
16.根据权利要求13所述的装置,其中:
所述第一磁盘集包括用于存储数据段和与所述数据段相关联的奇偶校验段的多个磁盘;并且
所述第二磁盘集包括用于存储所述奇偶校验段的拷贝但不存储所述数据段的一个或多个磁盘。
17.根据权利要求13所述的装置,其中:
所述RAID实现大于三的RAID级别。
CN200980137696.XA 2008-09-29 2009-09-22 与独立磁盘冗余阵列相关的操作 Expired - Fee Related CN102165407B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/240,776 US8074039B2 (en) 2008-09-29 2008-09-29 Redundant array of independent disks-related operations
US12/240,776 2008-09-29
PCT/US2009/057869 WO2010036654A2 (en) 2008-09-29 2009-09-22 Redundant array of independent disks-related operations

Publications (2)

Publication Number Publication Date
CN102165407A true CN102165407A (zh) 2011-08-24
CN102165407B CN102165407B (zh) 2014-03-12

Family

ID=42058919

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980137696.XA Expired - Fee Related CN102165407B (zh) 2008-09-29 2009-09-22 与独立磁盘冗余阵列相关的操作

Country Status (4)

Country Link
US (1) US8074039B2 (zh)
EP (1) EP2332037B1 (zh)
CN (1) CN102165407B (zh)
WO (1) WO2010036654A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701424A (zh) * 2014-11-29 2016-06-22 华为技术有限公司 一种创建存储单元的方法和控制器
CN111858130A (zh) * 2019-04-29 2020-10-30 伊姆西Ip控股有限责任公司 用于拆分盘集的方法、设备和计算机程序产品
CN112800493A (zh) * 2021-02-07 2021-05-14 联想(北京)有限公司 一种信息处理方法及设备
CN116027991A (zh) * 2023-03-29 2023-04-28 苏州浪潮智能科技有限公司 Raid阵列管理方法、装置、raid卡及存储介质

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074039B2 (en) 2008-09-29 2011-12-06 Intel Corporation Redundant array of independent disks-related operations
US8140865B2 (en) * 2009-02-06 2012-03-20 International Business Machines Corporation Pre-configuring of encryption bands on a disk for use in a plurality of array configurations
US10621021B2 (en) * 2013-02-05 2020-04-14 Pure Storage, Inc. Using dispersed data structures to point to slice or date source replicas
US10481835B2 (en) * 2014-10-09 2019-11-19 Netapp, Inc. Methods and systems for dynamic hashing in caching sub-systems
US10778429B1 (en) * 2015-12-03 2020-09-15 Amazon Technologies, Inc. Storage of cryptographic information
CN109725831B (zh) * 2017-10-27 2022-06-10 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机可读介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053308A1 (en) * 2004-09-08 2006-03-09 Raidy 2 Go Ltd. Secured redundant memory subsystem
US20080092029A1 (en) * 2006-09-29 2008-04-17 Hitachi, Ltd. Method and apparatus for encryption with raid in storage system
US20080229118A1 (en) * 2007-03-16 2008-09-18 Hitachi, Ltd. Storage apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044879A1 (en) * 2000-02-18 2001-11-22 Moulton Gregory Hagan System and method for distributed management of data storage
US7165154B2 (en) 2002-03-18 2007-01-16 Net Integration Technologies Inc. System and method for data backup
US7320052B2 (en) 2003-02-10 2008-01-15 Intel Corporation Methods and apparatus for providing seamless file system encryption and redundant array of independent disks from a pre-boot environment into a firmware interface aware operating system
US7562230B2 (en) 2003-10-14 2009-07-14 Intel Corporation Data security
US20060195704A1 (en) 2005-01-27 2006-08-31 Hewlett-Packard Development Company, L.P. Disk array encryption element
US20080313364A1 (en) * 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device
US8074039B2 (en) 2008-09-29 2011-12-06 Intel Corporation Redundant array of independent disks-related operations

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060053308A1 (en) * 2004-09-08 2006-03-09 Raidy 2 Go Ltd. Secured redundant memory subsystem
US20080092029A1 (en) * 2006-09-29 2008-04-17 Hitachi, Ltd. Method and apparatus for encryption with raid in storage system
US20080229118A1 (en) * 2007-03-16 2008-09-18 Hitachi, Ltd. Storage apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105701424A (zh) * 2014-11-29 2016-06-22 华为技术有限公司 一种创建存储单元的方法和控制器
CN105701424B (zh) * 2014-11-29 2018-11-06 华为技术有限公司 一种创建存储单元的方法和控制器
CN111858130A (zh) * 2019-04-29 2020-10-30 伊姆西Ip控股有限责任公司 用于拆分盘集的方法、设备和计算机程序产品
CN112800493A (zh) * 2021-02-07 2021-05-14 联想(北京)有限公司 一种信息处理方法及设备
CN116027991A (zh) * 2023-03-29 2023-04-28 苏州浪潮智能科技有限公司 Raid阵列管理方法、装置、raid卡及存储介质
CN116027991B (zh) * 2023-03-29 2023-09-19 苏州浪潮智能科技有限公司 Raid阵列管理方法、装置、raid卡及存储介质

Also Published As

Publication number Publication date
US20100083039A1 (en) 2010-04-01
WO2010036654A3 (en) 2010-06-17
CN102165407B (zh) 2014-03-12
US8074039B2 (en) 2011-12-06
EP2332037A4 (en) 2013-09-11
EP2332037B1 (en) 2019-06-05
WO2010036654A2 (en) 2010-04-01
EP2332037A2 (en) 2011-06-15

Similar Documents

Publication Publication Date Title
CN102165407B (zh) 与独立磁盘冗余阵列相关的操作
CN100419663C (zh) 数据安全
US8838984B2 (en) Optimized hierarchical integrity protection for stored data
CN1272718C (zh) 安全存储应用
CN104424016B (zh) 用于自加密驱动器的虚拟带集中
US8583984B2 (en) Method and apparatus for increasing data reliability for raid operations
CN105247489B (zh) 用于保护信息使能的存储卷的后台初始化
CN105389265B (zh) 当加密参数改变时在垃圾数据上生成零内容的方法和装置
CN105283921A (zh) 非易失性存储器的操作
CN107153587A (zh) 利用数据缩减在高性能直接附接非易失性存储器上进行有效跨设备冗余实现
JP2010532880A (ja) データセキュリティのためにデータを処理するシステム及び方法
US11429736B2 (en) Encryption management
US11303618B2 (en) Encryption management
Cui et al. Towards trustworthy storage using SSDs with proprietary FTL
EP4354331A1 (en) Systems, methods, and apparatus for protection for device data transfers
US20230135891A1 (en) Storage device including storage controller and operating method
EP4354306A1 (en) Systems, methods, and apparatus for namespace identification for devices
US20230350980A1 (en) Management of Storage Devices Utilizing Non-Fungible Tokens
US20240080193A1 (en) Counter integrity tree
JP5978260B2 (ja) 自己暗号化ドライブ用の仮想バンド集信
CN108764869A (zh) 一种实现交易信息加密的方法和装置
CN117592068A (zh) 加密数据转化方法、装置、设备及存储介质
GB2520113A (en) Virtual bands concentration for self encrypting drives
Johansen et al. Grains of SANs: Building Storage Area Networks from Memory Spots

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140312

Termination date: 20210922

CF01 Termination of patent right due to non-payment of annual fee