File storage is most similar to the way we see information in our computer: that is, as files in subfolders. The path to a file in file storage can be quite long, through a deep hierarchy of nested folders.

Access to data in file storage is based on file ID which contains server name, directory path (folder) and file name (server name + directory path + filename) of the NAS (Network Attached Storage) public network. Based on file ID storage server finds data on NAS disk.

Protocols
The most common protocols for accessing files via NAS are NFS (Network File System) and CIFS (Common Internet File System).

NFS is used in Unix and Linux operating systems. CIFS is used in Windows operating systems and is a public (open) version of the more specialized SMB (Server Message Block) protocol developed by Microsoft, which uses the TCP/IP network protocol.

A file storage system server uses block storage within the local file system to organize files, and the user deals only with the protocol above, which determines the path to the file. File attributes such as type (extension), size, creation and modification date are stored in the file system.

Restrictions
The limitations of storing and accessing files via NAS are the scaling limits of the underlying file system and the inability to distribute the workload across multiple file servers. That is, scaling the system generally involves scaling up the file server resources rather than installing one or more more more of the same.

Organization of file storage systems
Files in file systems are stored in directories (directories, “folders”). Directories store information about files: their attributes, location, and owner. Much of this information, especially that directly related to storage, is managed by the file system. The directory itself is also a service file that can be accessed through various administrative procedures.

The directory can store the following information:

file name;
file type;
address (path to the file);
the current length of the file;
maximum length of the file;
date and time of the last access to the file;
date and time of the last modification of the file;
file owner ID (User ID, Owner ID);
information about protecting the file.

Directory levels
Single-level directories.
In single-level directories, files are available to all users.
However, in such directories, users cannot have the same name for different files.

Two-level directories
In a two-level file system model, individual access to directories is arranged for different users. Different users cannot see the files of other users.

In this case, different users can have files with the same names. Searching for files in this model is more efficient than in a single-level model.

Methods of placement
Continuous placement
In case of Continuous Allocation the file is allocated a set of consecutive blocks at the moment of its creation. In file allocation table you have to indicate only the number of the initial block and the length of the file. This method is best suited to sequential placement of individual files into empty storage.

Linked allocation
During linked allocation, also known as noncontiguous allocation, blocks are placed one by one. In this case it is not required that the blocks in the file are numbered sequentially. Each block will contain a pointer to the next block in the chain where the file continues.

Indexed placement
Indexed Allocation is intended to solve the problems of continuous and chained allocation. In this case the file allocation table contains a separate single-level index (index) for each file. The index sequentially indicates the numbers of blocks in which the file is placed. In this case blocks may have both the same size and different sizes. This eliminates file fragmentation, while placement using blocks of different sizes eliminates unoccupied “tails” in the last block of each file, if the file does not fit into a certain number of blocks. This method of file placement provides both sequential and direct file access and is currently the most popular.

Free disk space management
Free disk space, like occupied space, also needs to be managed. All of the above methods require that you know which blocks on the disk are available and which are occupied in order to effectively allocate files. So it is necessary to have a disk allocation table as well as a file allocation table.

17 Post

Moser Louis