摘要:
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.
摘要:
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.
摘要:
A method of mapping sequential logical data blocks to multiple disk surfaces. Data blocks are written to a predetermined number of adjacent tracks on each surface before performing a head switch to write data on another surface. The predetermined number of tracks are written on each surface in turn before performing a seek and head switch to continue writing on another predetermined number of tracks on each surface. After each head switch to continue writing from the radial position reached when writing the previous group of tracks, the direction of track incrementing or decrementing reverses so that the actuator moves back and forth in a "serpentine" manner.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.
摘要:
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.