Mengapa memori flash harus ditulis / dihapus di halaman / blok?

10

Judul mengatakan itu semua.

Saya mencoba memahami cara kerja teknologi memori flash, pada level transistor. Setelah beberapa penelitian, saya mendapat intuisi yang baik tentang transistor gerbang mengambang, dan bagaimana seseorang menyuntikkan elektron atau mengeluarkannya dari sel. Saya dari latar belakang CS, jadi pemahaman saya tentang fenomena fisik seperti tunneling atau injeksi elektron panas mungkin cukup goyah, tapi tetap saya nyaman dengan itu. Saya juga mendapatkan ide tentang bagaimana seseorang membaca dari tata letak memori NOR atau NAND.

Tetapi saya membaca di mana-mana bahwa memori flash hanya dapat dihapus dalam satuan blok, dan hanya dapat ditulis dalam satuan halaman. Namun, saya tidak menemukan pembenaran untuk pembatasan ini, dan saya mencoba untuk mendapatkan intuisi tentang mengapa demikian.

Gyom
sumber

Jawaban:

1

Jawaban terbaik yang saya temukan untuk pertanyaan Anda dicakup di Bagaimana Flash Memory Bekerja di mana ia mengatakan:

Elektron dalam sel chip memori flash dapat dikembalikan ke normal ("1") oleh aplikasi medan listrik, muatan tegangan tinggi. Memori flash menggunakan kabel di dalam sirkuit untuk menerapkan medan listrik baik ke seluruh chip atau ke bagian yang telah ditentukan yang dikenal sebagai blok. Ini menghapus area yang ditargetkan dari chip, yang kemudian dapat ditulis ulang. Memori flash bekerja jauh lebih cepat daripada EEPROMs tradisional karena alih-alih menghapus satu byte pada satu waktu, itu menghapus blok atau seluruh chip, dan kemudian menulis ulang.

Saya tidak mengerti mengapa "in-circuit wiring" memungkinkan pemrograman level bit (beralih dari 1 ke 0) tetapi mungkin terkait dengan cara berbeda dari transisi 1 ke 0 dilakukan (pemrograman melalui injeksi panas) dibandingkan dengan 0 ke 1 transisi (dihapus melalui tunneling Fowler-Nordheim).

Tommaso
sumber
6

Ini menurut definisi. Memori flash yang memungkinkan penulisan bit individual disebut EEPROM .

Flash berbeda dari EEPROM dalam hal penghapusan dilakukan dalam blok, bukan bit individual. Karena menghapus adalah operasi yang relatif lambat, dan harus dilakukan sebelum menulis, melakukan penghapusan dalam blok besar membuat operasi penulisan besar lebih cepat, berdasarkan penghapusan sejumlah besar bit secara paralel.

Menghapus dalam blok juga memungkinkan penyederhanaan ke IC, mengurangi biaya. Skala ekonomis semakin mengurangi biaya flash pada EEPROM, karena flash digunakan dalam jumlah besar akhir-akhir ini untuk solid disk drive, sementara EEPROM digunakan dalam jumlah yang jauh lebih kecil.

Phil Frost
sumber
terima kasih atas jawaban ini. Apakah garis pemikiran ini juga menjelaskan mengapa operasi penulisan harus dilakukan halaman per halaman?
Gyom
1
@ Gyom itu tidak benar dari semua jenis flash. Terkadang batasan diberlakukan oleh protokol (misalnya, SATA tidak memiliki cara untuk menulis "sektor" kurang dari 512 byte). Bergantung pada jenis flash dan protokol yang digunakan untuk mengaksesnya, dimungkinkan untuk menulis hanya satu byte ke blok yang sebelumnya telah dihapus.
Phil Frost
4

Anda benar dalam kenyataan bahwa tidak ada pembenaran fisik karena harus menghapus unit blok.

Pemrograman sel dilakukan dengan membuat medan listrik antara bulk dan gerbang kontrol seperti yang ditunjukkan pada gambar 1, dan ide yang sama berlaku untuk menghapus sel, medan listrik di arah yang berlawanan akan melakukan pekerjaan seperti yang ditunjukkan pada gambar 2. masukkan deskripsi gambar di sini Namun, untuk alasan konstruktif, relatif rumit untuk menghasilkan dan menggunakan tegangan negatif, sehingga strategi yang digunakan adalah yang ditunjukkan pada gambar 3, dengan menetapkan tegangan tinggi pada bulk (yang merupakan referensi ground logika di sektor ini). Transistor seleksi tidak dapat digunakan lagi, hanya gerbang kontrol dapat didorong rendah, dan ini memaksa penghapusan sektor penuh.

cruano
sumber
Memori flash menurut definisi dihapus dalam blok. Itu sebabnya mereka disebut "flash", karena dengan operasi penghapusan Anda menghapus banyak sel secara paralel. Alih-alih dalam EEPROM Anda harus melakukan ini berdasarkan per byte, membutuhkan waktu yang lebih lama. Ngomong-ngomong, voltase erase dibagi antara voltase curah dan gerbang (satu positif, satu negatif). Jauh lebih mudah untuk membalikkan tegangan, sehubungan dengan harus menghasilkan dan menangani tegangan yang sangat tinggi.
next-hack
Sebagian besar chip memiliki banyak persimpangan PN yang biasanya bias sehingga tidak melakukan. Apakah mungkin untuk membiaskan kabel baris dan kolom ke tegangan yang diperlukan untuk menghapus sebuah chip tanpa ada persimpangan PN yang mengganggu hal-hal? Tentunya mungkin untuk menggunakan berbagai jenis sumur apung untuk menghindari masalah dengan sambungan PN seperti itu, tetapi melakukan hal itu pada basis per-sel kemungkinan akan sangat mahal.
supercat