Patents by Inventor Scott Terrill

Scott Terrill 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: 10826848
    Abstract: A system for dynamically configuring and scheduling input/output (I/O) workloads among processing cores is disclosed. Resources for an application that are related to each other and/or not multicore safe are grouped together into work nodes. When these need to be executed, the work nodes are added to a global queue that is accessible by all of the processing cores. Any processing core that becomes available can pull and process the next available work node through to completion, so that the work associated with that work node software object is all completed by the same core, without requiring additional protections for resources that are not multicore safe. Indexes track the location of both the next work node in the global queue for processing and the next location in the global queue for new work nodes to be added for subsequent processing.
    Type: Grant
    Filed: April 26, 2017
    Date of Patent: November 3, 2020
    Assignee: NETAPP, INC.
    Inventors: Charles E. Nichols, Scott Terrill, Don Humlicek, Arindam Banerjee, Yulu Diao, Anthony D. Gitchell
  • Patent number: 10664412
    Abstract: Systems and methods that select a cache flushing algorithm are provided. A stripe that spans multiple storage devices and includes a plurality of segments is provided. The stripe also includes dirty data stored in a picket-fence pattern in at least a subset of segments in the plurality of segments. A memory cache that stores data separately from the plurality of storage devices and a metadata cache that stores metadata associated with the dirty data are also provided. A cache flushing algorithm is selected using the metadata. The selected cache flushing algorithm flushes data from the memory cache to the stripe.
    Type: Grant
    Filed: October 27, 2017
    Date of Patent: May 26, 2020
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Dean Lang, Scott Terrill, Matthew Buller, Jeffery Fowler
  • Patent number: 10521345
    Abstract: A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.
    Type: Grant
    Filed: August 27, 2018
    Date of Patent: December 31, 2019
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K Jibbe, Keith Holt, Scott Terrill
  • Publication number: 20190129863
    Abstract: Systems and methods that select a cache flushing algorithm are provided. A stripe that spans multiple storage devices and includes a plurality of segments is provided. The stripe also includes dirty data stored in a picket-fence pattern in at least a subset of segments in the plurality of segments. A memory cache that stores data separately from the plurality of storage devices and a metadata cache that stores metadata associated with the dirty data are also provided. A cache flushing algorithm is selected using the metadata. The selected cache flushing algorithm flushes data from the memory cache to the stripe.
    Type: Application
    Filed: October 27, 2017
    Publication date: May 2, 2019
    Inventors: Mahmoud K. Jibbe, Dean Lang, Scott Terrill, Matthew Buller, Jeffery Fowler
  • Patent number: 10235288
    Abstract: Systems and techniques for cache management are disclosed that provide improved cache performance by prioritizing particular storage stripes for cache flush operations. The systems and techniques may also leverage features of the storage devices to provide atomicity without the overhead of inter-controller mirroring. In some embodiments, the systems and techniques include a storage controller that stores data in a cache. The data is associated with one or more sectors of a storage stripe that is defined over plurality of storage devices. The storage controller identifies a locality of dirty sectors of the one or more sectors, classifies the storage stripe into a category based on the locality, provides a category ordering of the category relative to at least one other category, and flushes the storage stripe from the cache to the plurality of storage devices according to the category ordering.
    Type: Grant
    Filed: October 2, 2015
    Date of Patent: March 19, 2019
    Assignee: NETAPP, INC.
    Inventors: Arindam Banerjee, Donald R Humlicek, Scott Terrill
  • Publication number: 20180365145
    Abstract: A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.
    Type: Application
    Filed: August 27, 2018
    Publication date: December 20, 2018
    Inventors: Mahmoud K. Jibbe, Keith Holt, Scott Terrill
  • Patent number: 10073774
    Abstract: A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.
    Type: Grant
    Filed: March 15, 2017
    Date of Patent: September 11, 2018
    Assignee: NETAPP, INC.
    Inventors: Mahmoud K. Jibbe, Keith Holt, Scott Terrill
  • Publication number: 20180113738
    Abstract: A system for dynamically configuring and scheduling input/output (I/O) workloads among processing cores is disclosed. Resources for an application that are related to each other and/or not multicore safe are grouped together into work nodes. When these need to be executed, the work nodes are added to a global queue that is accessible by all of the processing cores. Any processing core that becomes available can pull and process the next available work node through to completion, so that the work associated with that work node software object is all completed by the same core, without requiring additional protections for resources that are not multicore safe. Indexes track the location of both the next work node in the global queue for processing and the next location in the global queue for new work nodes to be added for subsequent processing.
    Type: Application
    Filed: April 26, 2017
    Publication date: April 26, 2018
    Inventors: Charles E. Nichols, Scott Terrill, Don Humlicek, Arindam Banerjee, Yulu Diao, Anthony D. Gitchell
  • Publication number: 20170315913
    Abstract: A system and method for improving the management of data input and output (I/O) operations for Shingled Magnetic Recording (SMR) devices in a network storage system is disclosed. The storage system includes a storage controller that receives a series of write requests for data blocks to be written to non-sequential addresses within a pool of SMR devices. The storage controller writes the data blocks from the series of write requests to a corresponding sequence of data clusters allocated within a first data cache of the storage controller for a thinly provisioned volume of the pool of SMR devices. Upon determining that a current utilization of the first data cache's data storage capacity exceeds a threshold, the sequence of data clusters including the data blocks from the first data cache are transferred to sequential physical addresses within the SMR devices.
    Type: Application
    Filed: March 15, 2017
    Publication date: November 2, 2017
    Inventors: Mahmoud K. Jibbe, Keith Holt, Scott Terrill
  • Publication number: 20170097886
    Abstract: Systems and techniques for cache management are disclosed that provide improved cache performance by prioritizing particular storage stripes for cache flush operations. The systems and techniques may also leverage features of the storage devices to provide atomicity without the overhead of inter-controller mirroring. In some embodiments, the systems and techniques include a storage controller that stores data in a cache. The data is associated with one or more sectors of a storage stripe that is defined over plurality of storage devices. The storage controller identifies a locality of dirty sectors of the one or more sectors, classifies the storage stripe into a category based on the locality, provides a category ordering of the category relative to at least one other category, and flushes the storage stripe from the cache to the plurality of storage devices according to the category ordering.
    Type: Application
    Filed: October 2, 2015
    Publication date: April 6, 2017
    Inventors: Arindam Banerjee, Don Humlicek, Scott Terrill