What is block storage?
Explore IBM's storage solutions Subscribe for cloud updates
Illustration with collage of pictograms of computer monitor, server, clouds, dots
What is block storage?

Block storage, sometimes referred to as block-level storage, is a technology that is used to store data files on storage area networks (SANs) or cloud-based storage environments. Developers favor block storage for computing situations where they require fast, efficient and reliable data transportation.

Block storage breaks up data into blocks and then stores those blocks as separate pieces, each with a unique identifier. The SAN places those blocks of data wherever it is most efficient. That means it can store those blocks across different systems and each block can be configured (or partitioned) to work with different operating systems.

Block storage also decouples data from user environments, allowing data to be spread across multiple environments. This creates multiple paths to the data and allows the user to retrieve it quickly. When a user or application requests data from a block storage system, the underlying storage system reassembles the data blocks and presents the data to the user or application.

Strategic app modernization drives digital transformation

Strategic application modernization is one key to transformational success that can boost annual revenue and lower maintenance and running costs.

Related content

Register for the guide on DaaS

Block storage versus object storage versus file storage

Block storage is not alone in the world of data storage. Developers also use other systems, such as object storage and file storage. While the ultimate goal of each is to provide data to users and applications, each of those storage methods goes about storing and retrieving data differently.

Object storage

Object storage, which is also known as object-based storage, breaks data files up into pieces called objects. It then stores those objects in a single repository, which can be spread out across multiple networked systems.

In practice, applications manage all of the objects, eliminating the need for a traditional file system. Each object receives a unique ID, which applications use to identify the object. And each object stores metadata—information about the files stored in the object.

One important difference between object storage and block storage is how each handles metadata. In object storage, metadata can be customized to include additional, detailed information about the data files stored in the object.

For example, the metadata accompanying a video file could be customized to tell where the video was made and the type of camera used to shoot it. It can even include details such as what subjects were captured in each frame. In block storage, metadata is limited to basic file attributes.

Block storage is best suited for static files that aren’t changed often because any change made to a file results in the creation of a new object.

File storage

File storage, which is also referred to as file-level or file-based storage, is normally associated with Network Attached Storage (NAS) technology. NAS presents storage to users and applications using the same ideology as a traditional network file system.

In other words, the user or application receives data through directory trees, folders and individual files. This functions similarly to a local hard disk drive. However, NAS or the network operating system (NOS) handle access rights, file sharing, file locking and other controls.

File storage can be very easy to configure, but access to data is constrained by a single path to the data, which can impact performance compared to block or object storage. File storage also only operates with common file-level protocols, such as a New Technology File System (NTFS) for Windows or a Network File System (NFS) for Linux. This could limit usability across dissimilar systems.

Watch Bradley Knapp explain the two most commonly used storage types: block and file storage, including their differences, benefits and use cases.

Block storage examples

Block storage allows for the creation of raw storage volumes, which server-based operating systems can connect to. You can treat those raw volumes as individual hard disks. This lets you use block storage for almost any kind of application, including file storage, database storage, virtual machine file system (VMFS) volumes and more.

Take, for example, the deployment of virtual machines across an enterprise. With block storage, you can easily create and format a block-based storage volume to store the VMFS. A physical server can then attach to that block, creating multiple virtual machines. What’s more, creating a block-based volume, installing an operating system and attaching to that volume allows users to share files using that native operating system.

Private cloud deployments are another excellent use of block storage. For a deeper dive into private clouds and block storage, check out the IBM Garage™ explanation of virtualization for extending virtualized private cloud using block and file storage.

Learn more about virtual machines
Block storage and containers

Block storage's inherent flexibility makes it ideal for containers. Containers abstract applications from operating systems, much like virtualization abstracts operating systems from physical hardware. With block storage, you can quickly define and launch containers. Containers benefit from the speed of block storage and the native ability for a single host to mount multiple blocks.

SANs and RAID arrays 

SANs

Developers often deploy block storage using a storage area network (SAN). SAN is a computer network that provides access to data storage. SANs present block storage to other networked systems as if those blocks were locally attached devices.

For example, a server can attach to a SAN using a data network connection, such as Fibre Channel, Internet Small Computer System Interface (iSCSI), or InfiniBand. This connection allows the server to access a block as if it was a locally accessed volume. You can also configure multiple storage arrays on a SAN and you can attach multiple servers to the SAN.

A SAN consists of many elements or layers. The first is the host layer, which consists of the server running a network operating system that is connected to the data network through a host bus adapter (HBA) card. The HBA card, in turn, is connected to the storage network using a cable.

The host layer is connected to the fabric layer, which is a collection of devices, such as SAN switches, routers, protocol bridges, gateway devices and cables. The fabric layer interacts with the storage layer, which consists of the physical storage devices, such as disk drives, magnetic tape or optical media.

RAID arrays

Block storage, on its own, does not provide much in the form of redundancy, making RAID arrays an important consideration for any mission-critical block storage implementation. RAID (redundant array of independent disks) protects data by writing it to two or more drives. If one disk fails, the information on the other disk(s) can usually replace it without users being aware of an interruption.

Open-source solutions

Open-source alternatives to traditional vendor-centric SAN solutions are on the upswing, with new projects emerging on an almost daily basis, while established projects continue to improve and add features. The open source project FreeNAS offers both block storage and software-defined RAID. Openfiler is another open source storage solution that includes support for block storage and RAID.

While open source shows significant promise in the storage sector, it requires expertise to guarantee success, which means that today’s storage administrators will need vendors for support and service.

Block Storage as a Service

Block Storage as a Service (BSSaaS) falls into the much larger category of Enterprise Storage as a Service (ESaaS). Within ESaaS, those looking for cloud-based storage can select from block, file or object storage to support their data storage needs. For the most part, when working with ESaaS, users will also have to choose an IaaS or PaaS solution and deploy applications and servers directly in the cloud.

Scaling block storage

The ability to meet demand is critical when it comes to storage. Storage consumption has grown at an exponential rate. Since block storage is independent from compute resources, scaling out requires nothing more than creating additional block storage volumes with an ESaaS provider.

For enterprises using a hybrid cloud approach, scaling out may require the purchase of additional hard disk drives or RAID arrays, but the actual process of scaling out remains relatively the same. Provisioning additional block storage volumes is the primary requirement to increase the amount of available storage. Learn more about scale and block storage.

Related solution
IBM Cloud Block Storage

IBM Cloud Block Storage offers flash-backed, local-disk performance with SAN persistence and durability.

Explore IBM Cloud Block Storage
Resources What is object storage?

Object storage, also called object-based storage, is a data storage architecture for handling large amounts of unstructured data.

Introduction to Storage Area Networks (SAN)

Learn how SANs can increase scalability, availability and application performance.

What are containers?

Containers are executable units of software that package application code together with its libraries dependencies and can be run anywhere, whether it be on desktop, traditional IT or the cloud.

Take the next step

IBM Cloud Block Storage offers flash-backed, local-disk performance with SAN persistence and durability.

Explore Cloud Block Storage