Technique for correcting multiple storage device failures in a storage array
    42.
    发明授权
    Technique for correcting multiple storage device failures in a storage array 有权
    用于校正存储阵列中多个存储设备故障的技术

    公开(公告)号:US07080278B1

    公开(公告)日:2006-07-18

    申请号:US10094086

    申请日:2002-03-08

    IPC分类号: G06F11/00

    CPC分类号: G06F11/1076

    摘要: A technique efficiently corrects multiple storage device failures in a storage array. The storage array comprises a plurality of concatenated sub-arrays, wherein each sub-array includes a set of data storage devices and a local parity storage device that stores values used to correct a failure of a single device within a row of blocks, e.g., a row parity set, in the sub-array. Each sub-array is assigned diagonal parity sets identically, as if it were the only one present using a double failure protection encoding method. The array further includes a single, global parity storage device holding diagonal parity computed by logically adding together equivalent diagonal parity sets in each of the sub-arrays.

    摘要翻译: 一种技术有效地纠正了存储阵列中的多个存储设备故障。 存储阵列包括多个级联子阵列,其中每个子阵列包括一组数据存储设备和本地奇偶校验存储设备,其存储用于校正一行块内的单个设备的故障的值,例如, 一行奇偶校验集,在子数组中。 每个子阵列被相同地分配对角奇偶校验集,好像它是使用双故障保护编码方法存在的唯一一个。 阵列还包括保持对角奇偶校验的单个全局奇偶校验存储设备,其通过逻辑地将每个子阵列中的等效对角奇偶校验集合在一起而计算。

    System and method for providing continuous data protection
    44.
    发明授权
    System and method for providing continuous data protection 有权
    提供连续数据保护的系统和方法

    公开(公告)号:US07769723B2

    公开(公告)日:2010-08-03

    申请号:US11413882

    申请日:2006-04-28

    IPC分类号: G06F7/00

    CPC分类号: G06F11/1435 G06F17/30085

    摘要: A system and method provides continuous data protection using checkpoints in a write anywhere file system. During a consistency point of a write anywhere file system, freed blocks are identified and are appended to a delete log for retention. A consistency point log is updated with a new entry associated with the consistency point. If the file system needs to retrieve its state at a particular point in time, the stored blocks of the delete log may be recovered.

    摘要翻译: 系统和方法使用写入任意文件系统中的检查点提供持续的数据保护。 在写入任何文件系统的一致性点中,自由块被识别并附加到删除日志以进行保留。 使用与一致性点相关联的新条目更新一致性点日志。 如果文件系统需要在特定时间点检索其状态,则可以恢复存储的删除日志块。

    Technique for correcting multiple storage device failures in a storage array
    45.
    发明授权
    Technique for correcting multiple storage device failures in a storage array 失效
    用于校正存储阵列中多个存储设备故障的技术

    公开(公告)号:US07509525B2

    公开(公告)日:2009-03-24

    申请号:US11446495

    申请日:2006-06-02

    IPC分类号: G06F11/00

    CPC分类号: G06F11/1076

    摘要: A method for storing data for correction of multiple data storage failures in a storage array is presented. The storage array is organized as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub-array. A plurality of diagonal parity sets is computed, one diagonal parity set for each sub-array. A global diagonal parity is computed by logically combining together a plurality of the diagonal parity sets. The global diagonal parity is stored in a plurality of global diagonal parity storage blocks.

    摘要翻译: 提出了一种用于存储用于存储阵列中的多个数据存储故障的校正的数据的方法。 存储阵列被组织为多个子阵列,每个子阵列包括一组数据存储设备和多个本地奇偶校验存储块,多个本地存储块中的每一个存储用于相应子阵列的奇偶校验信息 。 计算多个对角奇偶校验集,每个子​​阵列设置一个对角奇偶校验集。 通过逻辑组合多个对角奇偶校验集来计算全局对角奇偶校验。 全局对角奇偶校验被存储在多个全局对角奇偶校验存储块中。

    Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
    46.
    发明授权
    Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups 有权
    使用单对角奇偶校验组和多行奇偶校验组的组合来校正存储阵列中的多个块数据丢失

    公开(公告)号:US07437652B2

    公开(公告)日:2008-10-14

    申请号:US11402539

    申请日:2006-04-12

    IPC分类号: G11C29/00

    CPC分类号: G06F11/1076

    摘要: A method for correcting double failures in a storage array has the following steps. A storage array is organized as a plurality of concatenated sub-arrays, each sub-array including a set of data storage devices and a row parity storage device. Row parity is computed for each row of each sub-array. The row parity of a particular sub-array is stored on a row parity storage device of the particular sub-array. A diagonal parity is computed across the concatenated sub-arrays. A double storage device failure is corrected using both the sub-array row parity and the diagonal parity.

    摘要翻译: 用于校正存储阵列中的双重故障的方法具有以下步骤。 存储阵列被组织为多个级联子阵列,每个子阵列包括一组数据存储设备和行奇偶校验存储设备。 为每个子阵列的每一行计算行奇偶校验。 特定子阵列的行奇偶校验被存储在特定子阵列的行奇偶校验存储设备上。 跨连接的子阵列计算出对角线奇偶校验。 使用子阵列行奇偶校验和对角奇偶校验来校正双存储设备故障。

    Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array
    47.
    发明授权
    Uniform and symmetric double failure correcting technique for protecting against two disk failures in a disk array 有权
    用于保护磁盘阵列中的两个磁盘故障的统一和对称双重故障纠正技术

    公开(公告)号:US07263629B2

    公开(公告)日:2007-08-28

    申请号:US10720361

    申请日:2003-11-24

    IPC分类号: G06F11/00

    CPC分类号: G06F11/1076 G06F2211/1057

    摘要: A uniform and symmetric, double failure-correcting technique protects against two or fewer disk failures in a disk array of a storage system. A RAID system of the storage system generates two disks worth of “redundant” information for storage in the array, wherein the redundant information (e.g., parity) is illustratively derived from computations along both diagonal parity sets (“diagonals”) and row parity sets (“rows”). Specifically, the RAID system computes row parity along rows of the array and diagonal parity along diagonals of the array. However, the contents of the redundant (parity) information disks interact such that neither disk contains purely (solely) diagonal or row redundancy information; the redundant information is generated using diagonal parity results in row parity computations (and vice versa).

    摘要翻译: 统一和对称的双故障校正技术可保护存储系统的磁盘阵列中的两个或更少的磁盘故障。 存储系统的RAID系统生成两个用于存储在阵列中的“冗余”信息的磁盘,其中冗余信息(例如,奇偶校验)被说明性地从两个对角奇偶校验集(“对角线”)和行奇偶校验集 (“行”)。 具体来说,RAID系统沿着阵列的行和沿着阵列的对角线的对角线奇偶校验来计算行奇偶校验。 然而,冗余(奇偶校验)信息磁盘的内容相互作用,使得两个磁盘都不包含纯(单独)对角线或行冗余信息; 使用行奇偶校验计算中的对角奇偶校验结果生成冗余信息(反之亦然)。

    Zero copy writes through use of mbufs
    48.
    发明授权
    Zero copy writes through use of mbufs 有权
    零拷贝通过使用mbufs写入

    公开(公告)号:US07152069B1

    公开(公告)日:2006-12-19

    申请号:US10271633

    申请日:2002-10-15

    IPC分类号: G06F17/30

    CPC分类号: G06F17/30067

    摘要: A system and method enable a storage operating system to partition data into fixed sized data blocks that can be written to disk without having to copy the contents of memory buffers (mbufs). The storage operating system receives data from a network and stores the data in chains of mbufs having various lengths. However, the operating system implements a file system that manipulates data in fixed sized data blocks. Therefore, a set of buffer pointers is generated by the file system to define a fixed sized block of data stored in the mbufs. The set of buffer pointers address various portions of data stored in one or more mbufs, and the union of the data portions form a single fixed sized data block. A buffer header stores the set of pointers associated with a given data block, and the buffer header is passed among different layers in the storage operating system. Thus, received data is partitioned into one or more fixed sized data blocks each defined by a set of buffer pointers stored in a corresponding buffer header. Because the buffer pointers address data directly in one or more mbufs, the file system does not need to copy data out of the mbufs when partitioning the data into fixed sized data blocks.

    摘要翻译: 系统和方法使存储操作系统能够将数据分割成固定大小的数据块,可以写入磁盘,而无需复制内存缓冲区(mbuf)的内容。 存储操作系统从网络接收数据并将数据存储在具有不同长度的mbufs链中。 然而,操作系统实现了以固定大小的数据块操纵数据的文件系统。 因此,文件系统生成一组缓冲区指针,以定义存储在mbufs中的固定大小的数据块。 缓冲器指针集合存储在一个或多个mbufs中的数据的各个部分,并且数据部分的并集形成单个固定大小的数据块。 缓冲器头部存储与给定数据块相关联的指针集合,并且缓冲器头部在存储操作系统中的不同层之间传递。 因此,接收到的数据被分割成一个或多个固定大小的数据块,每个固定大小的数据块由存储在相应的缓冲区头中的一组缓冲指针定义。 由于缓冲区指针直接在一个或多个mbufs中寻址数据,因此当将数据分割成固定大小的数据块时,文件系统不需要将数据从mbufs中复制出来。

    Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups
    49.
    发明授权
    Correcting multiple block data loss in a storage array using a combination of a single diagonal parity group and multiple row parity groups 有权
    使用单对角奇偶校验组和多行奇偶校验组的组合来校正存储阵列中的多个块数据丢失

    公开(公告)号:US07073115B2

    公开(公告)日:2006-07-04

    申请号:US10035603

    申请日:2001-12-28

    IPC分类号: G11C29/00 G06F11/00

    CPC分类号: G06F11/1076

    摘要: A technique efficiently corrects multiple storage device failures in a storage array using a combination of a single diagonal parity group and multiple row parity groups. The storage array includes a plurality of concatenated sub-arrays, wherein each sub-array includes a set of data storage devices and a parity storage device. Each row parity group is associated with a sub-array of the array. The array further includes a global parity storage device holding diagonal parity computed across the concatenation of the sub-arrays. Instead of requiring that each parity group contain both a row parity device and a diagonal parity device, the array is composed of a collection of row parity groups. Diagonal parity is calculated across the full array.

    摘要翻译: 技术使用单对角奇偶校验组和多行奇偶校验组的组合来有效地校正存储阵列中的多个存储设备故障。 存储阵列包括多个级联的子阵列,其中每个子阵列包括一组数据存储设备和奇偶校验存储设备。 每行奇偶校验组与阵列的子阵列相关联。 该阵列还包括一个全局奇偶校验存储装置,其保持在子阵列的级联中计算的对角奇偶校验。 代替要求每个奇偶校验组都包含行奇偶校验设备和对角奇偶校验设备,该阵列由行奇偶校验组的集合组成。 在整个数组中计算对角线奇偶校验。

    Low-overhead threads in a high-concurrency system
    50.
    发明授权
    Low-overhead threads in a high-concurrency system 失效
    高并发系统中的低开销线程

    公开(公告)号:US06874027B1

    公开(公告)日:2005-03-29

    申请号:US09590491

    申请日:2000-06-09

    申请人: Robert M. English

    发明人: Robert M. English

    IPC分类号: G06F9/50 G06F15/173

    CPC分类号: G06F9/5016

    摘要: A method and system for providing the functionality of dynamically-allocated threads in a multithreaded system, in which the operating system provides only statically-allocated threads. With this functionality, a relatively large number of threads can be maintained without a relatively large amount of overhead (either in memory or processor time), and it remains possible to produce program code without undue complexity. A plurality of dynamically-allocated threads are simulated using a single statically-allocated thread, but with state information regarding each dynamically-allocated thread maintained within the single statically-allocated thread. The single statically-allocated thread includes, for each procedure call that would otherwise introduce a new simulated thread, a memory block including (1) a relatively small procedure call stack for the new simulated thread, and (2) a relatively small collection of local variables and other state information for the new simulated thread.

    摘要翻译: 一种用于在多线程系统中提供动态分配的线程的功能的方法和系统,其中操作系统仅提供静态分配的线程。 利用该功能,可以维持相对大量的线程而没有相当大量的开销(在存储器或处理器时间内),并且仍然可能产生程序代码而不会有过度的复杂性。 使用单个静态分配的线程来模拟多个动态分配的线程,但是具有关于在单个静态分配的线程内维护的每个动态分配的线程的状态信息。 单个静态分配的线程包括对于否则将引入新的模拟线程的每个过程调用,包括(1)用于新的模拟线程的相对较小的过程调用堆栈的存储器块,以及(2)相对较小的本地 变量和其他状态信息为新的模拟线程。