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: 9489150Abstract: 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: GrantFiled: May 7, 2012Date of Patent: November 8, 2016Assignee: Dell International L.L.C.Inventors: Lawrence E. Aszmann, Michael J. Klemm
-
Patent number: 9454311Abstract: 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: GrantFiled: February 23, 2015Date of Patent: September 27, 2016Assignee: Dell International L.L.C.Inventors: Michael J. Klemm, Michael H. Pittelko
-
Patent number: 9436390Abstract: 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: GrantFiled: May 19, 2015Date of Patent: September 6, 2016Assignee: Dell International L.L.C.Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
-
Publication number: 20160147602Abstract: 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: ApplicationFiled: February 1, 2016Publication date: May 26, 2016Inventors: Michael J. Klemm, Anthony J. Floeder
-
Publication number: 20160103624Abstract: 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: ApplicationFiled: December 16, 2015Publication date: April 14, 2016Inventors: Michael J. Klemm, Michael J. Uttormark
-
Patent number: 9268503Abstract: 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: GrantFiled: January 14, 2014Date of Patent: February 23, 2016Assignee: Compellent TechnologiesInventors: Michael J. Klemm, Anthony J. Floeder
-
Patent number: 9251049Abstract: 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: GrantFiled: December 3, 2013Date of Patent: February 2, 2016Assignee: Compellent TechnologiesInventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko, Mark D. Olson
-
Patent number: 9244625Abstract: 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: GrantFiled: July 23, 2012Date of Patent: January 26, 2016Assignee: Compellent TechnologiesInventors: Michael J. Klemm, Michael J. Uttormark
-
Publication number: 20150301751Abstract: 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: ApplicationFiled: May 19, 2015Publication date: October 22, 2015Inventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
-
Publication number: 20150199151Abstract: 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: ApplicationFiled: January 14, 2014Publication date: July 16, 2015Applicant: Compellent TechnologiesInventors: Michael J. Klemm, Anthony J. Floeder
-
Publication number: 20150169232Abstract: 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: ApplicationFiled: February 23, 2015Publication date: June 18, 2015Inventors: Michael J. Klemm, Michael H. Pittelko
-
Patent number: 9047216Abstract: 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: GrantFiled: October 14, 2013Date of Patent: June 2, 2015Assignee: Compellent TechnologiesInventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
-
Patent number: 9021295Abstract: 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: GrantFiled: October 7, 2013Date of Patent: April 28, 2015Assignee: Compellent TechnologiesInventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
-
Patent number: 9015411Abstract: 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: GrantFiled: December 2, 2011Date of Patent: April 21, 2015Assignee: Compellent TechnologiesInventors: Michael J. Klemm, Michael H. Pittelko
-
Patent number: 8892676Abstract: 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: GrantFiled: November 9, 2009Date of Patent: November 18, 2014Assignee: Compellent TechnologiesInventors: Lawrence E. Aszmann, Michael J. Klemm
-
Patent number: 8819334Abstract: 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: GrantFiled: June 17, 2013Date of Patent: August 26, 2014Assignee: Compellent TechnologiesInventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko
-
Publication number: 20140108858Abstract: 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: ApplicationFiled: October 14, 2013Publication date: April 17, 2014Applicant: Compellent TechnologiesInventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
-
Publication number: 20140089628Abstract: 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: ApplicationFiled: December 3, 2013Publication date: March 27, 2014Applicant: Compellent TechnologiesInventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko, Mark D. Olson
-
Publication number: 20140040546Abstract: 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: ApplicationFiled: October 7, 2013Publication date: February 6, 2014Applicant: Compellent TechnologiesInventors: Philip E. Soran, John P. Guider, Lawrence E. Aszmann, Michael J. Klemm
-
Patent number: 8601035Abstract: 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: GrantFiled: June 22, 2007Date of Patent: December 3, 2013Assignee: Compellent TechnologiesInventors: Lawrence E. Aszmann, Michael J. Klemm, Michael H. Pittelko, Mark D. Olson