ฉันจะทดสอบการ์ดหน่วยความจำเพื่อดูประสิทธิภาพและเซ็กเตอร์ที่ไม่ดีได้อย่างไร


10

ฉันเพิ่งซื้อ CF card ใหม่สำหรับ DSLR ของฉัน ฉันทดสอบโดยใช้ Xbench (Mac OS X) และทำงานได้ตามที่คาดไว้ อย่างไรก็ตามฉันต้องการทำ "การสแกนพื้นผิว" (คำที่เคลื่อนไหวบนแผ่นเสียง) เพื่อตรวจสอบ "เซกเตอร์ที่ไม่ดี" (คำที่ย้ายแผ่นเสียง) ฉันสามารถทุบตีสคริปต์โดยใช้ dd แต่ฉันรู้สึกว่ามันมีวิธีที่ดีกว่า เป้าหมายของฉันคือการรู้อย่างแน่ชัดว่าการ์ดหน่วยความจำ (CF, SD, ฯลฯ ) ปลอดภัยที่จะใช้ในการถ่ายภาพและไม่จำเป็นต้องส่งคืนก่อนที่หน้าต่างนโยบายผู้จำหน่าย 30 วันจะหมดอายุ

ฉันต้องการโซลูชัน Mac อย่างแน่นอนที่นี่ ฉันต้องการรับคำแนะนำ Linux เล็กน้อย เรายังส่งต่อผู้ใช้ windows เพื่อให้คำถามนี้สามารถตอบสนองความต้องการของทุกคน


ฉันเข้าใจว่าหน่วยความจำโซลิดสเตตนั้นแตกต่างจากจานหมุน ฉันไม่ต้องการบทเรียนในเรื่องนั้น สิ่งที่ฉันต้องการคือวิธีการตรวจสอบอุปกรณ์ที่ฉันเป็นเจ้าของ กระบวนการนี้ง่าย: เติมอุปกรณ์ด้วยเนื้อหารู้ อ่านจากอุปกรณ์และตรวจสอบเนื้อหา หากคุณได้รับข้อผิดพลาดในการอ่านหรือเขียนความล้มเหลวที่เห็นได้ชัด หากเนื้อหาที่คุณอ่านแตกต่างจากสิ่งที่คุณเขียนนั่นคือความล้มเหลวที่เห็นได้ชัดน้อยกว่า วันที่ควรเป็นแบบสุ่มและควรใช้หลายรอบ สิ่งที่ฉันต้องการคือเครื่องมือที่ทำ ฉันเคยเขียน แต่มันเป็นแฮ็ค
Bruno Bronosky

คำตอบ:


8

เนื่องจากคอนโทรลเลอร์สามารถย้ายบล็อกได้ทุกที่ที่ต้องการ (ดูการปรับระดับการสึกหรอ) โอกาสเดียวสำหรับการทดสอบการอ่าน / เขียนทั้งหมดเพื่อเติมดิสก์ให้เต็มและเปรียบเทียบ หลายต่อหลายครั้งที่มีรูปแบบแตกต่างกันไปอย่างแน่นอน

และถึงกระนั้นคุณก็จะไม่ได้พบกับภูมิภาคที่ผิดพลาดเนื่องจากมันถูกซ่อนไว้โดยผู้ควบคุมตราบเท่าที่เขามีอะไหล่


6

หน่วยความจำแฟลชไม่ทำงานในลักษณะเดียวกับดิสก์ที่มีจานรอง แนวคิดของ "เซกเตอร์เสีย" ไม่มีอยู่จริงด้วยหน่วยความจำแฟลช ทุกวันนี้ด้วยหน่วยความจำแฟลชและ SSD ตัวควบคุมในตัวจะดูแลการระบุและการทำเครื่องหมายปิดบล็อกหน่วยความจำที่ใช้ไม่ได้การเคลื่อนย้ายข้อมูลแบบไดนามิกเพื่อลดข้อ จำกัด ในการเขียนบล็อกเป็นต้นคุณสมบัติเหล่านี้แพร่หลายมากใน SSD มีอยู่ในแฟลชการ์ดคุณภาพ (เช่น SanDisk)

เครื่องมือตรวจสอบระบบไฟล์ส่วนใหญ่สร้างสมมติฐานเฉพาะเกี่ยวกับโครงสร้างทางกายภาพของอุปกรณ์จัดเก็บข้อมูล (เช่นแผ่นเสียงที่ใช้กับถังบรรจุทางกายภาพ, ภาค, กลุ่ม, ฯลฯ ) หรือทำงานในระดับที่เป็นนามธรรมและทำการซ่อมแซม "จริง" โดยใช้ไฟล์หรือไดเรกทอรี ตาราง คุณจะต้องใช้เครื่องมือที่ออกแบบมาโดยเฉพาะเพื่อทำเครื่องหมายบล็อกที่ไม่ดีบนอุปกรณ์หน่วยความจำแฟลชเนื่องจากมีสิ่งอื่นที่จะทำให้เกิดปัญหามากขึ้น (โดยสมมติว่าสามารถแก้ไขปัญหาได้เช่นเดียวกับอุปกรณ์ที่ใช้แผ่นเสียง) หรือสร้างเสมือน การแก้ไขที่ไม่คำนึงถึงคุณสมบัติระดับฮาร์ดแวร์แบบไดนามิกของแฟลช แม้ว่าคุณจะสามารถทำเครื่องหมาย "เซกเตอร์" หรือ "คลัสเตอร์" เป็น "ไม่ดี" ได้ แต่ก็ไม่จำเป็นว่าจะต้องทำอะไรดีเนื่องจากแนวคิดทางกายภาพเหล่านั้นไม่มีอยู่จริงในหน่วยความจำแฟลช หากอุปกรณ์แฟลชก้าวหน้ากว่าและเคลื่อนย้ายข้อมูลไปรอบ ๆ เพื่อข้ามบล็อกเสียโดยอัตโนมัติและลดข้อ จำกัด ในการเขียนตำแหน่งทางกายภาพของข้อมูลอาจอยู่ในบล็อกที่ไม่ดีหนึ่งช่วงเวลาและในช่วงเวลาที่ดีในภายหลัง (โปรดทราบว่าความคิดของบล็อก "ไม่ดี" ในหน่วยความจำแฟลชนั้นแย่กว่าดิสก์เพลทมาก ... บล็อกหน่วยความจำแฟลชมักจะตายอย่างช้า ๆ แทนที่จะเป็นทันใดทันใดและอาจ "กะพริบ" ระหว่างที่อ่าน / ไม่สามารถอ่านได้ บิตก่อนที่มันจะใช้ไม่ได้ทั้งหมด)

