มีวิธีหาขนาดหน้า SSD บน Linux / Unix หรือไม่? “ ฟิสิคัลบล็อก” ในเอาต์พุต fdisk คืออะไร


17

ทุกที่ฉันอ่านว่า SSD ภายในมีโครงสร้างเป็น 4K หรือใหญ่กว่า "เพจ" ซึ่งจัดกลุ่มใน "บล็อก" ประมาณ 128-256 หน้า ( 1 , 2 ) SSD ทำงานกับหน้าและบล็อกเหล่านี้ "พวกเขาสามารถลบข้อมูลที่ระดับบล็อก" เท่านั้น (ดังนั้นบล็อกของเพจจึงถูกเรียกว่า "[NAND] ลบบล็อก") และบล็อก 512B สำหรับพาร์ติชันจะถูกจำลอง (ซึ่งทำขึ้นเพื่อเหตุผลดั้งเดิม)

ฉันพยายามที่จะได้รับการศึกษาเกี่ยวกับ SSD เนื่องจากฉันมีความล่าช้า / หยุดค้างระหว่างการเขียนไปยัง Sandisk U100 ของฉันบน Samsung 9 np900x3c แล็ปท็อป และสิ่งหนึ่งที่มีประโยชน์คือการค้นหาว่าหน้า / บล็อก SSD ของฉันมีอะไรถูกต้องหรือไม่

มียูทิลิตี้หรือ/sys/...ไฟล์บน Linux เพื่อกำหนดขนาดหน้า SSD หรือไม่?

หรือ "จำเป็นต้องใช้ไดรฟ์และ Googling บนชิ้นส่วนชิป NAND" เช่นเดียวกับในความคิดเห็น ?

Google Sandisk SSD ของฉันฉันไม่พบแผ่นข้อมูล / ข้อมูลจำเพาะที่เหมาะสม แต่Sandiskและผู้คนต่างพูดถึง "4K random read / write" มันหมายความว่าดิสก์มีหน้า 4K หรือไม่?

นอกจากนี้ยังfdiskแสดงให้เห็นว่าฉันขนาดภาค (ทั้งทางกายภาพและตรรกะ) และ I / O 512 ไบต์:

Disk /dev/sda: 128.0 GB, 128035676160 bytes
255 heads, 63 sectors/track, 15566 cylinders, total 250069680 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
Disk identifier: 0x4b914713

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048    50331647    25164800   83  Linux
/dev/sda2        50331648   239583231    94625792   83  Linux
/dev/sda4       239583232   250068991     5242880   82  Linux swap / Solaris

ขนาดเซกเตอร์ "ทางกายภาพ" คืออะไรที่นี่? ดูเหมือนจะไม่เป็นพารามิเตอร์ของไดรฟ์ SSD เพราะทุกคนบอกว่าหน้า SSD เป็น 4K + มันเป็นพารามิเตอร์ที่จำลองสำหรับดิสก์หรือไม่ และ "ตรรกะ" คือขนาดเซกเตอร์สำหรับพาร์ติชันหรือไม่ นอกจากนี้ขนาด I / O คืออะไร

PS

คำถามนี้อาจเหมือนกันกับUSB flash นี้ - คำตอบไม่มีจุดที่man fsstatกล่าวfsstat displays the details associated with a file systemและคำถามเกี่ยวกับดิสก์เอง โพสต์ของฉันมีรายละเอียดเพิ่มเติมบางทีมันอาจดึงดูดคำตอบที่ดีกว่า

คำตอบ:


