Files
mw-pfeddersheim-workstation/docs/tech/nvme-benchmark-pre-gxa7802q.md
T
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

155 lines
4.0 KiB
Markdown

# 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
```text
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)
```bash
# 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
- [x] Reboot system to activate GXA7801Q firmware
- [x] Verify firmware version with `nvme list` -> GXA7801Q confirmed
- [x] Re-run identical benchmarks post-update
- [x] Compare results in `docs/tech/nvme-benchmark-post-gxa7801q.md`