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: 11055001Abstract: 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: GrantFiled: May 30, 2018Date of Patent: July 6, 2021Assignee: Seagate Technology LLCInventors: Michael David Barrell, Zachary David Traut
-
Publication number: 20190369874Abstract: 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: ApplicationFiled: May 30, 2018Publication date: December 5, 2019Inventors: Michael David Barrell, Zachary David Traut
-
Patent number: 9760293Abstract: 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: GrantFiled: July 29, 2013Date of Patent: September 12, 2017Assignee: Seagate Technology LLCInventors: George Alexander Kalwitz, Michael David Barrell, Zachary David Traut, Thomas George Wicklund
-
Patent number: 9684455Abstract: 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: GrantFiled: August 11, 2014Date of Patent: June 20, 2017Assignee: Seagate Technology LLCInventors: Zachary David Traut, Michael David Barrell
-
Patent number: 9552297Abstract: 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: GrantFiled: July 29, 2013Date of Patent: January 24, 2017Assignee: Dot Hill Systems CorporationInventors: Zachary David Traut, Michael David Barrell
-
Patent number: 9465555Abstract: 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: GrantFiled: August 12, 2013Date of Patent: October 11, 2016Assignee: Seagate Technology LLCInventors: Michael David Barrell, Zachary David Traut
-
Patent number: 9158687Abstract: 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: GrantFiled: February 23, 2015Date of Patent: October 13, 2015Assignee: DOT HILL SYSTEMS CORPORATIONInventors: Michael David Barrell, Zachary David Traut
-
Patent number: 9152563Abstract: 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: GrantFiled: February 23, 2015Date of Patent: October 6, 2015Assignee: DOT HILL SYSTEMS CORPORATIONInventors: Zachary David Traut, Michael David Barrell
-
Publication number: 20150169450Abstract: 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: ApplicationFiled: February 23, 2015Publication date: June 18, 2015Applicant: DOT HILL SYSTEMS CORPORATIONInventors: Zachary David Traut, Michael David Barrell
-
Publication number: 20150169449Abstract: 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: ApplicationFiled: February 23, 2015Publication date: June 18, 2015Applicant: Dot Hill Systems CorporationInventors: Michael David Barrell, Zachary David Traut
-
Patent number: 9053038Abstract: 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: GrantFiled: July 29, 2013Date of Patent: June 9, 2015Assignee: Dot Hill Systems CorporationInventors: Zachary David Traut, Michael David Barrell
-
Publication number: 20150046605Abstract: 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: ApplicationFiled: August 12, 2013Publication date: February 12, 2015Applicant: DOT HILL SYSTEMS CORPORATIONInventors: Michael David Barrell, Zachary David Traut
-
Patent number: 8930619Abstract: 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: GrantFiled: August 21, 2014Date of Patent: January 6, 2015Assignee: Dot Hill Systems CorporationInventors: Michael David Barrell, Zachary David Traut
-
Publication number: 20140365725Abstract: 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: ApplicationFiled: August 21, 2014Publication date: December 11, 2014Applicant: DOT HILL SYSTEMS CORPORATIONInventors: Michael David Barrell, Zachary David Traut
-
Publication number: 20140351527Abstract: 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: ApplicationFiled: August 11, 2014Publication date: November 27, 2014Applicant: DOT HILL SYSTEMS CORPORATIONInventors: Zachary David Traut, Michael David Barrell
-
Patent number: 8886880Abstract: 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: GrantFiled: May 29, 2012Date of Patent: November 11, 2014Assignee: Dot Hill Systems CorporationInventors: Michael David Barrell, Zachary David Traut
-
Publication number: 20140258612Abstract: 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: ApplicationFiled: July 29, 2013Publication date: September 11, 2014Applicant: Dot Hill Systems CorporationInventors: George Alexander Kalwitz, Michael David Barrell, Zachary David Traut, Thomas George Wicklund
-
Publication number: 20140258638Abstract: 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: ApplicationFiled: July 29, 2013Publication date: September 11, 2014Applicant: DOT HILL SYSTEMS CORPORATIONInventors: Zachary David Traut, Michael David Barrell
-
Publication number: 20140250268Abstract: 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: ApplicationFiled: July 29, 2013Publication date: September 4, 2014Applicant: DOT HILL SYSTEMS CORPORATIONInventors: Zachary David Traut, Michael David Barrell
-
Publication number: 20130326149Abstract: 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: ApplicationFiled: May 29, 2012Publication date: December 5, 2013Applicant: DOT HILL SYSTEMS CORPORATIONInventors: Michael David Barrell, Zachary David Traut