存储用于数据恢复的奇偶校验信息的制作方法

文档序号:6656656阅读:375来源:国知局
专利名称:存储用于数据恢复的奇偶校验信息的制作方法
存储用于数据恢复的奇偶校验信息技术领域本公开涉及一种用于存储用于数据恢复的奇偶校验信息的方法、系统和制品。
背景技术
包括存储系统的信息技术系统可能需要保护以免于站点灾难或者损害(outage),其中,损害可能是计划的或者未计划的。而且,信息技术系统可能 需要用于数据迁移、数据备份或者数据复制的特征。灾难或者损害恢复、数 据迁移、数据备份和数据复制的实现可能包括存储系统中的数据的镜象或者 复制。这样的数据镜象或者复制可能涉及在信息技术系统的主机、存储系统 和4关网部件之间的交互。可以通过将数据从第一站点复制到第二站点来保护信息技术系统免于站 点损害。第一站点可以称为应用站点、本地站点、主站点或者生产站点。第 二站点可以被称为恢复站点、远程站点、辅助站点或者备份站点。独立磁盘冗余阵列(RAID)是盘存储系统中使得盘容错以从突难恢复的机 制。RAID可以使用称为奇偶校验的纠错码来从单点故障错误、即单个盘的故 障中恢复。RAID可以跨越多个盘条带化(stripe)数据和奇偶校验信息,以改善 数据检索的速度,并且同时允许容错。存在多个不同的RAID级,诸如RAID 级0、 1、 2、 3、 4、 5。例如,RAID级5提供了字节级的数据条带化,并且 还提供条带化纠错信息。在RAID级5中,可以计算对应于多个盘上的数据 的奇偶校验信息,并且可以使用该奇偶校验信息来从盘故障恢复而不丟失任 何数据。发明内容本发明提供了一种方法、系统和制品,其中,在第一站点的第一存储单 元耦接到在第二站点的第二存储单元和在第三站点的第三存储单元。在第一存储单元接收数据。把所接收的数据划分为第一部分和第二部分。将数据的 第 一部分存储在第 一站点的第 一存储单元中。将数据的第二部分分布到在第二站点的第二存储单元以存储。计算对应于该数据的第 一部分和该数据的第 二部分的奇偶校验数据。把该奇偶校验数据分布到在第三站点的第三存储单 元以存储。在其他的实施例中,响应于在第一站点的数据丢失,从在第二站点存储 的该数据的第二部分和在第三站点存储的该奇偶校验数据来恢复该数据的第 一部分。在其他的实施例中,数据的第一部分、数据的第二部分和奇偶校验 数据的大小之和小于所接收的数据大小的两倍。在其他的实施例中,数据的 第一部分、数据的第二部分和奇偶校验数据的大小之和是所接收的数据大小的1.5倍。在其他的实施例中,第一站点、第二站点和第三站点彼此相隔超过10英 里的距离,并且其中,第一部分、第二部分和第三部分被存储在不同的存储 盘系统中。在其他的实施例中,第一站点和第三站点之间的距离小于第一站点和第 二站点之间的距离。在其他的实施例中,第一存储单元包括高速緩冲存储器。将所接收的数 据存储在第一存储单元中的高速緩冲存储器中,在划分所接收的数据之前, 接收对高速緩沖存储器中所存储的数据的更新。使用所接收的更新来更新所 述高速緩冲存储器,其中,分布所述数据的第二部分和奇偶校验数据是异步 地执行的,以及其中,把数据的第一部分、数据的第二部分和奇偶校验数据 打上时间戳。在其他的实施例中,第 一存储单元耦接到向第一存储单元发送输入/输出 请求的主机,其中,从该主机到第一存储单元的更新被异步地反映在第二存 储单元处,并且被异步地反映在第三存储单元处。本发明还提供了一种方法、系统和制品,其中,在第一站点的第一存储 单元耦接到在第二站点的第二存储单元和在第三站点的第三存储单元。产生 第一信息单元、第二信息单元和第三信息单元,其中,所述第一信息单元、第二信息单元和第三信息单元每个包括所接收的数据和所计算的奇偶校验数 据的一部分。将第一信息单元存储在第一站点的第一存储单元中。将第二信 息单元分布到在第二站点的第二存储单元以存储。将第三信息单元分布到在第三站点的第三存储单元以存储。在其他的实施例中,响应于在第一站点的数据丢失,从第二信息单元和 第三信息单元恢复所接收的数据。在其他的实施例中,第一信息单元、第二信息单元和第三信息单元的大小之和小于所接收的数据大小的两倍。在其他的实施例中,第一站点、第二站点和第三站点彼此相隔超过10英 里,其中,第一信息单元、第二信息单元和第三信息单元被存储在不同的存 储盘系统中。在其他的实施例中,奇偶校验数据的大部分被存储在第一存储单元中, 其中,相比于第二和第三存储单元可更快地访问第 一存储单元。在其他的实施例中,在第一存储单元从主机接收数据,其中,使用多路 径硬件来将主机连接到第一、第二和第三存储单元。在其他的实施例中,分布第二和第三信息单元是经由从第一存储单元向 第二和第三存储单元的写入操作的,其中,从第一存储单元向第二和第三存 储单元的写入操作是被并行地写入到第二和第三存储单元的全步幅的写入。


