Patents Assigned to Pillar Data Systems, Inc.
  • Patent number: 7836029
    Abstract: The invention relates to a method of determining if a block was modified in a file system by comparing the versions of the base snapshot, the delta snapshot, and the space map block entry (b, e). In another aspect, the invention relates to a method of searching for blocks modified in a tree structured file system. The invention relates to methods and systems of snapshot management of a file system in a data storage system. To represent the snapshots, the invention maintains pointers to the root block pointer of each snapshot. When the active file system is modified, this invention avoids overwriting any blocks used by previous snapshots by allocating new blocks for the modified blocks. When the invention needs to put an established block in a new location, it must update a parent block to point to the new location. The update to the parent block may then require allocating a new block for the new parent block and so forth. Parts of the file system not modified since a snapshot remain in place.
    Type: Grant
    Filed: September 25, 2009
    Date of Patent: November 16, 2010
    Assignee: Pillar Data Systems, Inc.
    Inventor: Kurt Alan Shoens
  • Patent number: 7756844
    Abstract: The invention relates to a method of determining if a block was modified in a file system by comparing the versions of the base snapshot, the delta snapshot, and the space map block entry (b, e). In another aspect, the invention relates to a method of searching for blocks modified in a tree structured file system. The invention relates to methods and systems of snapshot management of a file system in a data storage system. To represent the snapshots, the invention maintains pointers to the root block pointer of each snapshot. When the active file system is modified, this invention avoids overwriting any blocks used by previous snapshots by allocating new blocks for the modified blocks. When the invention needs to put an established block in a new location, it must update a parent block to point to the new location. The update to the parent block may then require allocating a new block for the new parent block and so forth. Parts of the file system not modified since a snapshot remain in place.
    Type: Grant
    Filed: May 23, 2008
    Date of Patent: July 13, 2010
    Assignee: Pillar Data Systems, Inc.
    Inventors: Kurt Alan Shoens, Tod Kevin Johnson
  • Patent number: 7721022
    Abstract: The invention classifies volumes (e.g., file systems or LUNs) of a data storage system according to application requirements and allocates space for the volumes on storage devices (e.g., hard disk drives) accordingly. A person such as an IT administrator configures the volumes specifying size, type (e.g., file system or SAN LUN), and priority (e.g., high, medium, low, or archive). The host schedules I/O requests to the storage devices in priority queues using the volume definition to match the application requirements and reduce storage seek time between volumes of different priorities. The host also allocates high performance bands of the storage devices to high performance applications and lower performance bands to lower performance applications. In this manner, the data storage system places data on the band of the storage device that best supports its performance needs.
    Type: Grant
    Filed: June 26, 2009
    Date of Patent: May 18, 2010
    Assignee: Pillar Data Systems, Inc.
    Inventors: Michael Allan Brewer, David Alan Burton, Michael Lee Workman
  • Patent number: 7685176
    Abstract: The present invention relates to systems and methods of asynchronous data replication. In an embodiment, the system includes a primary host that asynchronously transmits write and sync commands where each write and sync command includes a data set ID and a sequence number. A secondary host coupled to the primary host receives the write and sync commands out of order, tracks receipt of write and sync commands, and after receipt of the write and sync commands of the data set writes blocks associated with the write commands to data storage coupled to the secondary host.
    Type: Grant
    Filed: September 15, 2006
    Date of Patent: March 23, 2010
    Assignee: Pillar Data Systems, Inc.
    Inventors: David Alan Burton, Noel Simen Otterness, Kurt Alan Shoens
  • Patent number: 7653669
    Abstract: The present invention relates to methods and systems of snapshot management of a file system in a data storage system. To represent the snapshots, the invention maintains pointers to the root block pointer of each snapshot. When the active file system is modified, this invention avoids overwriting any blocks used by previous snapshots by allocating new blocks for the modified blocks. When the invention needs to put an established block in a new location, it must update a parent block to point to the new location. The update to the parent block may then require allocating a new block for the new parent block and so forth. Parts of the file system not modified since a snapshot remain in place. The amount of space required to represent snapshots scales with the fraction of the file system that users modify. To maintain snapshot integrity, this invention keeps track of the first and last snapshots that use each block in space map blocks spread throughout the file system data space.
    Type: Grant
    Filed: July 16, 2007
    Date of Patent: January 26, 2010
    Assignee: Pillar Data Systems, Inc.
    Inventors: Vikram Kapoor, Kurt Alan Shoens, Mark Steven Schultz, Rex Rilen Hamilton
  • Patent number: 7594044
    Abstract: The invention classifies volumes (e.g., file systems or LUNs) of a data storage system according to application requirements and allocates space for the volumes on storage devices (e.g., hard disk drives) accordingly. A person such as an IT administrator configures the volumes specifying size, type (e.g., file system or SAN LUN), and priority (e.g., high, medium, low, or archive). The host schedules I/O requests to the storage devices in priority queues using the volume definition to match the application requirements and reduce storage seek time between volumes of different priorities. The host also allocates high performance bands of the storage devices to high performance applications and lower performance bands to lower performance applications. In this manner, the data storage system places data on the band of the storage device that best supports its performance needs.
    Type: Grant
    Filed: August 29, 2007
    Date of Patent: September 22, 2009
    Assignee: Pillar Data Systems, Inc.
    Inventors: Michael Allan Brewer, David Alan Burton, Michael Lee Workman
  • Patent number: 7496725
    Abstract: The invention relates to methods of snapshot operation for a data storage system with a host communicating with a cache memory, a source Virtual Logical Unit Number (VLUN) and a target VLUN, including generating first metadata (e.g., bitmaps and log files pointers) to locate first snapshot data and to indicate when the first snapshot data is in the target VLUN and generating second metadata to locate second snapshot data and to indicate when the second snapshot data is in the target VLUN, wherein the first and second metadata locate the same data in the target VLUN. The invention relates to systems that implement the methods. It relates to destaging data to maintain data consistency including reading metadata for snapshots, searching the metadata to identify snapshots that require original data to be destaged, destaging the original data to target storage, and updating metadata to locate original data and indicate destage completion.
    Type: Grant
    Filed: November 13, 2006
    Date of Patent: February 24, 2009
    Assignee: Pillar Data Systems, Inc.
    Inventors: David Alan Burton, Noel Simen Otterness
  • Patent number: 7418531
    Abstract: The invention classifies volumes (e.g., file systems or LUNs) of a data storage system according to application requirements and allocates space for the volumes on storage devices (e.g., hard disk drives) accordingly. A person such as an IT administrator configures the volumes specifying size, type (e.g., file system or SAN LUN), and priority (e.g., high, medium, low, or archive). The host schedules I/O requests to the storage devices in priority queues using the volume definition to match the application requirements and reduce storage seek time between volumes of different priorities. The host also allocates high performance bands of the storage devices to high performance applications and lower performance bands to lower performance applications. In this manner, the data storage system places data on the band of the storage device that best supports its performance needs.
    Type: Grant
    Filed: May 4, 2005
    Date of Patent: August 26, 2008
    Assignee: Pillar Data Systems, Inc.
    Inventors: Michael Allan Brewer, David Alan Burton, Michael Lee Workman
  • Patent number: 7379954
    Abstract: The present invention relates to methods and systems of snapshot management of a file system in a data storage system. To represent the snapshots, the invention maintains pointers to the root block pointer of each snapshot. When the active file system is modified, this invention avoids overwriting any blocks used by previous snapshots by allocating new blocks for the modified blocks. When the invention needs to put an established block in a new location, it must update a parent block to point to the new location. The update to the parent block may then require allocating a new block for the new parent block and so forth. Parts of the file system not modified since a snapshot remain in place. The amount of space required to represent snapshots scales with the fraction of the file system that users modify. To maintain snapshot integrity, this invention keeps track of the first and last snapshots that use each block in space map blocks spread throughout the file system data space.
    Type: Grant
    Filed: April 19, 2006
    Date of Patent: May 27, 2008
    Assignee: Pillar Data Systems, Inc.
    Inventor: Kurt Alan Shoens
  • Patent number: 7380157
    Abstract: The present invention relates to write operations in data storage systems. In an embodiment, the invention relates to a method of writing data across a plurality of disk arrays, including writing a first copy of the data as a first plurality of stripes corresponding to the plurality of disk arrays and writing a second copy of the data as a second plurality of stripes corresponding to the plurality of disk arrays, wherein the second copy of the data is staggered with respect to the first copy on the plurality of disk arrays.
    Type: Grant
    Filed: October 27, 2004
    Date of Patent: May 27, 2008
    Assignee: Pillar Data Systems, Inc.
    Inventors: Michael Allan Brewer, Robert Arthur Ellis
  • Patent number: 7380059
    Abstract: The present invention relates to a cache memory management system suitable for use with snapshot applications. The system includes a cache directory including a hash table, hash table elements, cache line descriptors, and cache line functional pointers, and a cache manager running a hashing function that converts a request for data from an application to an index to a first hash table pointer in the hash table. The first hash table pointer in turn points to a first hash table element in a linked list of hash table elements where one of the hash table elements of the linked list of hash table elements points to a first cache line descriptor in the cache directory and a cache memory including a plurality of cache lines, wherein the first cache line descriptor has a one-to-one association with a first cache line.
    Type: Grant
    Filed: April 19, 2006
    Date of Patent: May 27, 2008
    Assignee: Pillar Data Systems, Inc.
    Inventor: David Alan Burton
  • Patent number: 7343517
    Abstract: The present invention relates to a method of updating SMD in an array of storage devices. In an embodiment, the method employs an array controller to change the start tag values of a copy set X, write an updated SMD of the copy set X, change the end tag values of copy set X, change the value of X, and repeat the change and write steps above to generate multiple SMD copies on each storage device. In another embodiment, the method updates the SMD in an array of SATA storage devices. In another embodiment, the invention is a data storage system, including at least one host, a plurality of storage nodes coupled to the host(s), where each storage node includes an array controller coupled to an array of storage devices and each storage device includes one or more copies of the SMD, and a system for managing SMD on each storage device. Another feature of the invention is the copying of SMD in all of the storage devices of a data storage system to increase the probability that a map for the data can be recovered.
    Type: Grant
    Filed: February 8, 2007
    Date of Patent: March 11, 2008
    Assignee: Pillar Data Systems, Inc.
    Inventors: Wayne Eugene Miller, Frank Joseph Inzerillo
  • Patent number: 7287134
    Abstract: The invention relates to management of I/O in data storage systems. In an embodiment, the invention provides a data storage subsystem processing I/O requests each having a priority, comprising a processor, a memory coupled to the processor, a disk array, an array controller coupled to the processor and the disk array, a network interface, coupled to the processor, to receive an I/O request with a priority, and a program in the memory for managing the I/O request based on the priority, a clip level of the priority, the total workload in the data storage subsystem, and processing I/O requests based on priority, workload clip levels, and fairness levels. The invention also contemplates the use of static and dynamic adjusted clip levels.
    Type: Grant
    Filed: May 15, 2007
    Date of Patent: October 23, 2007
    Assignee: Pillar Data Systems, Inc.
    Inventors: Wayne Eugene Miller, Yuri Vladimirovich Bagashev, David Alan Burton, Noel Simen Otterness, Paul Michael Remley
  • Patent number: 7257606
    Abstract: The present invention relates to methods and systems of snapshot management of a file system in a data storage system. To represent the snapshots, the invention maintains pointers to the root block pointer of each snapshot. When the active file system is modified, this invention avoids overwriting any blocks used by previous snapshots by allocating new blocks for the modified blocks. When the invention needs to put an established block in a new location, it must update a parent block to point to the new location. The update to the parent block may then require allocating a new block for the new parent block and so forth. Parts of the file system not modified since a snapshot remain in place. The amount of space required to represent snapshots scales with the fraction of the file system that users modify. To maintain snapshot integrity, this invention keeps track of the first and last snapshots that use each block in space map blocks spread throughout the file system data space.
    Type: Grant
    Filed: June 7, 2005
    Date of Patent: August 14, 2007
    Assignee: Pillar Data Systems, Inc.
    Inventors: Vikram Kapoor, Kurt Alan Shoens, Mark Steven Schultz, Rex Rilen Hamilton
  • Patent number: 7222223
    Abstract: The invention relates to management of I/O in data storage systems. In an embodiment, the invention provides a data storage subsystem processing I/O requests each having a priority, comprising a processor, a memory coupled to the processor, a disk array, an array controller coupled to the processor and the disk array, a network interface, coupled to the processor, to receive an I/O request with a priority, and a program in the memory for managing the I/O request based on the priority, a clip level of the priority, the total workload in the data storage subsystem, and processing I/O requests based on priority, workload clip levels, and fairness levels. The invention also contemplates the use of static and dynamic adjusted clip levels.
    Type: Grant
    Filed: October 29, 2004
    Date of Patent: May 22, 2007
    Assignee: Pillar Data Systems, Inc.
    Inventors: Wayne Eugene Miller, Yuri Vladimirovich Bagashev, David Alan Burton, Noel Simen Otterness, Paul Michael Remley
  • Patent number: 7216253
    Abstract: The present invention relates to a method of updating SMD in an array of storage devices. In an embodiment, the method employs an array controller to change the start tag values of a copy set X, write an updated SMD of the copy set X, change the end tag values of copy set X, change the value of X, and repeat the change and write steps above to generate multiple SMD copies on each storage device. In another embodiment, the method updates the SMD in an array of SATA storage devices. In another embodiment, the invention is a data storage system, including at least one host, a plurality of storage nodes coupled to the host(s), where each storage node includes an array controller coupled to an array of storage devices and each storage device includes one or more copies of the SMD, and a system for managing SMD on each storage device. Another feature of the invention is the copying of SMD in all of the storage devices of a data storage system to increase the probability that a map for the data can be recovered.
    Type: Grant
    Filed: March 26, 2003
    Date of Patent: May 8, 2007
    Assignee: Pillar Data Systems, Inc.
    Inventors: Wayne Eugene Miller, Frank Joseph Inzerillo
  • Patent number: 7216192
    Abstract: The present invention relates to systems and methods for configuring a data storage system. One method adds a Fibre Channel device to the loop by beaconing first and second ports, displaying instructions to connect a cable, receiving an indication the cable is connected, enabling the first port, initiating a LIP, and verifying whether the cable is connected. Another method removes a Fibre Channel device from the loop by beaconing the second port, bypassing the first port, initiating a LIP, beaconing the first port, displaying instructions for disconnecting the cable, and receiving an indication the cable is disconnected. A system includes means for displaying instructions to add a Fibre Channel device on the loop and a management controller for beaconing first and second ports, displaying instructions to connect a cable, receiving an indication that the cable is connected, enabling the first port, initiating a LIP, and verifying whether the cable is connected properly.
    Type: Grant
    Filed: April 30, 2004
    Date of Patent: May 8, 2007
    Assignee: Pillar Data Systems, Inc.
    Inventors: Paul Robert Boulay, Michael Allan Brewer, Michael Lee Workman
  • Patent number: 7143122
    Abstract: The present invention relates to system and method of asynchronous data replication. In an embodiment, the system includes a primary host that asynchronously transmits write and sync commands where each write and sync command includes a data set ID and a sequence number. A secondary host coupled to the primary host receives the write and sync commands out of order, tracks receipt of write and sync commands, and after receipt of the write and sync commands of the data set writes blocks associated with the write commands to data storage coupled to the secondary host.
    Type: Grant
    Filed: October 28, 2003
    Date of Patent: November 28, 2006
    Assignee: Pillar Data Systems, Inc.
    Inventors: David Alan Burton, Noel Simen Otterness, Kurt Alan Shoens
  • Patent number: 7136974
    Abstract: The invention relates to snapshots of a data storage system including a host that communicates with a cache memory, source storage, target storage, and metadata, including a source storage for active data, a target storage to store migrated snapshot data, first metadata (e.g., bitmaps and log files with pointers) to indicate when and where the first snapshot data is in target storage, and second metadata (e.g., bitmaps and log files pointers) to indicate when and where the second snapshot data is in target storage where the first and second metadata locate the same snapshot data in the target storage. The invention maintains data consistency when reading metadata for snapshots into host memory, searching the metadata to identify snapshots that require original data to be destaged, destaging the original data to target storage, and updating the metadata to locate the original data and indicate completion of the target destage operation.
    Type: Grant
    Filed: June 19, 2003
    Date of Patent: November 14, 2006
    Assignee: Pillar Data Systems, Inc.
    Inventors: David Alan Burton, Noel Simen Otterness
  • Patent number: 7124243
    Abstract: The present invention relates to a cache memory management system suitable for use with snapshot applications. The system includes a cache directory including a hash table, hash table elements, cache line descriptors, and cache line functional pointers, and a cache manager running a hashing function that converts a request for data from an application to an index to a first hash table pointer in the hash table. The first hash table pointer in turn points to a first hash table element in a linked list of hash table elements where one of the hash table elements of the linked list of hash table elements points to a first cache line descriptor in the cache directory and a cache memory including a plurality of cache lines, wherein the first cache line descriptor has a one-to-one association with a first cache line.
    Type: Grant
    Filed: May 16, 2003
    Date of Patent: October 17, 2006
    Assignee: Pillar Data Systems, Inc.
    Inventors: David Alan Burton, Noel Simen Otterness