Block, File, and Object Storage
Block, file, and object storage are the three fundamental ways systems organize persistent data. Block storage exposes raw disk volumes, file storage presents a hierarchical namespace, and object storage uses flat key-value access with metadata, each suited to different workload patterns.
itStorage, backup, and data protection | OpenSkills.info
Course pathWalk it in order
Look it upDip in anytime
Go furtherLeaves this page
Don't Panic
Don't Panic: Block, File, and Object Storage
Storage is the agreement between a workload and its bytes, which is a much less glamorous job than a shelf in a data center but far more likely to spoil an afternoon. The agreement answers how the workload names data, changes it, shares it, and recovers it. There are three usual dialects. Block storage gives numbered addresses. File storage gives paths through directories. Object storage gives keys inside buckets.
Block storage hands over a volume, which is a stretch of addressable blocks with none of the comforting labels attached. The client must decide what those blocks mean. An operating system can make a file system. A database can arrange its own pages. This is useful for virtual-machine disks and frequent small updates. It also means partitioning, formatting, mounting, permissions, monitoring, and recovery do not happen by hoping very hard.
File storage supplies the familiar part: names, directories, paths, attributes, and shared operations such as open, rename, read, and write. Familiarity is not immunity. A remote file share still crosses a network, so identity mapping, locks, caching, server availability, and directory activity all enter the plot. A team share is therefore a distributed system wearing a reassuring folder icon.
Object storage works through an API. Content and metadata form an object, and a key identifies it in a bucket. A key containing slashes can look suspiciously like a path, but it has not secretly become a file system while nobody was looking. Check the actual contract before expecting file locking, atomic rename, or small in-place updates. Object storage fits media, logs, backups, archives, and other data that naturally travels through key-based requests.
The surprise is that these categories can live in one stack. A file service may use block storage underneath. An object service may use distributed disks. The hidden layers matter when investigating failure, but the workload must be designed for the interface it actually sees. One application can also sensibly use all three: database pages on block, shared reports on file, and uploaded media on object storage.
Start with the Course tab for the full map of interfaces, sharing, mutation, performance, protection, security, and cost. The Cheatsheet condenses the decision rules when a component needs a quick classification. Field Notes focuses on the costly mistakes: semantic migrations, snapshot consistency, shared block coordination, and misleading benchmarks. The Quiz checks whether addresses, paths, and keys have settled into their proper drawers. That is most of the battle. The remaining part is testing the recovery path before it becomes a surprise exam.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.snia.org/education/online-dictionary/term/block-storage
Supports
- Block storage as a method of storing data in blocks
- Fixed-size disk blocks and representative block protocols
- Host file system responsibility for arranging blocks into files
- https://www.snia.org/education/online-dictionary/term/object-storage
Supports
- Object storage as storage that provides object services
- Vendor-neutral object-storage terminology
- https://docs.aws.amazon.com/decision-guides/latest/storage-on-aws-how-to-choose/choosing-aws-storage-service.html
Supports
- Definitions and comparison of block, file, and object storage
- Block storage for low-latency device access and representative database uses
- File storage hierarchy, NFS and SMB access, and shared client uses
- Object storage identifiers, metadata, API access, and read-heavy use cases
- Selection criteria including protocol, client, latency, IOPS, throughput, access pattern, security, protection, and cost
- Use of several storage services to match different workload features
- https://learn.microsoft.com/en-us/azure/architecture/storage/storage-get-started
Supports
- Cloud architecture mapping of object storage, managed file shares, and block-level disks
- Object storage for text and binary data
- File storage for managed shares
- Block-level disks for virtual machines
- https://www.rfc-editor.org/rfc/rfc8881.html
Supports
- NFS version 4.1 as a remote file-access protocol
- File operations including open, close, read, write, rename, directory read, attributes, access checks, and locks
- File handles, state, caching, and security semantics that applications may depend on
- https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-smb2/5606ad47-5ee0-437a-817e-70c366052962
Supports
- SMB versions 2 and 3 as protocols for sharing file and print resources between machines
- Current Microsoft SMB protocol specification and revision history
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html
Supports
- Bucket, object, key, metadata, and API concepts
- Object naming and prefix-based organization
- Storage classes, lifecycle management, versioning, replication, and object locking
- Object access and management through service operations
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
Supports
- Object keys as unique identifiers within a bucket
- Flat bucket structure and logical hierarchy through prefixes and delimiters
- Folder-like console views without native subfolder hierarchy
- https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html
Supports
- Preservation and restoration of previous versions after overwrite or deletion when versioning is enabled
- Separation between durable current storage and historical recovery behavior
- https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes.html
Supports
- Managed block volumes attached to compute instances
- Volume types with different performance and price characteristics
- Volume constraints, lifecycle, status checks, snapshots, and fault testing
- https://docs.aws.amazon.com/ebs/latest/userguide/ebs-volumes-multi.html
Supports
- Shared block-volume attachment to multiple instances
- Standard file systems not designed for simultaneous multi-server access
- Clustered file systems, write ordering, and I/O fencing for shared-block consistency
- https://docs.aws.amazon.com/efs/latest/ug/whatisefs.html
Supports
- Managed file systems accessed through NFS clients
- Mount-based file access
- Identity, network access, and encryption considerations for file storage
- https://www.ibm.com/history/ramac
Supports
- IBM 305 RAMAC as the first computer to use a random-access disk drive in 1956
- https://www.rfc-editor.org/rfc/rfc1094.html
Supports
- NFS Version 2 protocol specification published in 1989
- https://www.rfc-editor.org/rfc/rfc1813.html
Supports
- NFS Version 3 protocol specification published in 1995
- NFS Version 3 cache consistency and COMMIT behavior
- https://www.rfc-editor.org/rfc/rfc3530.html
Supports
- NFS Version 4 protocol specification published in 2003
- https://aws.amazon.com/about-aws/whats-new/2006/03/13/announcing-amazon-s3---simple-storage-service/
Supports
- Amazon S3 announcement on 2006 Mar 13
- Web-service object storage for storing and retrieving data
- https://ceph.com/en/foundation/history/
Supports
- Ceph research beginning in 2004 and public open-source availability in 2006
- Ceph client merged into the mainline Linux kernel in 2010
- https://learn.microsoft.com/en-us/troubleshoot/windows-server/high-availability/smb-3-file-server-features
Supports
- SMB 3.0 introduced in Windows Server 2012 and Windows 8
- SMB 3.0 features including transparent failover, scale out, multichannel, direct, and encryption
- https://aws.amazon.com/about-aws/whats-new/2020/12/amazon-s3-now-delivers-strong-read-after-write-consistency-automatically-for-all-applications/
Supports
- Amazon S3 strong read-after-write consistency announced in 2020
- Strong consistency for reads and listings after successful writes
- https://aws.amazon.com/ebs/
Supports
- Amazon EBS volumes attach to Amazon EC2 instances
- File systems and databases can use attached EBS volumes
- https://aws.amazon.com/efs/
Supports
- Amazon EFS as managed shared file storage for AWS compute
- https://learn.microsoft.com/en-us/azure/virtual-machines/managed-disks-overview
Supports
- Azure Managed Disks as Azure-managed block-level volumes for virtual machines
- https://learn.microsoft.com/en-us/azure/storage/files/storage-files-introduction
Supports
- Azure Files as managed cloud file shares accessible through SMB and NFS
- https://dropbox.tech/infrastructure/inside-the-magic-pocket
Supports
- Dropbox separation of file content from file and user metadata
- Magic Pocket as immutable block storage
- https://aws.amazon.com/blogs/storage/how-dxc-creates-application-consistent-ebs-snapshots-for-linux/
Supports
- Difference between crash-consistent and application-consistent backups
- Application-consistent backups pause transactions and flush memory to disk before snapshotting
