Method and apparatus for recovering redundant cache data of a failed controller and reestablishing redundancy
    1.
    发明授权
    Method and apparatus for recovering redundant cache data of a failed controller and reestablishing redundancy 有权
    用于恢复故障控制器的冗余高速缓存数据并重新建立冗余的方法和装置

    公开(公告)号:US07162587B2

    公开(公告)日:2007-01-09

    申请号:US10430487

    申请日:2003-05-05

    IPC分类号: G06F15/177

    摘要: A method, and apparatus for recovering cache data of a failed redundant storage controller and reestablishing redundancy by mirroring cache data of a primary cache memory of a first storage controller in a secondary cache memory of another storage controller. Upon a failure occurring in a storage controller, the failure is detected and, in response, a structured list of cache tags is created in the controller where having the secondary cache that is the mirror of the primary cache of the failed controller. The primary cache memory of the non-failed storage controller that was mirrored in the secondary cache of the failed controller and the secondary cache memory of the non-failed storage controller that was linked to the primary cache of the failed controller are flushed, and an available secondary cache memory, which may be the secondary cache memory just flushed, is configured to function as a redundant cache memory for the primary cache memory of the non-failed storage controller that was mirrored in the secondary cache of the failed controller, such that cache data in the primary cache memory of the non-failed storage controller is mirrored in the available secondary cache memory.

    摘要翻译: 一种用于恢复故障冗余存储控制器的高速缓存数据的方法和装置,并且通过镜像另一存储控制器的二级高速缓冲存储器中的第一存储控制器的主高速缓存存储器的高速缓存数据来重新建立冗余。 在存储控制器中发生故障时,检测到故障,并且作为响应,在控制器中创建高速缓存标签的结构化列表,其中具有作为故障控制器的主高速缓存的镜像的二级高速缓存。 被镜像在故障控制器的二级缓存中的非故障存储控制器的主缓存内存和链接到失败控制器的主缓存的非故障存储控制器的辅助缓存内存被刷新,并且 被配置为作为在故障控制器的二级高速缓存中被镜像的非故障存储控制器的主高速缓冲存储器的冗余高速缓冲存储器的可用次级高速缓存存储器,其可以是刚被刷新的二次高速缓存存储器,使得 非故障存储控制器的主高速缓冲存储器中的高速缓存数据被镜像到可用的二级高速缓冲存储器中。

    Disk drive with adaptive pooling for command reordering
    2.
    发明授权
    Disk drive with adaptive pooling for command reordering 失效
    具有自适应池的磁盘驱动器,用于命令重新排序

    公开(公告)号:US6145052A

    公开(公告)日:2000-11-07

    申请号:US963772

    申请日:1997-11-04

    IPC分类号: G06F3/06 G11B19/02 G06F12/00

    摘要: A method for selecting a next command to execute from a set of SCSI commands where the commands are gracefully aged and performance of a disk drive is improved. An execution threshold age, a pool threshold age, and an age threshold age are used to determine what command is executed next. A mechanical time delay is calculated for a command based on the time required to position the read/write head over the data location requested in each command. A command age is calculated based on a current time and the time the command was received from the host. The command age is checked against the execution threshold age and pool threshold age. Any commands that have aged beyond the execution threshold age are executed. If the oldest command has aged beyond the age threshold age, then any command that has both aged beyond the pool threshold age and has the smallest mechanical time delay is executed, otherwise the command with the smallest mechanical time delay is executed. Alternatively, a time stamp of the oldest command is compared against an age threshold to determine if all or some of the commands are in the pool of commands. If there are no commands that have aged beyond the age threshold, then the command that has the smallest mechanical time delay is executed first.

    摘要翻译: 一种用于从一组SCSI命令中选择执行下一个命令的方法,其中命令被优雅地老化并且提高了磁盘驱动器的性能。 使用执行阈值年龄,池阈值年龄和年龄阈值年龄来确定接下来执行什么命令。 基于将读/写头定位在每个命令中请求的数据位置所需的时间,为命令计算机械时间延迟。 根据当前时间和从主机接收命令的时间计算命令时间。 根据执行阈值年龄和池阈值年龄检查命令时间。 执行老化超过执行阈值时间的任何命令。 如果最旧的命令已经超过年龄阈值年龄,则执行任何年龄超过池阈值年龄并且具有最小机械时间延迟的命令,否则执行机械时间延迟最小的命令。 或者,将最早命令的时间戳与年龄阈值进行比较,以确定所有或一些命令是否在命令池中。 如果没有老化超过年龄阈值的命令,则首先执行具有最小机械时间延迟的命令。

    Disk drive cache system using a dynamic priority sequential stream of
