Patents by Inventor Douglas P. Doucette

Douglas P. Doucette 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: 7930475
    Abstract: A method for storing data on a plurality of storage devices of a storage system is disclosed. The data is received as data blocks from a plurality of write requests. The data blocks are saved as buffered data for writing to the storage devices in a single write request. An indication is received indicating the available storage blocks on the plurality of storage devices which are available for writing. The buffered data is associated with selected storage blocks of the storage blocks which are available for writing. The buffered data is written to the selected storage blocks in a single write request.
    Type: Grant
    Filed: February 22, 2007
    Date of Patent: April 19, 2011
    Assignee: NetApp, Inc.
    Inventors: Steven R. Kleiman, Rajesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7930326
    Abstract: A file system determines the relative vacancy of a collection of storage blocks, i.e., an “allocation area”. This is accomplished by recording an array of numbers, each of which describes the vacancy of a collection of storage blocks. The file system examines these numbers when attempting to record file blocks in relatively contiguous areas on a storage medium, such as a disk. When a request to write to disk occurs, the system determines the average vacancy of all of the allocation areas and queries the allocation areas for individual vacancy rates. The system preferably writes file blocks to the allocation areas that are above a threshold related to the average storage block vacancy of the file system.
    Type: Grant
    Filed: October 3, 2007
    Date of Patent: April 19, 2011
    Assignee: Network Appliance, Inc.
    Inventors: Douglas P. Doucette, Blake Lewis, John K. Edwards
  • Patent number: 7926059
    Abstract: A data access request to a file system is decomposed into a plurality of lower-level I/O tasks. A logical combination of physical storage components is represented as a hierarchical set of objects. A parent I/O task is generated from a first object in response to the data access request. A child I/O task is generated from a second object to implement a portion of the parent I/O task. The parent I/O task is suspended until the child I/O task completes. The child I/O task is executed in response to an occurrence of an event that a resource required by the child I/O task is available. The parent I/O task is resumed upon an event indicating completion of the child I/O task. Scheduling of any child I/O task is not conditional on execution of the parent I/O task, and a state diagram regulates the child I/O tasks.
    Type: Grant
    Filed: May 13, 2009
    Date of Patent: April 12, 2011
    Assignee: NetApp, Inc.
    Inventors: Srinivasan Viswanathan, James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange
  • Publication number: 20100095060
    Abstract: A computer storage system is described. A range of volume block numbers (VBNs) is assigned to a volume. A range of storage device block numbers (DBNs) is assigned to each of a plurality of storage devices. A first mapping parameters are created to map a first range of VBN numbers to a first selected range of DBNs using a first portion of a new storage device. A second mapping parameters are created to map a second range of VBN numbers to a second range of DBNs on a second portion of the new storage device.
    Type: Application
    Filed: December 17, 2009
    Publication date: April 15, 2010
    Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
  • Patent number: 7660966
    Abstract: A storage operating system is configured to assign volume block numbers (VBNs) to a volume. The system has a plurality of disks, and each disk of the plurality of disks is assigned disk block numbers (DBNs). A raidmap is configured to map the VBNs to the DBNs of the plurality of physical disks, the mapping for a particular disk stored in a disk label for the particular disk. The disk label for the particular disk is then written to the particular disk.
    Type: Grant
    Filed: August 2, 2006
    Date of Patent: February 9, 2010
    Assignee: NetApp, Inc.
    Inventors: Stephen H. Strange, Scott Schoenthal, Douglas P. Doucette, Srinivasan Viswanathan
  • Patent number: 7603532
    Abstract: A system and method for reclaiming unused space from a thinly provisioned data container served by a storage system. A host-side agent detects blocks of the data container that may be freed and sends a novel Punch Hole command to the storage system associated with the data container. The storage system allocates the appropriate blocks in response to the Punch Hole command.
    Type: Grant
    Filed: October 15, 2004
    Date of Patent: October 13, 2009
    Assignee: NetApp, Inc.
    Inventors: Vijayan Rajan, David Brittain Bolen, Douglas P. Doucette
  • Publication number: 20090248763
    Abstract: A method for operating a computer storage system maintains a client computer interacting with the storage system, the client computer storing data on a data storage device of the computer storage system. Locating, by a client-side agent executing on the client computer that examines metadata of the client computer, one or more sets of blocks allocated and then deleted, hereinafter referred to as deleted blocks, within the computer storage system. Sending a command to the storage system, the command to identify the deleted blocks within the computer storage system. Deallocating, in response to receiving the command, the identified deleted blocks within the computer storage system.
    Type: Application
    Filed: May 26, 2009
    Publication date: October 1, 2009
    Inventors: Vijayan Rajan, David Brittain Bolen, Douglas P. Doucette
  • Publication number: 20090222829
    Abstract: A data access request to a file system is decomposed into a plurality of lower-level I/O tasks. A logical combination of physical storage components is represented as a hierarchical set of objects. A parent I/O task is generated from a first object in response to the data access request. A child I/O task is generated from a second object to implement a portion of the parent I/O task. The parent I/O task is suspended until the child I/O task completes. The child I/O task is executed in response to an occurrence of an event that a resource required by the child I/O task is available. The parent I/O task is resumed upon an event indicating completion of the child I/O task. Scheduling of any child I/O task is not conditional on execution of the parent I/O task, and a state diagram regulates the child I/O tasks.
    Type: Application
    Filed: May 13, 2009
    Publication date: September 3, 2009
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7539991
    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: Grant
    Filed: March 21, 2002
    Date of Patent: May 26, 2009
    Assignee: NetApp, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7467282
    Abstract: A file system migrates a traditional volume to a virtual volume without data copying. In an embodiment, a traditional volume index node is selected for migration. The traditional volume index node is converted to a virtual volume index node. In one embodiment, the virtual volume index node provides both physical address information and virtual address information.
    Type: Grant
    Filed: April 5, 2005
    Date of Patent: December 16, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Sriram Rao, John Edwards, Douglas P. Doucette, Cheryl Thompson
  • Patent number: 7437727
    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: Grant
    Filed: March 21, 2002
    Date of Patent: October 14, 2008
    Assignee: Network Appliance, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7328306
    Abstract: The invention provides flexible disabling of disk sets. One or more disks in a RAID sub-system may be identified as temporarily inactive. The disk or disks are then marked as inactive by setting one of a set of bits associated with each disk in the RAID subsystem. If an inactivated disk is a data disk, marking it as inactive also marks it as read only. If an inactivated disk is a parity disk, the RAID group to which it supplies parity is also inactivated and a file system must look to a mirror of the inactivated RAID sub-system for its data. When a data disk is reactivated it is marked as read/write by clearing its associated bit. When a parity disk is reactivated it is also marked as read/write by clearing its bit, however, it is not available for use until it has synchronized its operation with its mirror.
    Type: Grant
    Filed: December 20, 2004
    Date of Patent: February 5, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Srinivasan Viswanathan, Douglas P. Doucette
  • Patent number: 7290013
    Abstract: The invention provides a method and system for improving data access of a reliable file system. In a first aspect of the invention, the file system determines the relative vacancy of a collection of storage blocks, herein called an “allocation area”. This is accomplished by recording an array of binary numbers. Each binary number in the array describes the vacancy of a collection of storage blocks. The file system examines these binary numbers when attempting to record file blocks in relatively contiguous areas on a storage medium, such as a hard disk. When a request to write to disk occurs, the system determines the average vacancy of all the allocation areas and queries the allocation areas for individual vacancy rates such as sequentially. The system preferably writes file blocks to the allocation areas that are above a threshold related to the average storage block vacancy of the file system.
    Type: Grant
    Filed: October 17, 2003
    Date of Patent: October 30, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Douglas P. Doucette, Blake Lewis, John Edwards
  • Patent number: 7254813
    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: Grant
    Filed: March 21, 2002
    Date of Patent: August 7, 2007
    Assignee: Network Appliance, Inc.
    Inventors: James Leong, Rajesh Sundaram, Douglas P. Doucette, Scott Schoenthal, Stephen H. Strange, Srinivasan Viswanathan
  • Patent number: 7200715
    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: Grant
    Filed: March 21, 2002
    Date of Patent: April 3, 2007
    Assignee: Network Appliance, Inc.
    Inventors: Steven R. Kleiman, Rajesh Sundaram, Douglas P. Doucette, Stephen H. Strange, Srinivasan Viswanathan
  • 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: 6836820
    Abstract: The invention provides flexible disabling of disk sets. One or more disks in a RAID subsystem may be identified as temporarily inactive. The disk or disks are then marked as inactive by setting one of a set of bits associated with each disk in the RAID subsystem. If an inactivated disk is a data disk, marking it as inactive also marks it as read only. If an inactivated disk is a parity disk, the RAID group to which it supplies parity is also inactivated and a file system must look to a mirror of the inactivated RAID subsystem for its data. When a data disk is reactivated it is marked as read/write by clearing its associated bit. When a parity disk is reactivated it is also marked as read/write by clearing its bit, however, it is not available for use until it has synchronized its operation with its mirror.
    Type: Grant
    Filed: February 25, 2002
    Date of Patent: December 28, 2004
    Assignee: Network Appliance, Inc.
    Inventors: Srinivasan Viswanathan, Douglas P. Doucette
  • 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: 20040139273
    Abstract: The invention provides a method and system for improving data access of a reliable file system. In a first aspect of the invention, the file system determines the relative vacancy of a collection of storage blocks, herein called an “allocation area”. This is accomplished by recording an array of binary numbers. Each binary number in the array describes the vacancy of a collection of storage blocks. The file system examines these binary numbers when attempting to record file blocks in relatively contiguous areas on a storage medium, such as a hard disk. When a request to write to disk occurs, the system determines the average vacancy of all the allocation areas and queries the allocation areas for individual vacancy rates such as sequentially. The system preferably writes file blocks to the allocation areas that are above a threshold related to the average storage block vacancy of the file system.
    Type: Application
    Filed: October 17, 2003
    Publication date: July 15, 2004
    Applicant: Network Appliance, Inc.
    Inventors: Douglas P. Doucette, Blake Lewis, John K. Edwards