×

File server for long term data archive

  • US 7,353,242 B2
  • Filed: 07/09/2004
  • Issued: 04/01/2008
  • Est. Priority Date: 07/09/2004
  • Status: Expired due to Fees
First Claim
Patent Images

1. A Network Attached Storage (NAS) system for implementing long term data archiving comprising:

  • a NAS controller which processes file level input/output (I/O) requests and controls said NAS system; and

    a storage apparatus having a controller and multiple disk drives, controlled by said controller and configured in a RAID (redundant array of independent disks) configuration having multiple volumes for storing data and providing RAID protection for said volumes, said volumes including at least one cache volume allocated on said disk drives in said RAID configuration and one or more data volumes allocated on said disk drives in said RAID configuration;

    wherein an original inode is provided for a file stored on a first data volume of said data volumes,wherein when the file is opened and at least a portion of data of the file stored on the first data volume is updated to create updated data, the updated data is stored to said cache volume, and a modified mode is created representing a status of the updated data as being stored in the cache volume,wherein when said file is requested to be closed, the updated data is stored in a sequential manner to an unused area of said first data volume and the modified mode is stored on said first data volume and updated to indicate that the undated data corresponding to original data stored in an original area is stored in said unused area so that a subsequent access to the original data is directed to the updated data stored in said unused area to access an undated version of said file,wherein the original data is retained in said original area, and the original mode is retained, thereby implementing long term data archiving of the original data so that the original file is accessible,wherein a list of inodes is stored at the end of said first data volume.wherein the list of inodes includes said original inode, said modified inode, and the locations of the original inode and modified inode in the first data volume,wherein said NAS system receives said file level I/O requests from servers through a network connected between said servers and said NAS system,wherein each of said servers executes application programs and includes a Common Interface File System (CIFS) or a Network File System (NFS) sitting under a Virtual File System (VFS) layer of an operating system of each server, providing the application programs file level access to said NAS system via said network,wherein said NAS controller comprises;

    a NFS/CIFS server for processing NFS or CIFS file I/O requests; and

    a Sequential Write File System (SWFS), sitting under a VFS layer of an operating system of said NAS controller, managing files requested by file I/O requests that have been processed by said NFS/CIFS server,wherein said SWFS, upon receipt of a file I/O request processed by said NFS/CIFS server, determines whether said file I/O request is one of a FILE_OPEN request, wherein a specified file is opened, a FILE_CLOSE request, wherein a specified file is closed, a FILE_READ request, wherein data is read from a specified file, a FILE_WRITE request wherein data is written to a specified file, a FILE_DELETE request, wherein a specified file is deleted, a FILE_CREATE request, wherein a file is created, a CHANGE_ATTRIBUE request, wherein basic information in an inode of a specified file is changed, a SET_RETENTION request, wherein a retention period is set to a specified file system, and a SHOW_OLD_VERSION request, wherein older versions of a specified file are provided,wherein when said file I/O request is a FILE_CLOSE request, said SWFS allocates a sufficient number of un-used disk blocks in the first data volume to store the updated data located in the cache volume to the first data volume, said SWFS copies the updated data stored in the cache volume and pointed to by the modified inode to the allocated disk blocks in the first data volume, modifies data allocation information of the modified inode so that the modified inode points to the un-used disk blocks in the first data volume, allocates a sufficient number of un-used disk blocks in the first data volume to store the modified inode, and said SWFS writes the modified inode to the allocated disk blocks in the first data volume.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×