data segments continuously adapted according to prefetched sequential
random, and repeating types of accesses
    4.
    发明授权
    Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses 失效
    磁盘驱动器缓存系统使用根据预取的顺序随机连续调整的数据段的动态优先顺序流,并重复访问类型

    公开(公告)号:US6092149A

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

    申请号:US864525

    申请日:1997-05-28

    摘要: A magnetic disk drive with a caching system includes an intelligent interface to communicate with a host, a magnetic disk and a cache memory to buffer data transferred to and from the host. The caching system maximizes drive performance based on past access history. The caching system alters execution of commands by coalescing commands or executing internal commands in parallel. The caching system anticipates data requests by using a prefetch to store data that may be requested. The caching system divides the cache memory into segments to store multiple streams of data. The number of segments may be continuously adapted according to the types of access to maximize performance by maintaining a segment for each sequential stream of data. The caching system uses a dynamic priority list to determine segments to maintain and discard. Each segment is monitored to determine access types such as sequential, random, and repeating. The access type determines the amount of data to prefetch and to save, including a minimum and maximum prefetch. The caching system may prescan the cache memory during prefetch to alter the prefetch amount in response to a command request. The caching system may wait for a cache memory access that has not yet occurred. An initiator changes the caching parameters though a mode page.

    摘要翻译: 具有缓存系统的磁盘驱动器包括用于与主机通信的智能接口,磁盘和高速缓冲存储器,以缓冲传送到主机的数据。 缓存系统根据过去的访问历史来最大化驱动器性能。 缓存系统通过并行命令或并行执行内部命令来改变执行命令。 缓存系统通过使用预取来存储可能请求的数据来预期数据请求。 缓存系统将高速缓存存储器分割成段以存储多个数据流。 可以根据访问的类型连续地调整段的数量,以通过维护每个顺序的数据流的段来最大化性能。 缓存系统使用动态优先级列表来确定要维护和丢弃的段。 监视每个段以确定访问类型,如顺序,随机和重复。 访问类型确定要预取和保存的数据量,包括最小和最大预取。 缓存系统可以在预取期间预扫描高速缓冲存储器以响应于命令请求改变预取量。 缓存系统可能会等待尚未发生的高速缓存存储器访问。 发起者通过模式页面来更改缓存参数。

    PERFORMING WRITING OPERATIONS USING A QUEUE OF AVAILABLE PAGES
    5.
    发明申请
    PERFORMING WRITING OPERATIONS USING A QUEUE OF AVAILABLE PAGES 审中-公开
    使用可用页码执行书写操作

    公开(公告)号:US20120185658A1

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

    申请号:US13008061

    申请日:2011-01-18

    IPC分类号: G06F12/16

    CPC分类号: G06F21/78 G06F2221/2107

    摘要: A method for performing a write operation on a computer system having a main store, including a plurality of pages, and a backing store, the write operation including a processing step for processing data of the write operation and a writing step for writing the processed data to the backing store. The method includes reserving a set of pages, among the plurality of pages, in the main store, retrieving a required number of pages from the reserved set in accordance with the size of the data, processing the required number of pages of the data using the retrieved pages, writing the processed data to the backing store, and returning the retrieved pages to the reserved set upon finishing the writing.

    摘要翻译: 一种用于在具有包括多个页面的主存储的计算机系统和后端存储器上执行写入操作的方法,所述写入操作包括用于处理写入操作的数据的处理步骤和用于写入处理的数据的写入步骤 到后备店。 该方法包括在主存储器中的多个页面之间保留一组页面,根据数据的大小从保留的集合中检索所需的页数,使用数据处理所需的数据页数 检索页面,将处理的数据写入后备存储器,并在完成写入时将检索到的页面返回到保留集。

    Method for updating memory resident firmware as a background operation
    6.
    发明授权
    Method for updating memory resident firmware as a background operation 有权
    将内存驻留固件更新为后台操作的方法

    公开(公告)号:US07380113B2

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

    申请号:US10430607

    申请日:2003-05-05

    IPC分类号: G06F9/24

    CPC分类号: G06F8/656 G06F9/4401

    摘要: A method of upgrading firmware during background operation in a storage area network (SAN) including at least one storage controller having programmable memory and RAM, where the at least one storage controller for controls data access between at least one host server and at least one storage device. The method includes temporarily suspending data access commands from the at least one host server, upgrading firmware stored in programmable memory, and copying a current version of firmware in a first memory address of RAM to a second memory address in the RAM. The current version of firmware in the first memory address in RAM is overwritten with the upgraded version of firmware. The controller is reinitialized, and data access commands from the at least one host server to the at least one storage device are provided by the at least one storage controller.

    摘要翻译: 一种在包括具有可编程存储器和RAM的至少一个存储控制器的存储区域网络(SAN)中的后台操作期间升级固件的方法,其中所述至少一个存储控制器用于控制至少一个主机服务器和至少一个存储器 设备。 该方法包括临时挂起来自至少一个主机服务器的数据访问命令,升级存储在可编程存储器中的固件,以及将RAM的第一存储器地址中的固件的当前版本复制到RAM中的第二存储器地址。 升级版本的固件会覆盖RAM中第一个内存地址中的当前固件版本。 控制器被重新初始化,并且至少一个主机服务器到至少一个存储设备的数据访问命令由至少一个存储控制器提供。

    Write cache recovery after loss of power

    公开(公告)号:US07100080B2

    公开(公告)日:2006-08-29

    申请号:US10430535

    申请日:2003-05-05

    申请人: Steven M. Howe

    发明人: Steven M. Howe

    IPC分类号: G06G11/00

    摘要: A method for recovering dirty write cache data after controller power loss or failure from one of two independently battery backed up and mirrored write caches. Two independent controllers jointly operate with a permanent data storage system. Each controller has a write cache that is a mirror of the write cache in the other controller. The primary controller resets a power down flag stored each write cache upon proper shutdown. The primary controller further increments and stores a configuration sequence number into each write cache upon proper shutdown. If a primary controller powers up and identifies that the write cache was not properly shutdown due to the state of the power down flag, it flushes the dirty data in the write cache only if the configuration sequence number contained in the write cache is the same as the configuration sequence number contained in the primary controller. If the configuration sequence number in the primary controller is higher than the configuration sequence number in the write cache, the dirty data was previously flushed to permanent data storage with the other write cache.

    Emulating a skip read command
    8.
    发明授权
    Emulating a skip read command 有权
    仿真一个skip read命令

    公开(公告)号:US08892807B2

    公开(公告)日:2014-11-18

    申请号:US13088665

    申请日:2011-04-18

    IPC分类号: G06F12/00 G06F13/16 G06F9/00

    CPC分类号: G06F13/16 G06F9/00 G06F13/105

    摘要: In an embodiment, a skip read command is received that requests transfer of a requested block from a storage device and that requests non-transfer of a skipped block from the storage device. The skip read command specifies a skip mask that comprises an identification of a location of the requested block relative to a location of the skipped block at the storage device. In response to the skip read command, the requested block and the skipped block are transferred from the storage device by creating a read command that requests transfer of the requested block and the skipped block and sending the read command to the storage device. In various embodiments, the skipped block is transferred to a temporary buffer and not transferred to a destination buffer, or the skipped block is transferred to the destination buffer, but overwritten by a transfer of the requested block to the destination buffer.

    摘要翻译: 在一个实施例中,接收到请求从存储设备传送所请求的块并且请求从存储设备不传输跳过块的跳过读命令。 skip read命令指定跳过掩码,其包括相对于存储设备处的跳过块的位置的所请求块的位置的标识。 响应于跳过读取命令,通过创建请求传送所请求的块和跳过的块并将读取命令发送到存储设备的读取命令从存储设备传送所请求的块和跳过的块。 在各种实施例中,跳过的块被传送到临时缓冲器,而不被传送到目的地缓冲器,或者跳过的块被传送到目的地缓冲器,但被所请求的块的传送覆盖到目的地缓冲器。

    EMULATING A SKIP READ COMMAND
    9.
    发明申请
    EMULATING A SKIP READ COMMAND 有权
    模拟阅读命令

    公开(公告)号:US20120265948A1

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

    申请号:US13088665

    申请日:2011-04-18

    IPC分类号: G06F12/00

    CPC分类号: G06F13/16 G06F9/00 G06F13/105

    摘要: In an embodiment, a skip read command is received that requests transfer of a requested block from a storage device and that requests non-transfer of a skipped block from the storage device. The skip read command specifies a skip mask that comprises an identification of a location of the requested block relative to a location of the skipped block at the storage device. In response to the skip read command, the requested block and the skipped block are transferred from the storage device by creating a read command that requests transfer of the requested block and the skipped block and sending the read command to the storage device. In various embodiments, the skipped block is transferred to a temporary buffer and not transferred to a destination buffer, or the skipped block is transferred to the destination buffer, but overwritten by a transfer of the requested block to the destination buffer.

    摘要翻译: 在一个实施例中,接收到请求从存储设备传送所请求的块并且请求从存储设备不传输跳过块的跳过读命令。 skip read命令指定跳过掩码,其包括相对于存储设备处的跳过块的位置的所请求块的位置的标识。 响应于跳过读取命令,通过创建请求传送所请求的块和跳过的块并将读取命令发送到存储设备的读取命令从存储设备传送所请求的块和跳过的块。 在各种实施例中,跳过的块被传送到临时缓冲器,而不被传送到目的地缓冲器,或者跳过的块被传送到目的地缓冲器,但被所请求的块的传送覆盖到目的地缓冲器。

    Disk drive employing allocation-based scan reporting
    10.
    发明授权
    Disk drive employing allocation-based scan reporting 失效
    磁盘驱动器采用基于分配的扫描报告

    公开(公告)号:US5970508A

    公开(公告)日:1999-10-19

    申请号:US881081

    申请日:1997-06-24

    摘要: A method is provided for managing a cache in a disk drive having an intelligent interface for communicating with a host. The drive includes a magnetic disk, and the cache is divisible into a number of segments, and employs a cache control structure including cache parameters. The drive receives a first command and a second command. The method comprises the steps of: performing a scan of the cache to assign the first command to a segment; compensating the cache parameters in response to the scan; and performing a scan to assign the second command to a cache segment prior to caching of data requested in the first command.

    摘要翻译: 提供了一种用于管理具有用于与主机通信的智能接口的磁盘驱动器中的高速缓存的方法。 该驱动器包括一个磁盘,并且高速缓存可以分成多个段,并且采用包括高速缓存参数的高速缓存控制结构。 驱动器接收第一个命令和第二个命令。 该方法包括以下步骤:执行高速缓存的扫描以将第一命令分配给段; 响应扫描补偿缓存参数; 以及执行扫描以在高速缓存在第一命令中请求的数据之前将第二命令分配给高速缓存段。