Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
1999-10-01
2003-01-07
Kindred, Alford W. (Department: 2172)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000, C711S162000
Reexamination Certificate
active
06505216
ABSTRACT:
FIELD OF THE INVENTION
The present invention relates generally to data storage and data backup systems, and more particularly, to systems and techniques which allow a file to be backed-up and restored between a data storage system and a backup server using concurrently transmitted trails of data from the same file.
BACKGROUND OF THE INVENTION
The ever increasing popularity in the use of computer networks and computerized data processing systems for both recreational and commercial use has created vast amounts of data that must be stored. To serve this need, data storage system providers have developed mass data storage systems that use large high speed disk arrays to store and access data. In a typical data storage system using modern disk array technology, there are many individual physical storage devices, such as hard disk drives (disks), which provide storage, access, and management of the data. Remote computer systems such as hosts on a computer network that require access (read and/or write capability) to the data stored in the data storage system generally reference the data as one or more files within a filesystem.
Software applications that execute on the remote computer systems are generally responsible for generating the data that gets stored in the files within a data storage system. For example, a software application such as Microsoft Exchange produced by Microsoft Corporation of Redmond Wash. (Microsoft and Microsoft Exchange are trademarks of Microsoft Corporation) can be used to create and manage a large database of information that is stored as a single file within a data storage system. Depending upon the amount of data that is stored in the database, it is not uncommon for the size of the file containing the data to become quite large and exceed, for example, many tens of gigabytes in size.
A single hard disk within a data storage system cannot typically provide enough storage capacity by itself to store files and/or filesystems that grow to such large capacities. Accordingly, data storage systems often provide logical storage entities called “volumes.” An administrator of the data storage system configures individual volumes during an initial data storage system setup procedure. A single volume of data, often referred to as a “logical volume,” provides a mechanism to associate many portions of different individual disks (or many entire disks ) together as a contiguous amount of available data storage space. A volume allows a large file that exceeds the size of any one hard disk drive to be stored across different portions of the disks that make up the volume in the data storage system. A process called a Logical Volume Manager (LVM) typically executes on a host and interfaces with process(s) and/or control circuitry within the data storage system to manage associated disks and data stored within volumes. The Logical Volume Manager also provides an interface for computer application programs to access (read and/or write) the files stored within the disks associated with the volume.
A portion of a hard disk drive that can be included within a volume is typically called a partition, and a hard disk may contain more than one partition. For example, during a disk configuration process, an administrator might “partition” a single ten gigabyte disk into two non-overlapping five gigabyte partitions. It is possible to configure the entire capacity of a single disk as a one partition (e.g., one ten gigabyte hard disk may be partitioned as one ten gigabyte partition). Each partition on a hard disk includes disk extent information which indicates how large the partition is (e.g. how many gigabytes) and where (e.g. between what disk addresses) the partition exists on the disk.
Volumes within a data storage system are thus a set of one or more disk partitions within a data storage system, presented by an LVM process to software applications on host(s) as a contiguous amount of storage space available to store files. As a specific example, a one hundred gigabyte volume may be comprised of twenty, five-gigabyte partitions, with each partition existing on a different disk.
Generally, two types of volumes exist in data storage systems: concatenated volumes and striped volumes. The specific type of a volume reflects how data is arranged for storage across the disk partitions that make up the volume. In concatenated volumes, data is stored sequentially. Thus, if a concatenated volume is composed of three disk partitions which are distributed across various disk drives on the data storage system, as a remote computer system stores (i.e. writes) more and more data to the volume, the LVM first will fill the first partition in the concatenated volume with data, followed by the second partition, and then the third partition. The LVM thus fills partitions in a concatenated volume from first to last in a sequential manner.
The LVM treats striped volumes somewhat differently than concatenated volumes. A striped volume also is a set of partitions distributed across one or more disks in a data storage system. Striped volumes have data written in incremental and equal amounts to each partition in the volume, a little at a time (whereas concatenated volumes fill one partition completely before beginning to fill the next in the volume). Accordingly, when storing data to a striped volume, the LVM writes small portions or segments of data evenly, to each disk partition associated with the striped volume. As such, each partition in the striped volume is filled equally, a little bit at a time. If the partition layout of a striped volume is diagramed, the data appears to be striped across each partition, hence the name striped volume. When using striped volumes, data is essentially spread evenly across each partition as the volume fills-up.
Referring now to another area related to the invention, it is quite common for computer systems to perform periodic backups of files stored in a data storage system. Backing-up files typically involves transferring a copy of the file stored in the disks within a data storage system to another medium, such as magnetic tape. Backing-up files protects against data loss in the event of disk or data storage system failures.
In conventional backup systems, backups of an entire volume are typically performed on a file by file basis. That is, each file within a volume is backed-up to a tape drive in sequential order. Thus, if a volume contains three files A, B and C, file A might be backed up to tape first, followed by file B and then by file C. During a conventional backup operation, data storage systems provide the data from each file for backup purposes from beginning to end, just as if each file were being sequentially loaded in its entirety into memory in a host computer system. For example, to backup file A, the LVM starts by reading data from the beginning of file A, and then continually reads and streams the data to the backup storage system (e.g., a tape drive unit) until the end of the A file is reached. Files B and then C would be performed thereafter in successive order. If the LVM uses concatenated volumes, the LVM begins reading file A from the first partition of the volume containing this file, and if file A spans more than one partition, once the LVM completes streaming data for file A from the first partition storing file A, the LVM proceeds to the next (i.e. second) partition that stores the next portion of file A, and so on until the file is completely backed up from the concatenated volume.
To backup a file stored on a striped volume, the LVM sequentially reads small segments of data from each partition. The first segment of data read from each of the first to the last partition in the volume forms the first stripe of the striped volume. When the first stripe has been read, the LVM returns to the first partition to begin reading of the second stripe, and the process repeats by reading a small segment of data from each partition until the second strip is completely read. The process continues until the LVM has read all of the data for the entire
Schutzman Neil F.
Swaddipong Pichai
Chapin & Huang , L.L.C.
Chapin, Esq. Barry W.
EMC Corporation
Kindred Alford W.
LandOfFree
Methods and apparatus for backing-up and restoring files... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with Methods and apparatus for backing-up and restoring files..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Methods and apparatus for backing-up and restoring files... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3071575