Jump to content
XPEnology Community

NVMe cache support


advin

Recommended Posts

Syndicating an NVMe device via RDM will cause it to appear as the type supported by the virtual controller to which it is attached.

In the case of my examples, DSM sees the NVMe drives as SAS.  They could as easily by SCSI or SATA, all to which DSM provides direct support as disk devices.

 

So there will be nothing output from the nvme command structure.

Link to comment
Share on other sites

Running in to the exact same issue as Selfmade RuLeZ but with an Samsung 970Pro 512GB nvme ssd. It also does not recognize it's in an m.2 slot?

nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev  
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     S463NF0K812201F      Samsung SSD 970 PRO 512GB                1           0.00   B / 512.11  GB    512   B +  0 B   1B2QEXP7

scemd: disk_temperature_update.c:52 Can't find the Disk Node whose path is /dev/nvme0n1
scemd: nvme_dev_port_check.c:16 Failed to get slot informtion of nvme0n1
scemd: nvme_dev_port_check.c:16 Failed to get slot informtion of nvme0n1
scemd: nvme_dev_port_check.c:16 Failed to get slot informtion of nvme0n1

 

synonvme --is-nvme-ssd /dev/nvme0n1

It is a NVMe SSD

synonvme --m2-card-model-get /dev/nvme0n1

Not M.2 adapter card

synonvme --model-get /dev/nvme0n1

Model name: Samsung SSD 970 PRO 512GB

Edited by Polanskiman
Added code tag
Link to comment
Share on other sites

Ooo, I wonder if Syno coded their utilities specifically to a particular PCIe address for DS918?  Can anyone with a real DS918+ and a NVMe card run a lspci on their NVMe card?

 

EDIT: there are a number of commands I'd like to run and see the output on an actual DS918 with an installed NVMe SSD.  If you own one of these and want to help, please make yourself known...

Edited by flyride
Link to comment
Share on other sites

  • 1 month later...

Hoping for an update here. NetData sees my two NVME drives (8200PRO-256GB) but not Synology.

root@diskstation:~# nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     2J1220060000         ADATA SX8200PNP                          1         256.06  GB / 256.06  GB    512   B +  0 B   R0906I
/dev/nvme1n1     2J1220059000         ADATA SX8200PNP                          1         256.06  GB / 256.06  GB    512   B +  0 B   R0906I
root@diskstation:~#
Edited by Polanskiman
add details
Link to comment
Share on other sites

On 3/6/2019 at 2:29 PM, AbsesS said:

Running in to the exact same issue as Selfmade RuLeZ but with an Samsung 970Pro 512GB nvme ssd. It also does not recognize it's in an m.2 slot?

 

nvme list
Node             SN                   Model                                    Namespace Usage                      Format           FW Rev  
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1     S463NF0K812201F      Samsung SSD 970 PRO 512GB                1           0.00   B / 512.11  GB    512   B +  0 B   1B2QEXP7

 

scemd: disk_temperature_update.c:52 Can't find the Disk Node whose path is /dev/nvme0n1
scemd: nvme_dev_port_check.c:16 Failed to get slot informtion of nvme0n1
scemd: nvme_dev_port_check.c:16 Failed to get slot informtion of nvme0n1
scemd: nvme_dev_port_check.c:16 Failed to get slot informtion of nvme0n1

 

synonvme --is-nvme-ssd /dev/nvme0n1
It is a NVMe SSD
synonvme --m2-card-model-get /dev/nvme0n1
Not M.2 adapter card
synonvme --model-get /dev/nvme0n1
Model name: Samsung SSD 970 PRO 512GB

4

 

I believe that it is saying that you do not have an add on card that adds m2 slots.  I get the same message as you do.

 

Link to comment
Share on other sites

On 3/6/2019 at 2:34 PM, flyride said:

Ooo, I wonder if Syno coded their utilities specifically to a particular PCIe address for DS918?  Can anyone with a real DS918+ and a NVMe card run a lspci on their NVMe card?

Im getting my DS918+ tomorrow. Maybe I can help.

Link to comment
Share on other sites

  • 2 months later...
  • 1 month later...
  • 2 weeks later...
  • 3 weeks later...
On 8/27/2019 at 1:21 PM, advin said:

