Handling memory faults for mirrored memory
    2.
    发明授权
    Handling memory faults for mirrored memory 有权
    处理镜像内存的内存故障

    公开(公告)号:US07302526B1

    公开(公告)日:2007-11-27

    申请号:US10811566

    申请日:2004-03-29

    IPC分类号: G06F12/16

    摘要: Handling a faulting memory of a pair of mirrored memories includes initially causing a non-faulting memory of the pair of mirrored memories to service all read and write operations for the pair of mirrored memories, determining that hardware corresponding to the faulting memory of the pair of mirrored memories has been successfully replaced to provide a new memory, in response to the new memory being provided, causing data to be copied from the non-faulting memory to the new memory while data is being read to and written from the non-faulting memory, and, in response to successful copying to the new memory, causing writes to be performed to both memories of the pair of mirrored memories and selecting one of the pair of mirrored memories for read operations when one or more read operations are performed. Handling a faulting memory may also include, in response to a write being performed to the non-faulting memory while data is being copied from the non-faulting memory to the new memory, causing the write to be performed to the non-faulting memory and the new memory.

    摘要翻译: 处理一对镜像存储器的故障存储器包括首先使一对镜像存储器的非故障存储器为所述一对镜像存储器的所有读和写操作提供服务,确定对应于所述一对镜像存储器中的故障存储器的硬件 镜像存储器已被成功地替换以提供新的存储器,以响应于提供的新存储器,使数据从非故障存储器复制到新存储器,同时从非故障存储器读取和写入数据 并且响应于成功复制到新存储器,使得对一对镜像存储器的两个存储器执行写入,并且当执行一个或多个读取操作时,选择一对镜像存储器中的读取操作之一。 处理故障存储器还可以包括响应于在将数据从非故障存储器复制到新存储器的同时向非故障存储器执行写入,使得对非故障存储器执行写入,并且 新的记忆。

    Mirrored memory
    3.
    发明授权
    Mirrored memory 有权
    镜像记忆

    公开(公告)号:US07472221B1

    公开(公告)日:2008-12-30

    申请号:US10812291

    申请日:2004-03-29

    IPC分类号: G06F12/00

    摘要: Accessing data memory includes writing data to a first memory location and to a second memory location in response to a request to write data to a memory address that corresponds to both locations, where the first and second memory locations are mirrored, in response to a request to read data from the memory address, reading data from the first memory location or the second memory location based on load balancing, and accessing data from the second memory location in response to a request to access data at the memory address when memory hardware corresponding to the first memory location has failed. Accessing the data memory may include requesting access to a specific one of the first and second memory locations. The memory address may contain a portion that is common to both the first memory location and the second memory location. Hardware coupled to the memory may cause data written using the memory address to be automatically written to the first memory location and the second memory location.

    摘要翻译: 响应于响应于请求向第一存储器位置和第二存储器位置写入数据到第二存储器位置和第二存储器位置的响应于将数据写入与两个位置对应的存储器地址的请求,其中第一和第二存储器位置被镜像 从存储器地址读取数据,基于负载平衡从第一存储器位置或第二存储器位置读取数据,以及当对应于存储器地址的存储器硬件的存储器硬件的响应于访问存储器地址上的数据的请求时,从第二存储器位置访问数据 第一个内存位置失败。 访问数据存储器可以包括请求访问第一和第二存储器位置中的特定的一个。 存储器地址可以包含第一存储器位置和第二存储器位置两者共同的部分。 耦合到存储器的硬件​​可能导致使用存储器地址写入的数据被自动写入第一存储器位置和第二存储器位置。

    Message based global distributed locks with automatic expiration for indicating that said locks is expired
    4.
    发明授权
    Message based global distributed locks with automatic expiration for indicating that said locks is expired 有权
    基于消息的全局分布式锁具有自动过期,用于指示所述锁已过期

    公开(公告)号:US07343432B1

    公开(公告)日:2008-03-11

    申请号:US10666773

    申请日:2003-09-19

    IPC分类号: G06F13/00 G06F13/28 G06F17/30

    CPC分类号: G06F9/526

    摘要: Described is a distributed lock processing technique that may be used to coordinate access to globally accessed resource between endpoints using the connecting message fabric. Processors in a data storage system communicate using the message switch of the message fabric. Each processor is an endpoint within a data storage system. Each endpoint, prior to requesting a lock, dynamically determines a current lock owner of the lock to be requested in accordance with a determination of which endpoints are available as lock owners at the current time. The lock request is issued to the current lock owner with a requested time period used by the lock owner to determine an expiration time. The lock expires automatically at the expiration time even if the lock holder becomes unavailable. If the current lock owner becomes unavailable, a new lock owner is determined prior to the next request for that lock.

    摘要翻译: 描述了一种分布式锁处理技术,其可用于协调使用连接消息结构的端点之间对全局访问资源的访问。 数据存储系统中的处理器使用消息结构的消息交换进行通信。 每个处理器是数据存储系统中的端点。 在请求锁之前,每个端点根据在当前时间作为锁拥有者可用的哪些端点的确定动态地确定要请求的锁的当前锁拥有者。 锁请求将以锁所有者使用的请求时间段发出给当前锁所有者以确定到期时间。 即使锁定架不可用,锁定也将在到期时自动过期。 如果当前的锁拥有者变得不可用,则在下一次请求该锁之前确定新的锁拥有者。

    Using the message fabric to maintain cache coherency of local caches of global memory

    公开(公告)号:US07136969B1

    公开(公告)日:2006-11-14

    申请号:US10462949

    申请日:2003-06-17

    IPC分类号: G06F12/00

    CPC分类号: G06F12/0831 G06F12/0808

    摘要: Described is a technique for maintaining local cache coherency between endpoints using the connecting message fabric. Processors in a data storage system communicate using the message fabric. Each processor is an endpoint having its own local cache storage in which portions of global memory may be locally cached. A write through caching technique is described. Each local cache line of data of each processor is either in an invalid or a shared state. When a write to global memory is performed by a processor (write miss or a write hit), the following are performed atomically: the global memory is updated, other processor's local cache lines of the data are invalidated, verification of invalidation is received by the processor, and the processor's local copy is updated. Other processors' cache lines are invalidated by transmission of an invalidate command by the processor. A processor updates its local cache lines upon the next read miss or write miss of the updated cacheable global memory.

    Systems and methods for suspending and resuming threads
    6.
    发明授权
    Systems and methods for suspending and resuming threads 有权
    挂起和恢复线程的系统和方法

    公开(公告)号:US07996848B1

    公开(公告)日:2011-08-09

    申请号:US11324989

    申请日:2006-01-03

    CPC分类号: G06F9/526 G06F9/485

    摘要: In a methods and systems of controlling a process's access to a device driver, a lock may be used to establish a process wait state or to wake up one or more processes. A spinlock may be used to acquire a lock associated with a device driver. The lock includes a lock value representing the availability of the lock. If the lock value is a first value, the process acquires the lock and sets the lock value to a second value. Otherwise, the process returns to the step of using the spinlock to acquire the lock associated with the device driver. If the lock is acquired, the process accesses the device driver. If the device is not ready, the process is set to wait for the lock. Waiting for the lock comprises setting a field of the process to a pointer to the lock and setting a state of the process to waiting. After the device has been successfully accessed or the process has been set to wait for the lock, the lock is released typically by setting the lock value to the first value.

    摘要翻译: 在控制进程对设备驱动程序的访问的方法和系统中,可以使用锁来建立进程等待状态或者唤醒一个或多个进程。 自旋锁可用于获取与设备驱动程序相关联的锁定。 该锁包含一个表示锁的可用性的锁值。 如果锁值是第一个值,则该进程获取锁定并将锁定值设置为第二个值。 否则,该过程返回到使用自旋锁来获取与设备驱动程序相关联的锁定的步骤。 如果锁获取,则进程访问设备驱动程序。 如果设备未准备就绪,则该进程被设置为等待锁定。 等待锁包括将进程的一个字段设置为指向该锁的指针,并将进程的状态设置为等待。 设备成功访问或进程已设置为等待锁定后,通常通过将锁定值设置为第一个值来释放锁定。

    Distributed task scheduling for symmetric multiprocessing environments
    7.
    发明授权
    Distributed task scheduling for symmetric multiprocessing environments 有权
    对称多处理环境的分布式任务调度

    公开(公告)号:US07810094B1

    公开(公告)日:2010-10-05

    申请号:US11239776

    申请日:2005-09-30

    IPC分类号: G06F9/46

    CPC分类号: G06F9/4881 G06F9/526

    摘要: A process scheduling method includes executing a plurality of symmetric schedulers on respective processors of a multiprocessing system. Each scheduler periodically accesses a shared lock to obtain exclusive access to a shared scheduling data structure including (a) process information identifying the processes, and (b) scheduling information reflecting the executability and priorities of the processes. After obtaining the lock, each scheduler performs a scheduling routine including (a) utilizing the scheduling information and a scheduling algorithm to identify a next executable process, and (b) (1) activating the identified process to begin executing on the processor on which the scheduler is executing, and (2) updating the scheduling information to reflect the activation of the identified process. The scheduler then accesses the lock to relinquish exclusive access to the scheduling data structure. The fully symmetric scheduler provides for efficient, high-performance scheduling especially in embedded multiprocessing computer systems in which the rate of process context switches may be several thousand per second.

    摘要翻译: 一种过程调度方法包括在多处理系统的各个处理器上执行多个对称调度器。 每个调度器周期性地访问共享锁,以获得对共享调度数据结构的独占访问,包括(a)识别过程的过程信息,以及(b)调度反映过程的可执行性和优先级的信息。 在获得锁定之后,每个调度器执行调度程序,其包括(a)利用调度信息和调度算法来识别下一个可执行过程,以及(b)(1)激活所识别的过程以开始在处理器上执行 调度器正在执行,并且(2)更新调度信息以反映所识别的过程的激活。 调度器然后访问锁以放弃对调度数据结构的独占访问。 完全对称的调度器提供有效的高性能调度,特别是在其中处理上下文切换速率可以是几千个每秒的嵌入式多处理计算机系统中。

    Systems and methods for tracing errors
    8.
    发明授权
    Systems and methods for tracing errors 有权
    跟踪错误的系统和方法

    公开(公告)号:US07793160B1

    公开(公告)日:2010-09-07

    申请号:US11091910

    申请日:2005-03-29

    IPC分类号: G06F11/00

    CPC分类号: G06F11/3636

    摘要: Methods and systems consistent with the present invention may facilitate error tracing in computer software. Such methods and systems may maintain context information of a target process, swap from a context of the target process to a context of an error-tracing process, and trace an error from the target process using the error-tracing process and the context information of the target process.

    摘要翻译: 与本发明一致的方法和系统可以促进计算机软件中的错误跟踪。 这样的方法和系统可以维护目标进程的上下文信息,从目标进程的上下文切换到错误跟踪进程的上下文,并且使用错误跟踪进程和目标进程的上下文信息来跟踪来自目标进程的错误 目标进程。

    Message-based distributed synchronization in a storage system
    9.
    发明授权
    Message-based distributed synchronization in a storage system 有权
    在存储系统中基于消息的分布式同步

    公开(公告)号:US07363431B1

    公开(公告)日:2008-04-22

    申请号:US10667170

    申请日:2003-09-19

    IPC分类号: G06F15/16

    CPC分类号: H04L67/1095 Y10S707/99952

    摘要: Described is a synchronization technique that may be used to coordinate processing between endpoints using the connecting message fabric. Processors in a data storage system communicate using the message switch of the message fabric. Each processor is an endpoint within a data storage system. A first endpoint may mark the beginning of the synchronization period by specifying a processing point at which other processors and the first endpoint are to coordinate from the perspective of the first endpoint. Synchronization is performed using local state information about the processing state of each endpoint as reported by each endpoint. The first endpoint waits for successful synchronization within a timeout period in accordance with the first endpoint's local state information. If successful synchronization does not occur prior to the timeout period, the first endpoint broadcasts a message with a new synchronization point to other endpoints. This indicates that the synchronization has failed marking the end of the synchronization period from perspective of the first endpoint.

    摘要翻译: 描述了可以用于协调使用连接消息结构的端点之间的处理的同步技术。 数据存储系统中的处理器使用消息结构的消息交换进行通信。 每个处理器是数据存储系统中的端点。 第一端点可以通过指定其他处理器和第一端点从第一端点的角度来协调的处理点来标记同步周期的开始。 使用由每个端点报告的关于每个端点的处理状态的本地状态信息执行同步。 第一个端点根据第一个端点的本地状态信息在超时时间段内等待成功的同步。 如果在超时时间之前未发生成功同步,则第一个端点将具有新同步点的消息广播到其他端点。 这表示从第一个端点的角度看,同步已经不能标记同步周期的结束。

    Generic reallocation function for heap reconstitution in a multi-processor shared memory environment
    10.
    发明授权
    Generic reallocation function for heap reconstitution in a multi-processor shared memory environment 有权
    在多处理器共享内存环境中进行堆重构的通用重新分配功能

    公开(公告)号:US07392361B2

    公开(公告)日:2008-06-24

    申请号:US11049817

    申请日:2005-02-03

    CPC分类号: G06F9/5016

    摘要: Managing memory includes receiving a request for a memory allocation, determining whether the memory allocation is to be maintained when subsequently initializing memory and saving information about the memory allocation to maintain the memory allocation during subsequently initializing memory. Initializing may be performed as part of special reset mode processing. Special reset mode processing may be performed in response to receiving a reset command. The memory may be shared by a plurality of processing units and the reset command may be issued to reset a first processing unit causing reset of the memory and a second processing unit may use a first allocated memory portion that is maintained when initializing the memory as part of processing for the reset command. Saving may include adding an entry to an allocation list associated with the memory, the entry including a location associated with the memory allocation.

    摘要翻译: 管理存储器包括接收对存储器分配的请求,确定随后初始化存储器时是否维持存储器分配并且保存关于存储器分配的信息以在随后的初始化存储器期间维持存储器分配。 可以作为特殊复位模式处理的一部分来执行初始化。 可以响应于接收到复位命令而执行特殊复位模式处理。 存储器可以由多个处理单元共享,并且可以发出复位命令以复位导致存储器复位的第一处理单元,并且第二处理单元可以使用在将存储器初始化时保持的第一分配存储器部分作为部分 的复位命令的处理。 保存可以包括向与存储器相关联的分配列表添加条目,该条目包括与该存储器分配相关联的位置。