Patents Assigned to Compellent Technologies
  • 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: 20150309938
    Abstract: A method for resetting a data storage drive in a drive system. The method may include transmitting a first signal at a first frequency to a GPIO connector pin corresponding to the data storage drive, utilizing a passive circuit to filter out the first signal, the filtered signal triggering a passive logic circuit to generate an output, and transmitting the output to a drive reset pin on a data storage drive so as to reset the data storage drive. In some cases, the first signal may be initiated from a location remote from the data storage drive. In additional or alternative embodiments, the method may include monitoring a parameter of the data storage drive, the data storage system, and/or a connection therebetween. The first signal may be initiated when a predetermined condition, based, at least in part, on the monitored parameter, is satisfied.
    Type: Application
    Filed: April 23, 2014
    Publication date: October 29, 2015
    Applicant: Compellent Technologies
    Inventors: Preeth Kartikeyan Srinivasan, Anthony H. Anconetani
  • Patent number: 9146851
    Abstract: A solid state drive (SSD) having a first memory portion comprising SLC flash memory and a second memory portion comprising MLC flash memory. The first memory portion may store read/write data, and the second memory portion may store read-only or read-mostly data. In some instances, the second memory portion may store historical data. The present disclosure also relates to a method of data progression in a hybrid solid state drive having both single-level cell (SLC) flash memory and multi-level cell (MLC) flash memory. The method may include monitoring write operations to the SLC memory, determining whether the frequency of write operations to a particular portion of the SLC memory is below a determined threshold, and moving the data stored in the particular portion of the SLC memory to the MLC memory.
    Type: Grant
    Filed: March 26, 2012
    Date of Patent: September 29, 2015
    Assignee: Compellent Technologies
    Inventor: Michael H. Pittelko
  • Patent number: 9135096
    Abstract: A method for surveying a data storage subsystem for latent errors before a failing disk drive of the data storage subsystem fails and recovering unreadable data usable to reconstruct data of the failing disk drive. The method includes determining that a disk drive of a plurality of disk drives of the data storage subsystem meets a threshold for being identified as a failing disk drive, and prior to failure of the failing disk drive, surveying at least a portion of the data on the remaining plurality of disk drives to identify data storage areas with latent errors. The identified data storage areas may be reconstructed utilizing, at least in part, data stored on the failing disk drive.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: September 15, 2015
    Assignee: Compellent Technologies
    Inventors: Anthony J. Floeder, Derek J. Anderson
  • Patent number: 9087009
    Abstract: A method of data replication from a first data storage device to a second data storage device. The method may include generating, at the first data storage device, at spaced time intervals, a plurality of snapshots for a logical data volume of the first data storage device, the logical data volume being an abstraction of data blocks from one or more physical storage devices, each snapshot identifying changes of data for at least a portion of the logical data volume since a most previous snapshot. Also at the first data storage device, the method includes generating a delta volume, the delta volume indicating changes in the data of at least a portion of the logical data volume between two non-consecutive snapshots. The method further involves replicating the delta volume to the second data storage device, and replicating the changes to the data indicated therein at the second data storage device.
    Type: Grant
    Filed: July 16, 2012
    Date of Patent: July 21, 2015
    Assignee: Compellent Technologies
    Inventors: Michael H. Pittelko, Mark David Olson
  • 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
  • Patent number: 9076021
    Abstract: A method for managing access to encrypted data of a data storage system storing snapshot data, a snapshot providing a previous point-in-time copy of data in a volume of the data storage system, wherein the data storage system utilizes changing encryption keys for write data. For each snapshot, the method stores at least one decryption key identifier for each decryption key corresponding to an encryption key utilized to encrypt data written to a volume since a previous snapshot was committed to disk, and associates the at least one decryption key identifier with the snapshot. A key table associating decryption key identifiers with corresponding decryption keys is provided, and based on the key table and the at least one decryption key identifier associated with the snapshot, one or more decryption keys required for accessing encrypted data associated with the snapshot are determined. Decryption key identifiers may be stored in snapshot metadata.
    Type: Grant
    Filed: July 16, 2012
    Date of Patent: July 7, 2015
    Assignee: Compellent Technologies
    Inventor: 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: 9009431
    Abstract: The present disclosure relates generally to a method and system for creating, replicating, and providing access to virtual snapshots of a disk storage block of a disk storage system or subsystem. In one embodiment, the present disclosure relates to a virtual snapshot accessible to local users of a local data storage device. The virtual snapshot may direct local users to a snapshot stored on computer-readable storage medium at a remote data storage site, but give the appearance as if data of the corresponding snapshot is stored locally. The virtual snapshot is replaced by replication of the snapshot from the remote data storage site to the local data storage device. Each snapshot may relate to data of a logical data volume, the logical data volume being an abstraction of data blocks from one or more physical storage devices.
    Type: Grant
    Filed: May 29, 2012
    Date of Patent: April 14, 2015
    Assignee: Compellent Technologies
    Inventors: Michael H. Pittelko, Mark David Olson
  • Patent number: 9003238
    Abstract: A method for error simulation in a data storage subsystem providing abstractions of one or more storage devices. The method includes dividing the data storage subsystem into two or more hierarchically organized subsystems, wherein the subsystems interact using IO Request Packets (IORPs), such that relatively higher level subsystems create and populate IORPs and pass them to relatively lower level subsystems for corresponding processing. The method further includes defining an IORP modifier configured to attach to matching IORPs based on one or more attributes of the IORP modifier and to modify at least one of the processing and one or more attributes of the IORP in order to simulate errors in the data storage subsystem.
    Type: Grant
    Filed: December 6, 2012
    Date of Patent: April 7, 2015
    Assignee: Compellent Technologies
    Inventors: Anthony J. Floeder, Lawrence A. Dean
  • Patent number: 9002792
    Abstract: A method for confirming replicated data at a data site, including utilizing a hash function, computing a first hash value based on first data at a first data site and utilizing the same hash function, computing a second hash value based on second data at a second data site, wherein the first data had previously been replicated from the first data site to the second data site as the second data. The method also includes comparing the first and second hash values to determine whether the second data is a valid replication of the first data. In additional embodiments, the first data may be modified based on seed data prior to computing the first hash value and the second data may be modified based on the same seed data prior to computing the second hash value. The process can be repeated to increase reliability of the results.
    Type: Grant
    Filed: November 19, 2012
    Date of Patent: April 7, 2015
    Assignee: Compellent Technologies
    Inventor: Michael H. Pittelko
  • Patent number: 8996841
    Abstract: The present disclosure relates to a data storage device having a hypervolume accessible by a plurality of servers operating on two or more data storage systems, a first physical volume, associated with the hypervolume, located at a first data storage system, and a second physical volume, associated with the hypervolume, located at a second storage system. The hypervolume directs input/output (I/O) from the servers to a primary physical volume comprising either the first or second physical volume, and the primary physical volume may be changed, transparently to the servers, to the other of the first or second physical volume. The present disclosure, in another embodiment, relates to a method for moving operation of a storage device from one data storage location to a second data storage location. A hypervolume is used to redirect input/output (I/O) from the a plurality of servers from the one physical volume to another.
    Type: Grant
    Filed: February 5, 2009
    Date of Patent: March 31, 2015
    Assignee: Compellent Technologies
    Inventors: Doug Kuligowski, Mark Mansee
  • Publication number: 20150067231
    Abstract: A method of data progression in a data storage system having at least two tiers of storage space. A first tier may include storage space in a SLC SSD and a second tier may include storage space in a MLC SSD. The method may include setting a predetermined free space threshold for the first tier of storage space, monitoring free space in the first tier of storage space, and when the amount of available free space in the first tier of storage space decreases to the predetermined free space threshold, generating an on-demand snapshot of at least a portion of the data of the first tier of storage space by designating that data as read-only. The on-demand snapshot may then be transferred to the second tier of storage space, thereby freeing the corresponding portion of data of the first tier of storage space for new writes.
    Type: Application
    Filed: August 28, 2013
    Publication date: March 5, 2015
    Applicant: Compellent Technologies
    Inventors: Pradeep Sundarrajan, Melwyn D'Souza
  • Patent number: 8949488
    Abstract: A method for replicating data between two or more network connected data storage devices, the method including dynamically determining whether to compress data prior to transmitting across the network based, at least in part, on bandwidth throughput between the network connected data storage devices. If it has been determined to compress the data, the method involves compressing the data and transmitting the compressed data over the network. If it has been determined not to compress the data, the method involves transmitting the data, uncompressed, over the network. Dynamically determining whether to compress data may include comparing bandwidth measurements with a predetermined policy defining when compression should be utilized. In some embodiments, the policy may define that compression should be utilized when an estimated time for compressing the data and transmitting the compressed data is less than an estimated time for transmitting the data uncompressed.
    Type: Grant
    Filed: February 15, 2013
    Date of Patent: February 3, 2015
    Assignee: Compellent Technologies
    Inventor: Jeremy Dean Swift
  • Publication number: 20140379898
    Abstract: A system and method for diagramming a remote hardware system. A method may include receiving data from a monitoring module about hardware components forming the remote hardware system, automatically organizing the data into a logical data structure, representative of the hardware components and communicative connections therebetween, and based on the logical data structure, automatically creating and outputting a visual diagram of the hardware components and the communicative connections therebetween to a display device, the diagram being a schematic representation of the remote hardware system's configuration. In one embodiment, connectivity errors may be automatically identified and flagged in the displayed diagram. Additionally, in some embodiments, the displayed diagram may be interactive, permitting manipulation of one or more of the hardware components or communicative connections therebetween.
    Type: Application
    Filed: June 25, 2013
    Publication date: December 25, 2014
    Applicant: Compellent Technologies
    Inventors: Michael J. Schmit, David M. Hasseler
  • 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