NVMe driver for SSD access over the pcie port?


I want to know is there the support for NVMe driver for SSD access over the pcie port on db820c 4.14 kernel.



The connector is a MINI PCIe, HMC Half Mini Card. This is not mSATA or M.2, It supplies just one USB 3.0 and one lane of PCIe 2.1. As far as I am aware there are no Mini PCIe cards with NVMe interfaces. I believe NMVe cards generally use four lanes. The bandwidth available on this one lane can be saturated with one SATA 3 port.
I bought one of these:
IOCrest IO-MPCE1061-2I
Chipset ASMedia ASM1062
plugged it into the board and plugged a hard disk into it.
The kernel sees the controller and disk just fine:
[ 3.987498] ahci 0001:01:00.0: enabling device (0000 -> 0003)
[ 3.990451] ahci 0001:01:00.0: SSS flag set, parallel bus scan disabled
[ 3.996014] ahci 0001:01:00.0: AHCI 0001.0200 32 slots 2 ports 6 Gbps 0x3 impl SATA mode
[ 4.002348] ahci 0001:01:00.0: flags: 64bit ncq sntf stag led clo pmp pio slum part ccc sxs
[ 4.019812] scsi host1: ahci
[ 4.031533] scsi host2: ahci
[ 4.034445] ata1: SATA max UDMA/133 abar m512@0xd310000 port 0xd310100 irq 271
[ 4.037241] ata2: SATA max UDMA/133 abar m512@0xd310000 port 0xd310180 irq 271
[ 4.514940] ata1: SATA link up 6.0 Gbps (SStatus 133 SControl 300)
[ 4.515491] ata1.00: ATA-10: WDC WD10SPZX-24Z10T0, 01.01A01, max UDMA/133
[ 4.515496] ata1.00: 1953525168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
[ 4.516138] ata1.00: configured for UDMA/133
[ 4.516537] scsi 1:0:0:0: Direct-Access ATA WDC WD10SPZX-24Z 1A01 PQ: 0 ANSI: 5
[ 4.526632] sd 1:0:0:0: [sdg] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[ 4.526637] sd 1:0:0:0: [sdg] 4096-byte physical blocks
[ 4.526679] sd 1:0:0:0: [sdg] Write Protect is off
[ 4.526751] sd 1:0:0:0: [sdg] Write cache: enabled, read cache: enabled, doesn’t support DPO or FUA
[ 4.843723] ata2: SATA link down (SStatus 0 SControl 300)
I would really like to boot grub from this disk but, of course, the current builds of LK and U-boot cannot do that. In fact, it would have to be U-boot, to provide the EFI support, unless the EFI in xbl.elf ever sees the light of day.
Essentially, if the kernel supports it then you can do it. But, you have to boot the kernel first.


I also opted to take the SATA approach for DB820C (although I haven’t
found time to plug it in yet). Ultimately it looks like using SATA
would make enclosure design so much easier.