Files
mw-pfeddersheim-workstation/docs/tech/nvme-benchmark-pre-gxa7802q.md
ja bbdcd43e01 docs(tech): add post-firmware benchmark and complete GXA7801Q update docs
- Post-update fio benchmark: random read +12.4%, write +15.9% IOPS
- Latency reduced 10-14% for random workloads
- SMART health unchanged: 0 media errors, 0 error log entries
- Firmware research status updated to complete
- Pre-benchmark checklist marked done
2026-04-02 15:10:54 +02:00

4.0 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 -> GXA7801Q confirmed
  • Re-run identical benchmarks post-update
  • Compare results in docs/tech/nvme-benchmark-post-gxa7801q.md