Patents by Inventor Raymond C. Chen

Raymond C. Chen 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: 8370301
    Abstract: A computerized file system has a first software layer for writing data blocks to persistent storage, and a second software layer for receiving requests from a client, and in response to receiving a request passing a command to the first software layer. A current bit map shows data blocks of persistent storage which are allocated to holding data of the file system. A safe copy of the current bit map is maintained. A third copy of the current bit map is passed, at a selected time, to the first software layer to enable the first software layer to write data blocks containing the bit map current at the selected time to the persistent storage, and simultaneously changing the current bit map as maintained in a computer memory while data blocks containing the bit map current at the selected time are written to the persistent storage.
    Type: Grant
    Filed: June 12, 2007
    Date of Patent: February 5, 2013
    Assignee: NetApp, Inc.
    Inventor: Raymond C. Chen
  • Patent number: 8161007
    Abstract: A system and method for improving the efficiency of the transmission of updated blocks generated by logging all the block allocations and deletes as well as CPs and PCPI creation and deletion in a persistent log. The log is scanned during each update cycle (in which changes are transmitted to a destination mirror) by the storage operating system, and only changed blocks that are referenced by the file system as it existed at the end of the update cycle or referenced by PCPIs that existed at the end of the update cycle are actually sent in the transmission. This reduces the number of changes being transmitted.
    Type: Grant
    Filed: January 27, 2010
    Date of Patent: April 17, 2012
    Assignee: NetApp, Inc.
    Inventor: Raymond C. Chen
  • Patent number: 8135678
    Abstract: A file which has been changed from a data storage system is restored. If the file was changed from an active file system, a set of twin pointers is created by copying from the latest pointers in the active file system before the file system was changed. A pointer from the twin pointers is compared with a pointer from a snapshot of the active file system. If a pointer from the twin pointers points to a same data block as the pointer from the snapshot, the twin pointer is written into the active file system to restore the file to the active file system. If the pointers do not point to the same data block, a data of the block is copied to a new block in the active file system to restore data changed since the snapshot was taken.
    Type: Grant
    Filed: August 19, 2011
    Date of Patent: March 13, 2012
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Kayuri Patel, Vijayan Rajan
  • Patent number: 8069149
    Abstract: In a system and method for updating a remote replicated destination file system snapshot with changes in a source file system snapshot, users and processes are redirected to a local exported snapshot of the replicated snapshot on the active file system on the destination before beginning the next update of the active file system's replicated snapshot. In this manner, an unstable replicated snapshot is not accessed. Indirection is introduced into inode lookup at the destination as the destination's active file system is being updated. The indirection can be based upon a snapshot ID that conforms to a latest exported snapshot ID.
    Type: Grant
    Filed: June 8, 2011
    Date of Patent: November 29, 2011
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Stephen L. Manley
  • Patent number: 8010503
    Abstract: A method for restoring a file which has been deleted from a data storage system is described. A set of twin pointers is created by copying from the latest pointers in the active file system at a time of restoration. A new set of pointers is created. A pointer from the twin pointers is compared with a pointer from a snapshot of the active file system made at a time earlier than the deletion of the file. In response to a pointer from the snapshot pointing to a different data block than the pointer from the twin pointers, writing the snapshot pointer into the new set of pointers. Writing the new set of pointers into the active file system at the time of restoration to restore the file to the active file system.
    Type: Grant
    Filed: January 8, 2007
    Date of Patent: August 30, 2011
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Kayuri Patel, Vijayan Rajan
  • Patent number: 7991791
    Abstract: In a system and method for updating a remote replicated destination file system snapshot with changes in a source file system snapshot, users and processes are redirected to a local exported snapshot of the replicated snapshot on the active file system on the destination before beginning the next update of the active file system's replicated snapshot. In this manner, an unstable replicated snapshot is not accessed. Indirection is introduced into inode lookup at the destination as the destination's active file system is being updated. The indirection can be based upon a snapshot ID that conforms to a latest exported snapshot ID.
    Type: Grant
    Filed: October 8, 2009
    Date of Patent: August 2, 2011
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Stephen L. Manley
  • Patent number: 7979416
    Abstract: A data storage system is disclosed. A flag is maintained in metadata pointing to a block of data. A first value of the flag indicates that the block of data is stored in a user accessible file. A second value of the flag indicates that the block of data is stored in a protected file. The flag pointing to the requested data block is checked upon receipt of a data access request. When the flag has the first value the data access request is permitted. When the flag has the second value, an access control list is checked, and if the requesting client is listed in the access control list permitting the data access request, and if the requesting client is not listed in the access control list denying the data access request.
    Type: Grant
    Filed: September 22, 2009
    Date of Patent: July 12, 2011
    Assignee: NetApp, Inc.
    Inventors: Douglas J. Santry, Raymond C. Chen
  • Patent number: 7958168
    Abstract: A method and apparatus are disclosed for restoring a virtual disk (vdisk) in a data storage system as the vdisk was at an earlier time. Pointers are maintained to point to data represented by the vdisk. The pointers are saved to persistent storage at the earlier time. The data at the earlier time is maintained on the data storage device. A pointer pointing to data represented by the vdisk at a later time is compared with the pointers saved at the earlier time. If the pointer from the later time matches the pointer saved at the earlier time, keeping the pointer from the later time in the active file system. If the pointer from the later time does not match the pointers saved at the earlier time, copying a set of pointers associated with the pointer saved at the earlier time to the active file system.
    Type: Grant
    Filed: April 14, 2010
    Date of Patent: June 7, 2011
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Kayuri Patel, Vijayan Rajan
  • Patent number: 7930275
    Abstract: The present invention relates to a system for restoring a file from a snapshot, where a version of the file exists in both an active file system and the snapshot. A twin inode is created in the active file system and comparisons are made between block pointers of the twin inode and the snapshot. If there is a match, the block pointer of the twin inode is moved to the active file system. If there is not a match, a determination is made whether the snapshot block pointer exists in the active file system. If the snapshot block pointer does not exist in the active file system, it is copied to the active file system. If it does exist, then the actual data block pointed to by the snapshot block pointer is copied to the active file system. In this way, a file may be restored without the need to always copy every individual data block or inode from the snapshot.
    Type: Grant
    Filed: November 29, 2005
    Date of Patent: April 19, 2011
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Kayuri Patel, Andy C. Kahn, John K. Edwards
  • Patent number: 7783684
    Abstract: The present invention provides a technique for efficiently generating and validating external file handles at a storage operating system of a filer. According to one aspect of the technique, the storage operating system associates a unique internal file handle with each file or directory stored in the filer. This unique internal file handle is used to generate a corresponding external file handle. Unlike previous approaches, the internal file handles' representations do not change depending on the location of their corresponding files or directories, e.g., on-disk or in-core, within the filer, thereby simplifying file management within the filer. According to another aspect of the inventive technique, the filer executes a file-handle validation procedure to determine whether an external file handle received with a file access request has become invalid (or “stale”) as a result of an NVRAM failure in the filer.
    Type: Grant
    Filed: November 17, 2006
    Date of Patent: August 24, 2010
    Assignee: NetApp, Inc.
    Inventors: Edward R. Zayas, Raymond C. Chen, Blake H. Lewis
  • Publication number: 20100198795
    Abstract: A method and apparatus are disclosed for restoring a virtual disk (vdisk) in a data storage system as the vdisk was at an earlier time. Pointers are maintained to point to data represented by the vdisk. The pointers are saved to persistent storage at the earlier time. The data at the earlier time is maintained on the data storage device. A pointer pointing to data represented by the vdisk at a later time is compared with the pointers saved at the earlier time. If the pointer from the later time matches the pointer saved at the earlier time, keeping the pointer from the later time in the active file system. If the pointer from the later time does not match the pointers saved at the earlier time, copying a set of pointers associated with the pointer saved at the earlier time to the active file system.
    Type: Application
    Filed: April 14, 2010
    Publication date: August 5, 2010
    Inventors: Raymond C. Chen, Kayuri Patel, Vijayan Rajan
  • Patent number: 7743035
    Abstract: A method for restoring a virtual disk (vdisk) in an active file system to an earlier time is described. Pointers pointing to data represented by the virtual disk are maintained. The pointers are saved to persistent storage at the earlier time. A pointer at a later time is compared with the pointers saved at the earlier time. If the pointer from the later time matches the pointer saved at the earlier time, the pointer from the later time is kept in the active file system. If the pointer from the later time does not match the pointers saved at the earlier time, a set of pointers associated with the pointer saved at the earlier time is copied to the active file system.
    Type: Grant
    Filed: June 7, 2006
    Date of Patent: June 22, 2010
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Kayuri Patel, Vijayan Rajan
  • Publication number: 20100131466
    Abstract: A system and method for improving the efficiency of the transmission of updated blocks generated by logging all the block allocations and deletes as well as CPs and PCPI creation and deletion in a persistent log. The log is scanned during each update cycle (in which changes are transmitted to a destination mirror) by the storage operating system, and only changed blocks that are referenced by the file system as it existed at the end of the update cycle or referenced by PCPIs that existed at the end of the update cycle are actually sent in the transmission. This reduces the number of changes being transmitted.
    Type: Application
    Filed: January 27, 2010
    Publication date: May 27, 2010
    Inventor: Raymond C. Chen
  • Patent number: 7720801
    Abstract: A system and method for improving the efficiency of the transmission of updated blocks generated by logging all the block allocations and deletes as well as CPs and PCPI creation and deletion in a persistent log. The log is scanned during each update cycle (in which changes are transmitted to a destination mirror) by the storage operating system, and only changed blocks that are referenced by the file system as it existed at the end of the update cycle or referenced by PCPIs that existed at the end of the update cycle are actually sent in the transmission. This reduces the number of changes being transmitted.
    Type: Grant
    Filed: December 17, 2004
    Date of Patent: May 18, 2010
    Assignee: NetApp, Inc.
    Inventor: Raymond C. Chen
  • Patent number: 7644109
    Abstract: A system and method for conforming a metadata file associated with qtree of a storage system to a version used by a file system kernel of the storage system, where the version indicates a format of the metadata file. The metadata file stores state information with respect to each qtree, and may be located outside of the qtree structure. Major and minor versions are compared with latest known major and minor versions associated with the file system kernel. In response to such comparisons, the metadata file may be updated to a newer version, rolled back to an older version, and/or the system may enter a corrective state where further operations are performed.
    Type: Grant
    Filed: January 9, 2006
    Date of Patent: January 5, 2010
    Assignee: NetApp, Inc.
    Inventors: Stephen L. Manley, Raymond C. Chen, John K. Edwards
  • Patent number: 7617217
    Abstract: In a system and method for updating a remote replicated destination file system snapshot with changes in a source file system snapshot, users and processes are redirected to a local exported snapshot of the replicated snapshot on the active file system on the destination before beginning the next update of the active file system's replicated snapshot. In this manner, an unstable replicated snapshot is not accessed. Indirection is introduced into inode lookup at the destination as the destination's active file system is being updated. The indirection can be based upon a snapshot ID that conforms to a latest exported snapshot ID.
    Type: Grant
    Filed: January 26, 2006
    Date of Patent: November 10, 2009
    Assignee: NetApp, Inc.
    Inventors: Raymond C. Chen, Stephen L. Manley
  • Patent number: 7613724
    Abstract: A metadirectory namespace is provided for storing files and directories “hidden” from one or more user-accessible namespaces. The metadirectory namespace is a separate, parallel namespace that coexists with other user-accessible namespaces in a storage operating system. Files and directories may be identified as being stored in a metadirectory based on their location or based on their associated flags. The metadirectory namespace may be selectively exported only to clients, users and applications given special file access permissions.
    Type: Grant
    Filed: September 26, 2007
    Date of Patent: November 3, 2009
    Assignee: NetApp, Inc.
    Inventors: Douglas J. Santry, Raymond C. Chen
  • Patent number: 7506213
    Abstract: A method for handling a fault in a storage system comprises maintaining data in a mass storage subsystem and providing access to the data on behalf of a client. The method further comprises detecting a fault in a volume of data stored in the mass storage subsystem, determining a severity of the fault, and selecting a course of action in response to the fault, based on the severity of the fault.
    Type: Grant
    Filed: January 19, 2006
    Date of Patent: March 17, 2009
    Assignee: Network Appliance, Inc.
    Inventors: George Cabrera, III, Raymond C. Chen, Paul C. Eastham, Sreelatha Reddy
  • Patent number: 7451167
    Abstract: A storage server provides a set of client devices with access to a set of mass storage devices. The storage server receives requests from the client devices, each request representing a storage operation to be performed by the storage server on the set of mass storage devices. The storage server maintains a log of write requests received from the client devices, the log including a separate log entry for each of the write requests, and a separate checksum in each of the log entries. Each checksum is for use by a checksum algorithm in determining data integrity of the corresponding log entry. The checksum algorithm is selected, from among a number of selectable a checksum algorithms, based on one or more predetermined criteria, such as a desired balance between performance and checksum strength.
    Type: Grant
    Filed: October 24, 2003
    Date of Patent: November 11, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Naveen Bali, Raymond C. Chen, Kayuri Patel, Alexander D. Petruncola
  • Patent number: 7444361
    Abstract: A method for reducing duplicate data of an active file system, where the data is stored on a storage device of a storage system, is disclosed. A persistent image of the active file system is generated at a first point in time. At a later time, a sequence of steps to compare the active file system with the persistent image is initiated. Then, if a block of data of the active file system is identical to the data in the persistent image, the active file system is directed to refer to the persistent image for data of the file. Alternatively, if the block of data of the active file system is not identical to the data in the persistent image, the active file system is directed to refer to the data of the active file system. A file folding command may be issued to start the comparison.
    Type: Grant
    Filed: March 28, 2006
    Date of Patent: October 28, 2008
    Assignee: Network Appliance, Inc.
    Inventors: Andy C. Kahn, Kayuri Patel, Raymond C. Chen, John K. Edwards