ฉันสามารถเขียนลงในหน้าที่เขียนก่อนหน้านี้ได้หรือไม่หากฉันหลีกเลี่ยงพื้นที่ที่เขียนแล้ว?
ถ้าฉันเข้าใจพี 16 ของแผ่นข้อมูลอย่างถูกต้องมีการพูดถึง: ด้วยชิปนี้คุณจะต้องไม่เขียนลงในหน้าที่เขียนก่อนหน้าแม้ว่าคุณจะหลีกเลี่ยงพื้นที่ที่เขียนแล้ว
รายละเอียด
SST25VF064C แฟลชแผ่นข้อมูลชิปหน่วยความจำพี 16 กล่าวว่า "โปรแกรมการเรียนการสอนหน้าโปรแกรมสูงถึง 256 ไบต์ของข้อมูลในหน่วยความจำที่อยู่หน้าที่เลือกจะต้องอยู่ในสถานะลบ (FFH) ก่อนที่จะเริ่มการทำงานของโปรแกรมหน้า"
ฉันคิดว่าดังนั้น "หน้าทั้งหมดที่เลือกจะต้องอยู่ในสถานะลบ (ทุกไบต์บนหน้า FFh) ก่อนที่จะเริ่มการดำเนินการโปรแกรมหน้า" SST หรือ Microchip ได้เปิดเผยเอกสารใด ๆ ที่ทำให้เข้าใจผิดประโยคที่น่าสงสัยอย่างนี้หรือไม่?
จากประสบการณ์ของฉันผู้ผลิตชิปแฟลช MLC ทั้งหมดและชิปแฟลช SLC รุ่นใหม่บางรุ่นได้รับคำสั่งว่าเมื่อมีการเขียนหน้าเว็บหน้านั้นจะต้องถูกลบก่อนที่จะเขียนหน้านั้นอีกครั้งแม้ว่าคุณต้องการเปลี่ยนเพียง 1 บิตเป็น 0 บิต (สิ่งนี้เรียกว่า"กฎการเขียนครั้งเดียว"ในบทความ YAFFS )
จากประสบการณ์ของฉันชิปแฟลชรุ่นเก่าทั้งหมดอนุญาตให้คุณเปลี่ยน 1 บิตใด ๆ เป็น 0 บิตโดยไม่ต้องลบวงรอบแม้ว่าบิตนั้นจะอยู่ในหน้าหรือแม้แต่ไบต์ที่มีบิตอื่น ๆ ที่ตั้งโปรแกรมเป็นศูนย์แล้ว สามารถตั้งโปรแกรมหน้าของแฟลชได้หลายครั้งระหว่างการลบ (สิ่งนี้เรียกว่า "การเขียนหลาย ๆ " ในบทความ YAFFS)
แผ่นข้อมูลของผู้ผลิตเป็นสัญญาตามเงื่อนไขที่ผู้ผลิตทำกับคุณ ตราบใดที่คุณทำตามคำแนะนำทั้งหมดของแผ่นข้อมูลผู้ผลิตสัญญาว่าชิปจะทำงานตามที่ระบุไว้ ฉันสงสัยว่าถ้าคุณตั้งโปรแกรมหน้าเขียนก่อนหน้านี้หลีกเลี่ยงพื้นที่ที่เขียนไว้แล้วมีโอกาสที่ดีกว่าการอ่านกลับทันทีอาจให้ข้อมูลที่คุณคาดหวัง - ไบต์ที่เพิ่งเขียนใหม่คือค่าที่คุณเพิ่งเขียน และไบต์อื่น ๆ จะไม่เปลี่ยนแปลง อย่างไรก็ตามเนื่องจากสิ่งนี้ไม่เป็นไปตามคำแนะนำของแผ่นข้อมูลคุณจึงไม่สามารถเชื่อมั่นในสัญญาทั้งหมดในแผ่นข้อมูลได้อีกต่อไป ฉันได้ยินข่าวลือว่ากิจกรรมที่ไม่ถูกลงโทษดังกล่าวทำให้เวลาในการเก็บข้อมูลและความอดทนลดลงเนื่องจากการรบกวนของโปรแกรมการเขียนโปรแกรมเกินจำนวนการเรียกเก็บเงินกับดักผลกระทบที่คล้ายกับค้อนแถว DRAMเป็นต้น
"รูปแบบการใช้หน่วยความจำมีผลต่ออัตราข้อผิดพลาดบิตการเขียนโปรแกรมบางส่วนหน้าการเขียนโปรแกรมหน้าไม่ต่อเนื่องภายในบล็อกอ่านมากเกินไปต่อบล็อกโดยไม่ต้องลบรวมทั้งจำนวนการดำเนินการอ่านที่ไม่เท่ากันภายในบล็อกเดียว รบกวนข้อผิดพลาด " - Michal Jedrak
"หน่วยความจำแฟลช NAND ในระบบฝังตัว".
"โปรแกรมรบกวนเกิดขึ้นเมื่อบิตถูกตั้งโปรแกรมโดยไม่ตั้งใจจาก“ 1” ถึง“ 0” ระหว่างเหตุการณ์การเขียนโปรแกรมหน้าข้อผิดพลาดบิตนี้อาจเกิดขึ้นได้ทั้งที่หน้าโปรแกรมหรือหน้าอื่นในบล็อกเงื่อนไขแรงดันไบอัสใน บล็อกในระหว่างการเขียนโปรแกรมหน้าสามารถทำให้เกิดกระแสไฟฟ้าจำนวนเล็กน้อยเพื่อส่งสัญญาณไปยังเซลล์หน่วยความจำใกล้เคียงความพยายามในการตั้งโปรแกรมหน้าบางส่วนซ้ำ ๆ จะยังคงทำให้เงื่อนไขแย่ลงอีก " - Douglas Sheldon และ Michael Freie
"การทดสอบรบกวนใน Flash ความทรงจำ" พี 8, 9
"โปรแกรมรบกวนเกิดขึ้นเมื่อบิตถูกตั้งโปรแกรมโดยไม่ตั้งใจ (1 ถึง 0) ในระหว่างการดำเนินการเขียนโปรแกรม ... เงื่อนไขนี้ทำให้แย่ลงโดยการตั้งโปรแกรมแบบสุ่มในบล็อกและโดยใช้การเขียนบางส่วนไปยังหน้าต่างๆ"
"การลดความล้มเหลวของ Yaffs NAND flash"