Yes needed  .Just try With out  .Let me check 

 

@advin bump

 

Also https://xpenology.com/forum/topic/13342-nvme-cache-support/?do=findComment&comment=107911

 

If possible, please post the output of the following commands on a real DS918 with a working NVMe cache drive installed.  You may need to be elevated root (sudo -i):

  1. lspci -k
  2. ls /dev/nvm*
  3. udevadm info /dev/nvme0
  4. synonvme --get-location /dev/nvme0
  5. synonvme --port-type-get /dev/nvme0
  6. ls /sys/block
  7. ls /run/synostorage/disks
Edited by flyride
Link to comment
Share on other sites

Hey, I have a synology ds918+ with 2 nvme samsung 970 EVO 250gigs  read-write cache. Hope it helps

ash-4.3# lspci -k
00:00.0 Class 0600: Device 8086:5af0 (rev 0b)
        Subsystem: Device 8086:7270
00:02.0 Class 0300: Device 8086:5a85 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: i915
00:0e.0 Class 0403: Device 8086:5a98 (rev 0b)
        Subsystem: Device 8086:7270
00:0f.0 Class 0780: Device 8086:5a9a (rev 0b)
        Subsystem: Device 8086:7270
00:11.0 Class 0050: Device 8086:5aa2 (rev 0b)
        Subsystem: Device 8086:7270
00:12.0 Class 0106: Device 8086:5ae3 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: ahci
00:13.0 Class 0604: Device 8086:5ad8 (rev fb)
        Kernel driver in use: pcieport
00:13.1 Class 0604: Device 8086:5ad9 (rev fb)
        Kernel driver in use: pcieport
00:13.2 Class 0604: Device 8086:5ada (rev fb)
        Kernel driver in use: pcieport
00:13.3 Class 0604: Device 8086:5adb (rev fb)
        Kernel driver in use: pcieport
00:14.0 Class 0604: Device 8086:5ad6 (rev fb)
        Kernel driver in use: pcieport
