Patents by Inventor Stephen H. Strange

Stephen H. Strange 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: 7143249
    Abstract: In one embodiment, a first storage device and a second storage device form a mirror. When the first storage device loses synchronization with the second storage device, data present in the second storage device but not in the first storage device are identified. The identified data are then copied to the first storage device. In one embodiment, a method of rebuilding data in a storage device includes the act of replacing a failed storage device with a replacement storage device. Up-to-date data for the failed storage device, which may be stored in a corresponding mirror, may then be copied to the replacement storage device. Thereafter, the replacement storage device and any other storage devices that have lost synchronization with their mirror are resynchronized.
    Type: Grant
    Filed: August 19, 2002
    Date of Patent: November 28, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Stephen H. Strange, Srinivasan Viswanathan, Douglas P. Doucette, Steven R. Kleiman
  • Patent number: 7111147
    Abstract: A technique maps the capacity of storage devices, such as disks, into any RAID group of a volume of a storage system regardless of the location of the RAID group within a volume block number (VBN) space of the volume. The technique separates disks and mapped VBN ranges, allowing for flexibility in the description and extension of RAID group capacities, while providing disk addition policies that support location-independent disk insertion into RAID groups. The technique also provides a disk label structure that supports the provision of multiple VBN ranges within a RAID group and within individual disks. Moreover, the technique provides file system support for allocation and topology management of the multiple mapped VBN ranges within disks and RAID groups, as well as noncontiguous VBN ranges across the RAID groups in the volume.
    Type: Grant
    Filed: March 21, 2003
    Date of Patent: September 19, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
  • Patent number: 7024586
    Abstract: On disk failure, the storage system migrates only those disk blocks that included allocated data, and treats unallocated disk blocks as being logically zero when possible. When there is no spare disk, the source data block is logically set to zero and parity is recalculated for the RAID stripe associated with the source data block. When there is a spare, unallocated blocks on the spare are logically or physically set to zero upon migration. Write operations for the failed disk are redirected to other non-failing disks, and a record of which in-use disk blocks have been thus “migrated” to those other non-failing disks in maintained. Unused disk blocks are proactively set to zero. A target mirror copy is created using information regarding allocated disk blocks, by copying those blocks including allocated data or parity, and by clearing at the mirror those blocks not including any allocated data or parity.
    Type: Grant
    Filed: June 24, 2002
    Date of Patent: April 4, 2006
    Assignee: Network Appliance, Inc.
    Inventors: Steven R. Kleiman, Stephen H. Strange
  • Patent number: 6965989
    Abstract: A system and method for fast (“warm”) reboot of a file server is provided, which skips certain conventional boot processes when circumstances warrant, in order to reduce server downtime. In particular, time is saved by avoiding a full shutdown of the processor and memory, and by causing the firmware to refrain from a full clearance of the file server memory. Instead, the firmware accesses a retained copy of the storage operating system kernel from a reserved location in the file server memory so that an operative version of the kernel is reestablished at the appropriate address space in memory without requiring a time-consuming read of the kernel image from disk. In addition, other “normal” (cold) reboot operations such as full memory tests, hardware checks and memory zeroing are avoided as appropriate—saving further time in the overall reboot process, while still attaining the desired reinitialization of key applications and functions.
    Type: Grant
    Filed: August 14, 2001
    Date of Patent: November 15, 2005
    Assignee: Network Appliance, Inc.
    Inventors: Stephen H. Strange, Alan L. Rowe, R. Guy Lauterbach
  • Publication number: 20040205387
    Abstract: The invention features a method for controlling storage of data in a plurality of storage devices each including storage blocks, for example, in a RAID array. The method includes receiving a plurality of write requests associated with data, and buffering the write requests. A file system defines a group of storage blocks, responsive to disk topology information. The group includes a plurality of storage blocks in each of the plurality of storage devices. Each data block of the data to be written is associated with a respective one of the storage blocks, for transmitting the association to the plurality of storage devices.
    Type: Application
    Filed: April 2, 2004
    Publication date: October 14, 2004
    Inventors: Steven R. Kleiman, Raiesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • Publication number: 20030237019
    Abstract: On disk failure, the storage system migrates only those disk blocks that included allocated data, and treats unallocated disk blocks as being logically zero when possible. When there is no spare disk, the source data block is logically set to zero and parity is recalculated for the RAID stripe associated with the source data block. When there is a spare, unallocated blocks on the spare are logically or physically set to zero upon migration. Write operations for the failed disk are redirected to other non-failing disks, and a record of which in-use disk blocks have been thus “migrated” to those other non-failing disks in maintained. Unused disk blocks are proactively set to zero. A target mirror copy is created using information regarding allocated disk blocks, by copying those blocks including allocated data or parity, and by clearing at the mirror those blocks not including any allocated data or parity.
    Type: Application
    Filed: June 24, 2002
    Publication date: December 25, 2003
    Inventors: Steven R. Kleiman, Stephen H. Strange
  • Publication number: 20030182502
    Abstract: The invention features a method for controlling storage of data in a plurality of storage devices each including storage blocks, for example, in a RAID array. The method includes receiving a plurality of write requests associated with data, and buffering the write requests. A file system defines a group of storage blocks, responsive to disk topology information. The group includes a plurality of storage blocks in each of the plurality of storage devices. Each data block of the data to be written is associated with a respective one of the storage blocks, for transmitting the association to the plurality of storage devices.
    Type: Application
    Filed: March 21, 2002
    Publication date: September 25, 2003
    Applicant: Network Appliance, Inc.
    Inventors: Steven R. Kleiman, Rajesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • Publication number: 20030182348
    Abstract: The present invention implements an I/O task architecture in which an I/O task requested by the storage manager, for example a stripe write, is decomposed into a number of lower-level asynchronous I/O tasks that can be scheduled independently. Resources needed by these lower-level I/O tasks are dynamically assigned, on an as-needed basis, to balance the load and use resources efficiently, achieving higher scalability. A hierarchical order is assigned to the I/O tasks to ensure that there is a forward progression of the higher-level I/O task and to ensure that resources do not become deadlocked.
    Type: Application
    Filed: March 21, 2002
    Publication date: September 25, 2003
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • Publication number: 20030182503
    Abstract: The present invention implements an I/O task architecture in which an I/O task requested by the storage manager, for example a stripe write, is decomposed into a number of lower-level asynchronous I/O tasks that can be scheduled independently. Resources needed by these lower-level I/O tasks are dynamically assigned, on an as-needed basis, to balance the load and use resources efficiently, achieving higher scalability. A hierarchical order is assigned to the I/O tasks to ensure that there is a forward progression of the higher-level I/O task and to ensure that resources do not become deadlocked.
    Type: Application
    Filed: March 21, 2002
    Publication date: September 25, 2003
    Inventors: James Leong, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Rajesh Sundaram, Srinivasan Viswanathan
  • Publication number: 20030182349
    Abstract: The present invention implements an I/O task architecture in which an I/O task requested by the storage manager, for example a stripe write, is decomposed into a number of lower-level asynchronous I/O tasks that can be scheduled independently. Resources needed by these lower-level I/O tasks are dynamically assigned, on an as-needed basis, to balance the load and use resources efficiently, achieving higher scalability. A hierarchical order is assigned to the I/O tasks to ensure that there is a forward progression of the higher-level I/O task and to ensure that resources do not become deadlocked.
    Type: Application
    Filed: March 21, 2002
    Publication date: September 25, 2003
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Publication number: 20030084242
    Abstract: In one embodiment, a first storage device and a second storage device form a mirror. When the first storage device loses synchronization with the second storage device, data present in the second storage device but not in the first storage device are identified. The identified data are then copied to the first storage device. In one embodiment, a method of rebuilding data in a storage device includes the act of replacing a failed storage device with a replacement storage device. Up-to-date data for the failed storage device, which may be stored in a corresponding mirror, may then be copied to the replacement storage device. Thereafter, the replacement storage device and any other storage devices that have lost synchronization with their mirror are resynchronized.
    Type: Application
    Filed: August 19, 2002
    Publication date: May 1, 2003
    Inventors: Stephen H. Strange, Srinivasan Viswanathan, Douglas P. Doucette, Steven R. Kleiman
  • Publication number: 20020194529
    Abstract: In one embodiment, a first storage device and a second storage device form a mirror. When the first storage device loses synchronization with the second storage device, data present in the second storage device but not in the first storage device are identified. The identified data are then copied to the first storage device.
    Type: Application
    Filed: May 23, 2002
    Publication date: December 19, 2002
    Inventors: Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan, Steven R. Kleiman