System and method for efficient updates of sequential block storage
    21.
    发明授权
    System and method for efficient updates of sequential block storage 有权
    用于有序更新顺序块存储的系统和方法

    公开(公告)号:US08219749B2

    公开(公告)日:2012-07-10

    申请号:US11741553

    申请日:2007-04-27

    申请人: Robert M. English

    发明人: Robert M. English

    IPC分类号: G06F12/02

    摘要: A system and method enhances performance of updates to sequential block storage of a storage system. According to an aspect of the invention, a disk array of the storage system is utilized to extend write buffers of the system, thereby rendering a portion of the disk array a disk-based log. To that end, one portion of the disk array is organized into a home location array having a set of sequential home locations for disk blocks. Another portion of the disk array is organized into the disk-based log having a set of log buffers configured to store versions of disk blocks that have yet to be returned to their home locations in the home location array. In addition, non-volatile memory of the storage system is organized as an index configured to provide efficient mappings of disk blocks not yet returned to their home locations. In accordance with another aspect of the invention, a novel disk-based multi-level sort procedure is provided to establish locality among updates (write data) held in the disk-based log, thereby enabling the write data to be efficiently written to home locations on the disk array.

    摘要翻译: 系统和方法增强了对存储系统的顺序块存储的更新的性能。 根据本发明的一个方面,存储系统的磁盘阵列用于扩展系统的写入缓冲器,从而使得磁盘阵列的一部分成为基于磁盘的日志。 为此,磁盘阵列的一部分被组织成具有用于磁盘块的一组顺序归属位置的归属位置阵列。 磁盘阵列的另一部分被组织到具有一组日志缓冲器的基于磁盘的日志中,该组日志缓冲器被配置为存储尚未被返回到归属位置阵列中的本地位置的磁盘块的版本。 此外,存储系统的非易失性存储器被组织为被配置为提供尚未返回到其本地位置的磁盘块的有效映射的索引。 根据本发明的另一方面,提供了一种新颖的基于磁盘的多级分类过程,以在保持在基于磁盘的日志中的更新(写入数据)之间建立位置,由此使写入数据能够有效地写入本地位置 在磁盘阵列上。

    Reducing load imbalance in a storage system
    22.
    发明授权
    Reducing load imbalance in a storage system 有权
    降低存储系统中的负载不平衡

    公开(公告)号:US07984259B1

    公开(公告)日:2011-07-19

    申请号:US11957925

    申请日:2007-12-17

    申请人: Robert M. English

    发明人: Robert M. English

    IPC分类号: G06F5/06

    摘要: The present invention provides a system, method, and computer program product for reducing load imbalance in a storage system having a plurality of storage devices organized in one or more RAIDs for storing data by moving data from heavily-loaded storage devices to less-loaded storage devices during normal data access operations. As a result of moving data to less-loaded storage devices, the service latency of those storage devices decreases, thereby optimizing the system's performance.

    摘要翻译: 本发明提供了一种用于减少存储系统中的负载不平衡的系统,方法和计算机程序产品,其具有组织在一个或多个RAID中的多个存储设备,用于通过将数据从重负载存储设备移动到较少负载的存储器来存储数据 设备在正常数据访问操作期间。 由于将数据移动到较少的存储设备,这些存储设备的服务等待时间减少,从而优化了系统的性能。

    Data placement technique for striping data containers across volumes of a storage system cluster
    23.
    发明授权
    Data placement technique for striping data containers across volumes of a storage system cluster 有权
    用于在存储系统集群的卷上分条数据容器的数据放置技术

    公开(公告)号:US07647451B1

    公开(公告)日:2010-01-12

    申请号:US12109272

    申请日:2008-04-24

    IPC分类号: G06F12/00 G06F11/00

    摘要: A technique places content, such as data, of one or more data containers on volumes of a striped volume set (SVS). The placement of data across the volumes of the SVS allows specification of a deterministic pattern of fixed length. That is, the pattern determines a placement of data of a data container that is striped among the volumes of the SVS. The placement pattern is such that the stripes are distributed exactly or nearly equally among the volumes and that, within any local span of a small multiple of the number of volumes, the stripes are distributed nearly equally among the volumes. The placement pattern is also substantially similar for a plurality of SVSs having different numbers of volumes.

    摘要翻译: 一种技术将一个或多个数据容器的内容(如数据)放置在条带卷集(SVS)的卷上。 数据在SVS卷上的放置允许规定固定长度的确定性模式。 也就是说,该模式确定在SVS的卷之间条带化的数据容器的数据的放置。 放置图案使得条纹在卷之间精确地或几乎相等地分布,并且在卷的数量的小倍数的任何局部跨度内,条纹在卷之间几乎相等地分布。 对于具有不同数量的体积的多个SVS,放置图案也基本相似。

    SYSTEM AND METHOD FOR EFFICIENT UPDATES OF SEQUENTIAL BLOCK STORAGE
    24.
    发明申请
    SYSTEM AND METHOD FOR EFFICIENT UPDATES OF SEQUENTIAL BLOCK STORAGE 有权
    用于有序更新的序列块存储的系统和方法

    公开(公告)号:US20090034377A1

    公开(公告)日:2009-02-05

    申请号:US11927952

    申请日:2007-10-30

    IPC分类号: G11B15/52 G11B19/02 G11B20/10

    摘要: An improved system and method enhances performance of updates to sequential block storage of a storage system. A disk-based sort procedure is provided to establish locality among updates (write data) held in a disk-based log, thereby enabling the write data to be efficiently written to home locations on a home location array. As the write data is received, a log manager of the storage system temporarily stores the data efficiently on the disk-based log. As more write data arrives, the log manager sorts the data in the log in accordance with the sort procedure, thus increasing the locality of data when stored on the home location array. When the log approaches capacity, the log manager writes the sorted data to their home locations on the array with high locality and performance.

    摘要翻译: 改进的系统和方法增强了对存储系统的顺序块存储的更新的性能。 提供基于磁盘的分类程序以在保持在基于磁盘的日志中的更新(写入数据)之间建立位置,从而使写入数据能够有效地写入归属位置阵列上的归属位置。 当接收到写入数据时,存储系统的日志管理器将有效的数据临时存储在基于磁盘的日志上。 随着更多的写入数据到达,日志管理器根据分类过程对日志中的数据进行排序,从而在存储在归属位置数组上时增加数据的位置。 当日志接近容量时,日志管理器将排序数据写入阵列的本地位置和性能很高。

    Distributed scheduling of parallel jobs with no kernel-to-kernel communication
    25.
    发明授权
    Distributed scheduling of parallel jobs with no kernel-to-kernel communication 失效
    没有内核到内核通信的并行作业的分布式调度

    公开(公告)号:US06766515B1

    公开(公告)日:2004-07-20

    申请号:US08801646

    申请日:1997-02-18

    IPC分类号: G06F900

    CPC分类号: G06F9/4843 G06F9/4881

    摘要: A system and a method of scheduling a plurality of threads from a multi-threaded program. A shared arena is provided in user memory, wherein the shared arena includes a register save area for each of the plurality of threads. A processor, when allocated to the application, executes the application's user-level scheduler and selects a user-level thread from a plurality of available threads, wherein the step of selecting includes the step of reading register context associated with the selected thread from one of the plurality of register save areas. In multikernel systems, kernels having access to an application's register save areas can execute preempted threads from that application with no kernel-to-kernel communication. Likewise, kernels having access to an application's user-level run queues can execute ready-to-run threads from that application with no kernel-to-kernel communication.

    摘要翻译: 一种从多线程程序调度多个线程的系统和方法。 在用户存储器中提供共享的竞技场,其中共享竞技场包括用于多个线程中的每一个的寄存器保存区域。 当处理器分配给应用程序时,执行应用程序的用户级调度程序,并从多个可用线程中选择一个用户级线程,其中选择步骤包括以下步骤之一:选择线程从与 多个寄存器保存区域。 在多内核系统中,具有访问应用程序的寄存器保存区域的内核可以执行没有内核到内核通信的应用程序的抢占线程。 同样,可以访问应用程序的用户级运行队列的内核可以从该应用程序执行即可运行的线程,而无需内核到内核的通信。

    Dynamic allocation of registers to procedures in a digital computer
    26.
    发明授权
    Dynamic allocation of registers to procedures in a digital computer 失效
    动态分配寄存器到数字计算机中的程序

    公开(公告)号:US5564031A

    公开(公告)日:1996-10-08

    申请号:US629041

    申请日:1996-04-12

    摘要: In a digital computer, a circular queue of registers in a register file are allocated as temporary local storage for procedures rather than using the known caller/callee save convention in order to minimize main memory references. A called procedure dynamically allocates local registers as needed without regard to registers used by the caller of the procedure or by any callee of the procedure, whereby register allocation is not restricted by any predetermined window size. Local registers, including parameter passing registers, are allocated in the called procedure, rather than a priori at compile time, by adjusting register stack pointer values. Only the number of registers actually required by the procedure need by allocated. Optionally, rotating registers may be allocated among the local registers. Stack pointer values are stored in one of the parameter passing registers when a procedure is called. Hardware register file access circuitry maps virtual register numbers used by the procedures into the hardware register file. Upon return from a procedure, registers are deallocated by adjusting the register stack pointers to the values stored when the procedure was called.

    摘要翻译: 在数字计算机中,寄存器文件中的寄存器的循环队列被分配为用于过程的临时本地存储器,而不是使用已知的调用者/被调用者保存约定来最小化主存储器引用。 被调用的过程根据需要动态地分配本地寄存器,而不考虑由过程的调用者使用的寄存器或过程的任何被调用者,由此寄存器分配不受任何预定窗口大小的限制。 本地寄存器(包括参数传递寄存器)在调用过程中被分配,而不是在编译时通过调整寄存器堆栈指针值来先验地分配。 只有实际需要的寄存器数量需要分配。 可选地,可以在本地寄存器之间分配旋转寄存器。 调用过程时,堆栈指针值存储在参数传递寄存器之一中。 硬件寄存器文件访问电路将程序使用的虚拟寄存器编号映射到硬件寄存器文件中。 从过程返回时,通过将寄存器堆栈指针调整到调用过程时存储的值来释放寄存器。

    Method and Apparatus for Identifying and Eliminating Duplicate Data Blocks and Sharing Data Blocks in a Storage System
    27.
    发明申请
    Method and Apparatus for Identifying and Eliminating Duplicate Data Blocks and Sharing Data Blocks in a Storage System 有权
    用于识别和消除存储系统中重复数据块和共享数据块的方法和装置

    公开(公告)号:US20130262805A1

    公开(公告)日:2013-10-03

    申请号:US13901385

    申请日:2013-05-23

    IPC分类号: G06F3/06

    摘要: A method for sharing data blocks in a hierarchical file system in a storage server includes allocating a plurality of data blocks in the file system, and sharing data blocks in the file system, without using a persistent point-in-time image, to avoid duplication of data blocks. A method for identifying data blocks that can be shared includes computing a fingerprint for each of multiple data blocks to be written to a storage facility and storing the fingerprint with information identifying the data block in an entry in a set of metadata. The set of metadata is used to identify data blocks which are duplicates.

    摘要翻译: 一种用于在存储服务器中的分层文件系统中共享数据块的方法包括在文件系统中分配多个数据块,并且在不使用持久时间点图像的情况下共享文件系统中的数据块,以避免重复 的数据块。 一种用于识别可共享的数据块的方法包括:计算要写入存储设施的多个数据块中的每一个的指纹,以及将标识数据块的信息存储在一组元数据中的条目中。 元数据集用于识别重复的数据块。

    Incorporation of client storage into a storage system
    28.
    发明授权
    Incorporation of client storage into a storage system 有权
    将客户端存储器并入存储系统

    公开(公告)号:US08285747B1

    公开(公告)日:2012-10-09

    申请号:US11717895

    申请日:2007-03-13

    申请人: Robert M. English

    发明人: Robert M. English

    IPC分类号: G06F17/30

    摘要: Embodiments of the present invention are directed to an apparatus and methods for operating a storage system. The storage system incorporates a storage device associated with a client into a logical group of storage devices managed by the storage system. Thereafter, the storage system is capable of satisfying data access requests from an incorporated storage device managed by the storage system.

    摘要翻译: 本发明的实施例涉及一种用于操作存储系统的装置和方法。 存储系统将与客户端相关联的存储设备并入由存储系统管理的逻辑组存储设备。 此后,存储系统能够满足来自由存储系统管理的并入的存储装置的数据访问请求。

    System and method for efficient updates of sequential block storage
    29.
    发明授权
    System and method for efficient updates of sequential block storage 有权
    用于有序更新顺序块存储的系统和方法

    公开(公告)号:US07882304B2

    公开(公告)日:2011-02-01

    申请号:US11927952

    申请日:2007-10-30

    IPC分类号: G06F12/12

    摘要: An improved system and method enhances performance of updates to sequential block storage of a storage system. A disk-based sort procedure is provided to establish locality among updates (write data) held in a disk-based log, thereby enabling the write data to be efficiently written to home locations on a home location array. As the write data is received, a log manager of the storage system temporarily stores the data efficiently on the disk-based log. As more write data arrives, the log manager sorts the data in the log in accordance with the sort procedure, thus increasing the locality of data when stored on the home location array. When the log approaches capacity, the log manager writes the sorted data to their home locations on the array with high locality and performance.

    摘要翻译: 改进的系统和方法增强了对存储系统的顺序块存储的更新的性能。 提供基于磁盘的分类程序以在保持在基于磁盘的日志中的更新(写入数据)之间建立位置,从而使写入数据能够有效地写入归属位置阵列上的归属位置。 当接收到写入数据时,存储系统的日志管理器将有效的数据临时存储在基于磁盘的日志上。 随着更多的写入数据到达,日志管理器根据分类过程对日志中的数据进行排序,从而在存储在归属位置数组上时增加数据的位置。 当日志接近容量时,日志管理器将排序数据写入阵列的本地位置和性能很高。

    Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
    30.
    发明授权
    Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array 有权
    行对角奇偶校验技术,用于实现存储阵列中双重故障的高效恢复

    公开(公告)号:US07409625B2

    公开(公告)日:2008-08-05

    申请号:US11710304

    申请日:2007-02-23

    IPC分类号: G11C29/00

    CPC分类号: G06F11/1076

    摘要: A method for enabling recovery from concurrent failure of a plurality of storage devices in a storage array is disclosed. The method stores data on a first plurality of storage devices of the storage array. The first plurality of storage devices may have a number of storage devices equal to a prime number greater then three. Row parity is stored on one or more storage devices of the storage array. A diagonal parity set is computed for the plurality of storage devices. The diagonal parity set is stored on an additional diagonal parity device, the diagonal parity device separate from the first plurality of storage devices.

    摘要翻译: 公开了一种能够从存储阵列中的多个存储设备的并发故障恢复的方法。 该方法将数据存储在存储阵列的第一多个存储设备上。 第一多个存储设备可以具有等于大于三的素数的多个存储设备。 行奇偶校验存储在存储阵列的一个或多个存储设备上。 针对多个存储设备计算对角奇偶校验集。 对角奇偶校验集存储在附加的对角奇偶校验设备上,对角奇偶校验设备与第一多个存储设备分离。