Problems with port of NVMe support
Warner Losh
imp at bsdimp.com
Sat Sep 14 05:08:36 UTC 2019
On Fri, Sep 13, 2019, 12:02 AM Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:
> Hello,
>
> I port currently the NVMe support from FreeBSD to RTEMS. Basically, it
> works. I can issue administration commands and some IO commands (e.g.
> FLUSH). I use this SSD for testing:
>
> $ nvmecontrol identify nvme0
> Controller Capabilities/Features
> ================================
> Vendor ID: 8086
> Subsystem Vendor ID: 8086
> Serial Number: PHM27390006S280AGN
> Model Number: INTEL SSDPE21D280GA
> Firmware Version: E2010325
> Recommended Arb Burst: 0
> IEEE OUI Identifier: e4 d2 5c
> Multi-Path I/O Capabilities: Not Supported
> Max Data Transfer Size: 131072
> Controller ID: 0x0000
> Version: 0.0.0
>
> My problem is now, that every WRITE transfer ends up in a DATA TRANSFER
> ERROR:
>
> nvme0: WRITE sqid:1 cid:127 nsid:1 lba:0 len:8
> nvme0: DATA TRANSFER ERROR (00/04) sqid:1 cid:127 cdw0:0
> nvme0: async event occurred (type 0x0, info 0x04, page 0x01)
>
> Every READ transfer ends up in a UNRECOVERED READ ERROR:
>
> nvme0: READ sqid:1 cid:127 nsid:1 lba:0 len:8
> nvme0: UNRECOVERED READ ERROR (02/81) sqid:1 cid:127 cdw0:0
> nvme0: async event occurred (type 0x0, info 0x04, page 0x01)
>
> I see the transfers in the error log:
>
> $ nvmecontrol logpage -p 1 nvme0
>
>
> Error Information Log
>
>
> =====================
>
>
> Entry 01
>
>
> =========
>
>
> Error count: 2546
>
>
> Submission queue ID: 1
>
>
> Command ID: 32512
>
>
> Status:
>
>
> Phase tag: 0
>
>
> Status code: 129
>
>
> Status code type: 2
>
>
> More: 1
>
>
> DNR: 1
>
>
> Error location: 0
>
>
> LBA: 0
>
>
> Namespace ID: 1
>
>
> Vendor specific info: 0
>
>
> Transport type: 0
>
>
> Command specific info:0
>
>
> Transport specific: 0
>
>
> Entry 02
>
>
> =========
>
>
> Error count: 2545
>
>
> Submission queue ID: 1
>
>
> Command ID: 32512
>
>
> Status:
>
>
> Phase tag: 0
>
>
> Status code: 4
>
>
> Status code type: 0
>
>
> More: 1
>
>
> DNR: 1
>
>
> Error location: 0
>
>
> LBA: 0
>
>
> Namespace ID: 1
>
>
> Vendor specific info: 0
>
>
> Transport type: 0
>
>
> Command specific info:0
>
>
> Transport specific: 0
>
> From the NVMe specification I didn't get any hints what the error
> reason could be. Maybe someone has a hint for me. The platform is a
> T4240 PowerPC (big-endian).
>
Maybe the physaddr in the SG list for these commands doesn't translate
right?
Warner
--
> Sebastian Huber, embedded brains GmbH
>
> Address : Dornierstr. 4, D-82178 Puchheim, Germany
> Phone : +49 89 189 47 41-16
> Fax : +49 89 189 47 41-09
> E-Mail : sebastian.huber at embedded-brains.de
> PGP : Public key available on request.
>
> Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>
More information about the freebsd-hackers
mailing list