Patents by Inventor Daniel John Sokolov

Daniel John Sokolov has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).

  • Patent number: 6094707
    Abstract: 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.
    Type: Grant
    Filed: September 16, 1999
    Date of Patent: July 25, 2000
    Assignee: Western Digital Corporation
    Inventors: Daniel John Sokolov, Jeffrey L. Williams
  • Patent number: 6092149
    Abstract: 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.
    Type: Grant
    Filed: May 28, 1997
    Date of Patent: July 18, 2000
    Assignee: Western Digital Corporation
    Inventors: Michael Scott Hicken, Steven M. Howe, Daniel John Sokolov, Timothy Swatosh, Jeffrey L. Williams
  • Patent number: 6092150
    Abstract: 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.
    Type: Grant
    Filed: September 16, 1999
    Date of Patent: July 18, 2000
    Assignee: Western Digital Corporation
    Inventors: Daniel John Sokolov, Jeffrey L. Williams
  • Patent number: 6065095
    Abstract: 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.
    Type: Grant
    Filed: September 16, 1999
    Date of Patent: May 16, 2000
    Assignee: Western Digital Corporation
    Inventors: Daniel John Sokolov, Jeffrey L. Williams
  • Patent number: 6018789
    Abstract: 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.
    Type: Grant
    Filed: November 24, 1997
    Date of Patent: January 25, 2000
    Assignee: Western Digital Corporation
    Inventors: Daniel John Sokolov, Jeffrey L. Williams
  • Patent number: 5970508
    Abstract: 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.
    Type: Grant
    Filed: June 24, 1997
    Date of Patent: October 19, 1999
    Assignee: Western Digital Corporation
    Inventors: Steven M. Howe, Daniel John Sokolov
  • Patent number: 5966726
    Abstract: A disk 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, with each segment having a cache access type. The number of segments may be varied in practice of a method for adaptively segmenting the cache. The method comprises the steps of: (a) calculating a plurality of caching factors while processing commands from the host; and (b) regularly determining whether to change the number of segments wherein an increase of the number of segments is effected based on a weighed weighing of the plurality of caching factors.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: October 12, 1999
    Assignee: Western Digital Corporation
    Inventor: Daniel John Sokolov
  • Patent number: 5954801
    Abstract: A method provides for managing commands received by a disk drive via an intelligent interface from a host. The drive has a magnetic disk, and a cache with the cache being divisible into a number of segments. The cache employs a cache control structure including a cache environment variable. The drive receives a first command that requests data and a second command. The method comprises the steps of: processing the first command and caching only the requested data from the disk drive; and processing the second command and caching prefetched data for the second command if the second command is determined to be sequential with the first command.
    Type: Grant
    Filed: June 26, 1997
    Date of Patent: September 21, 1999
    Assignee: Western Digital Corporation
    Inventor: Daniel John Sokolov
  • Patent number: 5937426
    Abstract: 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.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: August 10, 1999
    Assignee: Western Digital Corporation
    Inventor: Daniel John Sokolov
  • Patent number: 5920887
    Abstract: 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.
    Type: Grant
    Filed: June 26, 1997
    Date of Patent: July 6, 1999
    Assignee: Western Digital Corporation
    Inventors: Daniel John Sokolov, Jeffrey L. Williams
  • Patent number: 5915260
    Abstract: A method is practiced in a disk drive in which a cache is divided into segments each having a segment priority. The method provides for managing the segment priority. The drive has an intelligent interface for communicating with a host, and a magnetic disk. The cache employs a cache control structure including a cache array with a cache array entry. There is a cache array entry for each one of the number of segments. The method comprises the steps of: maintaining the cache array entry wherein each cache array entry classifies a segment by a cache access type, wherein the cache access type is selected from a plurality of access types including sequential and random; and determining whether to change the scan priority of each segment based on the cache access type.
    Type: Grant
    Filed: June 25, 1997
    Date of Patent: June 22, 1999
    Assignee: Western Digital Corporation
    Inventor: Daniel John Sokolov
  • Patent number: 5890212
    Abstract: 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.
    Type: Grant
    Filed: June 27, 1997
    Date of Patent: March 30, 1999
    Assignee: Western Digital Corporation
    Inventors: Daniel John Sokolov, Timothy W. Swatosh
  • Patent number: 5890213
    Abstract: 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.
    Type: Grant
    Filed: December 3, 1997
    Date of Patent: March 30, 1999
    Assignee: Western Digital Corporation
    Inventor: Daniel John Sokolov
  • Patent number: 5890211
    Abstract: A method of operating a disk drive having a cache provides for adapting the amount of prefetch. The drive also has an intelligent interface for communicating with a host, and a magnetic disk. The cache is divisible into a number of segments, and employs a cache control structure including a cache array with a cache array entry. When the drive receives a first command, the method provides a step of performing a scan of the cache to assign the first command to a segment. The method further includes the step of maintaining the cache array with a cache array entry for each one of the number of segments, where each cache array entry classifies a segment by a cache access type, wherein the cache access type is selected from a plurality of access types including sequential and random. The method further includes the step of determining a limit on the amount of prefetch based on the cache access type for the first command and a cache environment variable. The limit may be a minimum prefetch or a maximum prefetch.
    Type: Grant
    Filed: June 26, 1997
    Date of Patent: March 30, 1999
    Assignee: Western Digital Corporation
    Inventors: Daniel John Sokolov, Timothy Swatosh