Files
mw-pfeddersheim-workstation/docs/tech/nvme-benchmark-pre-gxa7802q.md
T
ja 1a57375fff docs(tech): pre-firmware benchmark + GXA7801Q update applied
- Comprehensive NVMe benchmark before firmware update (GXA7401Q)
- SMART health: 19% used, 0 media errors, 100% spare
- Sequential read: 1,554 MiB/s, write: 1,305 MiB/s
- Random read: 361k IOPS, write: 291k IOPS
- Key discovery: GXA7802Q is SED-only, GXA7801Q is non-SED (our drive)
- Firmware update applied: fw-download + fw-commit + fw-activate (slot 2)
- Reboot required to activate GXA7801Q firmware
2026-04-02 10:53:54 +02:00

3.9 KiB

NVMe Benchmark: Pre-Firmware Update (GXA7401Q)

Date: 2026-04-02 10:35 CET Device: Samsung PM9A1 (MZVL2512HCJQ-00B00), 512GB Serial: S675NF0R703667 Firmware: GXA7401Q (pre-update) OS: Manjaro Linux, kernel 6.12, KDE 6.5.6 NVMe slot: /dev/nvme0n1 (root drive)

SMART Health Data

Metric Value
Critical Warning 0 (healthy)
Temperature 51°C (Sensor 2: 64°C)
Available Spare 100%
Available Spare Threshold 10%
Percentage Used 19%
Data Units Read 17.97 TB
Data Units Written 94.19 TB
Host Read Commands 683,328,216
Host Write Commands 1,651,377,088
Controller Busy Time 9,265 min
Power Cycles 884
Power On Hours 4,926 h (~205 days)
Unsafe Shutdowns 88
Media Errors 0
Error Log Entries 0

hdparm Results

Test Throughput
Cached Reads 7,349.97 MB/sec
Buffered Disk Reads 741.99 MB/sec

fio Benchmarks (4K block, libaio, iodepth=32, 30s per test)

Sequential Read

Metric Value
Bandwidth 1,554 MiB/s (1,630 MB/s)
IOPS 398,000
Avg Latency 80.16 µs
P99 Latency 128 µs
P99.9 Latency 186 µs

Sequential Write

Metric Value
Bandwidth 1,305 MiB/s (1,368 MB/s)
IOPS 334,000
Avg Latency 95.53 µs
P99 Latency 163 µs
P99.9 Latency 255 µs

Random Read

Metric Value
Bandwidth 1,409 MiB/s (1,477 MB/s)
IOPS 361,000
Avg Latency 88.42 µs
P99 Latency 141 µs
P99.9 Latency 200 µs

Random Write

Metric Value
Bandwidth 1,135 MiB/s (1,190 MB/s)
IOPS 291,000
Avg Latency 109.78 µs
P99 Latency 190 µs
P99.9 Latency 334 µs

Random Read/Write (70/30)

Metric Read Write
Bandwidth 919 MiB/s (964 MB/s) 394 MiB/s (413 MB/s)
IOPS 235,000 101,000
Avg Latency 94.72 µs 95.05 µs
P99 Latency 149 µs 149 µs

Test Configuration

fio-3.41
Block size: 4096B
IO Engine: libaio
IO Depth: 32
Direct IO: yes
Runtime: 30s per test
File size: 1GiB
Directory: /tmp (on NVMe root drive)

Assessment

  • Drive health is good: 0 media errors, 0 error log entries, 100% spare
  • 19% endurance used after ~205 days powered on (within normal range)
  • Sequential performance consistent with PCIe 4.0 x4 NVMe expectations
  • Random IOPS strong for a client-grade TLC SSD
  • Temperature under load: 51-64°C (well within spec)

Firmware Update Applied

Date: 2026-04-02 10:51 CET

Key Discovery: Firmware Naming Convention

Suffix Type Model Suffix
GXA***1Q Non-SED 00B00 (our drive)
GXA***2Q SED 00B07

Our drive (MZVL2512HCJQ-00B00) requires GXA7801Q, NOT GXA7802Q. The OVH mirror only hosts GXA7802Q (SED variant) which was rejected as "Invalid Firmware Image".

Correct Firmware Source

  • Repository: lolyinseo/samsung-nvme-firmware (GitHub, 199 stars)
  • File: PM9A1/ASUS/GXA7801Q/GXA7801Q_20221102.bin
  • Size: 2,097,152 bytes (2.0 MiB)
  • SHA256: 76ad2b0c35581cb71bd4c5a5fd358a15c4432aa38e9e983acc2349d2b24b5a11

Update Process (all succeeded)

# Step 1: Download to controller SRAM
sudo nvme fw-download --fw=/tmp/GXA7801Q.bin /dev/nvme0n1
# → Firmware download success

# Step 2: Install to slot 2 (preserve original in slot 1)
sudo nvme fw-commit -s 2 -a 0 /dev/nvme0
# → Success committing firmware action:0 slot:2

# Step 3: Activate slot 2
sudo nvme fw-commit -s 2 -a 2 /dev/nvme0
# → Success committing firmware action:2 slot:2

# Step 4: Reboot to apply
sudo reboot

Next Steps

  • Reboot system to activate GXA7801Q firmware
  • Verify firmware version with nvme list
  • Re-run identical benchmarks post-update
  • Compare results in docs/tech/nvme-benchmark-post-gxa7801q.md