เหตุใดจึงต้องเขียน / ลบหน่วยความจำแฟลชในหน้า / บล็อก


10

ชื่อกล่าวมันทั้งหมด

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

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

คำตอบ:


1

คำตอบที่ดีที่สุดที่ฉันพบสำหรับคำถามของคุณครอบคลุมอยู่ที่การทำงานของหน่วยความจำแฟลช :

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

ฉันไม่เข้าใจว่าทำไม "การเดินสายในวงจร" อนุญาตให้ตั้งโปรแกรมระดับบิต (เปลี่ยนจาก 1 เป็น 0) แต่อาจเกี่ยวข้องกับวิธีที่แตกต่างกันในการเปลี่ยน 1 ถึง 0 (การเขียนโปรแกรมผ่านการฉีดร้อน) เมื่อเทียบกับ 0 ถึง 1 การเปลี่ยน (ลบผ่าน Fowler-Nordheim tunneling)


6

มันเป็นคำจำกัดความ หน่วยความจำแฟลชที่ช่วยให้การเขียนแต่ละบิตจะเรียกว่าEEPROM

แฟลชแตกต่างจาก EEPROM ในการลบนั้นจะทำในบล็อกแทนที่จะเป็นแต่ละบิต เนื่องจากการลบเป็นการดำเนินการที่ค่อนข้างช้าและต้องทำก่อนการเขียนการลบในบล็อกขนาดใหญ่ทำให้การดำเนินการเขียนขนาดใหญ่เร็วขึ้นโดยอาศัยการลบบิตจำนวนมากในแบบคู่ขนาน

การลบในบล็อกยังช่วยลดความซับซ้อนของ IC ลดค่าใช้จ่าย การประหยัดจากขนาดลดค่าใช้จ่ายแฟลชมากกว่า EEPROM เนื่องจากมีการใช้แฟลชในปริมาณมากสำหรับดิสก์ไดรฟ์สถานะของแข็งในขณะที่ EEPROM ใช้ในปริมาณที่น้อยกว่ามาก


ขอบคุณสำหรับคำตอบนี้ แนวความคิดนี้ยังอธิบายได้หรือไม่ว่าเหตุใดการดำเนินการเขียนจึงต้องทำหน้าต่อหน้า?
Gyom

1
@Gyom ไม่เป็นความจริงสำหรับแฟลชทุกประเภท บางครั้งข้อ จำกัด ถูกกำหนดโดยโปรโตคอล (ตัวอย่างเช่น SATA ไม่มีวิธีเขียน "เซ็กเตอร์" น้อยกว่า 512 ไบต์) ขึ้นอยู่กับประเภทของแฟลชและโปรโตคอลที่ใช้ในการเข้าถึงอาจเป็นไปได้ที่จะเขียนเพียงหนึ่งไบต์ไปยังบล็อกที่ถูกลบไปก่อนหน้านี้
Phil

4

คุณถูกต้องในความจริงที่ว่าไม่มีเหตุผลทางกายภาพที่ต้องลบในบล็อกหน่วย

การเขียนโปรแกรมเซลล์จะกระทำโดยการสร้างสนามไฟฟ้าระหว่างชิ้นส่วนและประตูควบคุมตามที่แสดงในรูปที่ 1 และความคิดเดียวกันนั้นถูกต้องสำหรับการลบเซลล์สนามไฟฟ้าในทิศทางตรงกันข้ามจะทำงานตามที่แสดงในรูปที่ 2 ป้อนคำอธิบายรูปภาพที่นี่ อย่างไรก็ตามด้วยเหตุผลเชิงสร้างสรรค์มันค่อนข้างซับซ้อนในการสร้างและใช้แรงดันลบดังนั้นกลยุทธ์ที่ใช้คือหนึ่งที่แสดงในรูปที่ 3 โดยการตั้งค่าแรงดันสูงที่กลุ่ม (ซึ่งเป็นการอ้างอิงตรรกะภาคในภาค) ไม่สามารถใช้ทรานซิสเตอร์ที่เลือกได้อีกต่อไปมีเพียงประตูควบคุมที่สามารถขับเคลื่อนได้ต่ำและนี่จะทำให้การลบเซกเตอร์เต็มรูปแบบ


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

ชิปส่วนใหญ่มีทางแยก PN จำนวนมากซึ่งปกติจะมีอคติในลักษณะที่ไม่ควรทำ เป็นไปได้ไหมที่จะมีอคติต่อสายไฟของแถวและคอลัมน์กับแรงดันไฟฟ้าที่จำเป็นในการลบชิปโดยไม่ต้องใช้ PN junctions ที่รบกวนสิ่งต่าง ๆ ? แน่นอนว่าเป็นไปได้ที่จะใช้บ่อน้ำชนิดต่าง ๆ เพื่อหลีกเลี่ยงปัญหาที่เกิดขึ้นกับทางแยก PN ดังกล่าว แต่การทำเช่นนี้แบบต่อเซลล์อาจมีราคาแพงอย่างมาก
supercat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.