Benchmarks

Storage benchmark

The storage benchmark measures your drive's read and write performance for both sequential and random access patterns. The combined result produces your storage score, which reflects how quickly your system can load, save, and access data on disk.

What the storage test measures

The storage benchmark runs four tests that cover the two main types of disk access.

Sequential read and write

Sequential tests measure throughput when reading or writing large contiguous blocks of data. This pattern represents workloads such as copying files, loading large applications, video editing with large media files, and reading or writing disk images.

Random read and write

Random tests measure how quickly the drive responds to small, scattered read and write operations. This pattern represents everyday workloads such as booting the operating system, launching applications, loading game assets, and running databases.

Random performance determines how responsive your system feels during normal use. If its random access performance is poor, even a fast sequential drive can feel slow. Most everyday disk activity involves many small random operations rather than sustained large transfers.

Test methodology

Each test runs for a fixed duration using asynchronous I/O. It measures how much data the drive transfers in that time. The four tests use specific block sizes and queue depths chosen to reflect their real-world counterparts:

Test

Block size

Queue depth

Access pattern

Sequential read

4 MB

8

Contiguous

Sequential write

4 MB

8

Contiguous

Random read

4 KB

1

Random

Random write

4 KB

1

Random

Sequential tests use large 4 MB blocks with a queue depth of 8. This lets the drive's controller optimize for sustained throughput, similar to how file copies and media playback access data. Random tests use small 4 KB blocks with a queue depth of 1. These reflect the small, scattered I/O operations of application launches, OS activity, and database queries.

All platforms use the same test patterns and parameters with platform-native asynchronous I/O. Results are therefore comparable across operating systems. By default, Novabench writes and reads test data in your system's temporary directory.

Testing specific drives

By default, Novabench tests the drive where your system's temporary directory is located, which is typically your primary (boot) drive. If your system has multiple drives and you want to test a different one, change the test path in Novabench's settings. Point it to a directory on the target drive.

This is useful for:

  • Comparing drives: test each drive individually to see how they compare
  • Verifying a new drive: confirm that a newly installed SSD delivers the expected performance
  • Diagnosing a slow drive: if a specific drive feels slow, benchmark it to see whether performance matches the manufacturer's specifications

Note

The test path must be writable. Novabench creates and deletes temporary test files during the benchmark. If the target directory is read-only or on a network share, the test fails or produces inaccurate results.

How the storage score is calculated

Novabench derives the storage score from both sequential and random performance (for both read and write). The formula applies a power curve that reflects the diminishing practical impact of extremely high sequential speeds. The jump from a hard drive to a SATA SSD produces a large score improvement. The jump from a fast Gen 4 NVMe to a faster Gen 5 NVMe produces a smaller but still measurable improvement.

Sequential and random results come on different scales and have different practical impact. Before it combines them, Novabench applies a per-workload scaling step calibrated against reference hardware. The power curve then keeps the score sensitive to gains you actually feel and prevents extreme sequential numbers from dominating the headline.

Validation

Before each release, Novabench measures storage score consistency across supported platforms and common HDD, SATA SSD, and NVMe configurations.

A note on single-score benchmarks

There is no such thing as a fully objective single-number storage benchmark. Every score reflects choices about which access patterns to include, which block sizes and queue depths to use, and how to weight sequential against random performance. Different choices produce different scores, and a drive that wins one benchmark can lose another depending on what each one emphasizes.

Novabench's choices make scores generally useful for comparing drives. The mix of sequential and random access is balanced, at block sizes and queue depths that match real-world software. Test patterns are identical across operating systems. The power curve mirrors the way drive speed actually affects everyday responsiveness. Those choices favor general-purpose computing (most disk activity is a mix of file copies, app launches, and OS background work), and they don't try to capture every workload in the headline number.

If your workload doesn't match those assumptions, the headline score does not tell the full story. Novabench reports the per-workload sub-scores alongside the overall score for exactly this reason. A user who moves large media files can look at sequential throughput. Someone who runs databases or large-codebase compiles can look at random read and write. Someone who does backups and disk imaging can weigh sequential read against sequential write. The headline is a summary; the breakdown shows how the drive handles your work.

Cross-platform comparability

Novabench runs the same storage workloads on every supported platform: Windows, macOS, and Linux. Block sizes, queue depths, and access patterns are identical across operating systems. Each platform uses its native asynchronous I/O API to talk to the drive, so scores compare cleanly across systems.

How the benchmark runs

The storage benchmark is designed around three priorities: consistent measurement, fair comparison across systems, and a balanced top-level score backed by full per-test detail. Several mechanics support those priorities:

  • Warmup and calibration: each test starts with a warmup that establishes a steady operating state and calibrates workload size for the drive. A fast drive and a slow drive then both produce a meaningful amount of work to compare.
  • Process isolation: each test runs in its own worker process, separate from the Novabench app. This lets the benchmark control exactly how the workload runs against the drive. The app's own UI, logging, and sensor sampling do not interfere. It also stops the previous test from influencing the next one.
  • Sequential and random access patterns: sequential tests use 4 MB blocks at queue depth 8 to measure large-file throughput. Random tests use 4 KB blocks at queue depth 1 to measure the small, scattered operations that drive everyday responsiveness.
  • Hardware detection and drive selection: every result captures the drive model, capacity, and interface, along with S.M.A.R.T. health values on supported systems. By default, Novabench tests the drive that holds your temporary directory. You can point the test path at any writable folder to benchmark a secondary or external drive.

Top-level scores are a summary. Novabench always presents per-test results alongside the overall score, so you can weigh individual workloads against your own use case.

Factors affecting storage scores

Drive health and capacity

  • Free space: SSDs perform best when they have ample free space. A nearly full SSD has fewer blocks available for wear-leveling and garbage collection, which can reduce write speeds. Keep at least 10% to 20% of your drive free for optimal performance.
  • Drive age and wear: SSDs have a finite number of write cycles. A heavily used SSD can show reduced write performance as it ages. Most SSDs report their health status through S.M.A.R.T. data, which Novabench shows in a tab with the storage test results.
  • Fragmentation: on traditional hard drives, file fragmentation forces the read head to move between scattered blocks, reducing both sequential and random performance. SSDs are not affected by fragmentation because they have no moving parts. Operating systems run background de-fragmentation operations on HDDs to reduce the impact of fragmentation. It is generally no longer a practical performance concern.

System conditions

  • Background disk activity: cloud sync services (OneDrive, Dropbox, iCloud), antivirus scans, system updates, and indexing services all generate disk I/O that competes with the benchmark. Close or pause these services for the most accurate results.
  • Thermal throttling: some NVMe SSDs throttle performance when they overheat, especially M.2 drives without adequate cooling. If your storage scores drop during multi-iteration runs, thermal throttling may be the cause.
  • Interface limitations: a fast NVMe SSD installed in a PCIe 3.0 slot is limited to Gen 3 speeds, even if the drive supports Gen 4. Check your motherboard specifications to make sure that the slot supports your drive's maximum speed.

External drives

You can benchmark external drives by changing the test path, but results depend on the connection interface:

  • Thunderbolt 4/3: up to 3,000 MB/s, suitable for external NVMe enclosures
  • USB 3.2 Gen 2x2: up to 2,000 MB/s theoretical
  • USB 3.2 Gen 2: up to 1,000 MB/s theoretical
  • USB 3.0 (Gen 1): up to 500 MB/s theoretical
  • USB 2.0: limited to approximately 40 MB/s

The connection interface, cable quality, and enclosure controller all affect external drive benchmark results.