새로운 시스템에서 NVMe 디스크를 식별하는 방법을 모르겠습니다.
어떤 배포판을 사용하든 dmesg 출력은 동일합니다. (Live CD)
xubuntu@xubuntu:~$ dmesg | grep -i nvme
[ 5.007954] nvme nvme0: pci function 0000:08:00.0
[ 5.008077] nvme nvme1: pci function 0000:09:00.0
[ 5.224407] nvme nvme0: missing or invalid SUBNQN field.
[ 5.224413] nvme nvme1: missing or invalid SUBNQN field.
[ 5.496248] nvme1n1: detected capacity change from 240057409536 to 0
[ 5.612128] nvme nvme1: failed to set APST feature (-19)
[ 5.660221] nvme0n1: detected capacity change from 240057409536 to 0
[ 5.896172] nvme nvme0: failed to set APST feature (-19)
[ 13.921911] Modules linked in: snd_hda_codec_hdmi cmac bnep arc4 snd_hda_codec_realtek iwlmvm edac_mce_amd snd_hda_codec_generic kvm snd_hda_intel mac80211 snd_hda_codec snd_hda_core irqbypass snd_hwdep snd_pcm crct10dif_pclmul btusb crc32_pclmul ghash_clmulni_intel btrtl btbcm pcbc btintel snd_seq_midi bluetooth snd_seq_midi_event iwlwifi snd_rawmidi aesni_intel aes_x86_64 snd_seq crypto_simd joydev input_leds glue_helper cryptd cfg80211 ecdh_generic snd_seq_device snd_timer snd soundcore ccp wmi_bmof k10temp shpchp mac_hid sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 overlay nls_utf8 isofs dm_mirror dm_region_hash dm_log uas usb_storage hid_generic usbhid hid nouveau mxm_wmi video ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops igb drm dca i2c_piix4 nvme
[ 13.921933] i2c_algo_bit ahci ptp nvme_core pps_core libahci gpio_amdpt wmi gpio_generic
내가 찾을 수 있는 유일한 사례는 invalid SUBNQN field
원본 C 소스 코드의 문자 그대로의 오류입니다.
드라이브는 XPG SX8200 PCIe NVMe Gen3x4, 마더보드는 Asrock x399 Taichi+ 1900X TR입니다.
답변1
최근에 기존 시스템(SATA SSD에 설치됨)에 SX8200을 추가했는데 새 드라이브가 올바르게 인식되지 않습니다. X399 Taichi에 매우 유사한 설정이 있으며 dmesg에서 동일한 오류가 표시됩니다. 저는 커널 4.15.0-36-generic과 함께 Ubuntu 18.04.1을 사용하고 있습니다.
적절한 수정 사항이 있는지는 모르겠지만 일부 삼성 드라이브에서 수행한 것과 동일한 해결 방법을 사용하여 일부 오류를 해결할 수 있었습니다. 커널 시작 명령줄에 다음 매개변수를 추가해 볼 수 있습니다.
nvme_core.default_ps_max_latency_us=0
내가 이해한 바에 따르면 이는 절전 기능인 APST를 비활성화합니다. 더 큰 값을 사용해보지는 않았습니다. 아마도 오류를 피하고 여전히 효율성을 얻을 수 있지만 아직 사용하지 않았습니다.
이 해결 방법 후에도 여전히 다른 오류가 발생하지만 APST 오류는 사라지고 드라이브가 작동하는 것 같습니다. 마운트하고 파일을 읽을 수 있었습니다(이전에 Windows에서 NTFS로 포맷했습니다).
답변2
이는 커널/NVMe 펌웨어의 유사한 버그로 인해 발생할 수 있습니다. https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1803692
먼저 SSD/NVMe의 펌웨어를 업데이트해 보세요. Intel 드라이브에 문제가 있는 경우 다음 빠른 가이드를 참조하세요.
Intel SSD 데이터 센터 도구(DCT)를 사용한 펌웨어 업데이트 https://downloadcenter.intel.com/search?keyword=SSD+펌웨어+업데이트+도구
# Download and install DCT
wget https://downloadmirror.intel.com/28999/eng/Intel_SSD_Data_Center_Tool_3.0.20_Linux.zip -O /tmp/Intel_SSD_Data_Center_Tool_3.0.20_Linux.zip
unzip -d /tmp /tmp/Intel_SSD_Data_Center_Tool_3.0.20_Linux.zip
sudo dpkg -i /tmp/isdct_3.0.20-1_amd64.deb
# show drive data
isdct show -intelssd
# update 1st drive
isdct load -intelssd 0
reboot
# update second drive
isdct load -intelssd 1
답변3
여기서도 비슷한 오류가 발생하지만 드라이브가 제대로 작동하는 것 같습니다. 이것도 참조로 확인되었습니다.https://forums.gentoo.org/viewtopic-t-1106388-start-0.html