The PCMark 10 Full System Drive Benchmark uses a wide-ranging set of real-world traces from popular applications and common tasks to fully test the performance of the fastest modern drives. 

The benchmark is designed to measure performance of fast system drives using the SATA bus at the low end and devices connected via PCI Express at the high end. The goal of the benchmark is to show meaningful real-world performance differences between fast storage technologies such as SATA, NVMe, and Intel’s Optane.

The Full System Drive Benchmark uses all 23 traces, running 3 passes with each trace. It typically takes an hour to run.

Traces used

Result file labelDescription
booBooting Windows 10
sacrAdobe Acrobat - starting the application until usable
Adobe After Effects - starting the application until usable
sillAdobe Illustrator - starting the application until usable
spreAdobe Premiere Pro - starting the application until usable
sligAdobe Lightroom - starting the application until usable
spsAdobe Photoshop - starting the application until usable
bfBattlefield V - starting the game until the main menu
codCall of Duty Black Ops 4 - starting the game until the main menu
owOverwatch - starting the game until main menu
aftUsing Adobe After Effects
excUsing Microsoft Excel
illUsing Adobe Illustrator
indUsing Adobe InDesign
powUsing Microsoft PowerPoint
pshUsing Adobe Photoshop (heavy use)
pslUsing Adobe Photoshop (light use)
cp1Copying 4 ISO image files, 20 GB in total, from a secondary drive to the target drive (write test)
cp2Making a copy of the ISO files (read-write test)
cp3Copying the ISO to a secondary drive (read test)
cps1Copying 339 JPEG files, 2.37 GB in total, to the target drive (write test)
cps2Making a copy of the JPEG files (read-write test)
cps3Copying the JPEG files to another drive (read test)


Overall score

The PCMark 10 FUll System Drive Benchmark produces an overall score, which is calculated from the bandwidth and average access time sub-scores.

PCMark 10 Storage score    =    geometric mean (bandwidth, 1 / average access time)


The secondary metrics are Bandwidth and Average access time

During a trace playback, the start and end time is measured for each I/O.

access_time_for_an_I/O     =    end time - start time

Specifically, filesystem target type can issue other types of I/O than read and write, for example, create file and close file. To be able to focus on actual data transfer performance:  

average_access_time        =    arithmetic mean of only read and write access time

Busy time is a metric used to quantify the amount of time that the storage device is executing I/Os. It is defined as the sum of all times when at least one I/O was executing. Again, to be able to focus on data transfer performance, we define busy_time_for_read_and_write as the time when at least one read or write operation was executing. Using this and the number of bytes being transferred during the trace playback, we define:

bandwidth                  =    bytes / busy_time_for_read_and_write