摘要:
A method of managing commands is provided for a disk drive having an intelligent interface for communicating with a host. The drive also has a magnetic disk, host side programs, disk side programs, and a cache wherein the cache is divisible into a number of segments. The cache employs a cache control structure including a cache entry table, a buffer counter, a block count, a host pointer and a disk pointer. The drive receives a first command and a second command with a cache access type. The method of managing commands comprises the steps of: processing the first command to assign the first command to a cache segment having a prefetch area; determining the cache access type of the second command; and if the cache access type of the second command is a skip ahead sequential access then decrementing the buffer counter and incrementing the host pointer to skip leading nonrequested data in the prefetch area for the first command.
摘要:
The disk drive provides a method of adaptively managing a cache segment divided into chunks by defining an unavailable data type to be stored in an element of a chunk array which indicates that the chunk is not available, and defining an available data type to be stored in an element of the chunk array that indicates the chunk is available and that indicates the number of consecutive chunks that are available. The disk drive also computes a number of chunks needed to fit the request length and scans the chunk array to find a first available element whose available data type meets a predetermined criteria for the number of chunks needed to fit the request length.
摘要:
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.
摘要:
The disk drive provides a method of adaptively managing a cache segment divided into chunks by defining an unavailable data type to be stored in an element of a chunk array which indicates that the chunk is not available, and defining an available data type to be stored in an element of the chunk array that indicates the chunk is available and that indicates the number of consecutive chunks that are available. The disk drive also computes a number of chunks needed to fit the request length and scans the chunk array to find a first available element whose available data type meets a predetermined criteria for the number of chunks needed to fit the request length.
摘要:
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.
摘要:
The disk drive provides a method of adaptively managing a cache segment divided into chunks by defining an unavailable data type to be stored in an element of a chunk array which indicates that the chunk is not available, and defining an available data type to be stored in an element of the chunk array that indicates the chunk is available and that indicates the number of consecutive chunks that are available. The disk drive also computes a number of chunks needed to fit the request length and scans the chunk array to find a first available element whose available data type meets a predetermined criteria for the number of chunks needed to fit the request length.
摘要:
A hard disk drive has an intelligent interface for communicating with a host, a magnetic disk, disk side programs and host side programs, and a cache. The cache is divisible into a number of segments, and the number of segments may be varied. The cache employs a cache control structure including a cache entry table, and the hard disk drive receives commands from the host in a queue. The method comprises the steps of. (a) receiving a first command and a second command from the host; (b) determining a scan first state; (c) determining if there are any commands in the queue; (d) waiting for a first command to complete and performing a seek if there are no commands in the queue and the scan first state is false; (e) performing a scan of the cache entry table to assign the second command to a segment; and () checking if a seek is needed for the second command and if a seek is needed for the second command performing a seek for the second command after the first command has completed.
摘要:
A method provides for waiting for a cache hit in the operation of a disk drive. The drive has an intelligent interface for communicating with a host, a magnetic disk, and a cache. The cache is divisible into a number of segments, and the cache employs a cache control structure. The drive receives a first command and a second command wherein the second command has a requested data range. The method comprises the steps of: (a) initializing a read in response to the first command to provide prefetch data to the cache in a prefetch data range wherein the prefetch data range has a first logical block address; and (b) waiting for a cache hit in response to the second command wherein the beginning of the requested data is within the prefetch data range and does not request the first logical block address.
摘要:
A method provides for adaptively aging cache segments in a segmented cache in a disk drive. The disk drive receives commands via an intelligent interface from a host. The drive has a magnetic disk. The cache employs a cache control structure including cache parameters, wherein each segment has a scan count of the number of scans of a segment and an access type, and wherein the cache parameters include a maximum number of misses to indicate the maximum number of times a segment will be scanned without a cache hit. A scan count is maintained for each segment while processing commands from the host. The maximum number of misses is adaptively adjusted based on the access type of the cache segments. The scan count for a segment is compared to the maximum number of misses to determine if the segment should be aged out.
摘要:
The disk drive provides a method of adaptively managing a cache segment divided into chunks by defining an unavailable data type to be stored in an element of a chunk array which indicates that the chunk is not available, and defining an available data type to be stored in an element of the chunk array that indicates the chunk is available and that indicates the number of consecutive chunks that are available. The disk drive also computes a number of chunks needed to fit the request length and scans the chunk array to find a first available element whose available data type meets a predetermined criteria for the number of chunks needed to fit the request length.