คำตอบของ David Schwartz ครอบคลุม "จุดประสงค์ที่เป็นประโยชน์" ทั้งหมด คำตอบนี้จะมุ่งเน้นไปที่ "วัตถุประสงค์ทำไม่ได้" มีข้อยกเว้นทางทฤษฎีเกี่ยวกับกฎของการอ่านแบบไม่ จำกัด แต่ก็มีวิธีแก้ปัญหาอย่างง่าย
มีการ จำกัด อายุการใช้งานในการเขียนไปยังหน่วยความจำแฟลช แต่การอ่านยังส่งผลกระทบต่อ หนึ่งในจุดอ่อนของมันคือสิ่งที่เรียกว่า "อ่านข้อผิดพลาดรบกวนการอ่าน" 1 การ อ่านหน่วยความจำแฟลชลดลงเล็กน้อยโดยรอบค่าที่เก็บไว้ซึ่งในที่สุดสามารถนำไปสู่ข้อผิดพลาด
ข้อผิดพลาดจะถูกหลีกเลี่ยงโดยตัวควบคุมที่ติดตามจำนวนการอ่านและการคัดลอกบล็อกก่อนที่การย่อยสลายจะกลายเป็นปัญหา เพียงคัดลอกบล็อกไปยังที่อื่นแล้วลบบล็อกเดิมจะรีเซ็ตทุกอย่างและบล็อกเดิมสามารถนำมาใช้อีกครั้งได้ แหล่ง
กฎง่ายๆสำหรับ MLC คือ 100,000 อ่าน; สำหรับ SLC คือ 1,000,000 อ่าน2 (เซลล์หลายระดับหรือ MLC และเซลล์ระดับเดียวหรือ SLC เป็นหน่วยความจำแฟลชสองประเภท ) ดังนั้นภายใต้การใช้งาน "ปกติ" ขีด จำกัด เหล่านี้อาจไม่ใช่ปัญหาที่คอนโทรลเลอร์ต้องจัดการ
ซึ่งนำเราไปสู่สถานการณ์ที่ไม่เหมาะสม สมมติว่าคุณใช้หน่วยความจำแฟลชเพื่อจุดประสงค์เช่นเดียวกับคำถามนี้ (เขียนเพียงครั้งเดียวแล้วอ่านอย่างหนาแน่นในเวลานาน) ตราบใดที่มีบล็อกว่างอย่างน้อยหนึ่งบล็อคผู้ควบคุมสามารถเล่นเก้าอี้ดนตรีพร้อมข้อมูล อย่างไรก็ตามหากคุณต้องกรอกข้อมูลทุกบล็อกสุดท้ายคุณสามารถไปถึงจุดที่คอนโทรลเลอร์ไม่สามารถหลีกเลี่ยงข้อผิดพลาดในการอ่าน
ในกรณีที่มีการเรียกใช้มาอย่างยาวนานผู้ควบคุมจะหลีกเลี่ยงความเสียหายโดยการแช่แข็งการ์ดหรือแฟลชไดรฟ์ดังนั้นจึงไม่มีวิธีที่ประหยัดต้นทุนในการอ่าน ที่ระดับการใช้งานที่อธิบายในคำถามนี้อาจเกิดขึ้นภายในไม่กี่เดือนหรือหลายปีขึ้นอยู่กับประเภทของหน่วยความจำแฟลช
แน่นอนว่าสามารถจัดการได้โดยเพียงแค่มีไดรฟ์สำรองเนื่องจากราคาถูกและความจริงที่ว่าคุณยังไม่ได้เขียนข้อมูลใหม่ หรือคุณสามารถตรวจสอบให้แน่ใจว่าคุณออกจากพื้นที่ว่างอย่างน้อย
หมายเหตุ: ทั้งสองแหล่งต่อไปนี้เป็นลิงค์ดาวน์โหลดโดยตรง ไฟล์ PDF จะดาวน์โหลดทันทีที่คุณคลิก
1 http://users.ece.cmu.edu/~omutlu/pub/flash-read-disturb-errors_dsn15.pdf
2 http://www.dslreports.com/r0/download/1507743~59e7b9dda2c0e0a0f7ff119a7611c641/flash_mc_new_nfc_new_pf1_2