Patents by Inventor Peter Corbett
Peter Corbett 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: 11144374Abstract: Example implementations relate to preserving data availability in a constrained deployment of an HA system (e.g., an HA storage system) in the presence of pending faults. According to an example, a first arbiter, acting as a witness to facilitate maintaining quorum for the HA system, and a first node are provided within a first failure domain; and a second arbiter, serving as a backup arbiter, and a second node are provided within a second failure domain. Responsive to receipt of an indication of a pending fault impacting the first failure domain by a member of the current configuration of the HA system, establishment of a new configuration, excluding the first arbiter and including the second arbiter, is initiated. Responsive to a majority of the current configuration installing the new configuration, the second arbiter is enabled to serve as the active arbiter by transferring state information to the second arbiter.Type: GrantFiled: September 20, 2019Date of Patent: October 12, 2021Assignee: Hewlett Packard Enterprise Development LPInventors: Bradford Glade, Peter Corbett
-
Publication number: 20210089376Abstract: Example implementations relate to preserving data availability in a constrained deployment of an HA system (e.g., an HA storage system) in the presence of pending faults. According to an example, a first arbiter, acting as a witness to facilitate maintaining quorum for the HA system, and a first node are provided within a first failure domain; and a second arbiter, serving as a backup arbiter, and a second node are provided within a second failure domain. Responsive to receipt of an indication of a pending fault impacting the first failure domain by a member of the current configuration of the HA system, establishment of a new configuration, excluding the first arbiter and including the second arbiter, is initiated. Responsive to a majority of the current configuration installing the new configuration, the second arbiter is enabled to serve as the active arbiter by transferring state information to the second arbiter.Type: ApplicationFiled: September 20, 2019Publication date: March 25, 2021Inventors: Bradford Glade, Peter Corbett
-
Patent number: 9857982Abstract: A storage system includes data storage devices, bus conductors, and mobile reader/writer devices. Each of the storage devices is positioned between insulators, is at one of a plurality of locations on one of one or more shelf assemblies, and comprises a processor coupled to a memory and an interface device. One of the bus conductors is adjacent each of the insulators. Each of the reader/writer devices includes a transport apparatus, a processor and a memory. The transport apparatus is configured to move one of the reader/writer devices to one or more of the locations when engaged. The processor is coupled to the transport apparatus and the memory and is configured to execute machine executable code to: engage the transport apparatus to position one of the reader/writer devices to one of the locations in response to a received operation; couple power to one of the storage devices; and execute the operation.Type: GrantFiled: September 8, 2017Date of Patent: January 2, 2018Assignee: NetApp, Inc.Inventors: David Slik, Peter Corbett
-
Publication number: 20170371307Abstract: A storage system includes data storage devices, bus conductors, and mobile reader/writer devices. Each of the storage devices is positioned between insulators, is at one of a plurality of locations on one of one or more shelf assemblies, and comprises a processor coupled to a memory and an interface device. One of the bus conductors is adjacent each of the insulators. Each of the reader/writer devices includes a transport apparatus, a processor and a memory. The transport apparatus is configured to move one of the reader/writer devices to one or more of the locations when engaged. The processor is coupled to the transport apparatus and the memory and is configured to execute machine executable code to: engage the transport apparatus to position one of the reader/writer devices to one of the locations in response to a received operation; couple power to one of the storage devices; and execute the operation.Type: ApplicationFiled: September 8, 2017Publication date: December 28, 2017Inventors: David Slik, Peter Corbett
-
Patent number: 9766811Abstract: A flash-based storage warehouse system includes flash memory devices and reader/writer devices that are moveable to different locations in a structure. Each of the flash memory devices are at one of the different locations in the structure. Each of the reader/writer devices includes a locomotion apparatus configured to move the corresponding one of the reader/writer devices to a different location in the structure and a processor coupled to a memory and the locomotion apparatus that is configured to execute machine executable code to: engage the locomotion apparatus to adjustably position one of reader/writer devices to one of the locations in the structure in response to a received operation; couple power via the corresponding one of the reader/writer devices to one of the flash memory devices at the one of the locations in the structure; and execute the operation on the flash memory device at the location in the structure.Type: GrantFiled: April 29, 2016Date of Patent: September 19, 2017Assignee: NetApp, Inc.Inventors: David Slik, Peter Corbett
-
Patent number: 8874864Abstract: An on-disk structure of a file system has the capability to maintain snapshot and file system metadata on a storage system. The on-disk structure arranges file system data sequentially on disk within regions, wherein each region comprises a predetermined amount of disk space represented by blocks. The snapshot and file system metadata is maintained within level 1 (L1) indirect blocks of the on-disk structure. Each L1 indirect block describes (i.e., represents) a corresponding region of the on-disk structure of the file system; in the case of an active region, e.g., an L1 indirect block represents an active file data portion of a large file. The L1 indirect block that references an active region also performs file block number-to-disk block number mapping for the region.Type: GrantFiled: September 10, 2013Date of Patent: October 28, 2014Assignee: NetApp, Inc.Inventors: Peter Corbett, Michael Kazar
-
Publication number: 20140013046Abstract: An on-disk structure of a file system has the capability to maintain snapshot and file system metadata on a storage system. The on-disk structure arranges file system data sequentially on disk within regions, wherein each region comprises a predetermined amount of disk space represented by blocks. The snapshot and file system metadata is maintained within level 1 (L1) indirect blocks of the on-disk structure. Each L1 indirect block describes (i.e., represents) a corresponding region of the on-disk structure of the file system; in the case of an active region, e.g., an L1 indirect block represents an active file data portion of a large file. The L1 indirect block that references an active region also performs file block number-to-disk block number mapping for the region.Type: ApplicationFiled: September 10, 2013Publication date: January 9, 2014Applicant: NetApp, Inc.Inventors: Peter Corbett, Michael Kazar
-
Patent number: 8296320Abstract: A storage server maintains a number of datasets (e.g., exported file systems or other resources). For each dataset, certain clients are allowed to have access (e.g., read access, write access, root access, etc.) and certain other clients are not allowed to have access. Access permission information is maintained to specify which clients are allowed to have access and what kind of access. A method and system are introduced to use a radix tree to store access permission information in a cache, therefore allowing the storage server to quickly retrieve access information relevant to a particular client. One advantage of using radix tree to maintain access permission information is that radix tree is very efficient at storing hierarchical information, such as IP addresses. Radix tree is also very efficient at representing subnets in particular.Type: GrantFiled: April 30, 2007Date of Patent: October 23, 2012Assignee: Network Appliance, Inc.Inventors: Peter Corbett, Saadia Shaheen Khan, Vadim Finkelstein, Mukesh Kacker
-
Patent number: 8176012Abstract: A system and method that provides users of network data storage with the ability to gain advantages of a clustered storage server system, in which volumes from multiple server nodes are linked into a virtual global hierarchical namespace, without first having to migrate their data to the clustered storage server system. The system and method extends the global namespace of the clustered storage server system to allow access to one or more volumes stored on one or more remote storage servers over at least one network pathway communicably connecting the remote storage servers and the clustered storage server system. In addition, the system and method allows loads to the clustered system and to the remote storage servers to be balanced or shared by generating at least one set of mirrored volumes accessible via the extended global namespace of the clustered system.Type: GrantFiled: October 6, 2008Date of Patent: May 8, 2012Assignee: NetApp, Inc.Inventors: Faramarz Rabii, Peter Corbett
-
Patent number: 8156163Abstract: A storage controller is operable concurrently as an independent storage server and as at least a portion of a node of a storage server cluster. A network storage system comprises multiple storage controllers and multiple independent storage servers, each storage server implemented in a separate storage controller, each of the storage server configured to present to users a separate system image of stored data. The storage servers are independently operable and manageable. The system further includes a storage server cluster that includes cooperating storage server nodes, distributed among the storage controllers. The storage server cluster presents to users a single system image of data stored in the server cluster independently of the node or nodes in which said data resides. The storage server cluster is operable independently of the independent storage servers and is operable concurrently with operation of at least one of the independent storage servers.Type: GrantFiled: June 23, 2009Date of Patent: April 10, 2012Assignee: NetApp, Inc.Inventors: Eric C. Hamilton, Peter Corbett
-
Patent number: 8078622Abstract: A system and method that provides users of network data storage systems with the ability to gain the advantages of a clustered storage server system, in which volumes stored on multiple server nodes are linked into a virtual global hierarchical namespace, without first having to migrate their data to the clustered storage server system. The system employs an extended virtual global hierarchical namespace that allows client systems to access, via the extended global namespace, volumes stored on the clustered storage server system and on one or more storage servers that are remote from and do not constitute a part of the clustered system. The extended global namespace can also be employed to perform migration of volume data among the multiple nodes of the clustered storage server system and the remote storage servers.Type: GrantFiled: October 30, 2008Date of Patent: December 13, 2011Assignee: Network Appliance, Inc.Inventors: Faramarz Rabii, Hooman Vassef, Peter Corbett, Keith Arner
-
Publication number: 20100114889Abstract: A system and method that provides users of network data storage systems with the ability to gain the advantages of a clustered storage server system, in which volumes stored on multiple server nodes are linked into a virtual global hierarchical namespace, without first having to migrate their data to the clustered storage server system. The system employs an extended virtual global hierarchical namespace that allows client systems to access, via the extended global namespace, volumes stored on the clustered storage server system and on one or more storage servers that are remote from and do not constitute a part of the clustered system. The extended global namespace can also be employed to perform migration of volume data among the multiple nodes of the clustered storage server system and the remote storage servers.Type: ApplicationFiled: October 30, 2008Publication date: May 6, 2010Applicant: NETAPP, INC.Inventors: Faramarz Rabii, Hooman Vassef, Peter Corbett, Keith Arner
-
Publication number: 20070180303Abstract: A uniform and symmetric, double failure-correcting technique protects against two or fewer disk failures in a disk array of a storage system. A RAID system of the storage system generates two disks worth of “redundant” information for storage in the array, wherein the redundant information (e.g., parity) is illustratively derived from computations along both diagonal parity sets (“diagonals”) and row parity sets (“rows”). Specifically, the RAID system computes row parity along rows of the array and diagonal parity along diagonals of the array. However, the contents of the redundant (parity) information disks interact such that neither disk contains purely (solely) diagonal or row redundancy information; the redundant information is generated using diagonal parity results in row parity computations (and vice versa).Type: ApplicationFiled: January 16, 2007Publication date: August 2, 2007Inventors: Peter Corbett, Robert English, Steven Kleiman
-
Publication number: 20070180348Abstract: A method for enabling recovery from concurrent failure of a plurality of storage devices in a storage array is disclosed. The method stores data on a first plurality of storage devices of the storage array. The first plurality of storage devices may have a number of storage devices equal to a prime number greater then three. Row parity is stored on one or more storage devices of the storage array. A diagonal parity set is computed for the plurality of storage devices. The diagonal parity set is stored on an additional diagonal parity device, the diagonal parity device separate from the first plurality of storage devices.Type: ApplicationFiled: February 23, 2007Publication date: August 2, 2007Inventors: Peter Corbett, Steven Kleiman, Robert English
-
Publication number: 20070101069Abstract: A lightweight coherency control protocol ensures consistency of data containers, such as a file, and associated data buffers stored on one or more volumes served by a plurality of nodes, e.g., storage systems, connected as a cluster. Each data buffer is associated with a current cache sequence number comprising a load generation value and an update count value. The load generation value is incremented every time an inode of a file is loaded into a memory of the storage system. Once the inode is loaded and its load generation value is set, then the appropriate buffer of a buffer tree for the file is loaded into the memory. The update count value is incremented each time the buffer is updated with a write request/operation. Therefore, each buffer loaded into memory is tagged with the load generation value and an update count from the time that buffer is loaded.Type: ApplicationFiled: November 1, 2005Publication date: May 3, 2007Inventors: Peter Corbett, J. Wagner
-
Publication number: 20070089045Abstract: A triple parity (TP) technique reduces overhead of computing diagonal and anti-diagonal parity for a storage array adapted to enable efficient recovery from the concurrent failure of three storage devices in the array. The diagonal parity is computed along diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the diagonal parity sets except one is stored on the diagonal parity disk. Similarly, the anti-diagonal parity is computed along anti-diagonal parity sets that collectively span all data disks and a row parity disk of the array. The parity for all of the anti-diagonal parity sets except one is stored on the anti-diagonal parity disk. The TP technique provides a uniform stripe depth and an optimal amount of parity information.Type: ApplicationFiled: December 15, 2005Publication date: April 19, 2007Inventors: Peter Corbett, Atul Goel
-
Publication number: 20070083710Abstract: A semi-static distribution technique distributes parity across disks of an array. According to the technique, parity is distributed (assigned) across the disks of the array in a manner that maintains a fixed pattern of parity blocks among the stripes of the disks. When one or more disks are added to the array, the semi-static technique redistributes parity in a way that does not require recalculation of parity or moving of any data blocks. Notably, the parity information is not actually moved; the technique merely involves a change in the assignment (or reservation) for some of the parity blocks of each pre-existing disk to the newly added disk.Type: ApplicationFiled: December 5, 2006Publication date: April 12, 2007Inventors: Peter Corbett, Steven Kleiman, Robert English
-
Publication number: 20060248273Abstract: Provided is a method and system for data allocation within a storage system architecture. One or more nodes of the storage system architecture provides access to striped data stored on a striped volume set. Each node can store a volume of the striped volume set. Further, the striped volume set is identified by a striping table. When modifying the storage system architecture, such as adding a volume to, or removing a volume from, the striped volume set, the striping table is rearranged to accurately identify the location of striped data on the striped volume set. At least one restriping process implemented on the striping table affects the volume utilization efficiency, hot-spotting behavior, and distribution efficiency of the striped volume set.Type: ApplicationFiled: April 29, 2005Publication date: November 2, 2006Applicant: NETWORK APPLIANCE, INC.Inventors: Richard Jernigan, Allen Tracht, Peter Corbett
-
Publication number: 20060242542Abstract: A method for correcting double failures in a storage array has the following steps. A storage array is organized as a plurality of concatenated sub-arrays, each sub-array including a set of data storage devices and a row parity storage device. Row parity is computed for each row of each sub-array. The row parity of a particular sub-array is stored on a row parity storage device of the particular sub-array. A diagonal parity is computed across the concatenated sub-arrays. A double storage device failure is corrected using both the sub-array row parity and the diagonal parity.Type: ApplicationFiled: April 12, 2006Publication date: October 26, 2006Inventors: Robert English, Peter Corbett, Steven Kleiman
-
Publication number: 20060224917Abstract: A method for storing data for correction of multiple data storage failures in a storage array is presented. The storage array is organized as a plurality of sub-arrays, each sub-array including a set of data storage devices and a plurality of local parity storage blocks, each of the plurality of local storage blocks storing parity information for a corresponding sub-array. A plurality of diagonal parity sets is computed, one diagonal parity set for each sub-array. A global diagonal parity is computed by logically combining together a plurality of the diagonal parity sets. The global diagonal parity is stored in a plurality of global diagonal parity storage blocks.Type: ApplicationFiled: June 2, 2006Publication date: October 5, 2006Inventors: Steven Kleiman, Robert English, Peter Corbett