External SSD

Current version: 0.1

This methodology defines the standardized test procedure used by Eugen Standard for external SSDs.
The objective is strict cross-device comparability based on raw, repeatable performance measurements.

Core principles

  • Raw performance measurements only
  • No sponsorship influence
  • No subjective scores
  • No composite ratings
  • All attempts are published
  • All tests follow fixed procedural rules

Test environment

Each device is tested under documented and controlled conditions.

For every published unit, the following parameters are disclosed:

  • Model
  • Capacity (GiB)
  • Serial number (partially masked)
  • Firmware version
  • Operating system
  • Fio version

Environmental conditions

  • Room temperature: 21–24°C
  • Identical hardware platform
  • No background workloads
  • Fixed software versions

Execution baseline

All tests are executed under Windows using Fio with the following baseline conditions:

  • ioengine=windowsaio
  • direct=1 (OS cache bypassed)
  • numjobs=1

Each scenario is executed at least three times.

For comparisons, rankings, and calculators I use the median of the first three valid attempts performed under one documented test mode. A valid comparison set must keep the preparation procedure consistent: file system, maintenance step such as TRIM/ReTrim, idle/recovery interval, Fio command, and test environment.

If the initial out-of-box procedure does not produce repeatable recovery for a specific unit, those runs are kept as diagnostic data and are not mixed into the comparison median. In that case, I document the mode change and use the first three valid attempts from the new stable procedure. Additional verification runs may be published as context, but they are not used for the calculator or ranking median unless explicitly marked as part of the official comparison set.

Test scenarios

1. Fresh Sequential Write — 250 GiB

Purpose

This test measures:

  • Real sustained sequential write performance
  • SLC cache behavior
  • Post-cache stability
  • Total time required to write large data volumes

A 250 GiB workload is used to push the drive beyond short burst behavior.

Procedure

Before the first attempt, the drive is formatted in Windows using Quick Format.
The file system remains the manufacturer default, such as exFAT or NTFS as shipped.
Allocation unit size remains the system default.

Before the first run, the drive remains idle for a minimum of 10 hours.
Idle means the drive stays powered and connected to the system, with no read or write activity and no background workloads.

A 250 GiB sequential write workload is then executed.

After each attempt, the drive again remains idle for a minimum of 10 hours under the same conditions before the next run.

This idle period allows the controller to complete internal background operations such as garbage collection, block consolidation, and cache recovery, improving comparability between attempts.

After the final write attempt, the written file remains on the drive for read testing.

Fio command (PowerShell)

fio --name=Fresh_Sequential_Write `
  --filename=250gb.dat `
  --rw=write `
  --bs=1M `
  --iodepth=1 `
  --direct=1 `
  --ioengine=windowsaio `
  --numjobs=1 `
  --size=250G `
  --write_bw_log=fresh_write_250gb `
  --log_avg_msec=1000 `
  --fallocate=none `
  --output=fresh_write_run.txt

Published metrics

  • Avg Speed (MB/s)
  • Sustained Speed (MB/s)
  • SLC Speed (MB/s)
  • Time SLC (sec)
  • GiB (SLC data)
  • Time total (sec)

2. Sequential Read — 250 GiB (Single Pass)

Purpose

This test measures:

  • Large-file read performance
  • Real-world archive and media workloads
  • Full-range consistency

The test reads the file created during the final write attempt.

Procedure

The file written during the previous scenario is used as the read source.

Between read attempts, the drive remains idle for a minimum of 1 hour under the same defined idle conditions.

Fio command (PowerShell)

fio --name=Sequential_Read_Single_Pass `
  --filename=250gb.dat `
  --size=250G `
  --rw=read `
  --bs=1M `
  --iodepth=1 `
  --direct=1 `
  --ioengine=windowsaio `
  --numjobs=1 `
  --write_bw_log=sequential_read_single_pass_250gb `
  --log_avg_msec=1000 `
  --log_unix_epoch=1 `
  --thread `
  --output=read_run.txt

Published metrics

  • Avg Speed (MB/s)
  • Data Size (GiB)

3. Random Read — 4K QD1

Purpose

This test measures:

  • Small-block access performance
  • OS-level responsiveness
  • Application launch behavior
  • Controller latency handling

Queue depth 1 is used to reflect typical consumer workloads rather than synthetic stress conditions.

Procedure

The workload is executed against the existing test file.

Between attempts, the drive remains idle for a minimum of 1 hour under the same defined idle conditions.

Fio command (PowerShell)

fio --name=Random_Read_4K_QD1 `
  --filename=250gb.dat `
  --rw=randread `
  --bs=4k `
  --iodepth=1 `
  --numjobs=1 `
  --direct=1 `
  --ioengine=windowsaio `
  --time_based=1 `
  --runtime=300 `
  --write_bw_log=es_rr4k_qd1_bw `
  --log_avg_msec=1000 `
  --output=es_rr4k_qd1_run.txt

Published metrics

  • Avg Speed (MB/s)
  • Latency p99 (ms)

Data reporting and processing

  • Each scenario is executed three times
  • All individual attempts are published
  • Median value is used as the primary comparison metric
  • No weighting, normalization, or artificial scoring is applied
  • All results are derived directly from raw Fio output logs

The methodology is designed to prioritize transparency, repeatability, and cross-device comparability.

Version history

v0.1

Initial public version of the External SSD methodology.

Includes:

  • Fresh Sequential Write — 250 GiB
  • Sequential Read — 250 GiB (Single Pass)
  • Random Read — 4K QD1

Applies fixed procedural rules, three attempts per scenario, and direct publication of raw measurements without composite scoring.