现在参见附图,其中,在全部附图中,类似的标号表示对应的部分。图la图解了从主存储系统向辅助存储系统复制数据的系统的方框图;图lb图解按照某些实施例的、用于在三个存储系统之间分布数据和奇偶 校验信息的系统的方框图;图2图解了按照某些实施例的、用于在三个存储系统之间分布数据和奇 偶校验信息的第一计算环境的方框图;图3图解了对应于第一计算环境的、按照某些实施例的、用于分布数据 和奇偶校验信息的操作;图4图解了按照某些实施例的、用于在三个存储系统之间分布数据和奇 偶校验信息的第二计算环境的方框图;图5图解了对应于第二计算环境的、按照某些实施例的、用于分布数据 和奇偶校验信息的操作;图6图解了按照某些实施例的、用于在三个存储系统之间分布数据和奇 偶校验信息的第三计算环境的方框图;图7图解了对应于第三计算环境的、按照某些实施例的、用于分布数据和奇偶校验信息的操作;图8图解了其中实现某些实施例的系统。
具体实施方式
在下面的描述中,参考了附图,所述附图形成说明书的一部分并且图解 了几个实施例。可以明白,可以使用其他的实施例,并且可以进行结构改变 和操作改变。图1图解了从一个存储系统向另一个复制数据以供故障恢复的系统的方 框图。诸如主机100的服务器可以发送要写入到主存储系统102的数据,该 主存储系统102耦接到辅助存储系统104。由主机IOO写入到主存储系统102 的数据可以称为原始数据106。例如,原始数据106的大小可以是一百万亿 字节(terabyte)。为了维持允许从主存储系统102中的数据丢失恢复的系统, 主存储系统102可以将原始数据106复制108到辅助存储系统104。复制到 辅助存储系统104的数据可以称为复制数据110。在原始数据106的任何部 分丢失的情况下,可以使用复制数据110来从所述丟失恢复。如果原始数据 106的大小是一百万亿字节,则复制数据110的大小可以也是一百万亿字节, 从而图1中所示的系统可以使用二百万亿字节的存储来从原始数据106中的 数据丟失恢复。在图1中所示的系统中,从数据丟失恢复所需的存储量是原 始数据106的大小的两倍。在从主存储系统102向辅助存储系统104初始复 制原始数据106后,也可以复制随后的写入。当主机100向主存储系统102 上的巻(volume)写入时,主存储系统102向与主存储系统102相关联的本地存 储器诸如盘写入相应的数据,并且将所述数据转发到辅助存储系统104。辅 助存储系统104向与辅助存储系统104相关联的本地存储器写入所转发的数 据。 一旦辅助存储系统104向主存储系统102确认写入成功,则主存储系统 102向主才几100响应写入成功。图lb图解了按照某些实施例的、用于在三个存储系统之间分布数据和奇 偶校验信息的系统的方框图。第一存储系统112、第二存储系统114和第三存储系统116分别耦接到 第一服务器118、第二服务器120和第三服务器122。第一服务器118可以向 第一存储系统112写入数据。可能必须保护所述数据以免于站点损害。在某 些实施例中,数据和相关联的奇偶校验可以被存储在第一、第二、和第三存储系统112、 114、 116的一个或多个中。在图2-8中描述了用于在第一、第 二、和第三存储系统112、 114、 116的一个或多个中存储数据和相关联的奇 偶校验信息的某些实施例的进一 步的细节。图2图解了按照某些实施例的、用于在三个存储系统之间分布数据和奇 偶校验信息的第一计算环境200的方框图。第一存储系统202、第二存储系统204、和第三存储系统206分别耦接到 第一服务器208、第二服务器210、和第三服务器212。另外,第一存储系统 202耦接到第二存储系统204和第三存储系统206。存储系统202、 204、 206 可以包括任何存储系统或者存储子系统,其中包括存储控制器、基于盘的存 储器和基于磁带的存储器等。服务器208、 210、 212可以包括任何类型的计 算设备,诸如工作站、台式计算机、膝上型电脑、大型计算机、电话设备、 手提计算机等。当执行写入操作时,第一服务器208可以向第一存储系统202发送数据 214。可能必须保护数据214以免于站点损害。第一存储系统202在第一存储 系统202中存储数据214的第一部分216,并且向第二存储系统204发送数 据214的第二部分218以存储。第一存储系统202从第一部分216和第二部 分218计算奇偶校验数据220,并且向第三存储系统206发送奇偶校验数据 220以存储。在某些实施例中,在从第一存储系统202发送数据后,第一存 储系统202等待来自远程的、即第二或者第三存储系统204、 206之一的确认。 当对应的确认从第二存储系统204或者第三存储系统206返回时,所述数据 被保护,并且第一存储系统202向第一服务器208返回关于写入成功的指示。 以这种方式,也可以自动地对所述写入进行负载平衡。如果到第二存储系统 206的存储网络忙,则它可能不会对第一计算环境200的性能产生不利影响, 这是因为第一服务器208仅仅必须等待要被确认的写入之一。在某些实施例中,如果数据214在大小上是一百万亿字节,则数据的第 一部分216可以是50万亿字节,数据的第二部分218可以是50万亿字节, 以及奇偶校验数据220可以是50万亿字节。与图1 — 一其中需要两倍的存储 量来存储原始数据106以从事故恢复——相比较,在图2中图解的实施例可 以需要数据214的大小的1.5倍的存储量,以从导致存储系统202、 204、 206 的任何一个中的丢失的故障中恢复。在某些实施例中,第一存储系统202、第二存储系统204和第三存储系统206可以在不同的站点。在某些实施例中,第一存储系统202位于第一站 点,第二存储系统204位于第二站点,第三存储系统206位于第三站点,其 中,第一站点、第二站点和第三站点在地理上彼此分离,并且可以在不同的 城市。例如,第一、第二和第三站点可以每个彼此相隔超过IO英里的距离。 因为存储系统202、 204、 206位于不同的站点,因此,数据214的第一部分 216、数据214的第二部分218和奇偶校验数据220被存储在不同的盘存储系 统中。在某些实施例中,用户可以选择分离存储系统202、 204、 206以保护 免于站点的故障,诸如自然灾难,但是,存储系统202、 204、 206可以总是 在地理上散布。例如,存^(诸系统202、 204、 206可以在同一房间内,通过防 火实墙分离,并且连接到不同的电力网和自动喷水灭火系统。在一个示例实施例中,包括本地站点和远程站点的两个站点可以相隔100 km的距离。通过光纤的光的速度是大约200,000 km/s。假定100 km的距离, 在两个站点之间的往返延迟是1微秒。示例硬盘驱动器的延迟可以是大约5 毫秒。如果从/向远程站点的远程存储子系统的高速緩冲存储器读取/写入数 据,则该设置的访问时间可以是所述示例硬盘驱动器的访问时间的1/5。但是, 如果所述数据不在所述远程高速緩冲存储器中,则所述操作花费6毫秒而不 是5毫秒,这引起20%的性能损失。在其中向第二和第三存储子系统204、 206的写入并行发生的示例实施例中,写入性能可以与所述两个站点设置相 同,并且读取性能可以不差于20%。在某些的替代实施例中,写入操作不是 全步幅(follstride)的写入。在这种情况下,存储子系统需要读取当前数据,增 加工作复制(working-copy)数据,并且在写入之前计算新的奇偶校验。在某些 实施例中,可以把奇偶校验数据存储在最快访问时间的存储系统中,这是因 为奇偶校验数据可能比其他数据更频繁地被访问。在另一实施例中,奇偶校 验数据可以被分布在存储系统202、 204、 206之间。分布奇偶校验数据可以 在三个存储系统之间更均等地平衡工作负载,并且可以引起在计算环境200 的整体性能上的改进。图3图解了对应于第一计算环境200的、按照某些实施例的用于分布数 据和奇偶校验信息的操作。可以在第一存储系统202中实现图3中所图解的 操作。控制在块300开始,其中,第一存储系统202接收来自第一服务器208 的写入数据214的请求。第一存储系统202(在块302)将所述数据划分为第一部分216和第二部分218。第一存储系统202从数据的第一部分216和数据的第二部分218计算(在 块304)奇偶校验数据220。例如,数据的第一部分216和数据的第二部分218 的字节的逐位异或运算可以提供奇偶校验数据。在某些实施例中,可以以与 在RAID级4中的奇偶校-睑数据的计算类似的方式来计算奇偶校验数据220。 在替代实施例中,可以以与RAID级4中的奇偶校验数据的计算不同的方式 来计算奇偶校验数据220。控制可以从块304同时前进到块306a、 306b和206c,即,可以并行执行 块306a、 306b、 306c中所述的操作。第一存储系统202向第一存储系统202 写入(在块306a)数据214的第一部分216。第一存储系统202向第二存储系统 218分布(在块306b)数据214的第二部分218以存储。第二存储系统204可以 接收和存储数据的第二部分218。另外,第一存储系统202向第三存储系统 206分布(在块306c)奇偶校验数据220。第三存储系统206可以接收和存储奇 偶校验数据220。图3图解了其中在第一站点的第一存储单元202耦接到在第二站点的第 二存储单元206和在第三站点的第三存储单元206的实施例。第一存储单元 202接收数据214,并且将所接收的数据划分为第一部分216和第二部分218。 第一存储单元202在第一站点的第一存储单元202中存储数据214的第一部 分216。第一存储单元202向在第二站点的第二存储单元204分布所述数据 的第二部分218以存储。第一存储单元202计算对应于数据214的第一部分 216和数据214的第二部分218的奇偶^f文验数据220。第一存储单元202向在 第三站点的第三存储单元204分布奇偶校验数据220以存储。在某些实施例中,响应于在第一站点的第一存储系统202处的数据丟失, 可以从存储在第二存储系统204的数据的第二部分218和存储在第三存储系 统206的奇偶校验数据220恢复数据214的第一部分216。在某些实施例中, 因为与其他数据相比,可能更频繁地来访问和写入奇偶校验数据220,所以 第一站点和第三站点之间的距离小于第一站点和第三站点之间的距离。在某些实施例中,凝:据214的第一部分216、 #:据214的第二部分218、 和奇偶校验数据220的大小之和小于所接收的数据214的大小的两倍。在某 些实施例中,数据214的第一部分216、数据214的第二部分218、奇偶校验 数据220的大小之和是所接收的数据214的大小的1.5倍。在某些的替代实施例中,可以把奇偶校验数据存储在可最快访问的存储系统诸如第一存储系统202中。图4图解了按照某些实施例的、用于在三个存储系统之间分布教:据和奇 偶校验信息的第二计算环境的方框图。第一存储系统402、第二存储系统404和第三存储系统406分别耦接到 第一服务器408、第二服务器410和第三服务器412。另外,第一存储系统 402耦接到第二存储系统404和第三存储系统406 。第一服务器408可以经由写入请求向第一存储系统402发送数据414。 可能必须保护数据414以免于站点损害。在某些实施例中,第一存储系统402 从第一服务器408接收数据414,其中,数据414可以与来自第一服务器408 的写入请求相关联。第一存储系统402产生第一信息单元416、第二信息单元418和第三信 息单元420,其中,第一信息单元416、第二信息单元418和第三信息单元 420每个包括所接收的数据414和所计算的奇偶校验数据的一部分。每个信 息单元416、 418、 420由一个或多个字节构成。第一存储单元402在第一站 点的第一存储系统402存储第一信息单元416。第一存储单元408向在第二 站点的第二存储系统204分布第二信息单元418以存储,以及也向第三存储 系统406分布第三信息单元420以存储。在某些实施例中,如果数据414在大小上是一百万亿字节,则第一信息 单元416可以是50万亿字节,第二信息单元418可以是50万亿字节,第三 信息单元420可以是50万亿字节。与图1一一其中需要两倍的存储量来存储 原始数据106以从故障恢复——相比较,计算环境400中所图解的实施例可 以需要数据414的大小的存储量的1.5倍,以从引起存储系统402、 404、 406 的任何一个中的丟失的故障中恢复。在某些实施例中,第一存储系统402位于第一站点,第二存储系统404 位于第二站点,第三存储系统406位于第三站点,其中,第一站点、第二站 点和第三站点在地理上彼此分隔,并且可以在不同的城市。第一信息单元416、 第二信息单元418和第三信息单元420可以被存储在不同的盘系统中。图5图解了对应于第二计算环境400的、按照某些实施例的用于分布数 据和奇偶校验信息的操作。可以在第一存储系统402中实现图5中所图解的 操作。控制在块500开始,其中,第一存储系统402接收来自第一服务器408 的写入数据414的请求。第一存储系统402在第一信息单元416、第二信息 单元418和第三信息单元420之间分配(在块502)数据414。第一存储系统402计算和添加(在块504)奇偶校验数据到第一信息单元 416、第二信息单元418、和第三信息单元420。在某些实施例中,第一存储 系统402可以以与RAID级5类似的方式来计算奇偶校验信息,其中,三个 信息单元416、 418、 420的每个包括所接收的数据414的一部分和至少一些 奇偶校验数据。可以通过使用与RAID级5中所使用的那些不同的算法来执 行奇偶校验数据的分配和增加。控制可以从块504同时进行到块506a、 506b和506c,即可以并行地执行 块506a、 506b、 506c中所述的操作。第一存储系统向第一存储系统416写入 (在块506a)包括对应的奇偶校验数据的第一信息单元416。同时,第一存储系 统402向第二存储系统404分布(在块506b)包括对应的奇偶校验数据的第二 信息单元418。另外,第一存储系统402向第三存储系统406写入包括对应 的奇偶校验数据的第三信息单元420。在提供容错的某些实施例中,与存储系统中所存储的数据对应的奇偶校 验数据被存储在其他的存储系统中。例如,针对第一存储系统402中所存储 的数据的奇偶校验数据被存储在第二存储系统404和第三存储系统406中, 针对第二存储系统404中所存储的数据的奇偶校验数据被存储在第一存储系 统402和第三存储系统406中,以及针对第三存储系统406中所存储的数据 的奇偶校验数据被存储在第一存储系统402和第二存储系统404中。在某些实施例中,在第一站点数据丟失的情况下,从第二信息单元418 和第三信息单元420恢复所接收的数据414。在某些实施例中,第一信息单 元416、第二信息单元418和第三信息单元420的大小之和小于所接收的数 据414的大小的两倍。在某些实施例中,第一信息单元416、第二信息单元 418和第三信息单元420被存储在不同的盘存储系统中。图6图解了按照某些实施例的、用于在三个存储系统之间分布数据和奇 偶才交验信息的第三计算环境的方框图。包括高速缓冲存储器603的第一存储系统602、第二存储系统604和第 三存储系统606分别耦接到第一服务器608、第二服务器610和第三服务器 612。另外,第一存储系统602耦接到第二存储系统604和第三存储系统606。在某些实施例中,第一存储系统602、第二存储系统606和第三存储系统606 可以处于地理上散布的不同站点。第一服务器608可以经由写入请求向第一存储系统602发送数据614。 数据614可能必须保护以免于站点损害。第一存储系统602接收数据614, 并且向高速緩冲存储器603中写入所接收的数据以暂时存储。第一存储系统 602可以产生第一信息单元616、第二信息单元618和第三信息单元620,其 中,第一信息单元616、第二信息单元618和第三信息单元620每个包括在 高速緩沖存储器603中暂时存储的所接收的数据614和所计算的奇偶校^r数 据的一部分。第一存储系统602在第一站点的第一存储系统602中存储第一 信息单元616。第一存储系统602经由异步传送620向在第二站点的第二存 储系统604分布第二信息单元418以存储,并且也经由异步传送622向在第 三站点的第三存储系统606分布第三信息单元620以存储。所述分布是异步 的,因为所接收的数据614并不立即用于计算和分布信息单元618、 620到第 二存储系统604、第三存储系统606,即可以在不在三个存储单元602、 604、 606之间分布对应的数据的情况下完成从第 一服务器608向第 一存储系统602 的写入操作。图7图解了对应于第三计算环境600的、按照某些实施例的用于分布数 据和奇偶校验信息的操作。可以在第一存储系统602中实现图7中所图解的操作。控制在块700开始,其中,第一存储系统602接收来自第一服务器608 的写入数据的请求。第一存储系统602向第一存储系统602的高速緩冲存储 器603中写入(在块702)数据614。第一存储系统602接收对于所写入到高速 緩冲存储器603的数据614的另外的更新,并且更新(在块704)所写入到高速 緩冲存储器603的数据。第一存储系统602使用高速缓冲存储器603中所存储的数据来计算(在块 706)第一、第二和第三信息单元616、 618、 620,以在存储系统602、 604、 606之间分布,其中,第一、第二和第三信息单元616、 618、 620的每个可 以包括所接收的数据614的部分、另外的更新的部分和所计算的奇偶校验数 据。控制可以从块706同时前进到块710a、 710b和710c,即可以并行地执行 在块710a、 710b和710c中所述的操作。在从块706向710a、 710b和710c控制的转移期间,第一存储系统602异步地启动数据传送操作,并且可以对 相关联的数据打上时间戳(附图标号708)。第一存储系统602向第一存储系统602写入(在块710a)写入包括对应的 奇偶校验数据的第一信息单元616。同时,第一存储系统602向第二存储系 统604异步地分布(在块710b)包括对应的奇偶校验数据的第二信息单元618 以存储。另外,第一存储系统602向第三存储系统606分布包括对应的奇偶 校验数据的第三信息单元620以存储。通过异步地向存储系统分布数据和奇偶校验信息,所有的写入最初被写 入到诸如存储系统602的本地存储系统的高速緩冲存储器。然后,当时间允 许时,向其他两个存储系统分布数据。如果在把数据分布到其他两个存储子 系统之前相同的数据块被更新,则仅需要发送最新的改变。不需要分布较早 的改变,从而节省了带宽。而且,通过对所分布的写入打上时间戳,即使本 地系统602出故障,两个远程系统604、 606也一致。本地系统602可以具有 与非分布式存储子系统类似的性能特性,并且同时提供了故障恢复保护。在某些实施例中,第一服务器608可以是主计算机,并且从主机608到 第一存储单元602的更新被异步地反映在第二存储单元604处,以及被异步 地反映在第三存储单元606处。在某些实施例中,其中第一存储单元602包括高速緩冲存储器603,第 一存储单元602可以在第一存储单元602的高速緩冲存储器603中存储所接 收的数据614。在将所接收的数据614划分为信息单元之前,第一存储单元 602可以接收对于高速緩冲存储器603中所存储的数据的更新。第一存储单 元602可以使用所接收的更新来更新高速緩沖存储器603,其中,分布第二 信息单元618和第三信息单元620是被异步地执行的,并且其中,把第一信 息单元616、第二信息单元616和第三信息单元620打上时间戳。在某些实 施例中,可以在三个信息单元616、 618、 620之间分布奇偶校验数据,而在 其他实施例中,奇偶校验数据可以驻留在单个信息单元诸如第三信息单元620 中。在某些实施例中,奇偶校验数据的大部分被存储在第 一存储单元602中, 其中,相比第二和第三存储单元604、 606可更快地访问第一存储单元602。 在某些其他实施例中,在第一存储单元从主机608接收数据614,其中,使 用多路径硬件来将主机608连接到第一、第二、第三存储单元602、 604、 606。所有的存储单元602、 604、 606可以向主机608提供相同的巻。如果存储单 元602、 604、 606之一出故障,则其他存储单元之一可以动态地重建和继续 向主机提供所述该巻。结果,存储系统故障可以不破坏计算环境600的操作。在某些实施例中,分布第二和第三信息单元618、 620是经由从第一存储 单元602向第二和第三存储单元604、 606的写入操作进行的,并且其中,从 第一存储单元602向第二和第三存储单元604、 606的写入搡作是被并行地写 入到第二和第三存储单元604、 606的全步幅的写入。在某些实施例中,计算环境600中所执行的操作也可以在计算环境200 或者400中被执行。例如,可以在计算环境200或者400中执行全步幅写入。 另外,可以在计算环境200、 400、 600的一个或多个中执行上述的某些操作。图lb、 2-7中所述的某些实施例与其中在故障恢复站点104保持原始数 据106的完全拷贝的实施例相比,降低了故障恢复所需的存储量。在某些实 施例中,故障恢复所需要的存储量小于原始数据(由附图标号106、 214、 414 表示)的大小的两倍。在某些实施例中,故障恢复所需的存储量是原始数据 106、 214、 414的大小的1.5倍。在替代实施例中,可以在附加的站点处添加附加的存储单元。在某些实 施例中,主机208、 408、 608可以使用多径硬件而具有到所有的存储系统即 第一、第二和第三存储系统的路径。所有的存储系统可以向主机208、 408、 608提供相同的巻。如果存储系统之一出故障,则没有出故障的其它存储系 统之一能够动态地重建和继续向主机系统208、 408、 608提供相同的巻。结 果,某些实施例可以从系统故障中非破坏性地(non-disruptively)恢复。在某些实施例中,所有的写入可以是不引起RAID-5写入代价的全步幅 的写入。在某些实施例中,备份和故障恢复两者都可以由所述实施例来执行。 可以使用异步远程镜像来增强某些实施例的性能。所述实施例以三站点解决 方案来在一个或多个地理上散布的站点中存储奇偶校验信息,以执行故障恢 复。另外的实施例细节所述技术可以被实现为涉及软件、固件、微码、硬件和/或者其任何组合 的方法、装置或者制品。这里所使用的术语"制品"指的是在电路(例如集成 电路芯片、可编程门阵列(PGA)、 ASIC等)和/或计算机可读介质(例如石兹存储 介质,诸如硬盘驱动器、软盘、磁带)、光学存储器(例如CD-ROM、 DVD-ROM、光盘等)、易失性和非易失性存储器件(例如,电可擦除可编程只读存储器(EEPROM)、只读存储器(ROM)、可编程只读存储器(PROM)、随机存取存储 器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、快 闪存储器、固件、可编程逻辑等)中实现地程序指令、代码和/或逻辑。计算机 可读介质中的代码可以由诸如处理器的机器访问和执行。在某些实施例中, 还可以通过传输介质或者经由网络从文件服务器访问其中建立实施例的代 码。在这种情况下,其中实现所述代码的制品可以包括传输介质,诸如网络 传输线、无线传输媒体、通过空间传播的信号、无线电波、红外线信号等。 当然,本领域内的技术人员可以认识到,可以在不脱离所述实施例的范围的 情况下进行许多修改,并且制品可以包括本领域公知的任何信息承载介质。 例如,制品包括其中存储了指令的存储介质,当机器执行所述指令时使得执 行操作。图8图解了其中可以实现了某些实施例的系统800的方框图。在某些实 施例中,可以按照系统800来实现存储系统202、 402、 602。系统800可以 包括电路802,其在某些实施例中可以包括处理器804。系统800也可以包括 存储器806(例如易失性存储器)和存储器808。系统800的某些元件可能或可 能不在存储系统202、 402、 602中找到。存储器808可以包括非易失性存储 器(例如,EEPROM、 ROM、 PROM、 RAM、 DRAM、 SRAM、快闪存储器、 固件、可编程逻辑等)、磁盘驱动器、光盘驱动器、磁带驱动器等。存储器808 可以包括内部存储器、附接的存储器和/或者网络可访问的存储器。系统800 可以包括包含代码812的程序逻辑810,代码812可以安装到存储器806中 和由处理器804或者电路802执行。在某些实施例中,包括代码812的程序 逻辑810可以存储在存储器808中。在某些其他实施例中,可以在电路802 中实现程序逻辑810。因此,虽然图8与其他元件分离地示出了程序逻辑810, 但是可以在存储器806和/或802中实现所述程序逻辑810。图3、 5、 7的至少某些操作可以并行以及顺序执行。在替代实施例中, 可以以不同的顺序执行、修改和去除某些操作。此外,为了说明以分离的模块描述了许多软件和硬件部件。这样的部件 可以被集成到更少数量的组件中,或者被划分为更大数量的部件。另外,被 描述为由特定部件执行的某些操作可以由其他部件执行。在图la、 lb、 2-8中示出或者引用的数据结构和部件被描述为具有特定类型的信息。在替代实施例中,与附图中示出或者引用的相比,所述数据结 构和部件可以被不同地构造,并且具有更少、更多或者不同的字段或者不同 的功能。因此,出于说明和描述的目的给出了上述的实施例的说明。其并不旨在 是穷尽性的或者将所述实施例限定到所公开的精确形式。根据上述的教导, 许多修改和改变是可能的。
权利要求
1.一种方法,包括在第一存储单元接收数据;将所接收的数据划分为第一部分和第二部分;将所述数据的第一部分存储在第一站点的第一存储单元中;将所述数据的第二部分分布到第二站点的第二存储单元以存储;计算对应于该数据的第一部分和该数据的第二部分的奇偶校验数据;并且,将该奇偶校验数据分布到第三站点的第三存储单元以存储。
2. 按照权利要求l的方法,还包括响应于在第一站点的数据丟失,从 在第二站点存储的该数据的第二部分和在第三站点存储的该奇偶校验数据来 恢复该数据的第一部分。
3. 按照权利要求l或者2的方法,其中,所述数据的第一部分、数据的 第二部分和奇偶校验数据的大小之和小于所接收的数据大小的两倍。
4. 按照权利要求3的方法,其中,所述数据的第一部分、数据的第二部 分和奇偶校验数据的大小之和是所接收的数据大小的1.5倍。
5. 按照权利要求l、 2、 3或者4的方法,其中,所述第一站点、第二站 点和第三站点彼此相隔超过IO英里的距离,以及其中,所述第一部分、第二 部分和第三部分被存储在不同的存储盘系统中。
6. 按照权利要求1-5的任何一个的方法,其中,所述第一站点和第三站 点之间的距离小于第一站点和第二站点之间的距离。
7. 按照权利要求1-6的任何一个的方法,其中,所述第一存储单元包括 高速緩沖存储器,所述方法还包括将所接收的数据存储在第一存储单元中 的高速緩冲存储器中;在划分所接收的数据之前,接收对高速緩冲存储器中 所存储的数据的更新;使用所接收的更新来更新该高速緩沖存储器,其中, 分布所述数据的第二部分和奇偶校验数据是异步地执行的,以及其中,把该 数据的第 一部分、数据的第二部分和奇偶校验数据打上时间戳。
8. 按照权利要求l-7的任何一个的方法,其中,所述第一存储单元耦接 到向第一存储单元发送输入/输出请求的主机,其中,从该主机到第一存储单 元的更新被异步地反映在第二存储单元处,并且被异步地反映在第三存储单 元处。
9. 一种方法,包括在第一存储单元接收数据;产生第一信息单元、第 二信息单元、和第三信息单元,其中,所述第一信息单元、第二信息单元、和第三信息单元每个包括所接收的数据和所计算的奇偶校验数据的一部分; 将第一信息单元存储在第一站点的第一存储单元中;将第二信息单元分布到 第二站点的第二存储单元以存储;以及,将第三信息单元分布到第三站点的 第三存储单元以存储。
10. 按照权利要求9的方法,其中,所述奇偶校验数据的大部分被存储 在该第一存储单元中,以及其中,相比于第二和第三存储单元可更快地访问 第一存储单元。
11. 按照权利要求9或者IO的方法,其中,在所述第一存储单元从主机 接收数据,以及其中,使用多路径硬件来将该主机连接到该第一、第二和第 三存储单元。
12. 按照权利要求9、 10或者11的方法,其中,分布所述第二和第三信 息单元是经由从该第一存储单元向该第二和第三存储单元的写入操作的,其 中,所述从该第一存储单元向该第二和第三存储单元的写入操作是被并行地 写入到该第二和第三存储单元的全步幅的写入。
13. —种系统,其中,在第一站点的第一存储单元耦接到在第二站点的 第二存储单元和在第三站点的第三存储单元,所述系统包括存储器;耦接到所述存储器的电路,其中,所述电路可操作来(i)在该第一存储单元接收 数据;(ii)将所接收的数据划分为第一部分和第二部分;(iii)将所述数据的第 一部分存储在第一站点的第一存储单元中;(iv)将所述数据的第二部分分布到 在第二站点的第二存储单元以存储;(v)计算对应于该数据的第 一部分和该数 据的第二部分的奇偶校验数据;并且,(vi)将该奇偶校验数据分布到第三站点 的第三存储单元以存储。
14. 一种制品,其中,在第一站点的第一存储单元耦接到在第二站点的 第二存储单元和在第三站点的第三存储单元,其中,所述制品能够引起操作,所述操作包括在该第一存储单元接收数据;将所接收的数据划分为第一部 分和第二部分;将所述数据的第一部分存储在第一站点的第一存储单元中;将所述数据的第二部分分布到第二站点的第二存储单元以存储;计算对应于 该数据的第一部分和该数据的第二部分的奇偶校验数据;并且,将奇偶校验 数据分布到第三站点的第三存储单元以存储。
全文摘要
本发明提供了一种方法、系统和制品,其中,在第一站点的第一存储单元耦接到在第二站点的第二存储单元和在第三站点的第三存储单元。在第一存储单元接收数据。所接收的数据被划分为第一部分和第二部分。数据的第一部分被存储在第一站点的第一存储单元中。数据的第二部分被分布到在第二站点的第二存储单元以存储。对应于数据的第一部分和数据的第二部分的奇偶校验数据被计算。该奇偶校验数据被分布到在第三站点的第三存储单元以存储。另外,本发明还提供了一种方法、系统和制品,其中,在第一站点的第一存储单元耦接到在第二站点的第二存储单元和在第三站点的第三存储单元。第一信息单元、第二信息单元和第三信息单元被产生,其中,所述第一信息单元、第二信息单元和第三信息单元每个包括所接收的数据和所计算的奇偶校验数据的一部分。第一信息单元被存储在第一站点的第一存储单元中。第二信息单元被分布到在第二站点的第二存储单元以存储。第三信息单元被分布到在第三站点的第三存储单元以存储。
文档编号G06F11/00GK101288052SQ200580028262
公开日2008年10月15日 申请日期2005年7月21日 优先权日2004年8月25日
发明者卢·古延, 尼娜·彻里安 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1