GB2469121A - Copying data to a backup server, which write the data directly to the disc blocks associated with a file - Google Patents

Copying data to a backup server, which write the data directly to the disc blocks associated with a file Download PDF

Info

Publication number
GB2469121A
GB2469121A GB0905829A GB0905829A GB2469121A GB 2469121 A GB2469121 A GB 2469121A GB 0905829 A GB0905829 A GB 0905829A GB 0905829 A GB0905829 A GB 0905829A GB 2469121 A GB2469121 A GB 2469121A
Authority
GB
United Kingdom
Prior art keywords
file
data
backup server
storage
backup
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB0905829A
Other versions
GB0905829D0 (en
Inventor
Julien Christopher Robert Margetts
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PLX Technology Ltd
Original Assignee
Oxford Semiconductor Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oxford Semiconductor Ltd filed Critical Oxford Semiconductor Ltd
Priority to GB0905829A priority Critical patent/GB2469121A/en
Publication of GB0905829D0 publication Critical patent/GB0905829D0/en
Publication of GB2469121A publication Critical patent/GB2469121A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1464Management of the backup or restore process for networked environments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

A client computer reads data from files in its local storage and sends the data as a stream of packets to a server. The server creates a file and determines which blocks on its local storage device are associated with the file. The server writes the data from the received packets directly into the corresponding blocks, bypassing the filing system on the server. The server prevents any other access to the file, while the data is being written. When all the packets have been written to the file, the server closes the file and normal is enabled. The packets may be transferred using the TCP/IP protocol. The size of the file may be indicated in a control packet sent by the client. Alternatively, a default file size may be used. The server may use special file names or attributes to prevent access to the file.

Description

Method and System for High Speed Data Backup The present invention relates to computer backup systems that backup filesystems by storing backup files on to remote hard-disk-drives.
The backup files are transferred from client computers over a computer network to a backup server. These systems typically use high-level remote file access software applications, based on a standard remote filesystern protocol, such as the Common Interface File System (CIFS) protocol, to copy the files from the source computer across a network to the backup device.
The use of a standard protocol ensures that the backup software applications can easily run on many computer operating systems without installing additional software.
However, these applications support additional functionality not needed in a backup application. For example, the CIFS protocol allows multiple clients to access a file simultaneously, and allows simultaneous write and read access to the file by multiple clients, to and from any offset in the file. It is also a block based protocol, where each block of data has an associated request / response control protocol.
While this functionality is required for generic file access, writing of backup data does not need all of these features; a backup file will be written to once, sequentially, and will never be read before writing is complete.
In a CIFS based backup system, the data flow through the backup device is controlled by the processing device running the operating. system. The lower level operating system provides a network stack that ensures that data is transferred correctly over the network. Data is passed from the operating system to a high-level application program, which extracts its protocol control information, runs a number of checks, and then passes the extracted backup data back to the operating system which writes the information onto the storage medium via the filesystem. Typically the data is copied in system memory, sometimes multiple times, as the data is processed by the system software. The file is then available for any other program to access via the standard filesystem.
The CIFS protocol performs file access in independent blocks, typically up to 60 kilobytes each. Each CIFS file access consists of a request from the client, a data phase (to or from the client) and an associated response (to the client). The CIFS server is a high-level application on the backup device, and runs many functions for each block.
The extra functionality and control protocol require a large amount of computer processing bandwidth on both the client computer and the backup system. This additional computer processing bandwidth and the overhead in the additional computer network protocols significantly reduces the speed at which the backup files are transferred to the backup device. Furthermore, the processing requirements of the backup device are significantly increased when running the high-level application software, limiting the number of clients that can be simultaneously transferring data to the device, and increasing power consumption.
It is therefore desirable to provide a data backup system that avoids these problems by providing only the required functionality with a much reduced protocol overhead.
A system with no unnecessary functionality and reduced protocol overhead requires significantly less processing to perform the backup file transfers, which allows the backup device to support additional backup connections and the client PCs to perform the backup with less impact on other simultaneously running end-user applications.
Furthermore it can significantly reduce the time taken to complete a backup, allowing systems to spend more time in power-down states and thereby save energy.
According to one aspect of the present invention there is provided a data backup system that uses less computer resources on both the client computer and backup device, the method comprising: providing the client with a backup application that communicates with the filesystem interface and the TCP/IP protocol layer to read files and then transfer file data and control packets to the network; and providing the backup device with a backup server application that communicates with the client backup application by the transfer of control packets via the TCP/IP protocol layer; and that also communicates with a kernel module to control the receiving of file data from the network and writing this data directly to the disk via the disk interface, in a format in accordance with the disk interface standard such as one of the AlA/IDE standard or Serial ATA standard According to a further aspect of the present invention there is provided a backup device with a backup server application which has a method of allocating a virtual file on the backup disk which can be filled with backup data using only kernel operating system functions, the method comprising: using standard disk filesystem commands to initialize and finalize files using open and close commands and to expand and contract the file size using allocate and truncate commands; and using special filename and file attributes to prevent other applications from being able to access this file while data is being written by the kernel module directly to the disk; and providing information to the kernel module regarding the location of the sectors on the disk which constitute the file in the form of logical block addresses (LBAs); and re-writing the special filename and file attributes with normal filename and file attributes once the writing of data to the file has been completed so that the file can be accessed using the filesystem by applications running on the backup server.
To allow better understanding, an embodiment of the present invention will now be described by way of non-limitative example with reference to the accompanying drawings, in which: Fig 1 is a block diagram of the backup system showing the client computer (100) connected via a network (107) to a backup device (108).
Example transfer sequence: The following is an example sequence of creating a backup file on a backup server, see figure 1.
1. The backup client application 104 establishes a TCP connection through the TCP/IP protocol stack 105 with the backup server application 110 (which is listening on a well known TCP port number on its protocol stack 108) 2. The backup client application 104 sends a "write request" packet to the backup server application 110, which specifies the file size. (Alternatively, the backup server application 110 can assume a fixed large size which can be reduced or extended as part of the process).
3. The backup server application 110 creates a normal file on the server's storage 114, via the standard filesystem 112. The file is created with specific filename or file attributes that prevent other application from being able to "see" this file before the transfer is completed.
4. The backup server application 110 then calls a specific routine in the filesystem 112 to allocate the required file size to the file (just as a call to the standard C function fallocate() would). This call, however, returns the allocated block mapping of disk LBAs to file offsets, as a collection of contiguously allocated chunks (or extents).
5. The backup server application 110 instructs the kernel module 111 to set up a sequence of DMA operations to transfer Stream Data between the TCP/IP stack 108 and the SATA disk interface module 113, for the required number of bytes in the file and the values of the LBAs comprising the allocated chunks of the file obtained in step 4..
6. The backup server application 110 then instructs the backup client application 104 to begin writing of file data to the TCP/IP layer 105 socket connection.
7. The DMA operation previously set up transfers file data as Stream Data from the receive socket on its TCP/IP stack 108, direct to the hard disk via the SATA module 114, sequentially incrementing through the block mapping returned from the allocation routine to ensure it is put in the correct place. This operation is carried out automatically without intervention of the backup server application 110 and without involving the filesystem interface 112.
8. When the DMA operation has transferred the specified number of bytes, the backup server application 110 is informed and then makes calls to the filesystem 112 to close the file and updates its filename and other attributes so that other applications can locate and use the file in a normal fashion.
9. Once the file operations are complete and the file is ready for normal use, the backup server application 110 sends a completed status to the backup client application 104.
9. Upon receipt of a completed status, the backup client application 104 closes the TCP connection.
11. If at any stage of the DMA operation an error condition is encountered, the kernel module 114 informs the backup server application 110 which can handle the error either by aborting and re-starting the whole transfer process, or repeating the part of the process that was in error. In either case, the backup server application 110 sends control information to the backup client application 104 for it to act accordingly.
Although the present invention has been described with reference to particular embodiments, it will be appreciated by those skilled in the art that it may be applicable to a variety of alternative contexts, including using different end user applications, filesystems, transport protocols and physical networks.
Therefore, while a backup application has been described, applications for file synchronization, data replication and hierarchical storage systems could equally adopt the same technique when copying a file from one location to another remote location across a network.
In addition, while CIFS may be one of the more commonly used networked filesystems, other filesystems such as NFS or AFS will equally benefit from this invention. The network filesystem itself may commonly use the TCP/IP transport protocol, but other protocols such as NetBios or Socket Direct Protocol (SDP) with RDMA over an InfiniBand switched network could equally be used and benefit accordingly.
The invention may be implemented in hardware, software, or a combination thereof.
When implemented partiy in software, the invention may be embodied as instructions stored on a computer-or machine-readable medium.

Claims (9)

  1. CLAIMS1. A system for backing up data on computer systems by transferring files from a client device to a backup server device over a network, the system comprising: data backup means for a client device which reads files from storage accessible to said client device and then sends file data packets from said files to a backup server over a network, the sending of file data packets being controlled by the sending and receiving of control data packets and response data packets between said client and said backup server; data backup means for a backup server device which receives file data packets from a client device, the reception of file data packets being controlled by the sending and receiving of control data packets and response data packets between said client and said backup server; file creation means for a data backup server device which creates files on storage attached to said backup server device in response to control data packets received C over a network from a client device; data block address determination means for a data backup server device which can determine the logical block addresses of the data blocks which comprise the files said backup server file creation means creates; data packet writing means for a backup server device which writes file data packets received over a network directly into data blocks on storage attached to said backup server device using logical block addresses, bypassing any file system and which prevents access by other means using the filesystem to the file data on the storage while it is being written to the storage; file closing means for a backup server devices which closes files on storage attached to said backup server device in response to control data packets received over a network from a client device and after enables access by other means using the filesystem to the file data on the storage.
  2. 2. A system according to claim 1 wherein the network is a wired, wireless or optical fibre network.
  3. 3. A system according to claim 1 wherein the sending and receiving of data packets is done using the TCP/IP protocol.
  4. 4. A system according to claim 1 wherein the backup server device is a Network Attached Storage (INAS) device.
  5. 5. A system according to claim 1 wherein the file creation means uses a size data field specified in the control data packets to determine the size of the file created, or if no file size if specified, assumes a default file size value.
  6. 6. A system according to claim 1 wherein the data packet writing means uses a 0 sequence of Direct Memory Access (DMA) operations to transfer file data packets received from the network directly to the storage interface.
    0
  7. 7. A system according to claim 1 wherein the storage attached to the backup server device may be one or more data storage devices attached via an interface conforming to 0 the ATAJATAPI-6 standard; the SCSI standard; the Serial Attached SCSI (SAS) and a standard used in flash memory devices.
  8. 8. A system according to claim 1 wherein the file creation means uses special filenames and file attributes to prevent access to the file by any means using the file system on the backup server while the data packet writing means is transferring file data blocks to the storage.
  9. 9. A system according to claim 1 wherein the file closing means uses ordinary filenames and file attributes to enable access to the file by any means using the file system on the backup server when the data packet writing means has completed transferring file data blocks to the storage.
GB0905829A 2009-04-03 2009-04-03 Copying data to a backup server, which write the data directly to the disc blocks associated with a file Withdrawn GB2469121A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB0905829A GB2469121A (en) 2009-04-03 2009-04-03 Copying data to a backup server, which write the data directly to the disc blocks associated with a file

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB0905829A GB2469121A (en) 2009-04-03 2009-04-03 Copying data to a backup server, which write the data directly to the disc blocks associated with a file

Publications (2)

Publication Number Publication Date
GB0905829D0 GB0905829D0 (en) 2009-05-20
GB2469121A true GB2469121A (en) 2010-10-06

Family

ID=40750080

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0905829A Withdrawn GB2469121A (en) 2009-04-03 2009-04-03 Copying data to a backup server, which write the data directly to the disc blocks associated with a file

Country Status (1)

Country Link
GB (1) GB2469121A (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114936172A (en) * 2022-05-24 2022-08-23 国网河南省电力公司内乡县供电公司 Unmanned aerial vehicle airborne data management system capable of realizing load data management

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59128657A (en) * 1983-01-13 1984-07-24 Fujitsu Ltd Method for controlling backup of stored information
US6185621B1 (en) * 1997-03-25 2001-02-06 Philips Electronics N.A. Corp. Direct copying between disk blocks in memory onto a network as sequential access files
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6453396B1 (en) * 1999-07-14 2002-09-17 Compaq Computer Corporation System, method and computer program product for hardware assisted backup for a computer mass storage system
US20020199073A1 (en) * 2001-06-11 2002-12-26 Keishi Tamura Method and system for backing up storage system data

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59128657A (en) * 1983-01-13 1984-07-24 Fujitsu Ltd Method for controlling backup of stored information
US6185621B1 (en) * 1997-03-25 2001-02-06 Philips Electronics N.A. Corp. Direct copying between disk blocks in memory onto a network as sequential access files
US6385706B1 (en) * 1998-12-31 2002-05-07 Emx Corporation Apparatus and methods for copying a logical object to a primary storage device using a map of storage locations
US6453396B1 (en) * 1999-07-14 2002-09-17 Compaq Computer Corporation System, method and computer program product for hardware assisted backup for a computer mass storage system
US20020199073A1 (en) * 2001-06-11 2002-12-26 Keishi Tamura Method and system for backing up storage system data

Also Published As

Publication number Publication date
GB0905829D0 (en) 2009-05-20

Similar Documents

Publication Publication Date Title
US8504648B2 (en) Method and apparatus for storage-service-provider-aware storage system
US8170990B2 (en) Integrated remote replication in hierarchical storage systems
US7467259B2 (en) System and method to protect data stored in a storage system
US8504797B2 (en) Method and apparatus for managing thin provisioning volume by using file storage system
JP5205132B2 (en) Method and apparatus for NAS / CAS unified storage system
US7783608B2 (en) Method and apparatus for NAS/CAS integrated storage system
US9460106B2 (en) Data synchronization among file storages using stub files
US7853759B2 (en) Hints model for optimization of storage devices connected to host and write optimization schema for storage devices
US9578101B2 (en) System and method for sharing san storage
JP4406224B2 (en) Image file management method and recording medium therefor
US8290911B1 (en) System and method for implementing data deduplication-aware copying of data
US6816957B1 (en) Management of virtual tape volumes using data page atomic units
US20090063556A1 (en) Root node for carrying out file level virtualization and migration
US20080183988A1 (en) Application Integrated Storage System Volume Copy and Remote Volume Mirror
US8341119B1 (en) Flexible copies having different sub-types
US10318194B2 (en) Method and an apparatus, and related computer-program products, for managing access request in multi-tenancy environments
JP2004178289A (en) Snapshot acquiring method, disk unit, and storage system
JP2006195712A (en) Storage control device, logical volume management method, and storage device
US9122689B1 (en) Recovering performance of a file system post-migration
US10387043B2 (en) Writing target file including determination of whether to apply duplication elimination
US20150261465A1 (en) Systems and methods for storage aggregates and infinite storage volumes
US11080254B2 (en) Maintaining data associated with a storage device
US7853667B1 (en) Emulation of transparent recall in a hierarchical storage management system
US7827194B2 (en) Access to shared disk device on storage area network
JP2004246702A (en) Computer system, computer apparatus, and data access method and program in computer system

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)