File storage is a storage model that organises data as named files within a hierarchical directory tree, accessed through file-system semantics such as open, read, write and seek. It presents a familiar path-based namespace and is typically shared over network protocols for concurrent access. File storage contrasts with block storage, which exposes raw volumes, and object storage, which uses a flat namespace of objects addressed by key.

Overview

  • File storage is the most familiar storage model: data lives in files, files live in folders, and applications open, read and write them through standard file-system calls.
  • When shared over a network, file storage lets many clients access the same hierarchical namespace concurrently, with the storage system mediating locking and consistency.
  • It sits alongside block and object storage as one of three principal models. Block storage exposes raw volumes for a host to format; object storage offers a flat, scalable key-addressed namespace; file storage offers structured, path-based, POSIX-style access.

Key aspects

  • Hierarchical namespace: files organised in nested directories.
  • File-system semantics: open, read, write, seek, lock and metadata operations.
  • Shared access: network file protocols allow concurrent multi-client use.
  • Metadata: permissions, timestamps and ownership travel with each file.
  • Consistency and locking: coordination for concurrent writers.

Mechanisms

  • Local and networked file systems presenting a directory tree.
  • Network file protocols for shared, concurrent access.
  • Distributed and clustered file systems for scale and resilience.
  • Snapshots, replication and backup of the file namespace.

Applications

  • Shared home directories and team file shares.
  • Application and content data requiring path-based access.
  • Media and document repositories.
  • Lift-and-shift of legacy applications expecting a file system.

Provenance