โดยทั่วไปเมื่อพูดถึงแฟลชให้อุปกรณ์จัดการตัวเองจากมุมมองบล็อกที่ไม่ดี โครงสร้างผู้ผลิตที่แตกต่างกันและจัดเก็บข้อมูลในรูปแบบที่แตกต่างกันและแต่ละคนอาจมีระดับและปริมาณของพฤติกรรมแบบไดนามิกที่แตกต่างกันซึ่งย้ายข้อมูลไปรอบ ๆ เพื่อหลีกเลี่ยงข้อ จำกัด บางอย่างของหน่วยความจำแฟลช การพยายามจัดการด้วยตัวเองมีแนวโน้มที่จะทำให้เกิดปัญหามากกว่าที่จะแก้ไขและอาจทำให้ดิสก์แฟลชของคุณไร้ประโยชน์ในระยะยาว

หากคุณต้องการหลีกเลี่ยงแฟลชการ์ดที่ไม่ดีฉันขอแนะนำให้ใช้แบรนด์ที่มีชื่อเสียง ฉันเคยลองใช้แฟลชการ์ดหลายแบบในอดีต แต่ SanDisk เป็นแบรนด์เดียวที่ฉันเคยใช้มาจนถึงปัจจุบันอย่างน้อยก็ไม่เคยล้มเหลว ฉันมีการ์ด SDHC 4, 8 และ 16 กิ๊กที่ฉันใช้ค่อนข้างหนักและนำกล้องออกจากตัวเองและใส่ในแล็ปท็อปหรือคอมพิวเตอร์เป็นประจำและพวกเขาก็ยังทำงานได้อย่างสมบูรณ์ (บางคนมีอายุหลายปี)


1
บล็อกที่ไม่ดีสามารถมีอยู่ได้กับอุปกรณ์บล็อกใด ๆ : ถ้าฉันเขียนข้อมูลบางอย่างไปยังบล็อกที่ต้องการ แต่ฉันไม่สามารถอ่านกลับมาได้นั่นเป็นบล็อกที่ไม่ดี คอนโทรลเลอร์สามารถซ่อนปัญหานี้สำหรับการเขียนโดยการเขียนข้อมูลที่อื่น แต่ไม่ใช่สำหรับการอ่าน
Vaddadi Kartick

3

ใน Linux badblocksคำสั่งที่คุณต้องการคือ ดูเหมือนจะมีพอร์ตของสิ่งนี้สำหรับ Mac OS X ซึ่งเป็นส่วนหนึ่งของพอร์ต ext2-for-os-x - ติดตั้งสิ่งทั้งหมดและไม่สนใจทุกสิ่งยกเว้น/usr/local/sbin/badblocksคำสั่ง

ดังกล่าวกล่าวว่าสิ่งนี้จะช่วยในการทดสอบ แต่ฉันไม่คิดว่ามันจะเป็นข้อสรุปเพราะอย่างแรกคือ Leonidas บอกว่าคุณไม่ได้รับการเข้าถึงหน่วยความจำแฟลชดังนั้นจึงยากที่จะทำการสแกนแบบสมบูรณ์และเพราะ ความล้มเหลวใหม่อาจปรากฏขึ้นหลังจากการทดสอบบางทีอาจถูกกระตุ้นโดยมัน


1

อ่านความคิดเห็นของคุณด้านล่างคำถามฉันเชื่อว่าF3ทำสิ่งที่คุณต้องการ มันรวบรวมบน Linux / Mac OS X และยังสามารถใช้ได้ผ่าน Homebrew


-1

ฉันพบสิ่งนี้บน google ฉันไม่ได้ใช้การ์ด SD สำหรับการจัดเก็บกล้อง แต่ฉันได้ชั้น 10 32 กิ๊ก sdhc sandisk เสียหายอย่างสมบูรณ์หลังจากใช้งานน้อยกว่า 2 ปีใน samsung galaxy S2 ของฉัน

ฉันใช้แบดบล็อคเพื่อดูว่าแบรนด์บล็อกแรกเริ่มจากนั้นฉันจะสร้างพาร์ติชันรอบ ๆ บริเวณนั้นถ้าเป็นไปได้ นี่เป็นวิธีแก้ปัญหาที่แย่มากในปัจจุบันของฉัน: /


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