11
  • ขนาดบล็อกฟิสิคัลที่รายงานโดยfdiskคือขนาดบล็อกฟิสิคัลที่รายงานโดยดิสก์เมื่อถูกถาม มันไม่ค่อยมีความสัมพันธ์ใด ๆ กับหน้า SSD หรือบล็อกลบ

  • 4 การอ่าน / เขียน KiB เป็นมาตรวัดทั่วไปของประสิทธิภาพ I / O ซึ่งเป็นตัวแทนของการดำเนินการ I / O "เล็ก"

  • ไม่มีวิธีมาตรฐานสำหรับ SSD เพื่อรายงานขนาดหน้าหรือลบขนาดบล็อก มีเพียงไม่กี่รายที่ผู้ผลิตรายงานไว้ในเอกสารข้อมูลทางเทคนิค (เพราะอาจเปลี่ยนแปลงได้ตลอดอายุการใช้งานของ SKU เช่นเนื่องจากการเปลี่ยนแปลงซัพพลายเออร์) มีเอกสารทางเทคนิคจาก Intelซึ่งแสดงให้เห็นว่าการจัดตำแหน่ง 4 KiB นั้นเพียงพอ

  • สำหรับการใช้งานจริงเพียงแค่จัดโครงสร้างข้อมูลทั้งหมดของคุณ (พาร์ติชันเพย์โหลดของคอนเทนเนอร์ LUKS โลจิคัลวอลุ่ม LVM) กับขอบเขต 1 หรือ 2 MiB มันเป็น SSD เพราะมันถูกออกแบบมาเพื่อรับมือกับระบบไฟล์ปกติเช่น NTFS (ซึ่งใช้หน่วยการจัดสรร 4 KiB) หาก Windows พิจารณาว่าการจัดพาร์ทิชันให้ตรงกับ 1 MiB นั้นเพียงพอแล้วคุณสามารถเดิมพันได้ว่าผู้ผลิต SSD ใด ๆ จะตรวจสอบให้แน่ใจว่าผลิตภัณฑ์ของพวกเขาทำงานได้ดีกับการกำหนดค่าดังกล่าว

  • ดีที่สุดปล่อยให้ประมาณ 5% ถึง 10% ของพื้นที่ที่ไม่ได้ปันส่วนนอกพาร์ติชัน การมีพื้นที่ที่มีการจัดสรรมากเกินไปนั้นเป็นความช่วยเหลือที่ยอดเยี่ยมสำหรับ SSD ในการรักษาประสิทธิภาพในเวลา


"มีกระดาษสีขาวจาก Intel ซึ่งแสดงให้เห็นว่าการจัดตำแหน่ง 4 KiB นั้นเพียงพอแล้ว" คุณจะได้รับจากกระดาษที่เชื่อมโยงได้อย่างไร ฉันดูมันและมันก็ไม่ชัดเจนเลยว่ากระดาษอ้างว่าอะไร
Matthew

@ Matthew: หน้า 7: "ฮาร์ดดิสก์ไดรฟ์ใหม่มากที่สุดและ Intel SSDs ทำงานได้ดีขึ้นด้วย 4096 Byte (4KB) การจัดตำแหน่ง"
AlexP

ฉันอ่านว่า "เมื่อเทียบกับ 512 ไบต์" ซึ่งไม่น่าแปลกใจเลย นอกจากนี้ตัวเลขต่อไปนี้ดูเหมือนจะบอกเป็นนัยถึงขนาดหน้ากระดาษ 4KiB ฉันไม่ได้อ่านว่านัยว่า "4KiB นั้นดีพอสำหรับไดรฟ์ที่มีหน้าเว็บ> 4KiB" ... หรือว่าจะพูดอะไรเกี่ยวกับไดรฟ์ที่ไม่ใช่ของ Intel
แมทธิว

+1 สำหรับการเกาะติดกับเครื่องหมาย KiB / MiB อย่างเคร่งครัด --- ดูman unitsความสงสัย
XavierStuvw

ทำไมมีพื้นที่ส่วนเกิน ... ของความช่วยเหลือที่ดีในการ SSDs ในการรักษาประสิทธิภาพการทำงานของพวกเขาในเวลา ?
XavierStuvw

2

smartctl(มีให้ในsmartmontools) ควรทำเพื่อคุณ


2
OP จะใช้เครื่องมือนี้อย่างไร?
roaima

สำหรับตอนนี้ฉันได้รับเซ็กเมนต์ทางกายภาพและโลจิคัล 512B ด้วยเหมือนกันsmartctl -i /dev/sdaไม่แน่ใจว่าจะอ่านsmartctl --all /dev/sdaและsmartctl --xall /dev/sdaส่งเคอร์เนลไปที่ความตื่นตระหนก ..
xealits

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