Patents by Inventor Zachary David Traut

Zachary David Traut 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: 11055001
    Abstract: A system includes a memory and a processor coupled to the memory, where the processor is configured to perform various operations. The operations include receiving, in response to a first read input/output operation, a first location of a first data block. The operations also include executing the first read input/output operation at the first data block at the first location. The operations also include selecting a second location within a first search range for destaging a second data block based at least in part on the first location. The operations also include destaging the second data block at the second location upon a determination that a second read input/output operation is not currently executing or queued for execution.
    Type: Grant
    Filed: May 30, 2018
    Date of Patent: July 6, 2021
    Assignee: Seagate Technology LLC
    Inventors: Michael David Barrell, Zachary David Traut
  • Publication number: 20190369874
    Abstract: A system includes a memory and a processor coupled to the memory, where the processor is configured to perform various operations. The operations include receiving, in response to a first read input/output operation, a first location of a first data block. The operations also include executing the first read input/output operation at the first data block at the first location. The operations also include selecting a second location within a first search range for destaging a second data block based at least in part on the first location. The operations also include destaging the second data block at the second location upon a determination that a second read input/output operation is not currently executing or queued for execution.
    Type: Application
    Filed: May 30, 2018
    Publication date: December 5, 2019
    Inventors: Michael David Barrell, Zachary David Traut
  • Patent number: 9760293
    Abstract: A plurality of arrays of storage devices, each providing dual storage device redundancy, is provided. The plurality of arrays of storage devices includes a plurality of mirrored sets of primary storage devices, each including an even number of at least two or more primary storage devices. Each of the mirrored sets of primary storage devices stores a first and a second copy of data. The plurality of arrays of storage devices also includes a secondary storage device, which is a single physical storage device that stores a third copy of the data stored on each of the plurality of mirrored sets of primary storage devices. The secondary storage device has at least the capacity to store the data stored on the plurality of mirrored sets of primary storage devices. Dual storage device redundancy preserves data if data cannot be read from one or two physical storage devices in any array.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: September 12, 2017
    Assignee: Seagate Technology LLC
    Inventors: George Alexander Kalwitz, Michael David Barrell, Zachary David Traut, Thomas George Wicklund
  • Patent number: 9684455
    Abstract: A method for providing efficient processing for many concurrent streams of sequential I/O requests is provided. In response to receiving an I/O request, the method includes determining if the I/O request corresponds to an active stream. If the request corresponds to an active stream, then the method includes updating an existing active list entry of an active list corresponding to the active stream, and if the I/O request does not correspond to an active stream, then instead converting and configuring an inactive list entry of an inactive list into a new active list entry. The inactive list stores available but unallocated resources, and the active list stores allocated resources. The active list includes a head at one end of the active list and a tail at an opposite end. The active list head corresponds to a most recently used entry, and the tail corresponds to a least recently used entry.
    Type: Grant
    Filed: August 11, 2014
    Date of Patent: June 20, 2017
    Assignee: Seagate Technology LLC
    Inventors: Zachary David Traut, Michael David Barrell
  • Patent number: 9552297
    Abstract: A method for providing improved sequential read performance in a storage controller is provided. In response to the storage controller receiving a host read request from a host computer, the method includes identifying, by the storage controller, a largest burst length of a plurality of burst lengths in a memory of the storage controller, and determining a maximum number of consecutive times between bursts having a value less than a predetermined value. A burst includes a consecutive group of sequential host read requests from the same host computer. The method also includes multiplying the largest burst length of the plurality of burst lengths by the maximum number of consecutive times between bursts having a value less than the predetermined value to obtain an effective burst length and reading into a storage controller cache memory at least the effective burst length of data from storage devices coupled to the storage controller.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: January 24, 2017
    Assignee: Dot Hill Systems Corporation
    Inventors: Zachary David Traut, Michael David Barrell
  • Patent number: 9465555
    Abstract: A method for improving I/O performance by a storage controller is provided. The method includes receiving a command completion from a storage device and checking for a command stored in a command queue for more than a predetermined time period. If a command has been in the command queue for more than the predetermined time period, then issuing the command and removing the command from the command queue. If no commands have been stored in the command queue for more than the predetermined time period, then determining if there are any uncompleted commands previously issued to the storage device. If there are not any uncompleted commands previously issued to the storage device, then processing a next command in the command queue and removing the next command from the command queue.
    Type: Grant
    Filed: August 12, 2013
    Date of Patent: October 11, 2016
    Assignee: Seagate Technology LLC
    Inventors: Michael David Barrell, Zachary David Traut
  • Patent number: 9158687
    Abstract: A method for efficiently processing write data from a storage controller to a striped storage volume is provided. The method includes receiving, by the storage controller, a host write request including a host write request size, calculating, by the storage controller, that a time to fill a stripe including the host write request is less than a host guaranteed write time, and processing, by the storage controller, the host write request as a writeback host write request. The storage controller stores writeback host write requests in a write cache. The time to fill the stripe is a size of the stripe divided by a data rate of a corresponding host write stream including the host write request. The host guaranteed write time is the maximum latency that the storage controller guarantees host write requests are committed to one of the write cache and the striped storage volume.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: October 13, 2015
    Assignee: DOT HILL SYSTEMS CORPORATION
    Inventors: Michael David Barrell, Zachary David Traut
  • Patent number: 9152563
    Abstract: A method for efficiently processing write data from a storage controller to a striped storage volume is provided. The method includes receiving, by the storage controller, a host write request including a host write request size, calculating, by the storage controller, that a time to fill a stripe including the host write request is not less than a host guaranteed write time, and processing, by the storage controller, the host write request as a write-through host write request. The time to fill the stripe is a size of the stripe divided by a data rate of a host write stream comprising the host write request. The host guaranteed write time is the maximum latency that the storage controller guarantees host write requests are committed to one of a storage controller write cache and the striped storage volume.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: October 6, 2015
    Assignee: DOT HILL SYSTEMS CORPORATION
    Inventors: Zachary David Traut, Michael David Barrell
  • Publication number: 20150169450
    Abstract: A method for efficiently processing write data from a storage controller to a striped storage volume is provided. The method includes receiving, by the storage controller, a host write request including a host write request size, calculating, by the storage controller, that a time to fill a stripe including the host write request is not less than a host guaranteed write time, and processing, by the storage controller, the host write request as a write-through host write request. The time to fill the stripe is a size of the stripe divided by a data rate of a host write stream comprising the host write request. The host guaranteed write time is the maximum latency that the storage controller guarantees host write requests are committed to one of a storage controller write cache and the striped storage volume.
    Type: Application
    Filed: February 23, 2015
    Publication date: June 18, 2015
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Zachary David Traut, Michael David Barrell
  • Publication number: 20150169449
    Abstract: A method for efficiently processing write data from a storage controller to a striped storage volume is provided. The method includes receiving, by the storage controller, a host write request including a host write request size, calculating, by the storage controller, that a time to fill a stripe including the host write request is less than a host guaranteed write time, and processing, by the storage controller, the host write request as a writeback host write request. The storage controller stores writeback host write requests in a write cache. The time to fill the stripe is a size of the stripe divided by a data rate of a corresponding host write stream including the host write request. The host guaranteed write time is the maximum latency that the storage controller guarantees host write requests are committed to one of the write cache and the striped storage volume.
    Type: Application
    Filed: February 23, 2015
    Publication date: June 18, 2015
    Applicant: Dot Hill Systems Corporation
    Inventors: Michael David Barrell, Zachary David Traut
  • Patent number: 9053038
    Abstract: A method for providing efficient use of a read cache by a storage controller is provided. The method includes the storage controller receiving a read request from a host computer and determining if a host stream size is larger than a read cache size. The host stream size is a current cumulative size of all read requests in the host stream. If the host stream size is larger than the read cache size then migrating data to a first area of the read cache containing data that has been in the read cache for the longest time. If the host stream size is not larger than the read cache size then migrating data to a second area of the read cache containing data that has been in the read cache for the shortest time. The host stream is a consecutive group of sequential read requests from the host computer.
    Type: Grant
    Filed: July 29, 2013
    Date of Patent: June 9, 2015
    Assignee: Dot Hill Systems Corporation
    Inventors: Zachary David Traut, Michael David Barrell
  • Publication number: 20150046605
    Abstract: A method for improving I/O performance by a storage controller is provided. The method includes receiving a command completion from a storage device and checking for a command stored in a command queue for more than a predetermined time period. If a command has been in the command queue for more than the predetermined time period, then issuing the command and removing the command from the command queue. If no commands have been stored in the command queue for more than the predetermined time period, then determining if there are any uncompleted commands previously issued to the storage device. If there are not any uncompleted commands previously issued to the storage device, then processing a next command in the command queue and removing the next command from the command queue.
    Type: Application
    Filed: August 12, 2013
    Publication date: February 12, 2015
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Michael David Barrell, Zachary David Traut
  • Patent number: 8930619
    Abstract: A method for destaging write data from a storage controller to storage devices is provided. The method includes determining that a cache element should be transferred from a write cache of the storage controller to the storage devices, calculating that a dirty watermark is above a dirty watermark maximum value, identifying a first cache element to destage from the write cache to the storage devices, transferring a first data container including the first cache element to the storage devices, and incrementing an active destage count. The method also includes repeating determining, calculating, identifying, transferring, and incrementing if the active destage count is less than an active destage count maximum value. The active destage count is a current number of write requests issued to a virtual disk that have not yet been completed, and the virtual disk is a RAID group comprising one or more specific storage devices.
    Type: Grant
    Filed: August 21, 2014
    Date of Patent: January 6, 2015
    Assignee: Dot Hill Systems Corporation
    Inventors: Michael David Barrell, Zachary David Traut
  • Publication number: 20140365725
    Abstract: A method for destaging write data from a storage controller to storage devices is provided. The method includes determining that a cache element should be transferred from a write cache of the storage controller to the storage devices, calculating that a dirty watermark is above a dirty watermark maximum value, identifying a first cache element to destage from the write cache to the storage devices, transferring a first data container including the first cache element to the storage devices, and incrementing an active destage count. The method also includes repeating determining, calculating, identifying, transferring, and incrementing if the active destage count is less than an active destage count maximum value. The active destage count is a current number of write requests issued to a virtual disk that have not yet been completed, and the virtual disk is a RAID group comprising one or more specific storage devices.
    Type: Application
    Filed: August 21, 2014
    Publication date: December 11, 2014
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Michael David Barrell, Zachary David Traut
  • Publication number: 20140351527
    Abstract: A method for providing efficient processing for many concurrent streams of sequential I/O requests is provided. In response to receiving an I/O request, the method includes determining if the I/O request corresponds to an active stream. If the request corresponds to an active stream, then the method includes updating an existing active list entry of an active list corresponding to the active stream, and if the I/O request does not correspond to an active stream, then instead converting and configuring an inactive list entry of an inactive list into a new active list entry. The inactive list stores available but unallocated resources, and the active list stores allocated resources. The active list includes a head at one end of the active list and a tail at an opposite end. The active list head corresponds to a most recently used entry, and the tail corresponds to a least recently used entry.
    Type: Application
    Filed: August 11, 2014
    Publication date: November 27, 2014
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Zachary David Traut, Michael David Barrell
  • Patent number: 8886880
    Abstract: A method for destaging data from a memory of a storage controller to a striped volume is provided. The method includes determining if a stripe should be destaged from a write cache of the storage controller to the striped volume, destaging a partial stripe if a full stripe write percentage is less than a full stripe write affinity value, and destaging a full stripe if the full stripe write percentage is greater than the full stripe write affinity value. The full stripe write percentage includes a full stripe count divided by the sum of the full stripe count and a partial stripe count. The full stripe count is the number of stripes in the write cache where all chunks of a stripe are dirty. The partial stripe count is the number of stripes where at least one chunk but less than all chunks of the stripe are dirty.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: November 11, 2014
    Assignee: Dot Hill Systems Corporation
    Inventors: Michael David Barrell, Zachary David Traut
  • Publication number: 20140258612
    Abstract: A plurality of arrays of storage devices, each providing dual storage device redundancy, is provided. The plurality of arrays of storage devices includes a plurality of mirrored sets of primary storage devices, each including an even number of at least two or more primary storage devices. Each of the mirrored sets of primary storage devices stores a first and a second copy of data. The plurality of arrays of storage devices also includes a secondary storage device, which is a single physical storage device that stores a third copy of the data stored on each of the plurality of mirrored sets of primary storage devices. The secondary storage device has at least the capacity to store the data stored on the plurality of mirrored sets of primary storage devices. Dual storage device redundancy preserves data if data cannot be read from one or two physical storage devices in any array.
    Type: Application
    Filed: July 29, 2013
    Publication date: September 11, 2014
    Applicant: Dot Hill Systems Corporation
    Inventors: George Alexander Kalwitz, Michael David Barrell, Zachary David Traut, Thomas George Wicklund
  • Publication number: 20140258638
    Abstract: A method for providing efficient use of a read cache by a storage controller is provided. The method includes the storage controller receiving a read request from a host computer and determining if a host stream size is larger than a read cache size. The host stream size is a current cumulative size of all read requests in the host stream. If the host stream size is larger than the read cache size then migrating data to a first area of the read cache containing data that has been in the read cache for the longest time. If the host stream size is not larger than the read cache size then migrating data to a second area of the read cache containing data that has been in the read cache for the shortest time. The host stream is a consecutive group of sequential read requests from the host computer.
    Type: Application
    Filed: July 29, 2013
    Publication date: September 11, 2014
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Zachary David Traut, Michael David Barrell
  • Publication number: 20140250268
    Abstract: A method for providing improved sequential read performance in a storage controller is provided. In response to the storage controller receiving a host read request from a host computer, the method includes identifying, by the storage controller, a largest burst length of a plurality of burst lengths in a memory of the storage controller, and determining a maximum number of consecutive times between bursts having a value less than a predetermined value. A burst includes a consecutive group of sequential host read requests from the same host computer. The method also includes multiplying the largest burst length of the plurality of burst lengths by the maximum number of consecutive times between bursts having a value less than the predetermined value to obtain an effective burst length and reading into a storage controller cache memory at least the effective burst length of data from storage devices coupled to the storage controller.
    Type: Application
    Filed: July 29, 2013
    Publication date: September 4, 2014
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Zachary David Traut, Michael David Barrell
  • Publication number: 20130326149
    Abstract: A method for destaging data from a memory of a storage controller to a striped volume is provided. The method includes determining if a stripe should be destaged from a write cache of the storage controller to the striped volume, destaging a partial stripe if a full stripe write percentage is less than a full stripe write affinity value, and destaging a full stripe if the full stripe write percentage is greater than the full stripe write affinity value. The full stripe write percentage includes a full stripe count divided by the sum of the full stripe count and a partial stripe count. The full stripe count is the number of stripes in the write cache where all chunks of a stripe are dirty. The partial stripe count is the number of stripes where at least one chunk but less than all chunks of the stripe are dirty.
    Type: Application
    Filed: May 29, 2012
    Publication date: December 5, 2013
    Applicant: DOT HILL SYSTEMS CORPORATION
    Inventors: Michael David Barrell, Zachary David Traut