Patents by Inventor Ian Boden
Ian Boden 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).
-
Publication number: 20180357141Abstract: A data storage system comprises a primary storage system comprising an array of drives and a storage controller comprising a stack of storage components. A storage component of the stack operates a data redundancy scheme for the primary storage system. The storage controller stores a set of data on the primary storage system, detects a failure on one or more drives and determines a set of addresses defining data that cannot be completely repaired. Starting with the storage component operating the data redundancy scheme, each storage component queries the storage component directly above with the set of addresses for the data that cannot be completely repaired, obtaining, from one or more storage components, the data that cannot be completely repaired. This obtained data is used to repair the data on the primary storage system with the data from the one or more storage components.Type: ApplicationFiled: June 8, 2017Publication date: December 13, 2018Applicant: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Patent number: 10133630Abstract: A method for recovering a failed storage drive in a redundant array of independent disks (RAID) includes storing, on a first distributed spare of the RAID, a first parity subset for a first set of drives in the RAID. The method further stores, on a second distributed spare of the RAID, a second parity subset for a second set of drives in the RAID. In the event a storage drive in the RAID fails, the method determines whether the storage drive belongs to the first set or second set. In the event the failed storage drive belongs to the first set, the method uses the first parity subset on the first set of drives in the RAID to recover the failed storage drive. In the event the failed storage drive belongs to the second set, the method uses the second parity subset on the second set of drives in the RAID to recover the failed storage drive. A corresponding system and computer program product are also disclosed.Type: GrantFiled: September 6, 2016Date of Patent: November 20, 2018Assignee: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Alastair Cooper, Gordon D. Hutchison
-
Publication number: 20180329825Abstract: Cache management. It is determined that a cache operation relating to the transfer of data between a cache memory and a data storage system is required. A state of a utilization model is received, the utilization model including requirements for utilization of resources of the data storage system over a time period, and the state indicating a cost of resource utilization associated with cache operations in the current time period. It is determined whether to perform the cache operation, based on the utilization requirements and the state of a utilization model. If the cache operation is not to be performed, and if the cache operation is a write operation, it is determined whether the cache memory is full. If so, the cache operation is managed according to an emergency cache management process; if not, the data associated with the cache operation is maintained in the cache memory.Type: ApplicationFiled: July 24, 2018Publication date: November 15, 2018Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Patent number: 10114568Abstract: A method for regulating a flow of data to backend storage devices includes generating, at a host system, writes intended for a backend storage volume. The method receives the writes into a first level cache of a storage virtualization appliance. The method further determines whether destaging the writes directly from the first level cache to the backend storage volume would cause a limit associated with the backend storage volume to be exceeded. If destaging the writes directly from the first level cache to the backend storage volume would cause the limit to be exceeded, the method destages the writes from the first level cache to a second level cache of the storage virtualization appliance. Otherwise, the method destages the writes directly from the first level cache to the backend storage volume. A corresponding system and computer program product are also disclosed.Type: GrantFiled: October 3, 2016Date of Patent: October 30, 2018Assignee: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Patent number: 10078591Abstract: A method of managing a data storage cache, comprising: providing a redundant cache comprising first and second caches associated with first and second storage volumes. One of the first and second storage volumes is an active, and one is a passive volume. A write request is received at one of the volumes. If the write request is received at the passive volume, it is forwarded to the active volume. It is determined whether the active volume is a low latency volume. If it is a low latency volume, it is determined whether data exists in the cache associated with the active volume which overlaps with data contained in the write request. If no data exists in that cache which overlaps with data contained in the write request, the write request is processed straight down to said active volume.Type: GrantFiled: September 27, 2016Date of Patent: September 18, 2018Assignee: International Business Machines CorporationInventors: Ian Boden, Nicolas M. Clayton, Lee J. Sanders, William J. Scales, Barry D. Whyte
-
Patent number: 10067874Abstract: It is determined that a cache operation relating to the transfer of data between a cache memory and a data storage system is required. A state of a utilization model is received, the utilization model including requirements for utilization of resources of the data storage system over a time period, and the state indicating a cost of resource utilization associated with cache operations in the current time period. It is determined whether to perform the cache operation, based on the utilization requirements and the state of a utilization model. If the cache operation is not to be performed, and if the cache operation is a write operation, it is determined whether the cache memory is full. If so, the cache operation is managed according to an emergency cache management process; if not, the data associated with the cache operation is maintained in the cache memory.Type: GrantFiled: June 7, 2016Date of Patent: September 4, 2018Assignee: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Patent number: 10055292Abstract: A method for reducing I/Os to a redundant array of independent disks (RAID) is disclosed. In one embodiment, such a method includes receiving a write request comprising new data for overwriting corresponding old data in cache. The method performs an XOR (exclusive OR) operation on the new data and the old data to yield a parity delta and overwrites, in the cache, the old data with the new data. In certain embodiments, the XOR operation is performed prior to overwriting the old data with the new data. The method further stores the parity delta in the cache and links the parity delta to the new data. Upon destaging the new data from the cache, the method provides the parity delta with the new data so that the parity delta may be applied to an existing parity value in the RAID. A corresponding system and computer program product are also disclosed.Type: GrantFiled: October 3, 2016Date of Patent: August 21, 2018Assignee: International Buisness Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Publication number: 20180225184Abstract: This invention relates to a system, method and computer program product for a drive array controller (for example a RAID6 controller) comprising: a failed strip identifier for identifying a failed strip in a critical stride strip in drive array when the drive array has two or more failed drives, a critical stride is a stride with two (for example) failed strips, a failed strip is a strip in a failed drive, a failed drive is a drive that can no longer be reliably used; a safe strip identifier for identifying a safe strip in a safe stride, a safe stride is a stride with no failed strips (or at least two less than a critical stride), a safe strip is a strip in a safe stride; a drive array writer for writing a recalculated failed strip to the drive array location for the safe strip; and a lending table writer for writing the failed strip location and associated safe strip location to a lending table.Type: ApplicationFiled: February 5, 2017Publication date: August 9, 2018Applicant: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Publication number: 20180210663Abstract: This invention relates to a storage system, storage system method and computer program product comprising: providing a distributed collection of drives, each drive having logical blocks, each logical block being assignable to a segment with an associated volume and being configurable to RAID characteristics associated with that volume; assigning a first group of logical blocks to a segment with an associated volume and configuring the first group of logical blocks to RAID characteristics associated with that volume; and wherein a further group of logical blocks is ready to be assigned to any segment but is not yet assigned.Type: ApplicationFiled: January 23, 2017Publication date: July 26, 2018Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison
-
Patent number: 9952929Abstract: A method and system are provided for spare capacity usage for critical redundancy in storage arrays. The method may include monitoring a Redundant Array of Independent Disks (RAID) array to determine whether one or more redundancy units are at a critical level. A redundancy unit may be in a critical level when an additional drive failure will result in loss of data from the redundancy unit. The method may further include identifying available regions in the RAID array which are not allocated to user data in response to determining that a particular redundancy unit is critical. The method may further include determining an available region for the particular redundancy unit, where the available region is in a drive of the RAID array that does not contain data of the particular redundancy unit. The method may further include storing a critical stripe in the available region.Type: GrantFiled: April 21, 2016Date of Patent: April 24, 2018Assignee: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Publication number: 20180101301Abstract: A method for balancing performance in a redundant array of independent disks (RAID) made up of heterogeneous storage drives is disclosed. In one embodiment, such a method includes implementing a RAID on a set of storage drives. The set of storage drives includes a lower-performing storage drive that underperforms other storage drives in the set. In order to balance performance in the RAID, the method stripes data across the set of storage drives such that the lower-performing storage drive participates in only a selected percentage of strides. In certain embodiments, this percentage is selected based on an amount the lower-performing storage drive underperforms other storage drives in the set. A corresponding system and computer program product are also disclosed.Type: ApplicationFiled: October 12, 2016Publication date: April 12, 2018Applicant: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Alastair Cooper, Gordon D. Hutchison
-
Publication number: 20180095824Abstract: A method for reducing I/Os to a redundant array of independent disks (RAID) is disclosed. In one embodiment, such a method includes receiving a write request comprising new data for overwriting corresponding old data in cache. The method performs an XOR (exclusive OR) operation on the new data and the old data to yield a parity delta and overwrites, in the cache, the old data with the new data. In certain embodiments, the XOR operation is performed prior to overwriting the old data with the new data. The method further stores the parity delta in the cache and links the parity delta to the new data. Upon destaging the new data from the cache, the method provides the parity delta with the new data so that the parity delta may be applied to an existing parity value in the RAID. A corresponding system and computer program product are also disclosed.Type: ApplicationFiled: October 3, 2016Publication date: April 5, 2018Applicant: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Publication number: 20180095682Abstract: A method for regulating a flow of data to backend storage devices includes generating, at a host system, writes intended for a backend storage volume. The method receives the writes into a first level cache of a storage virtualization appliance. The method further determines whether destaging the writes directly from the first level cache to the backend storage volume would cause a limit associated with the backend storage volume to be exceeded. If destaging the writes directly from the first level cache to the backend storage volume would cause the limit to be exceeded, the method destages the writes from the first level cache to a second level cache of the storage virtualization appliance. Otherwise, the method destages the writes directly from the first level cache to the backend storage volume. A corresponding system and computer program product are also disclosed.Type: ApplicationFiled: October 3, 2016Publication date: April 5, 2018Applicant: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Publication number: 20180095695Abstract: A method for minimizing head seek movement and improving I/O performance of a hard disk drive is disclosed. In one embodiment, such a method includes logically dividing storage space of a hard disk drive into storage areas of substantially equal size. The method monitors a temperature of each of the storage areas. The temperature indicates how frequently data in a corresponding storage area is accessed. The method swaps data in storage areas of the hard disk drive based on temperature. These swaps involve moving hotter data toward outer tracks of the disk drive and colder data toward inner tracks of the disk drive. A corresponding system and computer program product are also disclosed.Type: ApplicationFiled: October 3, 2016Publication date: April 5, 2018Applicant: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Alastair Cooper, Gordon D. Hutchison
-
Publication number: 20180089080Abstract: A method of managing a data storage cache, comprising: providing a redundant cache comprising first and second caches associated with first and second storage volumes. One of the first and second storage volumes is an active, and one is a passive volume. A write request is received at one of the volumes. If the write request is received at the passive volume, it is forwarded to the active volume. It is determined whether the active volume is a low latency volume. If it is a low latency volume, it is determined whether data exists in the cache associated with the active volume which overlaps with data contained in the write request. If no data exists in that cache which overlaps with data contained in the write request, the write request is processed straight down to said active volume.Type: ApplicationFiled: September 27, 2016Publication date: March 29, 2018Applicant: International Business Machines CorporationInventors: Ian Boden, Nicolas M. Clayton, Lee J. Sanders, William J. Scales, Barry D. Whyte
-
Publication number: 20180067828Abstract: A method for recovering a failed storage drive in a redundant array of independent disks (RAID) includes storing, on a first distributed spare of the RAID, a first parity subset for a first set of drives in the RAID. The method further stores, on a second distributed spare of the RAID, a second parity subset for a second set of drives in the RAID. In the event a storage drive in the RAID fails, the method determines whether the storage drive belongs to the first set or second set. In the event the failed storage drive belongs to the first set, the method uses the first parity subset on the first set of drives in the RAID to recover the failed storage drive. In the event the failed storage drive belongs to the second set, the method uses the second parity subset on the second set of drives in the RAID to recover the failed storage drive. A corresponding system and computer program product are also disclosed.Type: ApplicationFiled: September 6, 2016Publication date: March 8, 2018Applicant: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Alastair Cooper, Gordon D. Hutchison
-
Publication number: 20180067673Abstract: Method and system are provided for storage capacity allocation. The method includes: providing a storage pool having multiple storage drive arrays; designating an initial available storage capacity in the storage pool; and allocating the remaining storage capacity in the storage pool to distributed spare space, wherein distributed spare space spreads portions of a spare drive across multiple storage drives in an array. The method also includes: monitoring an amount of available storage capacity as data is stored to the storage pool and determining when a threshold of a minimum available storage capacity is reached; and re-allocating one or more distributed spare drives from an array to available storage capacity when the threshold of the minimum available storage capacity is reached.Type: ApplicationFiled: November 9, 2017Publication date: March 8, 2018Inventors: John P. Agombar, Ian Boden, GORDON D. HUTCHISON, Lee J. Sanders
-
Patent number: 9875052Abstract: Method and system are provided for storage capacity allocation. The method includes: providing a storage pool having multiple storage drive arrays; designating an initial available storage capacity in the storage pool; and allocating the remaining storage capacity in the storage pool to distributed spare space, wherein distributed spare space spreads portions of a spare drive across multiple storage drives in an array. The method also includes: monitoring an amount of available storage capacity as data is stored to the storage pool and determining when a threshold of a minimum available storage capacity is reached; and re-allocating one or more distributed spare drives from an array to available storage capacity when the threshold of the minimum available storage capacity is reached.Type: GrantFiled: March 15, 2016Date of Patent: January 23, 2018Assignee: International Business Machines CorporationInventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Publication number: 20170351615Abstract: It is determined that a cache operation relating to the transfer of data between a cache memory and a data storage system is required. A state of a utilization model is received, the utilization model including requirements for utilization of resources of the data storage system over a time period, and the state indicating a cost of resource utilization associated with cache operations in the current time period. It is determined whether to perform the cache operation, based on the utilization requirements and the state of a utilization model. If the cache operation is not to be performed, and if the cache operation is a write operation, it is determined whether the cache memory is full. If so, the cache operation is managed according to an emergency cache management process; if not, the data associated with the cache operation is maintained in the cache memory.Type: ApplicationFiled: June 7, 2016Publication date: December 7, 2017Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
-
Publication number: 20170329533Abstract: Operating a data storage system comprising a plurality of disk drives and a storage controller connected to the disk drives. A first subset and a second subset of the plurality of disk drives are operated as short stroked disk drives and non-short stroked disk drives, respectively. Priority storage spaces are defined including a high priority storage space, a moderate priority storage space, and a low priority storage space. Data is received including associated access rates for each portion of the data. One of the priority storage spaces is identified to store a portion of the data, based on the access rates for each portion of the data. Data accessed most frequently is stored in the high priority storage space, data accessed least frequently is stored in the low priority storage space, and the remaining data is stored in the moderate priority storage space.Type: ApplicationFiled: May 16, 2016Publication date: November 16, 2017Inventors: John P. Agombar, Ian Boden, Alastair Cooper, Gordon D. Hutchison