00:15.0 Class 0c03: Device 8086:5aa8 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: xhci_hcd
00:16.0 Class 1180: Device 8086:5aac (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:18.0 Class 1180: Device 8086:5abc (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:18.1 Class 1180: Device 8086:5abe (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:18.2 Class 1180: Device 8086:5ac0 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:18.3 Class 1180: Device 8086:5aee (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:19.0 Class 1180: Device 8086:5ac2 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:19.1 Class 1180: Device 8086:5ac4 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:19.2 Class 1180: Device 8086:5ac6 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: intel-lpss
00:1a.0 Class 0c80: Device 8086:5ac8 (rev 0b)
        Subsystem: Device 8086:7270
00:1f.0 Class 0601: Device 8086:5ae8 (rev 0b)
        Subsystem: Device 8086:7270
00:1f.1 Class 0c05: Device 8086:5ad4 (rev 0b)
        Subsystem: Device 8086:7270
        Kernel driver in use: i801_smbus
01:00.0 Class 0106: Device 1b4b:9215 (rev 11)
        Subsystem: Device 1b4b:9215
        Kernel driver in use: ahci
02:00.0 Class 0108: Device 144d:a808
        Subsystem: Device 144d:a801
        Kernel driver in use: nvme
03:00.0 Class 0108: Device 144d:a808
        Subsystem: Device 144d:a801
        Kernel driver in use: nvme
04:00.0 Class 0200: Device 8086:1539 (rev 03)
        Subsystem: Device 8086:0000
        Kernel driver in use: igb
05:00.0 Class 0200: Device 8086:1539 (rev 03)
        Subsystem: Device 8086:0000
        Kernel driver in use: igb
ash-4.3# ls /dev/nvm*
/dev/nvme0  /dev/nvme0n1  /dev/nvme0n1p1  /dev/nvme1  /dev/nvme1n1  /dev/nvme1n1p1
ash-4.3# udevadm info /dev/nvme0
P: /devices/pci0000:00/0000:00:13.1/0000:02:00.0/nvme/nvme0
N: nvme0
E: DEVNAME=/dev/nvme0
E: DEVPATH=/devices/pci0000:00/0000:00:13.1/0000:02:00.0/nvme/nvme0
E: MAJOR=250
E: MINOR=0
E: PHYSDEVBUS=pci
E: PHYSDEVDRIVER=nvme
E: PHYSDEVPATH=/devices/pci0000:00/0000:00:13.1/0000:02:00.0
E: SUBSYSTEM=nvme
E: SYNO_INFO_PLATFORM_NAME=apollolake
E: SYNO_KERNEL_VERSION=4.4
E: USEC_INITIALIZED=704606

ash-4.3# synonvme --get-location /dev/nvme0
Can't get the location of /dev/nvme0
ash-4.3# synonvme --port-type-get /dev/nvme0
Unknown.
ash-4.3# ls /sys/block
dm-0   loop1  loop3  loop5  loop7  md1  md4      nvme1n1  ram1   ram11  ram13  ram15  ram3  ram5  ram7  ram9  sdb  synoboot  zram1  zram3
loop0  loop2  loop4  loop6  md0    md3  nvme0n1  ram0     ram10  ram12  ram14  ram2   ram4  ram6  ram8  sda   sdd  zram0     zram2
ash-4.3# ls /run/synostorage/disks
nvme0n1  nvme1n1  sda  sdb  sdd
ash-4.3#

 

  • Like 1
Link to comment
Share on other sites

ash-4.3# synonvme --m2-card-model-get /dev/nvme0
Not M.2 adapter card
ash-4.3# synodiskport -cache
 nvme0n1 nvme1n1
ash-4.3# fdisk -l /dev/nvme0n1
Disk /dev/nvme0n1: 232.9 GiB, 250059350016 bytes, 488397168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1dff4e7c

Device         Boot Start       End   Sectors   Size Id Type
/dev/nvme0n1p1       2048 488392064 488390017 232.9G fd Linux raid autodetect
ash-4.3# udevadm info /dev/nvme0n1
P: /devices/pci0000:00/0000:00:13.1/0000:02:00.0/nvme/nvme0/nvme0n1
N: nvme0n1
E: DEVNAME=/dev/nvme0n1
E: DEVPATH=/devices/pci0000:00/0000:00:13.1/0000:02:00.0/nvme/nvme0/nvme0n1
E: DEVTYPE=disk
E: ID_PART_TABLE_TYPE=dos
E: MAJOR=259
E: MINOR=0
E: PHYSDEVBUS=pci
E: PHYSDEVDRIVER=nvme
E: PHYSDEVPATH=/devices/pci0000:00/0000:00:13.1/0000:02:00.0
E: SUBSYSTEM=block
E: SYNO_ATTR_SERIAL=S465NF0K846478F
E: SYNO_DEV_DISKPORTTYPE=CACHE
E: SYNO_INFO_PLATFORM_NAME=apollolake
E: SYNO_KERNEL_VERSION=4.4
E: USEC_INITIALIZED=704649

 

Link to comment
Share on other sites

  • 1 month later...

i don't know if it helps, but this junior member seems to have NVME cache working. Trying to get in touch with him.

He didnt mention using ESXi. 

I'm sure its a driver thing. 

Similar to Jamzor, i too have limited knowledge of ESXI so i attempted hardware route. 

I installed drives and attempted to setup NVME cache  on my system to see if i can get it to work but the drives arent recognized as of yet. 

The 918+ system has an Asrock Z390 Phantom Gaming 4 in which i inserted an SM961 256gb in m.2_1 and a 970Evo 250gb in m.2_2

I also tried putting one nvme ssd into  a pcie adaptor which is full speed and installed to a pcie x16 full speed. Same as Jamzor, recognized in bios, nothing in DSM.

It would be really awesome if it was though. Although regardless of how fast it made my system, i dont know if nvme cache is a long term solution for me simply because of the cost.

Btw I'm on 918+ 1.04b dsm 6.2.2 24922 update 3 with a multitude of other hdd's 

 

 

Link to comment
Share on other sites

  • 3 weeks later...

PCI bus numbers are hardcoded at least in /usr/lib64/libsynonvme.so, different pci ids for different Syno NAS models (0000:00:13 for DS918+).

 

PS: HURRAY, dirty binary patch for only libsynonvme.so is enough for DSM to recognize NVME Optane M10 in first PCIe x16 (via adapter card) as caching SSD!

 

 

syno_patch.png

syno_m10_cache.png

Edited by The Chief
  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...