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: 10579540Abstract: 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: GrantFiled: January 29, 2016Date of Patent: March 3, 2020Assignee: NETAPP, INC.Inventors: Brian D. McKean, Arindam Banerjee, Kevin Kidney
-
Patent number: 9836223Abstract: 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: GrantFiled: April 29, 2016Date of Patent: December 5, 2017Assignee: NetApp, Inc.Inventors: Brian D. McKean, Donald R. Humlicek
-
Patent number: 9830092Abstract: 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: GrantFiled: February 20, 2015Date of Patent: November 28, 2017Assignee: NetApp, Inc.Inventors: Brian D. McKean, Sandeep Kumar R. Ummadi
-
Patent number: 9830269Abstract: 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: GrantFiled: July 29, 2014Date of Patent: November 28, 2017Assignee: NetApp Inc.Inventors: Brian D. McKean, Donald R. Humlicek
-
Publication number: 20170315725Abstract: 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: ApplicationFiled: April 29, 2016Publication date: November 2, 2017Inventors: Brian D. McKean, Donald R. Humlicek
-
Publication number: 20170220481Abstract: 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: ApplicationFiled: January 29, 2016Publication date: August 3, 2017Inventors: Brian D. McKean, Arindam Banerjee, Kevin Kidney
-
Publication number: 20160246519Abstract: 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: ApplicationFiled: February 20, 2015Publication date: August 25, 2016Inventors: Brian D. McKean, Sandeep Kumar R. Ummadi
-
Patent number: 9348525Abstract: 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: GrantFiled: February 21, 2014Date of Patent: May 24, 2016Assignee: NETAPP, INC.Inventors: Brian D. McKean, Dennis Hahn
-
Publication number: 20160034394Abstract: 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: ApplicationFiled: July 29, 2014Publication date: February 4, 2016Inventors: Brian D. McKean, Donald R. Humlicek
-
Patent number: 9170756Abstract: 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: GrantFiled: March 31, 2009Date of Patent: October 27, 2015Assignee: LSI CorporationInventors: Martin Jess, Rodney A. DeKoning, Brian D. McKean
-
Publication number: 20150242138Abstract: 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: ApplicationFiled: February 21, 2014Publication date: August 27, 2015Applicant: NetApp, Inc.Inventors: Brian D. McKean, Dennis Hahn
-
Publication number: 20150081981Abstract: 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: ApplicationFiled: September 19, 2013Publication date: March 19, 2015Applicant: NetApp, Inc.Inventors: Brian D. McKean, Donald R. Humlicek
-
Patent number: 8924646Abstract: 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: GrantFiled: October 7, 2010Date of Patent: December 30, 2014Assignee: LSI CorporationInventors: Brian D. McKean, Donald R. Humlicek, Timothy R. Snider
-
Patent number: 8756369Abstract: 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: GrantFiled: September 26, 2008Date of Patent: June 17, 2014Assignee: Netapp, Inc.Inventors: Brian D. McKean, Kevin Lee Kidney, Jeremy Michael Pinson
-
Patent number: 8745207Abstract: 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: GrantFiled: July 15, 2010Date of Patent: June 3, 2014Assignee: LSI CorporationInventors: Bhaskar Jayaraman, Brian D McKean
-
Patent number: 8745633Abstract: 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: GrantFiled: May 11, 2010Date of Patent: June 3, 2014Assignee: LSI CorporationInventors: Bhaskar Jayaraman, Brian D McKean
-
Patent number: 8458399Abstract: 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: GrantFiled: November 17, 2010Date of Patent: June 4, 2013Assignee: LSI CorporationInventors: Donald R. Humlicek, Timothy R. Snider, Brian D. McKean
-
Patent number: 8276041Abstract: 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: GrantFiled: November 12, 2008Date of Patent: September 25, 2012Assignee: International Business Machines CorporationInventors: James Lee Hafner, Wendy Ann Belluomini, Douglas William Dewey, Brian D. McKean, Donald R. Humlicek, Kevin L. Kidney, Theresa L. Segura
-
Publication number: 20120124295Abstract: 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: ApplicationFiled: November 17, 2010Publication date: May 17, 2012Applicant: LSI CORPORATIONInventors: Donald R. Humlicek, Timothy R. Snider, Brian D. McKean
-
Patent number: 8176405Abstract: 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: GrantFiled: October 6, 2008Date of Patent: May 8, 2012Assignee: International Business Machines CorporationInventors: James Lee Hafner, Wendy Ann Belluomini, Douglas William Dewey, Brian D. McKean, Donald R. Humlicek, Kevin L. Kidney, Theresa L. Segura