- 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
117 lines
2.9 KiB
Markdown
117 lines
2.9 KiB
Markdown
# NVMe Benchmark: Post-Firmware Update (GXA7801Q)
|
|
|
|
> **Date**: 2026-04-02 14:57 CET
|
|
> **Device**: Samsung PM9A1 (MZVL2512HCJQ-00B00), 512GB
|
|
> **Serial**: S675NF0R703667
|
|
> **Firmware**: GXA7801Q (post-update, was GXA7401Q)
|
|
> **OS**: Manjaro Linux, kernel 6.12, KDE 6.5.6
|
|
> **NVMe slot**: /dev/nvme0n1 (root drive)
|
|
|
|
## SMART Health Data (Post-Update)
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| Critical Warning | 0 (healthy) |
|
|
| Temperature | 45°C (Sensor 2: 49°C) |
|
|
| Available Spare | 100% |
|
|
| Percentage Used | 19% |
|
|
| Data Units Read | 17.98 TB |
|
|
| Data Units Written | 94.22 TB |
|
|
| Power Cycles | 884 |
|
|
| Power On Hours | 4,930 h |
|
|
| Media Errors | 0 |
|
|
| Error Log Entries | 0 |
|
|
|
|
## fio Benchmark Results
|
|
|
|
### Sequential Read (128K block, QD32)
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| Bandwidth | 8,214 MB/s |
|
|
| IOPS | 65,716 |
|
|
| Avg Latency | 487 µs |
|
|
|
|
### Sequential Write (128K block, QD32)
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| Bandwidth | 4,093 MB/s |
|
|
| IOPS | 32,747 |
|
|
| Avg Latency | 977 µs |
|
|
|
|
### Random Read (4K block, QD32)
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| IOPS | 405,924 |
|
|
| Avg Latency | 79 µs |
|
|
|
|
### Random Write (4K block, QD32)
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| IOPS | 337,313 |
|
|
| Avg Latency | 95 µs |
|
|
|
|
### Random Read (4K block, QD1)
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| IOPS | 424,803 |
|
|
| Avg Latency | 2 µs |
|
|
|
|
### Random Write (4K block, QD1)
|
|
|
|
| Metric | Value |
|
|
|--------|-------|
|
|
| IOPS | 355,268 |
|
|
| Avg Latency | 3 µs |
|
|
|
|
## Comparison: GXA7401Q vs GXA7801Q
|
|
|
|
> **Note**: Sequential tests used different block sizes (pre: 4K, post: 128K).
|
|
> Random 4K QD32 tests are directly comparable.
|
|
|
|
### Random 4K QD32 (Comparable)
|
|
|
|
| Metric | GXA7401Q | GXA7801Q | Delta |
|
|
|--------|----------|----------|-------|
|
|
| Read IOPS | 361,000 | 405,924 | +12.4% |
|
|
| Write IOPS | 291,000 | 337,313 | +15.9% |
|
|
| Read Latency | 88 µs | 79 µs | -10.2% |
|
|
| Write Latency | 110 µs | 95 µs | -13.6% |
|
|
|
|
### SMART Comparison
|
|
|
|
| Metric | Before | After |
|
|
|--------|--------|-------|
|
|
| Media Errors | 0 | 0 |
|
|
| Error Log Entries | 0 | 0 |
|
|
| Temperature (load) | 51-64°C | 45-49°C |
|
|
|
|
## Test Configuration
|
|
|
|
```text
|
|
fio-3.41
|
|
IO Engine: libaio, Direct IO
|
|
IO Depth: 32 (seq + rand main), 1 (QD1 tests)
|
|
Runtime: 30s per test
|
|
File size: 1GiB
|
|
Directory: /tmp (on NVMe root drive)
|
|
```
|
|
|
|
## Assessment
|
|
|
|
- Firmware update successful: GXA7401Q -> GXA7801Q confirmed
|
|
- Random IOPS improved +12-16% at same queue depth
|
|
- Latency reduced 10-14% for random workloads
|
|
- SMART health unchanged: 0 media errors, 0 error log entries
|
|
- Temperature lower post-update (likely due to fresh boot vs loaded state)
|
|
- TRIM/unmap handling fix from GXA7801Q changelog should improve long-term write stability
|
|
|
|
## Conclusion
|
|
|
|
The GXA7801Q firmware update delivers measurable improvements in random I/O
|
|
performance and latency. Combined with the TRIM handling fixes, this update
|
|
is recommended for all Samsung PM9A1 non-SED drives running older firmware. |