Patents by Inventor Brian D. McKean

Brian D. McKean 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: 10579540
    Abstract: A system and method for improving storage system operation is disclosed. A storage system includes a first tier with high-performance redundancy and a second tier with capacity efficient redundancy. The first tier and the second tier are built from the same storage devices in a storage pool so each storage device includes both the first and second tiers. The storage system stores write data initially to the first tier. When demand for the data falls below a threshold, the storage system migrates the write data to the second tier. This is done by changing the mapping of underlying physical locations on the storage devices where the write data is stored so that the underlying physical locations are logically associated with the second tier instead of the first tier. After remapping, the storage system also computes parity information for the migrated write data and stores it in the second tier.
    Type: Grant
    Filed: January 29, 2016
    Date of Patent: March 3, 2020
    Assignee: NETAPP, INC.
    Inventors: Brian D. McKean, Arindam Banerjee, Kevin Kidney
  • Patent number: 9836223
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for changing ownership of a storage volume from a first controller to a second controller without flushing data, is provided. In the system, the first controller is associated with a first DRAM cache comprising a primary partition that stores data associated with the first controller and a mirror partition that stores data associated with the second controller. The second controller in the system is associated with a second DRAM cache comprising a primary partition that stores data associated with the second controller and the mirror partition associated with the first controller. Further, the mirror partition in the second DRAM cache stores a copy of a data in the primary partition of the first DRAM cache and the mirror partition in the first DRAM cache stores a copy of a data in the primary partition of the second DRAM cache.
    Type: Grant
    Filed: April 29, 2016
    Date of Patent: December 5, 2017
    Assignee: NetApp, Inc.
    Inventors: Brian D. McKean, Donald R. Humlicek
  • Patent number: 9830092
    Abstract: A storage manager can reduce the overhead of parity based fault tolerance by leveraging the access performance of SSDs for the parities. Since reading a parity value can be considered a small read operation, the reading of parity from an SSD is an effectively “free” operation due to the substantially greater SSD read performance. With reading parity being an effectively free operation, placing parity on SSDs eliminates the parity read operations (in terms of time) from the parity based fault tolerance overhead. A storage manager can selectively place parity on SSDs from HDDs based on a criterion or criteria, which can relate to frequency of access to the data corresponding to the parity. The caching criterion can be defined to ensure the reduced overhead gained by reading parity values from a SSD outweighs any costs (e.g., SSD write endurance).
    Type: Grant
    Filed: February 20, 2015
    Date of Patent: November 28, 2017
    Assignee: NetApp, Inc.
    Inventors: Brian D. McKean, Sandeep Kumar R. Ummadi
  • Patent number: 9830269
    Abstract: Method and systems for a storage system are provided. Simulated cache blocks of a cache system are tracked using cache metadata while performing a workload having a plurality of storage operations. The cache metadata is segmented, each segment corresponding to a cache size. Predictive statistics are determined for each cache size using a corresponding segment of the cache metadata. The predictive statistics are used to determine an amount of data that is written for each cache size within certain duration. The process then determines if each cache size provides an endurance level after executing a certain number of write operations, where the endurance level indicates a desired life-cycle for each cache size.
    Type: Grant
    Filed: July 29, 2014
    Date of Patent: November 28, 2017
    Assignee: NetApp Inc.
    Inventors: Brian D. McKean, Donald R. Humlicek
  • Publication number: 20170315725
    Abstract: A method, a computing device, and a non-transitory machine-readable medium for changing ownership of a storage volume from a first controller to a second controller without flushing data, is provided. In the system, the first controller is associated with a first DRAM cache comprising a primary partition that stores data associated with the first controller and a mirror partition that stores data associated with the second controller. The second controller in the system is associated with a second DRAM cache comprising a primary partition that stores data associated with the second controller and the mirror partition associated with the first controller. Further, the mirror partition in the second DRAM cache stores a copy of a data in the primary partition of the first DRAM cache and the mirror partition in the first DRAM cache stores a copy of a data in the primary partition of the second DRAM cache.
    Type: Application
    Filed: April 29, 2016
    Publication date: November 2, 2017
    Inventors: Brian D. McKean, Donald R. Humlicek
  • Publication number: 20170220481
    Abstract: A system and method for improving storage system operation is disclosed. A storage system includes a first tier with high-performance redundancy and a second tier with capacity efficient redundancy. The first tier and the second tier are built from the same storage devices in a storage pool so each storage device includes both the first and second tiers. The storage system stores write data initially to the first tier. When demand for the data falls below a threshold, the storage system migrates the write data to the second tier. This is done by changing the mapping of underlying physical locations on the storage devices where the write data is stored so that the underlying physical locations are logically associated with the second tier instead of the first tier. After remapping, the storage system also computes parity information for the migrated write data and stores it in the second tier.
    Type: Application
    Filed: January 29, 2016
    Publication date: August 3, 2017
    Inventors: Brian D. McKean, Arindam Banerjee, Kevin Kidney
  • Publication number: 20160246519
    Abstract: A storage manager can reduce the overhead of parity based fault tolerance by leveraging the access performance of SSDs for the parities. Since reading a parity value can be considered a small read operation, the reading of parity from an SSD is an effectively “free” operation due to the substantially greater SSD read performance. With reading parity being an effectively free operation, placing parity on SSDs eliminates the parity read operations (in terms of time) from the parity based fault tolerance overhead. A storage manager can selectively place parity on SSDs from HDDs based on a criterion or criteria, which can relate to frequency of access to the data corresponding to the parity. The caching criterion can be defined to ensure the reduced overhead gained by reading parity values from a SSD outweighs any costs (e.g., SSD write endurance).
    Type: Application
    Filed: February 20, 2015
    Publication date: August 25, 2016
    Inventors: Brian D. McKean, Sandeep Kumar R. Ummadi
  • Patent number: 9348525
    Abstract: A system and method for performing protected-mode data transactions using an initiator cache is provided. In some embodiments, a protected-mode data transaction is received from an initiator. It is determined that the initiator includes an initiator cache having a cache entry associated with the data transaction. A storage controller of a storage system performs the data transaction in conjunction with a storage device such that the performing of the data transaction is initiated before any writing of the data transaction to a cache of any storage controller of the storage system other than the storage controller based on the determination that the initiator includes the cache entry. In some such embodiments, when it is determined the data transaction failed to complete, a request is provided to the initiator to recreate the transaction from the cache entry in the initiator cache.
    Type: Grant
    Filed: February 21, 2014
    Date of Patent: May 24, 2016
    Assignee: NETAPP, INC.
    Inventors: Brian D. McKean, Dennis Hahn
  • Publication number: 20160034394
    Abstract: Method and systems for a storage system are provided. Simulated cache blocks of a cache system are tracked using cache metadata while performing a workload having a plurality of storage operations. The cache metadata is segmented, each segment corresponding to a cache size. Predictive statistics are determined for each cache size using a corresponding segment of the cache metadata. The predictive statistics are used to determine an amount of data that is written for each cache size within certain duration. The process then determines if each cache size provides an endurance level after executing a certain number of write operations, where the endurance level indicates a desired life-cycle for each cache size.
    Type: Application
    Filed: July 29, 2014
    Publication date: February 4, 2016
    Inventors: Brian D. McKean, Donald R. Humlicek
  • Patent number: 9170756
    Abstract: System and method for dynamic storage tiering are disclosed. A storage hot-spot in a first storage pool is detected. A first point-in-time copy of a virtual volume including the storage hot-spot is created in a second storage pool according to the detecting. Write requests directed to the virtual volume are redirected to the second storage pool. When decreased I/O activity directed to the storage hot-spot in the second storage pool is detected, the point-in-time copy in the second storage pool is reintegrated into at least one of a second point-in-time copy or the virtual volume.
    Type: Grant
    Filed: March 31, 2009
    Date of Patent: October 27, 2015
    Assignee: LSI Corporation
    Inventors: Martin Jess, Rodney A. DeKoning, Brian D. McKean
  • Publication number: 20150242138
    Abstract: A system and method for performing protected-mode data transactions using an initiator cache is provided. In some embodiments, a protected-mode data transaction is received from an initiator. It is determined that the initiator includes an initiator cache having a cache entry associated with the data transaction. A storage controller of a storage system performs the data transaction in conjunction with a storage device such that the performing of the data transaction is initiated before any writing of the data transaction to a cache of any storage controller of the storage system other than the storage controller based on the determination that the initiator includes the cache entry. In some such embodiments, when it is determined the data transaction failed to complete, a request is provided to the initiator to recreate the transaction from the cache entry in the initiator cache.
    Type: Application
    Filed: February 21, 2014
    Publication date: August 27, 2015
    Applicant: NetApp, Inc.
    Inventors: Brian D. McKean, Dennis Hahn
  • Publication number: 20150081981
    Abstract: Technology is disclosed for generating predictive cache statistics for various cache sizes. In some embodiments, a storage controller includes a cache tracking mechanism for concurrently generating the predictive cache statistics for various cache sizes for a cache system. The cache tracking mechanism can track simulated cache blocks of a cache system using segmented cache metadata while performing an exemplary workload including various read and write requests (client-initiated I/O operations) received from client systems (or clients). The segmented cache metadata corresponds to one or more of the various cache sizes for the cache system.
    Type: Application
    Filed: September 19, 2013
    Publication date: March 19, 2015
    Applicant: NetApp, Inc.
    Inventors: Brian D. McKean, Donald R. Humlicek
  • Patent number: 8924646
    Abstract: A method for managing data movement in a multi-level cache system includes selecting at least one outgoing data block from a primary cache when an unallocated space of the primary cache has reached a minimum threshold, initiating a de-stage process for de-staging the outgoing data block, and terminating the de-stage process when the unallocated space has reached an upper threshold. The de-stage process includes storing the outgoing data block in a secondary cache when a cache hit has occurred before. The cache hit may be an actual cache hit or a “ghost” cache hit wherein only metadata is stored in the secondary cache. A method for de-staging an outgoing data block from a higher level cache which includes storing an outgoing data block in a lower level cache when a cache hit rate satisfies a predetermined condition and storing metadata in the lower level cache is also disclosed.
    Type: Grant
    Filed: October 7, 2010
    Date of Patent: December 30, 2014
    Assignee: LSI Corporation
    Inventors: Brian D. McKean, Donald R. Humlicek, Timothy R. Snider
  • Patent number: 8756369
    Abstract: A method, apparatus, and system of a priority command queues for low latency solid state drives are disclosed. In one embodiment, a system of a storage system includes a command sorter to determine a target storage device for at least one of a solid state drive (SSD) command and a hard disk drive (HDD) command and to place the command in a SSD ready queue if the SSD command is targeted to a SSD storage device of the storage system and to place the HDD command to a HDD ready queue if the HDD command is targeted to an HDD storage device of the storage system, a SSD ready queue to queue the SSD command targeted to the SSD storage device, and a HDD ready queue to queue the HDD command targeted to the HDD storage device.
    Type: Grant
    Filed: September 26, 2008
    Date of Patent: June 17, 2014
    Assignee: Netapp, Inc.
    Inventors: Brian D. McKean, Kevin Lee Kidney, Jeremy Michael Pinson
  • Patent number: 8745207
    Abstract: A system and method for managing computer applications running among computing systems based on determined risk of resource saturation is disclosed. In one embodiment, a volatility of resource usage for each computing system is computed based on computed resource usage gains/losses associated with each computing system. A current resource usage of each computing system is then determined. Further, a risk of resource saturation is determined by comparing the computed volatility of resource usage with the determined current resource usage of each computing system. The computer applications running among the computing systems are then managed using the determined risk of resource saturation associated with each computing system.
    Type: Grant
    Filed: July 15, 2010
    Date of Patent: June 3, 2014
    Assignee: LSI Corporation
    Inventors: Bhaskar Jayaraman, Brian D McKean
  • Patent number: 8745633
    Abstract: A system and method for managing resources in a partitioned computing system using determined risk of resource saturation is disclosed. In one example embodiment, the partitioned computing system includes one or more partitions. A volatility of resource usage for each partition is computed based on computed resource usage gains/losses associated with each partition. A current resource usage of each partition is then determined. Further, a risk of resource saturation is determined by comparing the computed volatility of resource usage with the determined current resource usage of each partition. The resources in the partitioned computing system are then managed using the determined risk of resource saturation associated with each partition.
    Type: Grant
    Filed: May 11, 2010
    Date of Patent: June 3, 2014
    Assignee: LSI Corporation
    Inventors: Bhaskar Jayaraman, Brian D McKean
  • Patent number: 8458399
    Abstract: Methods and structure for automated determination and reconfiguration of the size of a cache memory in a storage system. Features and aspects hereof generate historical information regarding frequency of hits on cache lines in the cache memory. The history maintained is then analyzed to determine a desired cache memory size. The historical information regarding cache memory usage may be communicated to a user who may then direct the storage system to reconfigure its cache memory to a desired cache memory size. In other embodiments, the storage system may automatically determine the desired cache memory size and reconfigure its cache memory. The method may be performed automatically periodically, and/or in response to a user's request, and/or in response to detecting thrashing caused by least recently used (LRU) cache replacement algorithms in the storage system.
    Type: Grant
    Filed: November 17, 2010
    Date of Patent: June 4, 2013
    Assignee: LSI Corporation
    Inventors: Donald R. Humlicek, Timothy R. Snider, Brian D. McKean
  • Patent number: 8276041
    Abstract: A method for reading data from a data storage system is provided. The method comprises requesting a virtual data volume to access data from one or more data blocks in the data storage system; requesting a virtual protection information volume to access protection information associated with the data blocks; validating the data using the protection information; and providing the data to the host interface, in response to successful validation of the data. A method for writing data to a data storage system is also provided. The method comprises receiving data to be written to one or more data blocks in the data storage system, wherein the data is stored in a cache; generating protection information to be stored on a virtual protection information volume; requesting a virtual data volume to update the data blocks with the data; and requesting the virtual protection information volume to store the protection information.
    Type: Grant
    Filed: November 12, 2008
    Date of Patent: September 25, 2012
    Assignee: International Business Machines Corporation
    Inventors: James Lee Hafner, Wendy Ann Belluomini, Douglas William Dewey, Brian D. McKean, Donald R. Humlicek, Kevin L. Kidney, Theresa L. Segura
  • Publication number: 20120124295
    Abstract: Methods and structure for automated determination and reconfiguration of the size of a cache memory in a storage system. Features and aspects hereof generate historical information regarding frequency of hits on cache lines in the cache memory. The history maintained is then analyzed to determine a desired cache memory size. The historical information regarding cache memory usage may be communicated to a user who may then direct the storage system to reconfigure its cache memory to a desired cache memory size. In other embodiments, the storage system may automatically determine the desired cache memory size and reconfigure its cache memory. The method may be performed automatically periodically, and/or in response to a user's request, and/or in response to detecting thrashing caused by least recently used (LRU) cache replacement algorithms in the storage system.
    Type: Application
    Filed: November 17, 2010
    Publication date: May 17, 2012
    Applicant: LSI CORPORATION
    Inventors: Donald R. Humlicek, Timothy R. Snider, Brian D. McKean
  • Patent number: 8176405
    Abstract: A method for validating data in a data storage system comprising associating a first data chunk with first check data and storing the first data chunk and the first check data on a first storage device. Additional associated data chunks of the first data and associated additional check data are stored on at least one of the first storage device or one or more additional storage devices. At least a portion of the first check data and at least a portion of the additional check data are stored to a second storage device, which is distinct from the first storage device and the additional storage devices. I/O access to the second storage device is minimized by retaining at least a portion of the first check data and at least a portion of the additional check data in a readily accessible storage medium, during servicing of a first I/O request.
    Type: Grant
    Filed: October 6, 2008
    Date of Patent: May 8, 2012
    Assignee: International Business Machines Corporation
    Inventors: James Lee Hafner, Wendy Ann Belluomini, Douglas William Dewey, Brian D. McKean, Donald R. Humlicek, Kevin L. Kidney, Theresa L. Segura