Patents by Inventor Rodney A. DeKoning

Rodney A. DeKoning 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: 10798207
    Abstract: A system and method for managing application performance includes a storage controller including a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing application performance and a processor coupled to the memory. The processor is configured to execute the machine executable code to receive storage requests from a plurality of first applications via a network interface, manage QoS settings for the storage controller and the first applications, and in response to receiving an accelerate command associated with a second application from the first applications, increase a first share of a storage resource allocated to the second application, decrease unlocked second shares of the storage resource of the first applications, and lock the first share. The storage resource is a request queue or a first cache. In some embodiments, the second application is a throughput application or a latency application.
    Type: Grant
    Filed: February 13, 2018
    Date of Patent: October 6, 2020
    Assignee: NETAPP, INC.
    Inventors: Sai Rama Krishna Susarla, Scott Hubbard, William Patrick Delaney, Rodney A. Dekoning
  • Patent number: 10620843
    Abstract: Methods, non-transitory computer readable media, and computing devices that manages distributed snapshot for low latency storage includes accessing one or more snapshots from one or more solid state devices (SSD), wherein the obtained one or more snapshots are stored in a snapshot allocated capacity of the one or more SSD. A data transfer operation is initiated from a primary storage to a secondary storage using the accessed one or more snapshots. It is determined if the initiated data transfer operation is completed and when it is determined to be completed, the obtained one or more snapshots stored in the snapshot allocated capacity of the one or more SSD are deleted.
    Type: Grant
    Filed: July 26, 2017
    Date of Patent: April 14, 2020
    Assignee: NetApp, Inc.
    Inventors: Rodney A. DeKoning, Tim Emami
  • Patent number: 10339017
    Abstract: Methods and systems for storing data at a storage device of a storage system are provided. The data is first temporarily stored at a first write cache and an input/output request for a persistence storage device used as a second write cache is generated, when an I/O request size including the received data has reached a threshold value. The data from the first cache is transferred to the persistence storage device and a recovery control block with a location of the data stored at the persistence storage device is updated. An entry is added to a linked list that is used to track valid data stored at the persistence storage device and then the data is transferred from the persistence storage device to the storage device of the storage system.
    Type: Grant
    Filed: November 7, 2016
    Date of Patent: July 2, 2019
    Assignee: NETAPP, INC.
    Inventors: William Patrick Delaney, Joseph Russell Blount, Rodney A. DeKoning
  • Publication number: 20190034092
    Abstract: Methods, non-transitory computer readable media, and computing devices that manages distributed snapshot for low latency storage includes accessing one or more snapshots from one or more solid state devices (SSD), wherein the obtained one or more snapshots are stored in a snapshot allocated capacity of the one or more SSD. A data transfer operation is initiated from a primary storage to a secondary storage using the accessed one or more snapshots. It is determined if the initiated data transfer operation is completed and when it is determined to be completed, the obtained one or more snapshots stored in the snapshot allocated capacity of the one or more SSD are deleted.
    Type: Application
    Filed: July 26, 2017
    Publication date: January 31, 2019
    Inventors: Rodney A. DeKoning, Tim Emami
  • Publication number: 20180176323
    Abstract: A system and method for managing application performance includes a storage controller including a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing application performance and a processor coupled to the memory. The processor is configured to execute the machine executable code to receive storage requests from a plurality of first applications via a network interface, manage QoS settings for the storage controller and the first applications, and in response to receiving an accelerate command associated with a second application from the first applications, increase a first share of a storage resource allocated to the second application, decrease unlocked second shares of the storage resource of the first applications, and lock the first share. The storage resource is a request queue or a first cache. In some embodiments, the second application is a throughput application or a latency application.
    Type: Application
    Filed: February 13, 2018
    Publication date: June 21, 2018
    Inventors: Sai Rama Krishna Susarla, Scott Hubbard, William Patrick Delaney, Rodney A. Dekoning
  • Patent number: 9930133
    Abstract: A system and method for managing application performance includes a storage controller including a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing application performance and a processor coupled to the memory. The processor is configured to execute the machine executable code to receive storage requests from a plurality of first applications via a network interface, manage QoS settings for the storage controller and the first applications, and in response to receiving an accelerate command associated with a second application from the first applications, increase a first share of a storage resource allocated to the second application, decrease unlocked second shares of the storage resource of the first applications, and lock the first share. The storage resource is a request queue or a first cache. In some embodiments, the second application is a throughput application or a latency application.
    Type: Grant
    Filed: October 23, 2014
    Date of Patent: March 27, 2018
    Assignee: NetApp, Inc.
    Inventors: Sai Rama Krishna Susarla, Scott Hubbard, William Patrick Delaney, Rodney A. Dekoning
  • Publication number: 20170091054
    Abstract: Methods and systems for storing data at a storage device of a storage system are provided. The data is first temporarily stored at a first write cache and an input/output request for a persistence storage device used as a second write cache is generated, when an I/O request size including the received data has reached a threshold value. The data from the first cache is transferred to the persistence storage device and a recovery control block with a location of the data stored at the persistence storage device is updated. An entry is added to a linked list that is used to track valid data stored at the persistence storage device and then the data is transferred from the persistence storage device to the storage device of the storage system.
    Type: Application
    Filed: November 7, 2016
    Publication date: March 30, 2017
    Inventors: William Patrick Delaney, Joseph Russell Blount, Rodney A. DeKoning
  • Patent number: 9600604
    Abstract: A system and method for planning and configuring the components of a modular computing system is provided. In some embodiments, the method for planning an implementation of a modular computing system comprises presenting a user interface at a display device, the user interface including a plurality of user-selectable objects, each of the user-selectable objects representing a component of the modular computing system. A user selection is received via a user input device. The user selection is from among the user-selectable objects and specifies one of an enclosure, an existing component, and a future component of the modular computing system. A representation of the specified one of an enclosure, an existing component, and a future component is displayed at a display device. The user selection is verified with respect to an implementation guideline. An indicator of whether the user selection meets the implementation guideline is displayed at the display device.
    Type: Grant
    Filed: July 18, 2013
    Date of Patent: March 21, 2017
    Assignee: NETAPP, INC.
    Inventors: Joseph CaraDonna, Steven C. Miller, Stephen W. Daniel, Rodney A. DeKoning, Gaurav Makkar, Brian Hackworth, Michael S. Riley, Valentin M. Bercovici
  • Patent number: 9489149
    Abstract: Methods and systems for storing data at a storage device of a storage system are provided. The data is first temporarily stored at a first write cache and an input/output request for a persistence storage device used as a second write cache is generated, when an I/O request size including the received data has reached a threshold value. The data from the first cache is transferred to the persistence storage device and a recovery control block with a location of the data stored at the persistence storage device is updated. An entry is added to a linked list that is used to track valid data stored at the persistence storage device and then the data is transferred from the persistence storage device to the storage device of the storage system.
    Type: Grant
    Filed: June 16, 2014
    Date of Patent: November 8, 2016
    Assignee: NETAPP, INC.
    Inventors: William Patrick Delaney, Joseph Russell Blount, Rodney A. DeKoning
  • Publication number: 20160119443
    Abstract: A system and method for managing application performance includes a storage controller including a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing application performance and a processor coupled to the memory. The processor is configured to execute the machine executable code to receive storage requests from a plurality of first applications via a network interface, manage QoS settings for the storage controller and the first applications, and in response to receiving an accelerate command associated with a second application from the first applications, increase a first share of a storage resource allocated to the second application, decrease unlocked second shares of the storage resource of the first applications, and lock the first share. The storage resource is a request queue or a first cache. In some embodiments, the second application is a throughput application or a latency application.
    Type: Application
    Filed: October 23, 2014
    Publication date: April 28, 2016
    Inventors: Sai Rama Krishna Susarla, Scott Hubbard, William Patrick Delaney, Rodney A. Dekoning
  • Publication number: 20150363285
    Abstract: Methods and systems for storing data at a storage device of a storage system are provided. The data is first temporarily stored at a first write cache and an input/output request for a persistence storage device used as a second write cache is generated, when an I/O request size including the received data has reached a threshold value. The data from the first cache is transferred to the persistence storage device and a recovery control block with a location of the data stored at the persistence storage device is updated. An entry is added to a linked list that is used to track valid data stored at the persistence storage device and then the data is transferred from the persistence storage device to the storage device of the storage system.
    Type: Application
    Filed: June 16, 2014
    Publication date: December 17, 2015
    Inventors: William Patrick Delaney, Joseph Russell Blount, Rodney A. DeKoning
  • 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
  • Patent number: 9052834
    Abstract: Disclosed is a storage system architecture. An Environmental service module (ESM) is coupled to one or more array controllers. The ESM is configured with a central processing unit and one or more assist functions. The assist functions may include nonvolatile memory. This nonvolatile memory may be used for write caching, mirroring data, and/or configuration data. The assist functions, or the ESM, may be controlled by the array controllers using SCSI or RDMA commands.
    Type: Grant
    Filed: October 24, 2013
    Date of Patent: June 9, 2015
    Assignee: NetApp, Inc.
    Inventors: Rodney A. DeKoning, Bret S. Weber, William Patrick Delaney, Kenneth F. Day
  • Publication number: 20150026077
    Abstract: A system and method for providing customer guidance in deploying a modular computing system is provided. In some embodiments, the method comprises receiving a shipping container identifier. A computing system is used to determine, based on the shipping container identifier, that a component of the modular computing system has been received by a customer. It is determined whether the modular computing system can be deployed based on the component having been received by the customer. An indicator is provided of whether the modular computing system can be deployed. An instruction is provided for deploying the modular computing system, and a diagnostic procedure is performed on a deployed component of the modular computing system. In one such embodiment, the diagnostic procedure determines whether the instruction was correctly performed.
    Type: Application
    Filed: July 18, 2013
    Publication date: January 22, 2015
    Inventors: Joseph CaraDonna, Steven C. Miller, Stephen W. Daniel, Rodney A. DeKoning, Gaurav Makkar, Brian Hackworth, Michael S. Riley, Valentin M. Bercovici
  • Publication number: 20150026076
    Abstract: A system and method for helping customers install a modular computing system is provided. In some embodiments, the method comprises determining, using a computing system, whether all components of a modular computing system have been received by a customer. Based on determining that not all the components of the modular computing system have been received by the customer, it is determined whether the modular computing system can be incrementally deployed. A customer instruction for incrementally deploying the modular computing system is provided at a display device. A communication link is established with a component of the modular computing system. Communications directed over the communication link are used to determine whether a customer correctly performed the provided customer instruction. In one such embodiment, the determining of whether the modular computing system can be incrementally deployed includes determining whether a minimum resource requirement is met.
    Type: Application
    Filed: July 18, 2013
    Publication date: January 22, 2015
    Inventors: Joseph CaraDonna, Steven C. Miller, Stephen W. Daniel, Rodney A. DeKoning, Gaurav Makkar, Brian Hackworth, Michael S. Riley, Valentin M. Bercovici
  • Patent number: 8788753
    Abstract: Storage systems configured for improved N-way connectivity among all of a plurality of storage controllers and all of a plurality of storage devices in the system. All controllers of the storage system are coupled through a switched fabric communication medium to all of the storage devices of the storage system. Thus, the back-end interface of each storage controller of the storage system is used for all communications with any of the storage devices as well as for any communications among the controllers to coordinate the N-way distribution of stored data in a declustered RAID storage environment. This use of the back-end channel for all storage controller to storage device N-way connectivity as well as controller to controller N-way connectivity eliminates the need for a dedicated inter-controller interface for such N-way connectivity and eliminates the over-utilization of a front-end (e.g., network) communication path for providing N-way connectivity in the storage system.
    Type: Grant
    Filed: April 7, 2011
    Date of Patent: July 22, 2014
    Assignee: LSI Corporation
    Inventors: Rodney A. DeKoning, Mohamad H. El-Batal, Bret S. Weber, William G. Deitz, Stephen B. Johnson
  • Publication number: 20140122796
    Abstract: A process for block-level tracking of a sequential data stream that is sub-divided into multiple parts, and stored, by a file system, within non-sequential storage blocks. The process creates block-level metadata as the sequential data stream is written to the storage blocks, wherein the metadata stores pointers to the non-sequential storage blocks used to store the multiple parts of the sequential data stream. This metadata can subsequently be used by a block-level controller to more efficiently read the sequential data stream back to the file system using read-ahead processes.
    Type: Application
    Filed: October 31, 2012
    Publication date: May 1, 2014
    Applicant: NetApp, Inc.
    Inventor: Rodney A. DeKoning
  • Publication number: 20140040549
    Abstract: Disclosed is a storage system architecture. An Environmental service module (ESM) is coupled to one or more array controllers. The ESM is configured with a central processing unit and one or more assist functions. The assist functions may include nonvolatile memory. This nonvolatile memory may be used for write caching, mirroring data, and/or configuration data. The assist functions, or the ESM, may be controlled by the array controllers using SCSI or RDMA commands.
    Type: Application
    Filed: October 24, 2013
    Publication date: February 6, 2014
    Applicant: NetApp, Inc.
    Inventors: Rodney A. DeKoning, Bret S. Weber, William Patrick Delaney, Kenneth F. Day
  • Patent number: 8595397
    Abstract: Disclosed is a storage system architecture. An Environmental service module (ESM) is coupled to one or more array controllers. The ESM is configured with a central processing unit and one or more assist functions. The assist functions may include nonvolatile memory. This nonvolatile memory may be used for write caching, mirroring data, and/or configuration data. The assist functions, or the ESM, may be controlled by the array controllers using SCSI or RDMA commands.
    Type: Grant
    Filed: June 9, 2009
    Date of Patent: November 26, 2013
    Assignee: Netapp, Inc
    Inventors: Rodney A. DeKoning, Bret S. Weber, William Patrick Delaney, Kenneth F. Day
  • Patent number: 8539109
    Abstract: A network communication system and method providing a communication protocol extension for direct memory access operations allowing the separation of the command and data paths. The identification of the communication path to a third-party device is provided to a direct-memory-access initiator allowing the passing of data directly to the third-party device.
    Type: Grant
    Filed: March 9, 2005
    Date of Patent: September 17, 2013
    Assignee: Oracle America, Inc.
    Inventors: Whay Sing Lee, Richard W. Meyer, Charles D. Binford, Rodney A. Dekoning, William Stronge