Data processing: database and file management or data structures – Database design – Data structure types
Reexamination Certificate
2001-08-09
2004-06-29
Mizrahi, Diane D. (Department: 2175)
Data processing: database and file management or data structures
Database design
Data structure types
C707S793000
Reexamination Certificate
active
06757695
ABSTRACT:
FIELD OF THE INVENTION
This invention relates to network storage systems, and more particularly to data storage systems including file servers for managing a number of attached storage volumes.
BACKGROUND OF THE INVENTION
A file server is a computer that provides file service relating to the organization of information on storage devices, such as disks. The file server or filer includes a storage operating system that implements a file system to logically organize the information as a hierarchical structure of directories and files on the disks. Each “on-disk” file may be implemented as a set of data structures, e.g., disk blocks, configured to store information. A directory, on the other hand, may be implemented as a specially formatted file in which information about other files and directories are stored.
A filer may be further configured to operate according to a client/server model of information delivery to thereby allow many clients to access files stored on a server, e.g., the filer. In this model, the client may comprise an application, such as a database application, executing on a computer that “connects” to the filer over a computer network, such as a point-to-point link, shared local area network (LAN), wide area network (WAN), or virtual private network (VPN) implemented over a public network such as the Internet. Each client may request the services of the file system on the filer by issuing file system protocol messages (in the form of packets) to the filer over the network.
A common type of file system is a “write in-place” file system, an example of which is the conventional Berkeley fast file system. In a write in-place file system, the locations of the data structures, such as inodes and data blocks, on disk are typically fixed. An inode is a data structure used to store information, such as meta-data, about a file, whereas the data blocks are structures used to store the actual data for the file. The information contained in an inode may include, e.g., ownership of the file, access permission for the file, size of the file, file type and references to locations on disk of the data blocks for the file. The references to the locations of the file data are provided by pointers, which may further reference indirect blocks that, in turn, reference the data blocks, depending upon the quantity of data in the file. Changes to the inodes and data blocks are made “in-place” in accordance with the write in-place file system. If an update to a file extends the quantity of data for the file, an additional data block is allocated and the appropriate inode is updated to reference that data block.
Another type of file system is a write-anywhere file system that does not over-write data on disks. If a data block on disk is retrieved (read) from disk into memory and “dirtied” with new data, the data is stored (written) to a new location on disk to thereby optimize write performance. A write-anywhere file system may initially assume an optimal layout such that the data is substantially contiguously arranged on disks. The optimal disk layout results in efficient access operations, particularly for sequential read operations, directed to the disks. A particular example of a write-anywhere file system that is configured to operate on a filer is the Write Anywhere File Layout (WAFL™) file system available from Network Appliance, Inc. of Sunnyvale, Calif. The WAFL file system is implemented within a microkernel as part of the overall protocol stack of the filer and associated disk storage. This microkernel is supplied as part of Network Appliance's Data ONTAP™ software, residing on the filer, that processes file-service requests from network-attached clients.
As used herein, the term “storage operating system” generally refers to the computer-executable code operable on a storage system that implements file system semantics (such as the above-referenced WAFL) and manages data access. In this sense, ONTAP software is an example of such a storage operating system implemented as a microkernel. The storage operating system can also be implemented as an application program operating over a general-purpose operating system, such as UNIX® or Windows NT®, or as a general-purpose operating system with configurable functionality, which is configured for storage applications as described herein.
Disk storage is typically implemented as one or more storage “volumes” that comprise physical storage disks, defining an overall logical arrangement of storage space. Currently available filer implementations can serve a large number of discrete volumes (150 or more, for example). Each volume is associated with its own file system and, for purposes hereof, volume and file system shall generally be used synonymously. The disks within a volume are typically organized as one or more groups of Redundant Array of Independent (or Inexpensive) Disks (RAID). RAID implementations enhance the reliability/integrity of data storage through the redundant writing of data “stripes” across a given number of physical disks in the RAID group, and the appropriate caching of parity information with respect to the striped data. In the example of a WAFL file system, a RAID
4
implementation is advantageously employed. This implementation specifically entails the striping of data across a group of disks, and separate parity caching within a selected disk of the RAID group. As described herein, a volume typically comprises at least one data disk and one associated parity disk (or possibly data/parity) partitions in a single disk) arranged according to a RAID
4
, or equivalent high-reliability, implementation.
More than one filer can reside on a single network (LAN, WAN, etc.), for access by network-connected clients and servers. Where multiple filers are present on the network, each filer may be assigned responsibility for a certain set of volumes. The filers may be connected in a cluster using a separate physical interconnect or linking communication protocol that passes over the network (e.g. the LAN, etc.). In the event of a failure or shutdown of a given filer, its volume set can be reassigned to another filer in the cluster to maintain continuity of service. In the case of an unscheduled shutdown, various failover techniques are employed to preserve and restore file service, as described generally in commonly owned U.S. patent application Ser. No. 09/933,866 entitled GRACEFUL TAKEOVER IN A NODE CLUSTER by Naveen Bali et al, the teachings of which are expressly incorporated herein by reference. Such techniques involve (a) the planned and unplanned takeover of a filer's volumes by a cluster partner filer upon filer shutdown; and (b) the giveback of the taken-over volumes to the original filer upon reinitialization of the downed-filer. A management station can also reside on the network, as a specialized client that includes storage management software used by a system administrator to manipulate and control the storage-handling by networked filers.
A filer can be made more reliable and stable in the event of a system shutdown or other unforeseen problem by employing a backup memory consisting of a non-volatile random access memory NVRAM as part of its architecture. An NVRAM is typically a large-volume solid-state memory array (RAM) having either a backup battery, or other built-in last-state-retention capabilities (e.g. a FLASH memory), that holds the last state of the memory in the event of any power loss to the array.
In a known implementation, as a client transaction request is completed by the storage operating system, that request is logged to the NVRAM as a journal entry. The NVRAM is loaded with requests until such time as a consistency point (CP) is reached. CPs occur at fixed time intervals, or when other key events arise. Each time a CP occurs, the requests logged in the NVRAM are subsequently overwritten once the results of the requests are written from the filer's conventional RAM buffer cache to disk. This is because once a root inode is written from cache to the disk, then the logged data
Chen Raymond C.
Noveck David B.
Cesari and McKenna LLP
Mizrahi Diane D.
Mofiz Apu
Network Appliance Inc.
LandOfFree
System and method for mounting and unmounting storage... does not yet have a rating. At this time, there are no reviews or comments for this patent.
If you have personal experience with System and method for mounting and unmounting storage..., we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and System and method for mounting and unmounting storage... will most certainly appreciate the feedback.
Profile ID: LFUS-PAI-O-3355791