Are there any other commercial filesystem or filesystem appliance vendors who who use a the method of always writing an updated block in a new location, and taking advantage of that in their "snapshot" functionality?
just for jollies i did a patent search and i found this, it does look like they have a patent on the that file sytem methadology:
United States Patent 5,963,962 Hitz , et al. October 5, 1999
---------------------------------------------------------------------------- ---- Write anywhere file-system layout
Abstract The present invention provides a method for keeping a file system in a consistent state and for creating read-only copies of a file system. Changes to the file system are tightly controlled. The file system progresses from one self-consistent state to another self-consistent state. The set of self-consistent blocks on disk that is rooted by the root inode is referred to as a consistency point. To implement consistency points, new data is written to unallocated blocks on disk. A new consistency point occurs when the fsinfo block is updated by writing a new root inode for the inode file into it. Thus, as long as the root inode is not updated, the state of the file system represented on disk does not change. The present invention also creates snapshots that are read-only copies of the file system. A snapshot uses no disk space when it is initially created. It is designed so that many different snapshots can be created for the same file system. Unlike prior art file systems that create a clone by duplicating the entire inode file and all of the indirect blocks, the present invention duplicates only the inode that describes the inode file. A multi-bit free-block map file is used to prevent data from being overwritten on disk.
Here's another one of the patents they have:
United States Patent 5,819,292 Hitz , et al. October 6, 1998
---------------------------------------------------------------------------- ---- Method for maintaining consistent states of a file system and for creating user-accessible read-only copies of a file system
Abstract A method is disclosed for maintaining consistent states of a file system. The file system progresses from one self-consistent state to another self-consistent state. The set of self-consistent blocks on disk that is rooted by a root inode is referred to as a consistency point. The root inode is stored in a file system information structure. To implement consistency points, new data is written to unallocated blocks on disk. A new consistency point occurs when the file system information structure is updated by writing a new root inode into it. Thus, as long as the root inode is not updated, the state of the file system represented on disk does not change. The method also creates snapshots that are user-accessible read-only copies of the file system. A snapshot uses no disk space when it is initially created. It is designed so that many different snapshots can be created for the same file system. Unlike prior art file systems that create a done by duplicating an entire inode file and all indirect blocks, the method of the present invention duplicates only the inode that describes the inode file. A multi-bit free-block map file is used to prevent data referenced by snapshots from being overwritten on disk.
-----Original Message----- From: Chris Thompson [mailto:cet1@cus.cam.ac.uk] Sent: Thursday, May 10, 2001 9:41 AM To: ferdberfl@netzero.net Cc: toasters@mathworks.com Subject: Re: EMC IP4700 vs NetApp F740
"Ferd Berfl" ferd_berfl@yahoo.com writes:
re: snapshots, I thought that everyone else's snapshot
functionality other
than Netapp's must be based on a "copy on write" method because
Netapp has a
patent on continuously writing new blocks. (their WAFL filesystem intellectual property and patents). If you can't take advantage of the method of writing modified blocks as new blocks and not touching the original block pointed to by the snapshot, doesn't that mean
that you have
to reserve some amount of storage, that is free blocks, for
holding the copy
on write changed blocks to maintain the snapshots?
I am not sure what the NetApp patents claim, but if they claim to have originated the idea of always writing an updated block in a new location, that's an old idea with plenty of prior art.
For example, EDF minidisks under VM/CMS had exactly that idea, including the concept of consistency points. (It wouldn't have been all that big a stretch to have invented snapshots for them, actually.) Of course that was in the context of a mostly-single-user filing system.
In the context of database implementations rather than general-purpose filing systems, I can recall these ideas being used in the early 1970s.
Chris Thompson University of Cambridge Computing Service, Email: cet1@ucs.cam.ac.uk New Museums Site, Cambridge CB2 3QG, Phone: +44 1223 334715 United Kingdom.
_________________________________________________________ Do You Yahoo!? Get your free @yahoo.com address at http://mail.yahoo.com