Patents by Inventor Michael J. Klemm

Michael J. Klemm 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: 9489150
    Abstract: The present disclosure relates to a data storage system including a RAID subsystem having a first and second type of RAID storage. A virtual volume configured to accept I/O is stored on the first type of RAID storage, and snapshots of the virtual volume are stored on the second type of RAID storage. A method of the present disclosure includes providing an active volume that accepts I/O and generating read-only snapshots of the volume. In certain embodiments, the active volume is converted to a snapshot. The active volume includes a first type of RAID storage, and the snapshots include a second type of RAID storage. The first type of RAID storage has a lower write penalty than the second type of RAID storage. In typical embodiments, the first type of RAID storage includes RAID 10 storage and the second type of RAID storage includes RAID 5 and/or RAID 6 storage.
    Type: Grant
    Filed: May 7, 2012
    Date of Patent: November 8, 2016
    Assignee: Dell International L.L.C.
    Inventors: Lawrence E. Aszmann, Michael J. Klemm
  • Patent number: 9454311
    Abstract: A method for dynamically balancing the allocation of data among a plurality of physical data storage devices having a plurality of RAID devices defined thereon, wherein at least one of the plurality of RAID devices is comprised of at least one of a different type of physical storage device or a different number of physical data storage devices than at least one other of the plurality of RAID devices, includes determining a usage factor unique to each RAID device and balancing data I/O based at least in part on the usage factor.
    Type: Grant
    Filed: February 23, 2015
    Date of Patent: September 27, 2016
    Assignee: Dell International L.L.C.
    Inventors: Michael J. Klemm, Michael H. Pittelko
  • Patent number: 9436390
    Abstract: A disk drive system and method capable of dynamically allocating data is provided. The disk drive system may include a RAID subsystem having a pool of storage, for example a page pool of storage that maintains a free list of RAIDs, or a matrix of disk storage blocks that maintain a null list of RAIDs, and a disk manager having at least one disk storage system controller. The RAID subsystem and disk manager dynamically allocate data across the pool of storage and a plurality of disk drives based on RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required. Dynamic data allocation and data progression allow a user to acquire a disk drive later in time when it is needed. Dynamic data allocation also allows efficient data storage of snapshots/point-in-time copies of virtual volume pool of storage, instant data replay and data instant fusion for data backup, recovery etc.
    Type: Grant
    Filed: May 19, 2015
    Date of Patent: September 6, 2016
    Assignee: Dell International L.L.C.
    Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
  • Publication number: 20160147602
    Abstract: A method for handling input/output (I/O) in a data storage system comprising a RAID subsystem storing data according to a RAID level utilizing a parity scheme, where RAID stripes have been configured across a plurality of data storage devices. The method may include monitoring write requests to the RAID subsystem, identifying write requests destined for the same RAID stripe, and bundling the identified write requests for substantially simultaneous execution at the corresponding RAID stripe. Monitoring write requests to the RAID subsystem may include delaying at least some of the write requests to the RAID subsystem so as to build-up a queue of write requests. In some embodiments, identifying write requests and bundling the identified write requests may include identifying and bundling a number of write requests as required to perform a full stripe write to the corresponding RAID stripe.
    Type: Application
    Filed: February 1, 2016
    Publication date: May 26, 2016
    Inventors: Michael J. Klemm, Anthony J. Floeder
  • Publication number: 20160103624
    Abstract: The present disclosure relates to systems and methods for RAID Restriping. One method includes selecting an initial RAID device for migration based on at least one score, creating an alternate RAID device, moving data from the initial RAID device to the alternate RAID device, and removing the initial RAID device. The method may be performed automatically by the system or manually. The method may be performed periodically, continuously, after every RAID device migration, upon addition of disk drives, and/or before removal of disk drives, etc. One system includes a RAID subsystem and a disk manager configured to automatically calculate a score for each RAID device, select a RAID device based on the relative scores of the RAID devices, create an alternate RAID device, move data from the selected RAID device to the alternate RAID device, and remove the selected RAID device.
    Type: Application
    Filed: December 16, 2015
    Publication date: April 14, 2016
    Inventors: Michael J. Klemm, Michael J. Uttormark
  • Patent number: 9268503
    Abstract: A method for handling input/output (I/O) in a data storage system comprising a RAID subsystem storing data according to a RAID level utilizing a parity scheme, where RAID stripes have been configured across a plurality of data storage devices. The method may include monitoring write requests to the RAID subsystem, identifying write requests destined for the same RAID stripe, and bundling the identified write requests for substantially simultaneous execution at the corresponding RAID stripe. Monitoring write requests to the RAID subsystem may include delaying at least some of the write requests to the RAID subsystem so as to build-up a queue of write requests. In some embodiments, identifying write requests and bundling the identified write requests may include identifying and bundling a number of write requests as required to perform a full stripe write to the corresponding RAID stripe.
    Type: Grant
    Filed: January 14, 2014
    Date of Patent: February 23, 2016
    Assignee: Compellent Technologies
    Inventors: Michael J. Klemm, Anthony J. Floeder
  • Patent number: 9251049
    Abstract: A process of determining explicitly free data space in computer data storage systems with implicitly allocated data space through the use of information provided by a hosting computer system with knowledge of what space allocated is currently being used at the time of a query, is provided. In one embodiment, a File System (“FS”) is asked to identify clusters no longer in use which is then mapped to physical disks as visible to an Operating System (“OS”). The physical disks are mapped to simulated/virtualized volumes presented by a storage subsystem. By using server information regarding the FS, for those pages that are no longer in use, point in time copy (“PITC”) pages are marked for future PITC and will not be coalesced forward, thereby saving significant storage.
    Type: Grant
    Filed: December 3, 2013
    Date of Patent: February 2, 2016
    Assignee: Compellent Technologies
    Inventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko, Mark D. Olson
  • Patent number: 9244625
    Abstract: The present disclosure relates to systems and methods for RAID Restriping. One method includes selecting an initial RAID device for migration based on at least one score, creating an alternate RAID device, moving data from the initial RAID device to the alternate RAID device, and removing the initial RAID device. The method may be performed automatically by the system or manually. The method may be performed periodically, continuously, after every RAID device migration, upon addition of disk drives, and/or before removal of disk drives, etc. One system includes a RAID subsystem and a disk manager configured to automatically calculate a score for each RAID device, select a RAID device based on the relative scores of the RAID devices, create an alternate RAID device, move data from the selected RAID device to the alternate RAID device, and remove the selected RAID device.
    Type: Grant
    Filed: July 23, 2012
    Date of Patent: January 26, 2016
    Assignee: Compellent Technologies
    Inventors: Michael J. Klemm, Michael J. Uttormark
  • Publication number: 20150301751
    Abstract: A disk drive system and method capable of dynamically allocating data is provided. The disk drive system may include a RAID subsystem having a pool of storage, for example a page pool of storage that maintains a free list of RAIDs, or a matrix of disk storage blocks that maintain a null list of RAIDs, and a disk manager having at least one disk storage system controller. The RAID subsystem and disk manager dynamically allocate data across the pool of storage and a plurality of disk drives based on RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required. Dynamic data allocation and data progression allow a user to acquire a disk drive later in time when it is needed. Dynamic data allocation also allows efficient data storage of snapshots/point-in-time copies of virtual volume pool of storage, instant data replay and data instant fusion for data backup, recovery etc.
    Type: Application
    Filed: May 19, 2015
    Publication date: October 22, 2015
    Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
  • Publication number: 20150199151
    Abstract: A method for handling input/output (I/O) in a data storage system comprising a RAID subsystem storing data according to a RAID level utilizing a parity scheme, where RAID stripes have been configured across a plurality of data storage devices. The method may include monitoring write requests to the RAID subsystem, identifying write requests destined for the same RAID stripe, and bundling the identified write requests for substantially simultaneous execution at the corresponding RAID stripe. Monitoring write requests to the RAID subsystem may include delaying at least some of the write requests to the RAID subsystem so as to build-up a queue of write requests. In some embodiments, identifying write requests and bundling the identified write requests may include identifying and bundling a number of write requests as required to perform a full stripe write to the corresponding RAID stripe.
    Type: Application
    Filed: January 14, 2014
    Publication date: July 16, 2015
    Applicant: Compellent Technologies
    Inventors: Michael J. Klemm, Anthony J. Floeder
  • Publication number: 20150169232
    Abstract: A method for dynamically balancing the allocation of data among a plurality of physical data storage devices having a plurality of RAID devices defined thereon, wherein at least one of the plurality of RAID devices is comprised of at least one of a different type of physical storage device or a different number of physical data storage devices than at least one other of the plurality of RAID devices, includes determining a usage factor unique to each RAID device and balancing data I/O based at least in part on the usage factor.
    Type: Application
    Filed: February 23, 2015
    Publication date: June 18, 2015
    Inventors: Michael J. Klemm, Michael H. Pittelko
  • Patent number: 9047216
    Abstract: A disk drive system and method capable of dynamically allocating data is provided. The disk drive system may include a RAID subsystem having a pool of storage, for example a page pool of storage that maintains a free list of RAIDs, or a matrix of disk storage blocks that maintain a null list of RAIDs, and a disk manager having at least one disk storage system controller. The RAID subsystem and disk manager dynamically allocate data across the pool of storage and a plurality of disk drives based on RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required. Dynamic data allocation and data progression allow a user to acquire a disk drive later in time when it is needed. Dynamic data allocation also allows efficient data storage of snapshots/point-in-time copies of virtual volume pool of storage, instant data replay and data instant fusion for data backup, recovery etc.
    Type: Grant
    Filed: October 14, 2013
    Date of Patent: June 2, 2015
    Assignee: Compellent Technologies
    Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
  • Patent number: 9021295
    Abstract: A disk drive system and method capable of dynamically allocating data is provided. The disk drive system may include a RAID subsystem having a pool of storage, for example a page pool of storage that maintains a free list of RAIDs, or a matrix of disk storage blocks that maintain a null list of RAIDs, and a disk manager having at least one disk storage system controller. The RAID subsystem and disk manager dynamically allocate data across the pool of storage and a plurality of disk drives based on RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required. Dynamic data allocation and data progression allow a user to acquire a disk drive later in time when it is needed. Dynamic data allocation also allows efficient data storage of snapshots/point-in-time copies of virtual volume pool of storage, instant data replay and data instant fusion for data backup, recovery etc.
    Type: Grant
    Filed: October 7, 2013
    Date of Patent: April 28, 2015
    Assignee: Compellent Technologies
    Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
  • Patent number: 9015411
    Abstract: A method for dynamically balancing the allocation of data among a plurality of physical data storage devices having a plurality of RAID devices defined thereon, wherein at least one of the plurality of RAID devices is comprised of at least one of a different type of physical storage device or a different number of physical data storage devices than at least one other of the plurality of RAID devices, includes determining a usage factor unique to each RAID device and balancing data I/O based at least in part on the usage factor.
    Type: Grant
    Filed: December 2, 2011
    Date of Patent: April 21, 2015
    Assignee: Compellent Technologies
    Inventors: Michael J. Klemm, Michael H. Pittelko
  • Patent number: 8892676
    Abstract: The present disclosure relates to systems and methods for migrating data from one data storage system to another data storage system. A method can include copying data from one data storage system to another data storage system wherein data stored in data address locations of the first data storage system containing a NULL or zero is excluded from being written to the second data storage system.
    Type: Grant
    Filed: November 9, 2009
    Date of Patent: November 18, 2014
    Assignee: Compellent Technologies
    Inventors: Lawrence E. Aszmann, Michael J. Klemm
  • Patent number: 8819334
    Abstract: The present disclosure relates to a data storage system and method that includes at least two solid state devices that can be classified in at least two different efficiency levels, wherein data progression is used to allocate data to the most cost-appropriate device according to the nature of the data.
    Type: Grant
    Filed: June 17, 2013
    Date of Patent: August 26, 2014
    Assignee: Compellent Technologies
    Inventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko
  • Publication number: 20140108858
    Abstract: A disk drive system and method capable of dynamically allocating data is provided. The disk drive system may include a RAID subsystem having a pool of storage, for example a page pool of storage that maintains a free list of RAIDs, or a matrix of disk storage blocks that maintain a null list of RAIDs, and a disk manager having at least one disk storage system controller. The RAID subsystem and disk manager dynamically allocate data across the pool of storage and a plurality of disk drives based on RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required. Dynamic data allocation and data progression allow a user to acquire a disk drive later in time when it is needed. Dynamic data allocation also allows efficient data storage of snapshots/point-in-time copies of virtual volume pool of storage, instant data replay and data instant fusion for data backup, recovery etc.
    Type: Application
    Filed: October 14, 2013
    Publication date: April 17, 2014
    Applicant: Compellent Technologies
    Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
  • Publication number: 20140089628
    Abstract: A process of determining explicitly free data space in computer data storage systems with implicitly allocated data space through the use of information provided by a hosting computer system with knowledge of what space allocated is currently being used at the time of a query, is provided. In one embodiment, a File System (“FS”) is asked to identify clusters no longer in use which is then mapped to physical disks as visible to an Operating System (“OS”). The physical disks are mapped to simulated/virtualized volumes presented by a storage subsystem. By using server information regarding the FS, for those pages that are no longer in use, point in time copy (“PITC”) pages are marked for future PITC and will not be coalesced forward, thereby saving significant storage.
    Type: Application
    Filed: December 3, 2013
    Publication date: March 27, 2014
    Applicant: Compellent Technologies
    Inventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko, Mark D. Olson
  • Publication number: 20140040546
    Abstract: A disk drive system and method capable of dynamically allocating data is provided. The disk drive system may include a RAID subsystem having a pool of storage, for example a page pool of storage that maintains a free list of RAIDs, or a matrix of disk storage blocks that maintain a null list of RAIDs, and a disk manager having at least one disk storage system controller. The RAID subsystem and disk manager dynamically allocate data across the pool of storage and a plurality of disk drives based on RAID-to-disk mapping. The RAID subsystem and disk manager determine whether additional disk drives are required, and a notification is sent if the additional disk drives are required. Dynamic data allocation and data progression allow a user to acquire a disk drive later in time when it is needed. Dynamic data allocation also allows efficient data storage of snapshots/point-in-time copies of virtual volume pool of storage, instant data replay and data instant fusion for data backup, recovery etc.
    Type: Application
    Filed: October 7, 2013
    Publication date: February 6, 2014
    Applicant: Compellent Technologies
    Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
  • Patent number: 8601035
    Abstract: A process of determining explicitly free data space in computer data storage systems with implicitly allocated data space through the use of information provided by a hosting computer system with knowledge of what space allocated is currently being used at the time of a query, is provided. In one embodiment, a File System (“FS”) is asked to identify clusters no longer in use which is then mapped to physical disks as visible to an Operating System (“OS”). The physical disks are mapped to simulated/virtualized volumes presented by a storage subsystem. By using server information regarding the FS, for those pages that are no longer in use, point in time copy (“PITC”) pages are marked for future PITC and will not be coalesced forward, thereby saving significant storage.
    Type: Grant
    Filed: June 22, 2007
    Date of Patent: December 3, 2013
    Assignee: Compellent Technologies
    Inventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko, Mark D. Olson