Fundamentals 16 min read

Understanding Disk I/O: From Read/Write Basics to RAID IOPS Calculations

This article comprehensively explains disk storage fundamentals—including read/write operations, random versus sequential access, queue and burst modes, IO size variability, IOPS metrics, RAID performance penalties, and response‑time behavior—providing practical formulas and guidelines for evaluating storage systems.

Architects' Tech Alliance
Architects' Tech Alliance
Architects' Tech Alliance
Understanding Disk I/O: From Read/Write Basics to RAID IOPS Calculations

Introduction

The article aims to synthesize basic concepts of disk storage so readers can gain a comprehensive understanding of I/O performance, its monitoring, and tuning.

Read/Write I/O Operations

Disk storage is used for data access; a write I/O stores data while a read I/O retrieves data. The disk controller receives the OS command, forwards the request and address to the disk, and returns the data or status back to the OS, completing a single I/O operation.

Random vs. Sequential Access

Random access occurs when the sector address of the current I/O differs greatly from the previous one, requiring the read/write head to move a long distance. Sequential (continuous) access happens when successive I/O requests target nearby sectors, allowing the head to start the next operation quickly.

Queue Mode (Sequential I/O) vs. Burst Mode (Concurrent I/O)

When a disk controller can issue only one command to a disk group at a time, it operates in queue (sequential) mode. If the controller can issue multiple commands simultaneously to a multi‑disk array, it operates in burst (concurrent) mode; a single disk can only handle one command at a time.

IO Size (IO Chunk Size)

Database block size (typically 8 KB for SQL Server and Oracle) does not dictate the actual IO size sent to the disk. The OS file‑system cache may coalesce multiple 8 KB requests into a larger disk request, and storage controllers may further merge requests. Consequently, individual IO sizes vary and depend on caching decisions.

IOPS (IO Operations Per Second)

IOPS measures how many I/O operations a storage system can perform each second. For a single disk, IOPS can be estimated from three timing components:

Seek Time (Tseek) : average time to move the head to the correct track (typically 3‑15 ms).

Rotational Delay : average wait for the platter to rotate the target sector under the head (≈½ of the rotation period; e.g., 4.17 ms for 7200 RPM, 2 ms for 15000 RPM).

Transfer Time (Ttransfer) : time to move the data, calculated as IO Size / Max Transfer Rate. Transfer rates are often 133 MB/s (IDE/ATA) or 300 MB/s (SATA II).

IOPS ≈ 1 / (Tseek + Rotational Delay + Transfer Time).

SSD vs. HDD

SSD performance differences stem mainly from cell architecture: SLC (single‑level cell) outperforms MLC (multi‑level cell).

RAID IOPS and Write Penalties

RAID arrays’ IOPS depend heavily on the RAID level. Write penalties are:

RAID 0: none

RAID 1/10: 2

RAID 5: 4

RAID 6: 6

Example calculation: with 4 disks each delivering 140 random IOPS, 10 % cache hit rate, the resulting write IOPS and total RAID IOPS are shown in the accompanying diagrams.

Cache Effects in Disk Arrays

Many vendors achieve high advertised IOPS by using many small, high‑speed disks in RAID 10 configurations and by omitting the “100 % sequential read” qualifier. The Storage Performance Council (SPC) provides standardized benchmarks (SPC‑1 for random I/O, SPC‑2 for sequential I/O) that simulate real workloads such as OLTP, databases, and email.

These benchmark results represent theoretical maximums; actual deployments should compare measured IOPS against calculated theoretical values, applying a “performance uplift factor” that reflects cache contributions.

Desktop Virtualization IOPS Requirements

Typical VM IOPS ranges:

Lightweight: 4‑8 IOPS

Normal: 8‑15 IOPS

Heavy: 15‑30 IOPS

Idle: 4 IOPS

Logged‑out: 12 IOPS

Offline: 0 IOPS

To assess whether a storage system meets these needs, consider:

Total system IOPS demand vs. supply (e.g., 5000 heavy VMs × 30 IOPS = 150 000 IOPS).

Per‑resource (LUN) IOPS demand vs. supply, using best‑practice ratios (e.g., 25‑30 heavy VMs per LUN, yielding ~750 IOPS demand) and adjusting with the uplift factor derived from benchmark comparisons.

IO Response Time (Latency)

IO latency is the time from the OS issuing an I/O command to receiving the response, encompassing queue waiting time in addition to the internal disk processing time. As actual IOPS approach the theoretical maximum, latency grows non‑linearly. A common guideline is to keep the I/O queue length below 70 % of the maximum IOPS; exceeding this threshold causes dramatic latency spikes, indicating the need for scaling or optimization.

Key Takeaways

Understanding the interplay of seek time, rotational delay, transfer time, caching, RAID level, and workload characteristics enables accurate IOPS estimation and informed storage capacity planning.

Original Source

Signed-in readers can open the original source through BestHub's protected redirect.

Sign in to view source
Republication Notice

This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactadmin@besthub.devand we will review it promptly.

Disk I/ORAIDIOPSstorage performancedisk architectureIO latency
Architects' Tech Alliance
Written by

Architects' Tech Alliance

Sharing project experiences, insights into cutting-edge architectures, focusing on cloud computing, microservices, big data, hyper-convergence, storage, data protection, artificial intelligence, industry practices and solutions.

0 followers
Reader feedback

How this landed with the community

Sign in to like

Rate this article

Was this worth your time?

Sign in to rate
Discussion

0 Comments

Thoughtful readers leave field notes, pushback, and hard-won operational detail here.