คำสั่งที่ทำให้ฮาร์ดดิสก์ SSD ส่งกลับข้อผิดพลาดการอ่าน (ข้อผิดพลาด LBA) คืออะไร


1

ปัจจุบันฉันต้องสร้างระบบอัตโนมัติเพื่อทดสอบว่าตรวจสอบว่าระบบจัดการกับข้อผิดพลาด LBA ได้อย่างไร มีคำสั่งใด ๆ ผ่านวิธีการใดที่ทำให้ฮาร์ดดิสก์ SSD ส่งคืนข้อผิดพลาดในการอ่าน ตามโปรโตคอล NVMe - 6.15 เขียนคำสั่งที่แก้ไขไม่ได้ควรมีคำสั่งดังกล่าว

คำตอบ:


0

มีnvme-write-uncorคำสั่งในnvme-cli

nvme-write-uncor - Send an NVMe write uncorrectable command, return results

ตามโปรโตคอล NVMe:

When the specified logical block(s) are read after this operation, a failure
is returned with Unrecovered Read Error status.

ดังนั้นเพื่อให้ได้ข้อผิดพลาดในการอ่านคุณต้องอ่านบล็อกที่เสียหายก่อนหน้านี้

หน้าโครงการ: https://github.com/linux-nvme/nvme-cli


พารามิเตอร์ของคำสั่งคือ[--start-block = <slba> | -s <slba>] [--block-count = <nlMB | -c <nlMB] [--namespace-id = <nsid> | -n <nsid>] ฉันจะแยกพวกมันได้อย่างไร และพวกเขาเป็นตัวเลือก? เพราะฉันมักจะได้รับข้อผิดพลาดคำสั่ง NVME IO: INVALID_FIELD (2)ข้อผิดพลาด ฉันไม่พบตัวอย่าง ขอบคุณสำหรับความช่วยเหลือ
Rimski

คุณแน่ใจหรือว่ากำลังใช้/dev/nvme*อุปกรณ์อยู่
konradmb

ใช่ฉันทำ. ฉันลองคำสั่งอื่นเช่นข้อผิดพลาดบันทึกและพวกเขาทำงาน
Rimski

ฉันไม่เคยใช้ NVMe แต่ในสเปคพวกเขาบอกว่ามีบางสิ่งที่เรียกว่าเนมสเปซบนดิสก์ นี่คือข้อความที่ตัดตอนมาจากจุดที่ [...]specifying an inactive namespace ID in a command that uses the namespace ID shall cause the controller to abort the command with status Invalid Field in Command6.1: ดูเหมือนว่านี่เป็นข้อผิดพลาดของคุณ ลองใช้nvme-list-nsจะได้รับรายการของรหัส namespace และระบุว่าโดยใช้การ-n nvme-write-uncorหรือใช้/dev/nvme0n*อุปกรณ์เพราะดูเหมือนว่าเป็นอีกวิธีหนึ่งในการเข้าถึงเนมสเปซ
konradmb

0

ฉันยังใหม่กับ nvme ดังนั้น nvme-cli เป็นอินเทอร์เฟซที่ผู้ขายฮาร์ดไดรฟ์ควรได้รับการสนับสนุน แต่ในบางโมดูลคำสั่งไม่ทำงาน ดังนั้นอย่ายอมแพ้! ลองฮาร์ดไดรฟ์ตัวอื่น

nvme write-uncor /dev/nvme2n1 -s 0 -c 5 -n 1

อุปกรณ์-sและ-cเป็นที่ชัดเจน (ตรวจสอบความช่วยเหลือ) มวย-n , namespace-ID จะได้รับในชื่ออุปกรณ์, nvme2 n1หมายความว่า-nเป็น1

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.