Patents by Inventor Lee J. Sanders

Lee J. Sanders 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: 10210063
    Abstract: 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: Grant
    Filed: February 5, 2017
    Date of Patent: February 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Patent number: 10210062
    Abstract: 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: Grant
    Filed: June 8, 2017
    Date of Patent: February 19, 2019
    Assignee: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20190042442
    Abstract: A data storage system comprises physical storage, cache memory and a processor connected to the physical storage and the cache memory. The processor is arranged to maintain a set of active regions in the cache memory, each active region having a size equal to an integer multiple of an update size of a flash chip within the physical storage, where the integer could be 1. The processor receives requests for one or more blocks of the cache memory from components within the storage system and allocates one or more blocks from an active region in response to a received request. If the processor determines that all blocks in an active region have been allocated and that all allocated blocks within this region have been written to, then the processor destages the content of this region to the physical storage.
    Type: Application
    Filed: August 7, 2017
    Publication date: February 7, 2019
    Applicant: International Business Machines Corporation
    Inventors: Gordon D. Hutchison, Miles Mulholland, Lee J. Sanders, Ben Sasson, William J. Scales
  • Publication number: 20190018593
    Abstract: A method for replicating data from a primary site to a secondary site is disclosed. In one embodiment, such a method includes tracking, at a primary site, updates to storage elements of a primary volume over a specified period of time. The method further calculates a size associated with the updates and communicates the size from the primary site to a secondary site. At the secondary site, using the size received from the primary site, the method determines an amount of storage space required to accommodate the updates in a secondary volume. In certain embodiments, this may include taking into account compression or deduplication algorithms at the secondary site. The method allocates the storage space to the secondary volume and replicates, from the primary site to the secondary site, the updates to the secondary volume. A corresponding system and computer program product are also disclosed.
    Type: Application
    Filed: July 12, 2017
    Publication date: January 17, 2019
    Applicant: International Business Machines Corporation
    Inventors: Gordon D. Hutchison, Miles Mulholland, Lee J. Sanders, Ben Sasson
  • Publication number: 20180373446
    Abstract: Prioritizing virtual volumes to take offline in a thin provisioning system with garbage collection. The method categorizes virtual volumes based on garbage collection properties of their write behavior and adds metadata indicating a category of a virtual volume. The method schedules virtual volumes to be taken offline by predicting virtual volume space utilization of active virtual volumes for a defined time period in combination with estimated garbage collection in that period to determine a need to take virtual volumes offline. The method selects virtual volumes to take offline by their category to ensure that the virtual volumes producing the most garbage collection unfriendly workloads are taken offline first.
    Type: Application
    Filed: February 13, 2018
    Publication date: December 27, 2018
    Inventors: Miles Mulholland, Ben Sasson, Gordon Hutchison, Lee J. Sanders
  • Publication number: 20180373444
    Abstract: Prioritizing virtual volumes to take offline in a thin provisioning system with garbage collection. The method categorizes virtual volumes based on garbage collection properties of their write behavior and adds metadata indicating a category of a virtual volume. The method schedules virtual volumes to be taken offline by predicting virtual volume space utilization of active virtual volumes for a defined time period in combination with estimated garbage collection in that period to determine a need to take virtual volumes offline. The method selects virtual volumes to take offline by their category to ensure that the virtual volumes producing the most garbage collection unfriendly workloads are taken offline first.
    Type: Application
    Filed: June 27, 2017
    Publication date: December 27, 2018
    Inventors: Miles Mulholland, Ben Sasson, Gordon Hutchison, Lee J. Sanders
  • Publication number: 20180357141
    Abstract: 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: Application
    Filed: June 8, 2017
    Publication date: December 13, 2018
    Applicant: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20180341561
    Abstract: A computer-implemented method of determining modified portions of a RAID storage array for use in resynchronizing said RAID storage array after a failure, the computer-implemented method comprising: resolving areas in the RAID storage array that represent space allocated to volumes; resolving which of said allocated volumes comprise gathered writes; and for said allocated volumes that comprise gathered writes, resolving a set of writes that potentially have incomplete parity updates at the time of the failure.
    Type: Application
    Filed: May 23, 2017
    Publication date: November 29, 2018
    Applicant: International Business Machines Corporation
    Inventors: Gordon D. Hutchison, Miles Mulholland, Lee J. Sanders, Ben Sasson
  • Publication number: 20180329825
    Abstract: 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: Application
    Filed: July 24, 2018
    Publication date: November 15, 2018
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20180321858
    Abstract: A method for maintaining I/O statistics in a tiered storage environment is disclosed. In one embodiment, such a method includes maintaining, by a tiered storage layer, I/O statistics for data storage elements within a storage system. The tiered storage layer migrates data between storage tiers in accordance with the I/O statistics. A data services layer, separate from the tiered storage layer, alters selected data within the storage system and generates a message to the tiered storage layer describing the alteration. The tiered storage layer receives this message and modifies its internal I/O statistics in accordance with the alteration described in the message. A corresponding system and computer program product are also disclosed.
    Type: Application
    Filed: May 3, 2017
    Publication date: November 8, 2018
    Applicant: International Business Machines Corporation
    Inventors: Gordon D. Hutchison, Miles Mulholland, Lee J. Sanders, Ben Sasson
  • Patent number: 10114568
    Abstract: 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: Grant
    Filed: October 3, 2016
    Date of Patent: October 30, 2018
    Assignee: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Patent number: 10078591
    Abstract: 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: Grant
    Filed: September 27, 2016
    Date of Patent: September 18, 2018
    Assignee: International Business Machines Corporation
    Inventors: Ian Boden, Nicolas M. Clayton, Lee J. Sanders, William J. Scales, Barry D. Whyte
  • Patent number: 10067874
    Abstract: 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: Grant
    Filed: June 7, 2016
    Date of Patent: September 4, 2018
    Assignee: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20180239674
    Abstract: A mechanism is provided for backing up metadata in a data storage system. Given metadata stored on the data storage system is implemented by way of a tree structure operable by fixed mapping. A stream of snapshots is taken of leaves in the metadata tree structure of given metadata stored on persistent data storage. The metadata tree structure of the given metadata stored on the persistent data storage is reconstructed on a basis of the stream of snapshots taken for backing up the given metadata stored on the persistent data storage. A journal over the reconstructed metadata tree structure is then replayed. In response to a given status discrepancy being flagged in respect of any given metadata, the status of a given leaf corresponding thereto in the reconstructed data tree structure is modified for consistency with the corresponding journal entry in the journal for that given metadata.
    Type: Application
    Filed: February 17, 2017
    Publication date: August 23, 2018
    Inventors: Gordon D. Hutchison, Miles Mulholland, Lee J. Sanders, Ben Sasson
  • Patent number: 10055292
    Abstract: 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: Grant
    Filed: October 3, 2016
    Date of Patent: August 21, 2018
    Assignee: International Buisness Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20180225184
    Abstract: 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: Application
    Filed: February 5, 2017
    Publication date: August 9, 2018
    Applicant: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Patent number: 9952929
    Abstract: 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: Grant
    Filed: April 21, 2016
    Date of Patent: April 24, 2018
    Assignee: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20180095682
    Abstract: 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: Application
    Filed: October 3, 2016
    Publication date: April 5, 2018
    Applicant: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20180095824
    Abstract: 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: Application
    Filed: October 3, 2016
    Publication date: April 5, 2018
    Applicant: International Business Machines Corporation
    Inventors: John P. Agombar, Ian Boden, Gordon D. Hutchison, Lee J. Sanders
  • Publication number: 20180089080
    Abstract: 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: Application
    Filed: September 27, 2016
    Publication date: March 29, 2018
    Applicant: International Business Machines Corporation
    Inventors: Ian Boden, Nicolas M. Clayton, Lee J. Sanders, William J. Scales, Barry D. Whyte