A file system refers to the way in which files are named and where and how the files are placed logically within storage for retrieval. A file system may include naming conventions, a security mechanism, and an interface that permits files to be created, retrieved, modified, or deleted. Some example naming conventions include a maximum number of characters for a file's name (e.g., 8 characters for a Disk Operating System (DOS), etc.) and a reserved extension or suffix for identifying a file's type (e.g., “.txt” for a text file type, “.csh” for an executable C programming shell script file type, etc.). An example security or authorization mechanism may include read and write access privileges which are associated with files of the file system.
Some file systems are logically organized as trees, hierarchies, or directories. For example, LINUX and UNIX include directory paths which are used to identify a location of a desired file (e.g., “/usr/paul/myfiles/file”). In short, a file system may be viewed as the software, the naming conventions, and the logical storage architecture used for storing and retrieving data from non volatile storage.
Migrating from one file system to a different file system can be a time and resource intensive exercise for an enterprise. This is so, because often disk storage systems are extremely large, such that some migrations can literally take days to complete. Moreover, when migration efforts are made, the source file system is unavailable for other uses. This can disrupt an enterprise's business and result in idle resources.
File system migration or interoperability may occur when an enterprise desires to move to an entirely different file system, when the enterprise desires to upgrade an existing file system, or when the enterprise desires to mirror or integrate across a plurality of disparate file systems. For example, many enterprises may desire to make their data available to a variety of platforms in order increase data visibility and ease of access.
Accordingly, improved techniques for file system translation are needed in order to improve the processing throughput and timeliness associated with file system migration and interoperability.