Apa perbedaan antara flash NAND dan NOR?

37

Apa perbedaannya dan di mana Anda akan menggunakan masing-masing?

JeffV
sumber

Jawaban:

22

Ada banyak trade-off untuk itu.

Wikipedia juga:

Meskipun ada transistor tambahan, pengurangan kabel ground dan garis bit memungkinkan tata letak yang lebih padat dan kapasitas penyimpanan yang lebih besar per chip. Selain itu, NAND flash biasanya diizinkan mengandung sejumlah kesalahan tertentu (NOR flash, seperti yang digunakan untuk ROM BIOS, diharapkan bebas dari kesalahan). Pabrikan mencoba untuk memaksimalkan jumlah penyimpanan yang dapat digunakan dengan mengecilkan ukuran transistor di bawah ukuran di mana mereka dapat dibuat secara andal, ke ukuran di mana pengurangan lebih lanjut akan meningkatkan jumlah kesalahan lebih cepat daripada meningkatkan total penyimpanan yang tersedia.

Jadi, flash NOR dapat mengatasi lebih mudah, tetapi bahkan tidak sedekat padat.

Jika Anda melihat pada perbandingan PDF yang cukup baik.

NOR memiliki daya siaga yang lebih rendah, mudah untuk eksekusi kode dan memiliki kecepatan baca yang tinggi.

NAND memiliki daya aktif yang jauh lebih rendah (bit menulis lebih cepat dan biaya lebih rendah), kecepatan menulis lebih tinggi (banyak), kapasitas jauh lebih tinggi, biaya per bit jauh lebih rendah dan sangat mudah untuk penggunaan penyimpanan file. karena itu kecepatan baca yang lebih rendah saat menggunakannya untuk eksekusi kode Anda benar-benar perlu untuk membuatnya ram.

Mengutip bagian kecil dengan meja besar di atasnya ...

Karakteristik NAND Flash adalah: kepadatan tinggi, kecepatan baca sedang, kecepatan tulis tinggi, kecepatan hapus tinggi, dan akses tidak langsung atau seperti I / O. Karakteristik NOR Flash adalah kepadatan yang lebih rendah, kecepatan baca tinggi, kecepatan tulis lambat, kecepatan hapus lambat, dan antarmuka akses acak.

Kortuk
sumber
22

NAND flash lebih murah, jadi Anda ingin menggunakannya jika Anda bisa. Kekurangannya adalah itu tidak dapat diandalkan. NAND flash lebih cepat di sebagian besar operasi, dengan pengecualian yang penting adalah akses acak kecil dibaca. Jika Anda ingin membaca beberapa byte dari alamat acak di memori, NOR lebih cepat. Untuk memori besar, NAND bekerja dengan cukup baik, dan benar-benar mengalahkan NOR untuk potongan yang cukup besar.

Sebagian besar sistem operasi tertanam menyertakan kode untuk memperbaiki kesalahan di NAND Flash. Ada juga mikrokontroler dengan koreksi kesalahan perangkat keras. Masalah sebenarnya terjadi saat boot - bootloader tingkat pertama tidak memiliki kode koreksi kesalahan, dan mereka belum mengonfigurasi pengontrol memori untuk menjalankan perangkat keras ECC. Ini sedikit masalah ayam-dan-telur - Anda tidak dapat memuat kode ECC tanpa kesalahan karena Anda belum memuat kode ECC.

Untuk mengatasi masalah ini, beberapa produsen memori akan menentukan wilayah chip tertentu yang dijamin bebas kesalahan (4 kB pertama, atau sesuatu seperti itu). Anda meletakkan bootloader dengan perangkat lunak ECC di sana (seperti U-boot ), membacanya tanpa kesalahan, dan kemudian menggunakannya untuk membacakan kernel OS Anda, memperbaiki kesalahan saat Anda melanjutkan. Anda juga dapat menyimpan bootloader dalam flash serial, dan cukup gunakan NAND flash untuk hal-hal besar seperti OS kernel atau sistem file.

Saya menemukan catatan aplikasi Atmel ini berguna: http://www.atmel.com/dyn/resources/prod_documents/doc6255.pdf

pingswept
sumber
2
Salah satu konsekuensi dari keandalan NAND flash yang lebih rendah adalah bahwa sementara perangkat NAND flash memungkinkan pembacaan acak dari masing-masing byte (dengan sedikit waktu setup), itu tidak benar-benar mungkin untuk membaca kurang dari satu halaman kecuali ada yang memasukkan informasi koreksi kesalahan dalam potongan yang lebih kecil ( misalnya seseorang dapat menulis setiap byte sebagai 16 bit dan dapat mendeteksi semua kesalahan bit tunggal dan ganda, dengan biaya hanya mampu menyimpan setengah informasi sebanyak mungkin).
supercat
5

NOR memungkinkan akses acak, tetapi NAND tidak (hanya akses halaman.)

Dari Wikipedia :

NOR dan NAND flash mendapatkan nama mereka dari struktur interkoneksi antara sel-sel memori. Dalam NOR flash, sel terhubung secara paralel dengan bitline, memungkinkan sel untuk dibaca dan diprogram secara terpisah. Koneksi paralel sel menyerupai koneksi paralel transistor dalam gerbang CMOS NOR. Dalam NAND flash, sel-sel terhubung secara seri, menyerupai gerbang NAND. Koneksi seri mengkonsumsi lebih sedikit ruang daripada yang paralel, mengurangi biaya flash NAND. Ini tidak dengan sendirinya mencegah sel NAND dari dibaca dan diprogram secara individual.

Thomas O
sumber