com
Bab
SAYAinternalMeMory
5.1Memori Utama Semikonduktor
Organisasi
DRAM dan SRAM
Jenis ROM
Logika Chip
Kemasan Chip
Organisasi Modul
Memori Tersisip
5.2Koreksi kesalahan
5.3DRAM DDR
DRAM Sinkron
DDR SDRAM
5.4Memori Flash
Operasi
Memori Flash NOR dan NAND
5.5Teknologi Memori Solid-State Nonvolatil yang Lebih Baru
STT-RAM
PCRAM
ReRAM
5.6Istilah Kunci, Pertanyaan Tinjauan, dan Masalah
165
166Bab 5 / Memori Internal
LpenghasilanHAItujuan
Setelah mempelajari bab ini, Anda seharusnya mampu:
Kami memulai bab ini dengan survei subsistem memori utama semikonduktor, termasuk
memori ROM, DRAM, dan SRAM. Kemudian kita melihat teknik pengendalian kesalahan yang
digunakan untuk meningkatkan keandalan memori. Setelah ini, kita melihat arsitektur DRAM
yang lebih canggih.
Pada komputer sebelumnya, bentuk penyimpanan akses acak yang paling umum untuk memori
utama komputer menggunakan serangkaian loop feromagnetik berbentuk donat yang disebut
sebagaiinti. Oleh karena itu, memori utama sering disebut sebagaiinti, istilah yang masih
bertahan hingga saat ini. Kemunculan, dan keunggulan, mikroelektronika telah lama
mengalahkan memori inti magnetik. Saat ini, penggunaan chip semikonduktor untuk memori
utama hampir bersifat universal. Aspek kunci dari teknologi ini dieksplorasi di bagian ini.
Organisasi
Elemen dasar dari amemori semikonduktoradalah sel memori. Meskipun berbagai
teknologi elektronik digunakan, semua sel memori semikonduktor memiliki sifat tertentu
yang sama:
■ Mereka menunjukkan dua keadaan stabil (atau semistabil), yang dapat digunakan untuk mewakili
biner 1 dan 0.
Kontrol Kontrol
ram dinamisTeknologi RAM dibagi menjadi dua teknologi: dinamis dan statis. ARAM dinamis
(DRAM)dibuat dengan sel yang menyimpan data sebagai muatan pada kapasitor. Ada atau
tidaknya muatan dalam kapasitor ditafsirkan sebagai biner 1 atau 0. Karena kapasitor memiliki
kecenderungan alami untuk melepaskan muatan, RAM dinamis memerlukan penyegaran
muatan secara berkala untuk menjaga penyimpanan data. Syarat
Menulis
Tipe Memori Kategori Penghapusan Mekanisme Keriangan
Sinar UV,
PROM yang Dapat Dihapus (EPROM)
tingkat chip
Tidak mudah menguap
PROM yang Dapat Dihapus Secara Kebanyakan membaca Secara elektrik, Secara elektrik
Secara elektrik,
Memori kilat
tingkat blok
168Bab 5 / Memori Internal
dinamismengacu pada kecenderungan muatan yang disimpan bocor, bahkan dengan daya yang terus
menerus digunakan.
Gambar 5.2a adalah struktur DRAM tipikal untuk sel individual yang menyimpan satu bit.
Baris alamat diaktifkan ketika nilai bit dari sel ini akan dibaca atau ditulis. Transistor bertindak
sebagai saklar yang tertutup (memungkinkan arus mengalir) jika ada tegangan yang diberikan
pada saluran alamat dan terbuka (tidak ada arus yang mengalir) jika tidak ada tegangan pada
saluran alamat.
Untuk operasi penulisan, sinyal tegangan diterapkan ke jalur bit; tegangan
tinggi mewakili 1, dan tegangan rendah mewakili 0. Sinyal kemudian diterapkan ke
baris alamat, memungkinkan muatan ditransfer ke kapasitor.
Untuk operasi baca, ketika baris alamat dipilih, transistor menyala dan muatan
yang disimpan pada kapasitor diumpankan ke saluran bit dan ke penguat indera.
Penguat indera membandingkan tegangan kapasitor dengan nilai referensi dan
menentukan apakah sel berisi logika 1 atau logika 0. Pembacaan dari sel melepaskan
kapasitor, yang harus dipulihkan untuk menyelesaikan operasi.
Meskipun sel DRAM digunakan untuk menyimpan satu bit (0 atau 1), pada dasarnya sel DRAM
adalah perangkat analog. Kapasitor dapat menyimpan nilai muatan apa pun dalam suatu rentang;
nilai ambang batas menentukan apakah tagihan ditafsirkan sebagai 1 atau 0.
ram statisSebaliknya, aRAM statis (SRAM)adalah perangkat digital yang menggunakan elemen logika
yang sama dengan yang digunakan pada prosesor. Dalam SRAM, nilai biner disimpan menggunakan
konfigurasi gerbang logika flip-flop tradisional (lihat Bab 11 untuk penjelasan tentang flip-flop). RAM
statis akan menyimpan datanya selama daya disuplai ke dalamnya.
Gambar 5.2b adalah struktur SRAM khas untuk sel individual. Empat transistor (T1, T2, T3,
T4) dihubungkan silang dalam suatu susunan yang menghasilkan logika yang stabil
tegangan DC
Baris alamat
T3 T4
T5 C1 C2 T6
Transistor
Penyimpanan
kapasitor
T1 T2
(a) Sel RAM Dinamis (DRAM). (b) Sel RAM Statis (SRAM).
negara. Dalam keadaan logika 1, titik C1tinggi dan titik C2rendah; di negara bagian ini, T1dan T4mati
dan T2dan T3aktif.1Dalam keadaan logika 0, titik C1rendah dan titik C2tinggi; di negara bagian ini, T1
dan T4aktif dan T2dan T3tidak aktif. Kedua keadaan stabil selama tegangan arus searah (dc)
diterapkan. Berbeda dengan DRAM, tidak diperlukan penyegaran untuk menyimpan data.
Seperti pada DRAM, baris alamat SRAM digunakan untuk membuka atau menutup
saklar. Baris alamat mengontrol dua transistor (T5dan T6). Ketika sinyal diterapkan ke
saluran ini, kedua transistor diaktifkan, memungkinkan operasi baca atau tulis. Untuk
operasi tulis, nilai bit yang diinginkan diterapkan ke saluran B, sedangkan komplemennya
diterapkan ke saluran B. Hal ini memaksa keempat transistor (T1, T2, T3, T4) ke kondisi yang
tepat. Untuk operasi baca, nilai bit dibaca dari baris B.
sram versus dramaRAM statis dan dinamis bersifat fluktuatif; artinya, daya harus terus
disuplai ke memori untuk mempertahankan nilai bit. Sel memori dinamis lebih sederhana
dan lebih kecil daripada sel memori statis. Dengan demikian, DRAM lebih padat (sel lebih
kecil = lebih banyak sel per satuan luas) dan lebih murah dibandingkan SRAM terkait. Di
sisi lain, DRAM memerlukan sirkuit penyegaran pendukung. Untuk memori yang lebih
besar, biaya tetap dari sirkuit penyegaran lebih dari sekedar dikompensasi oleh biaya
variabel sel DRAM yang lebih kecil. Oleh karena itu, DRAM cenderung disukai untuk
kebutuhan memori yang besar. Poin terakhirnya adalah SRAM lebih cepat daripada DRAM.
Karena karakteristik relatif ini, SRAM digunakan untuk memori cache (baik chip on
maupun off), dan DRAM digunakan untuk memori utama.
Jenis ROM
Sesuai dengan namanya, amemori hanya-baca (ROM)berisi pola data permanen yang tidak
dapat diubah. ROM bersifat non-volatil; Artinya, tidak ada sumber daya yang diperlukan untuk
mempertahankan nilai bit dalam memori. Meskipun ROM dapat dibaca, namun data baru tidak
dapat ditulis ke dalamnya. Penerapan ROM yang penting adalah pemrograman mikro, yang
dibahas di Bagian Empat. Aplikasi potensial lainnya termasuk
■ Langkah penyisipan data mencakup biaya tetap yang relatif besar, baik
pembuatan satu atau ribuan salinan ROM tertentu.
■ Tidak ada ruang untuk kesalahan. Jika ada satu bit yang salah, seluruh kumpulan ROM
harus dibuang.
Jika hanya diperlukan sejumlah kecil ROM dengan konten memori tertentu,
alternatif yang lebih murah adalah ROMROM yang dapat diprogram (PROM). Seperti
1Lingkaran yang berhubungan dengan T3dan T4pada Gambar 5.2b menunjukkan negasi sinyal.
170Bab 5 / Memori Internal
ROM, PROMnyatidak mudah menguapdan hanya dapat ditulis satu kali saja. Untuk
PROM, proses penulisan dilakukan secara elektrik dan dapat dilakukan oleh pemasok atau
pelanggan pada waktu yang lebih lama dari pembuatan chip aslinya. Peralatan khusus
diperlukan untuk proses penulisan atau “pemrograman”. PROM memberikan fleksibilitas
dan kenyamanan. ROM tetap menarik untuk produksi bervolume tinggi.
Variasi lain pada memori read-only adalahmemori yang sebagian besar
dibaca, yang berguna untuk aplikasi yang operasi bacanya jauh lebih sering daripada
operasi tulis namun memerlukan penyimpanan nonvolatil. Ada tiga bentuk umum
dari memori read-mostly: EPROM, EEPROM, dan memori flash.
Secara optikmemori hanya-baca yang dapat diprogram dan dapat dihapus (EPROM)dibaca
dan ditulis secara elektrik, seperti PROM. Namun, sebelum operasi penulisan, semua sel penyimpanan
harus dihapus ke keadaan awal yang sama dengan memaparkan chip yang dikemas ke radiasi
ultraviolet. Penghapusan dilakukan dengan menyinari sinar ultraviolet yang intens melalui jendela
yang dirancang ke dalam chip memori. Proses penghapusan ini dapat dilakukan berulang kali; setiap
penghapusan memerlukan waktu hingga 20 menit untuk dilakukan. Dengan demikian, EPROM dapat
diubah berkali-kali dan, seperti ROM dan PROM, menyimpan datanya tanpa batas waktu. Untuk
jumlah penyimpanan yang sebanding, EPROM lebih mahal daripada PROM, namun memiliki
keunggulan dalam kemampuan pembaruan ganda.
Bentuk memori read-mostly yang lebih menarik adalahmemori hanya-baca yang dapat
diprogram dan dapat dihapus secara elektrik (EEPROM). Ini adalah memori yang sebagian
besar dapat dibaca yang dapat ditulis kapan saja tanpa menghapus konten sebelumnya; hanya
byte atau byte yang dialamatkan yang diperbarui. Operasi tulis memakan waktu jauh lebih lama
dibandingkan operasi baca, sekitar beberapa ratus mikrodetik per byte. EEPROM
menggabungkan keunggulan non-volatilitas dengan fleksibilitas yang dapat diupdate di tempat,
menggunakan kontrol bus biasa, alamat, dan jalur data. EEPROM lebih mahal daripada EPROM
dan juga kurang padat, mendukung lebih sedikit bit per chip.
Bentuk lain dari memori semikonduktor adalahmemori kilat(dinamakan demikian karena
kecepatannya untuk memprogram ulang). Pertama kali diperkenalkan pada pertengahan 1980-an,
memori flash merupakan perantara antara EPROM dan EEPROM baik dari segi biaya maupun
fungsionalitas. Seperti EEPROM, memori flash menggunakan teknologi penghapusan listrik. Seluruh
memori flash dapat dihapus dalam satu atau beberapa detik, yang jauh lebih cepat daripada EPROM.
Selain itu, dimungkinkan untuk menghapus hanya blok memori, bukan seluruh chip. Memori flash
mendapatkan namanya karena mikrochip diatur sedemikian rupa sehingga sebagian sel memori
terhapus dalam satu tindakan atau “flash”. Namun, memori flash tidak menyediakan penghapusan
tingkat byte. Seperti EPROM, memori flash hanya menggunakan satu transistor per bit, sehingga
mencapai kepadatan EPROM yang tinggi (dibandingkan dengan EEPROM).
Logika Chip
Seperti produk sirkuit terpadu lainnya, memori semikonduktor hadir dalam
paket chip (Gambar 1.11). Setiap chip berisi array sel memori.
Dalam hierarki memori secara keseluruhan, kami melihat adanya trade-off antara
kecepatan, kepadatan, dan biaya. Pertukaran ini juga terjadi ketika kita mempertimbangkan
pengorganisasian sel memori dan logika fungsional pada sebuah chip. Untuk memori
semikonduktor, salah satu masalah desain utama adalah jumlah bit data yang dapat dibaca/
ditulis dalam satu waktu. Pada satu titik ekstrim adalah suatu organisasi di mana susunan fisik
sel-sel dalam array sama dengan susunan logis (seperti yang dirasakan oleh prosesor) kata-kata
dalam memori. Array disusun menjadiWkata-kata dariBmasing-masing bit.
5.1 / Memori Utama SeMIKonduktor171
Misalnya, chip 16-Mbit dapat disusun sebagai 1 juta kata 16-bit. Pada ekstrem yang lain adalah
apa yang disebut organisasi 1-bit-per-chip, di mana data dibaca/ditulis sedikit demi sedikit. Kami
akan mengilustrasikan organisasi chip memori dengan DRAM; Organisasi ROM serupa,
meskipun lebih sederhana.
Gambar 5.3 menunjukkan organisasi khas DRAM 16-Mbit. Dalam hal ini, 4 bit dibaca
atau ditulis sekaligus. Logikanya, susunan memori disusun sebagai empat susunan
persegi yang terdiri dari 2048 kali 2048 elemen. Berbagai pengaturan fisik dimungkinkan.
Bagaimanapun, elemen-elemen array dihubungkan oleh garis horizontal (baris) dan
vertikal (kolom). Setiap garis horizontal terhubung ke terminal Pilih setiap sel di barisnya;
setiap garis vertikal terhubung ke terminal Data-In/Sense setiap sel di kolomnya.
Baris alamat menyediakan alamat kata yang akan dipilih. Total log2W garis
diperlukan. Dalam contoh kita, 11 baris alamat diperlukan untuk memilih salah satu dari
2048 baris. 11 baris ini dimasukkan ke dalam dekoder baris, yang memiliki 11 baris
masukan dan 2048 baris keluaran. Logika decoder mengaktifkan satu dari 2048 keluaran
tergantung pada pola bit pada 11 jalur masukan (211= 2048).
11 baris alamat tambahan memilih salah satu dari 2048 kolom 4 bit per kolom.
Empat jalur data digunakan untuk input dan output 4 bit ke dan dari buffer data.
Pada input (tulis), driver bit setiap baris bit diaktifkan untuk 1 atau 0 sesuai dengan
nilai baris data yang bersangkutan. Pada keluaran (baca), nilai setiap baris bit
dilewatkan melalui penguat rasa dan disajikan ke jalur data. Garis baris memilih baris
sel mana yang digunakan untuk membaca atau menulis.
Menyegarkan
MUX
menangkal
Baris Baris
Susunan memori
A0 alamat menghilangkan-
(2048*2048*4)
A1 penyangga
pembuat kode
masukan data
Dekoder kolom
Karena hanya 4 bit yang dibaca/ditulis ke DRAM ini, harus ada beberapa DRAM yang
terhubung ke pengontrol memori untuk membaca/menulis satu kata data ke bus.
Perhatikan bahwa hanya ada 11 baris alamat (A0–A10), setengah dari jumlah yang
Anda harapkan untuk array 2048 * 2048. Hal ini dilakukan untuk menghemat jumlah pin.
22 baris alamat yang diperlukan dilewatkan melalui logika pilihan di luar chip dan
dimultipleks ke 11 baris alamat. Pertama, 11 sinyal alamat dilewatkan ke chip untuk
menentukan alamat baris array, dan kemudian 11 sinyal alamat lainnya disajikan untuk
alamat kolom. Sinyal-sinyal ini disertai dengan sinyal pemilihan alamat baris (RAS) dan
pemilihan alamat kolom (CAS) untuk memberikan pengaturan waktu pada chip.
Pin aktifkan tulis (WE) dan aktifkan keluaran (OE) menentukan apakah operasi tulis
atau baca dilakukan. Dua pin lainnya, tidak ditunjukkan pada Gambar 5.3, adalah ground
(Vss) dan sumber tegangan (Vcc).
Selain itu, pengalamatan multipleks ditambah penggunaan array persegi menghasilkan
ukuran memori empat kali lipat dengan setiap generasi chip memori baru. Satu pin lagi yang
dikhususkan untuk pengalamatan menggandakan jumlah baris dan kolom, sehingga ukuran
memori chip bertambah 4 kali lipat.
Gambar 5.3 juga menunjukkan penyertaan sirkuit penyegaran. Semua DRAM
memerlukan operasi penyegaran. Teknik sederhana untuk menyegarkan adalah dengan
menonaktifkan chip DRAM saat semua sel data disegarkan. Penghitung penyegaran
menelusuri semua nilai baris. Untuk setiap baris, jalur keluaran dari penghitung
penyegaran disuplai ke dekoder baris dan jalur RAS diaktifkan. Data dibacakan dan ditulis
kembali ke lokasi yang sama. Hal ini menyebabkan setiap sel dalam baris disegarkan.
Kemasan Chip
Seperti telah disebutkan di Bab 2, sirkuit terpadu dipasang pada paket yang
berisi pin untuk koneksi ke dunia luar.
Gambar 5.4a menunjukkan contoh paket EPROM, yang merupakan chip 8-Mbit yang
disusun sebagai 1M * 8. Dalam hal ini, organisasi diperlakukan sebagai paket satu kata
per chip. Paket ini mencakup 32 pin, yang merupakan salah satu ukuran paket chip
standar. Pin mendukung garis sinyal berikut:
■ Alamat kata yang sedang diakses. Untuk 1 juta kata, totalnya 20 (220= 1M)
diperlukan pin (A0–A19).
■ Data yang akan dibaca, terdiri dari 8 baris (D0–D7).
■ Catu daya ke chip (Vcc).
■ Pin ground (Vss).
■ Pin pengaktif chip (CE). Karena mungkin ada lebih dari satu chip memori, masing-
masing terhubung ke bus alamat yang sama, pin CE digunakan untuk menunjukkan
apakah alamat tersebut valid atau tidak untuk chip ini. Pin CE diaktifkan oleh logika
yang terhubung ke bit tingkat tinggi dari bus alamat (yaitu, bit alamat di atas A19).
Penggunaan sinyal ini diilustrasikan sekarang.
■ Tegangan program (Vhal) yang disediakan selama pemrograman (operasi tulis).
Konfigurasi pin DRAM tipikal ditunjukkan pada Gambar 5.4b, untuk chip 16-Mbit
yang disusun sebagai 4M * 4. Ada beberapa perbedaan dari chip ROM. Karena RAM
dapat diperbarui, pin data adalah input/output. Pin aktifkan tulis (WE) dan aktifkan
keluaran (OE) menunjukkan apakah ini operasi tulis atau baca.
5.1 / Memori Utama SeMIKonduktor173
Karena DRAM diakses berdasarkan baris dan kolom, dan alamatnya dimultipleks,
hanya diperlukan 11 pin alamat untuk menentukan kombinasi baris/kolom 4M (2
11* 211= 222= 4M). Fungsi pin pemilihan alamat baris (RAS) dan pemilihan alamat
kolom (CAS) telah dibahas sebelumnya. Terakhir, disediakan pin no connect (NC)
sehingga jumlah pinnya genap.
Organisasi Modul
Jika sebuah chip RAM hanya berisi satu bit per kata, maka jelas kita memerlukan
setidaknya sejumlah chip yang sama dengan jumlah bit per kata. Sebagai contoh, Gambar
5.5 menunjukkan bagaimana modul memori yang terdiri dari 256K kata 8-bit dapat
diorganisir. Untuk 256 ribu kata, diperlukan alamat 18-bit dan diberikan ke modul dari
beberapa sumber eksternal (misalnya, baris alamat bus tempat modul terpasang). Alamat
disajikan ke 8 chip 256K * 1@bit, yang masing-masing menyediakan input/output satu bit.
Organisasi ini berfungsi selama ukuran memori sama dengan jumlah bit per chip. Jika
diperlukan memori yang lebih besar, diperlukan serangkaian chip. Gambar 5.6 menunjukkan
kemungkinan pengorganisasian memori yang terdiri dari 1 juta kata dengan 8 bit per kata.
Dalam hal ini, kita mempunyai empat kolom chip, masing-masing kolom berisi 256 ribu kata
yang disusun seperti pada Gambar 5.5. Untuk 1 juta kata, diperlukan 20 baris alamat. 18 bit
paling tidak signifikan dirutekan ke seluruh 32 modul. 2 bit orde tinggi dimasukkan ke modul
logika pemilihan grup yang mengirimkan sinyal pengaktifan chip ke salah satu dari empat
kolom modul.
Memori Tersisip
Memori utama terdiri dari kumpulan chip memori DRAM. Sejumlah chip dapat dikelompokkan
bersama untuk membentuk abank memori. Dimungkinkan untuk mengatur memori
174Bab 5 / Memori Internal
Dekode 1 dari
Alamat memori 512 bit
512
mendaftar (MAR)
Fitur #1
•
•
•
9 Dekode 1 dari
512 bit masuk akal
• Penyangga memori
• mendaftar (MBR)
•
1
2
9
3
• 4
•
• 5
6
7
8
512 bit
512
Fitur #8
Dekode 1 dari
512 bit masuk akal
bank dengan cara yang dikenal sebagai memori interleaved. Setiap bank secara mandiri mampu
melayani permintaan baca atau tulis memori, sehingga sistem dapat melakukannyaKbank dapat
melayaniK permintaan secara bersamaan, meningkatkan kecepatan baca atau tulis memori sebesar
faktorK. Jika kata-kata memori yang berurutan disimpan di bank yang berbeda, maka transfer blok
memori akan dipercepat. Lampiran G mengeksplorasi topik memori yang disisipkan.
Sistem memori semikonduktor dapat mengalami kesalahan. Ini dapat dikategorikan sebagai kegagalan keras
dan kesalahan lunak.Akegagalan yang sulitadalah cacat fisik permanen sehingga sel memori atau sel yang
terkena dampak tidak dapat menyimpan data dengan andal tetapi terhenti pada 0 atau 1 atau
5.2 / Koreksi kesalahan175
Penyimpanan
alamat
daftar
(MERUSAK)
1/512
1/512
A1 B1 C1 D1
Penyimpanan
9 1/512 1/512
penyangga
daftar
E E E E (MBR)
Bagian 1 1
9 A2 B2 2
Semua chip 512 kata kali
512 bit. sel 2 terminal
2 A7
1/512
7
B7 C7 D7
8
Kelompok E
Kepingan A
B
kelompok
C
1/512
memungkinkan D A8 B8 C8 D8
Pilih 1
dari 4 1/512 1/512
kelompok
E E E E
Bagian 8
beralih secara tidak menentu antara 0 dan 1. Kesalahan besar dapat disebabkan oleh
penyalahgunaan lingkungan, cacat produksi, dan keausan. Akesalahan lunakadalah peristiwa
acak dan tidak merusak yang mengubah isi satu atau lebih sel memori tanpa merusak memori.
Kesalahan lunak dapat disebabkan oleh masalah catu daya atau partikel alfa. Partikel-partikel ini
dihasilkan dari peluruhan radioaktif dan sangat umum terjadi karena inti radioaktif ditemukan
dalam jumlah kecil di hampir semua bahan. Kesalahan keras dan kesalahan lunak jelas tidak
diinginkan, dan sebagian besar sistem memori utama modern menyertakan logika untuk
mendeteksi dan memperbaiki kesalahan.
Gambar 5.7 mengilustrasikan secara umum bagaimana proses tersebut dilakukan. Ketika
data akan ditulis ke dalam memori, perhitungan digambarkan sebagai suatu fungsiF, dilakukan
pada data untuk menghasilkan kode. Baik kode maupun datanya disimpan. Jadi, jika sebuahM
-bit kata data akan disimpan dan kodenya panjangnyaKbit, maka ukuran sebenarnya dari kata
yang disimpan adalahM+Kbit.
Ketika kata yang disimpan sebelumnya dibacakan, kode tersebut digunakan untuk mendeteksi
dan kemungkinan memperbaiki kesalahan. Satu set baruKbit kode dihasilkan dariMbit data dan
dibandingkan dengan bit kode yang diambil. Perbandingan tersebut menghasilkan satu dari tiga hasil:
■ Tidak ada kesalahan yang terdeteksi. Bit data yang diambil dikirim keluar.
■ Kesalahan terdeteksi, dan kesalahan tersebut dapat diperbaiki. Bit data ditambah koreksi
kesalahanbit dimasukkan ke dalam korektor, yang menghasilkan satu set yang dikoreksi Mbit
yang akan dikirim.
■ Kesalahan terdeteksi, namun tidak dapat diperbaiki. Kondisi ini dilaporkan.
Kode yang beroperasi dengan cara ini disebut sebagaikode koreksi kesalahan. Sebuah
kode dicirikan oleh jumlah kesalahan bit dalam sebuah kata yang dapat diperbaiki dan
dideteksi.
176Bab 5 / Memori Internal
Sinyal kesalahan
Data keluar M
Korektor
Data masuk M M K
F
K Penyimpanan
K Membandingkan
Kode koreksi kesalahan yang paling sederhana adalahKode Hammingdirancang oleh Richard
Hamming di Bell Laboratories. Gambar 5.8 menggunakan diagram Venn untuk mengilustrasikan
penggunaan kode ini pada kata 4-bit (M=4). Dengan tiga lingkaran berpotongan, terdapat tujuh
kompartemen. Kami menetapkan 4 bit data ke kompartemen bagian dalam (Gambar 5.8a).
Kompartemen yang tersisa diisi dengan apa yang disebutbit paritas.Tiap bit paritas dipilih sehingga
jumlah total angka 1 dalam lingkarannya adalah genap (Gambar 5.8b). Jadi, karena lingkaran A
mencakup tiga data 1, bit paritas dalam lingkaran tersebut diatur ke 1. Sekarang, jika kesalahan
mengubah salah satu bit data (Gambar 5.8c), kesalahan tersebut mudah ditemukan. Dengan
memeriksa bit paritas, ketidaksesuaian ditemukan di lingkaran A dan lingkaran C tetapi tidak di
lingkaran B. Hanya satu dari tujuh kompartemen yang berada di A dan C tetapi tidak di B (Gambar
5.8d). Oleh karena itu, kesalahan tersebut dapat diperbaiki dengan mengubah bit tersebut.
Untuk memperjelas konsep yang terlibat, kami akan mengembangkan kode yang dapat mendeteksi dan
memperbaiki kesalahan bit tunggal dalam kata 8-bit.
Untuk memulai, mari kita tentukan berapa panjang kodenya. Mengacu pada Gambar 5.7,
logika perbandingan menerima input duaKnilai -bit. Perbandingan bit demi bit dilakukan
dengan mengambil OR eksklusif dari kedua input. Hasilnya disebutkata sindrom.Jadi, setiap
bagian darisindromaadalah 0 atau 1 berdasarkan apakah ada kecocokan atau tidak pada posisi
bit tersebut untuk kedua input.
Oleh karena itu, kata sindromnya adalahKbit lebar dan memiliki rentang antara 0 dan 2K
-1. Nilai 0 menunjukkan tidak ada kesalahan yang terdeteksi, menyisakan 2K-1 nilai untuk
menunjukkan, jika ada kesalahan, bit mana yang salah. Sekarang, karena kesalahan bisa terjadi
pada salah satuMbit data atauKperiksa bit, kita harus punya
2K-1ÚM+K
Ketidaksetaraan ini memberikan jumlah bit yang dibutuhkan untuk memperbaiki kesalahan bit tunggal dalam
sebuah kata yang mengandungMbit data. Misalnya, untuk sebuah kata yang terdiri dari 8 bit data (M=8), kita punya
■ K=3: 23-168 + 3
■ K=4: 24-178 + 4
5.2 / Koreksi kesalahan177
(A) A B (B)
1 1 1 0
1 1
1 0 1 0
C
(C) (D)
1 1 0 1 1 0
1 1
0 0 0 0
0 0
Jadi, delapan bit data memerlukan empat bit pemeriksaan. Tiga kolom pertama pada Tabel 5.2
mencantumkan jumlah bit pemeriksaan yang diperlukan untuk berbagai panjang kata data.
Untuk kenyamanan, kami ingin membuat sindrom 4-bit untuk kata data 8-
bit dengan karakteristik berikut:
■ Jika sindrom berisi semua angka 0, tidak ada kesalahan yang terdeteksi.
■ Jika sindrom tersebut berisi satu dan hanya satu bit yang disetel ke 1, maka telah terjadi
kesalahan pada salah satu dari 4 bit pemeriksaan. Tidak diperlukan koreksi.
■ Jika sindrom berisi lebih dari satu bit yang disetel ke 1, maka nilai numerik sindrom
tersebut menunjukkan posisi bit data yang mengalami kesalahan. Bit data ini dibalik
untuk koreksi.
Untuk mencapai karakteristik tersebut, data dan bit pengecekan disusun menjadi kata 12-
bit seperti yang digambarkan pada Gambar 5.9. Posisi bit diberi nomor dari 1 sampai 12. Posisi
bit yang nomor posisinya merupakan pangkat 2 ditetapkan sebagai check
178Bab 5 / Memori Internal
8 4 50.0 5 62.5
16 5 31.25 6 37.5
32 6 18.75 7 21.875
64 7 10.94 8 12.5
128 8 6.25 9 7.03
256 9 3.52 10 3.91
C1 = D1⊕D2⊕ D4⊕D5⊕ D7
C2 = D1⊕ D3⊕D4⊕ D6⊕D7
C4 = D2⊕D3⊕D4⊕ D8
C8 = ⊕ D5⊕D6⊕D7⊕D8
Setiap bit pengecekan beroperasi pada setiap bit data yang nomor posisinya
mengandung angka 1 pada posisi bit yang sama dengan nomor posisi bit pengecekan tersebut.
Jadi, posisi bit data 3, 5, 7, 9, dan 11 (D1, D2, D4, D5, D7) semuanya berisi 1 pada bit paling tidak
signifikan dari nomor posisinya seperti halnya C1; posisi bit 3, 6, 7, 10, dan 11 semuanya berisi 1
pada posisi bit kedua, seperti halnya C2; dan seterusnya. Melihat ke arah lain, posisi bitN
diperiksa oleh bit-bit C ituSayaseperti yangASaya=N. Misalnya, posisi 7 diperiksa oleh bit pada
posisi 4, 2, dan 1; dan 7 = 4 + 2 + 1.
Mari kita verifikasi bahwa skema ini berfungsi dengan sebuah contoh. Asumsikan kata
masukan 8-bit adalah 00111001, dengan bit data D1 di posisi paling kanan. Perhitungannya adalah
sebagai berikut:
C1 = 1⊕0⊕1⊕1⊕0 = 1
C2 = 1⊕0⊕1⊕1⊕0 = 1
C4 = 0⊕0⊕1⊕0 = 1
C8 = 1⊕1⊕0⊕0 = 0
12 11 10 9 8 7 6 5 4 3 2 1
Sedikit
posisi
Posisi
1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
nomor
Sedikit data D8 D7 D6 D5 D4 D3 D2 D1
Periksa sedikit C8 C4 C2 C1
Misalkan sekarang bit data 3 mengalami kesalahan dan diubah dari 0 menjadi 1. Ketika bit
pemeriksaan dihitung ulang, kita mempunyai
C1 = 1⊕0⊕1⊕1⊕0 = 1
C2 = 1⊕1⊕1⊕1⊕0 = 0
C4 = 0⊕1⊕1⊕0 = 0
C8 = 1⊕1⊕0⊕0 = 0
Ketika bit-bit cek yang baru dibandingkan dengan bit-bit cek yang lama, maka terbentuklah kata
sindrom:
C8 C4 C2 C1
0111
0001
0110
Hasilnya adalah 0110, menunjukkan bahwa posisi bit 6 yang berisi data bit 3 mengalami error.
Gambar 5.10 mengilustrasikan perhitungan sebelumnya. Data dan bit pemeriksaan
diposisikan dengan benar dalam kata 12-bit. Empat bit data mempunyai nilai 1 (diarsir
dalam tabel), dan nilai posisi bitnya di-XOR untuk menghasilkan kode Hamming 0111,
yang membentuk empat digit pemeriksa. Seluruh blok yang disimpan adalah
001101001111. Misalkan sekarang data bit 3, pada posisi bit 6, mengalami kesalahan dan
diubah dari 0 ke 1. Blok yang dihasilkan adalah 001101101111, dengan kode Hamming
0001. XOR dari Hamming kode dan semua nilai posisi bit untuk bit data bukan nol
menghasilkan 0110. Hasil bukan nol mendeteksi kesalahan dan menunjukkan bahwa
kesalahan tersebut berada pada posisi bit 6.
Kode yang baru saja dijelaskan dikenal sebagai akode koreksi kesalahan tunggal (SEC).. Lebih
umum, memori semikonduktor dilengkapi dengan akode koreksi kesalahan tunggal, deteksi
kesalahan ganda (SEC-DED).. Seperti yang ditunjukkan Tabel 5.2, kode tersebut memerlukan satu bit
tambahan dibandingkan dengan kode SEC.
Gambar 5.11 mengilustrasikan cara kerja kode tersebut, sekali lagi dengan data word 4-bit. Urutannya
menunjukkan bahwa jika terjadi dua kesalahan (Gambar 5.11c), prosedur pemeriksaan menjadi salah (d) dan
memperburuk masalah dengan menimbulkan kesalahan ketiga (e). Untuk mengatasi
12 11 10 9 8 7 6 5 4 3 2 1
Sedikit
posisi
Posisi
1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
nomor
Sedikit data D8 D7 D6 D5 D4 D3 D2 D1
Periksa sedikit C8 C4 C2 C1
Kata 0 0 1 1 0 1 0 0 1 1 1 1
disimpan sebagai
Kata
diambil sebagai
0 0 1 1 0 1 1 0 1 1 1 1
Posisi 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001
nomor
Periksa sedikit 0 0 0 1
Gambar 5.10Periksa Perhitungan Bit
180Bab 5 / Memori Internal
0 0 0
0 1 1 1
1 1 0
1 0 1 0 1 0
0 0
1 1
0 0 0
1 1 1 1 1 1
0 0 0
1 0 1 1 1 1
0 0 0
1 1 1
masalahnya, bit kedelapan ditambahkan yang diatur sehingga jumlah total 1 dalam diagram
adalah genap. Bit paritas ekstra menangkap kesalahan (f).
Kode koreksi kesalahan meningkatkan keandalan memori dengan
mengorbankan kompleksitas tambahan. Dengan organisasi 1-bit-per-chip, kode SEC-
DED umumnya dianggap memadai. Misalnya, implementasi IBM 30xx menggunakan
kode SEC-DED 8-bit untuk setiap 64 bit data di memori utama. Jadi, ukuran memori
utama sebenarnya sekitar 12% lebih besar dari yang terlihat oleh pengguna.
Komputer VAX menggunakan SEC-DED 7-bit untuk setiap 32 bit memori, dengan
overhead 22%. Sistem DRAM kontemporer mungkin memiliki overhead antara 7%
hingga 20% [SHAR03].
Seperti yang dibahas di Bab 1, salah satu hambatan sistem yang paling kritis ketika
menggunakan prosesor berkinerja tinggi adalah antarmuka ke memori utama internal.
Antarmuka ini adalah jalur paling penting dalam keseluruhan sistem komputer. Bahan
dasar memori utama tetap berupa chip DRAM, seperti yang telah terjadi selama beberapa
dekade; hingga saat ini, belum ada perubahan signifikan dalam arsitektur DRAM sejak
awal tahun 1970-an. Chip DRAM tradisional dibatasi oleh arsitektur internalnya dan
antarmukanya ke bus memori prosesor.
Kita telah melihat bahwa salah satu serangan terhadap masalah kinerja memori utama DRAM
adalah dengan memasukkan satu atau lebih tingkat cache SRAM berkecepatan tinggi antara memori
utama DRAM dan prosesor. Namun SRAM jauh lebih mahal daripada DRAM, dan memperluas ukuran
cache melebihi titik tertentu akan menghasilkan keuntungan yang semakin berkurang.
Dalam beberapa tahun terakhir, sejumlah peningkatan pada arsitektur dasar DRAM telah
dieksplorasi. Skema yang saat ini mendominasi pasar adalah SDRAM dan DDR-DRAM. Kami
memeriksa masing-masing hal ini secara bergantian.
5.3 / ddr draM181
DRAM Sinkron
Salah satu bentuk DRAM yang paling banyak digunakan adalahDRAM sinkron (SDRAM).
Berbeda dengan DRAM tradisional, yang bersifat asinkron, SDRAM menukar data dengan
prosesor yang disinkronkan dengan sinyal jam eksternal dan berjalan pada kecepatan
penuh bus prosesor/memori tanpa memaksakan status tunggu.
Dalam DRAM pada umumnya, prosesor menyajikan alamat dan level kontrol ke
memori, yang menunjukkan bahwa sekumpulan data pada lokasi tertentu di memori
harus dibaca atau ditulis ke dalam DRAM. Setelah penundaan, waktu akses, DRAM akan
menulis atau membaca data. Selama penundaan waktu akses, DRAM melakukan berbagai
fungsi internal, seperti mengaktifkan kapasitansi tinggi pada baris dan kolom, mendeteksi
data, dan mengarahkan data keluar melalui buffer keluaran. Prosesor harus menunggu
hingga penundaan ini, sehingga memperlambat kinerja sistem.
Dengan akses sinkron, DRAM memindahkan data masuk dan keluar di bawah
kendali jam sistem. Prosesor atau master lainnya mengeluarkan instruksi dan informasi
alamat, yang dikunci oleh DRAM. DRAM kemudian merespons setelah sejumlah siklus jam
tertentu. Sementara itu, master dapat melakukan tugas lain dengan aman saat SDRAM
memproses permintaan.
Gambar 5.12 menunjukkan logika internal SDRAM 256-Mb yang khas dari
organisasi SDRAM, dan Tabel 5.3 menjelaskan berbagai penetapan pin. Itu
CLK DQML
CKE Memerintah
DQMH
Data masuk
CS
dekoder & penyangga 16
RAS 16
jam
KAS
Mode
Menyegarkan
generator DQ 0-15
KAMI pengontrol
daftar
13
Diri sendiri- Data keluar
A10
menyegarkan
16 penyangga 16
A12
pengontrol
A11
A9
Menyegarkan
A8
menangkal
A7
A6 8192
8192
Msel emosi
Dekoder baris
A5 8192
Multiplekser
Himpunan
A4 8192 (4 MB x 16)
13
A3 Baris Baris DRAM
A2 alamat BANK 0
alamat
A1 13
A0
memalangi
13 penyangga
Samplifier rasa
BA0
BA1
512
Kolom (x 16)
Pengendalian bank
kait alamat logika
Meledak c counter
Kolom
Kol M N dekoder
penyangga alamat 9
CS Pilih chip
SDRAM menggunakan mode burst untuk menghilangkan waktu pengaturan alamat dan
waktu pengisian baris dan kolom setelah akses pertama. Dalam mode burst, serangkaian
bit data dapat dikeluarkan dengan cepat setelah bit pertama diakses. Mode ini berguna
ketika semua bit yang akan diakses berada secara berurutan dan berada pada baris array
yang sama dengan akses awal. Selain itu, SDRAM memiliki arsitektur internal multi-bank
yang meningkatkan peluang paralelisme on-chip.
Mode register dan logika kontrol terkait adalah fitur utama yang membedakan
SDRAM dari DRAM konvensional. Ini menyediakan mekanisme untuk menyesuaikan
SDRAM agar sesuai dengan kebutuhan sistem tertentu. Register mode menentukan
panjang burst, yang merupakan jumlah unit data terpisah yang diumpankan secara
sinkron ke bus. Register juga memungkinkan pemrogram untuk mengatur latensi antara
penerimaan permintaan baca dan awal transfer data.
SDRAM bekerja paling baik ketika mentransfer blok data besar secara berurutan,
seperti untuk aplikasi seperti pengolah kata, spreadsheet, dan multimedia.
Gambar 5.13 menunjukkan contoh operasi SDRAM. Dalam hal ini, panjang burst
adalah 4 dan latensi adalah 2. Perintah pembacaan burst dimulai dengan membuat
CS dan CAS rendah sambil menahan RAS dan WE tinggi pada tepi jam yang
meningkat. Input alamat menentukan alamat kolom awal untuk burst, dan register
mode menetapkan jenis burst (berurutan atau interleave) dan panjang burst (1, 2, 4,
8, halaman penuh). Penundaan dari awal perintah hingga saat data dari sel pertama
muncul di output sama dengan nilai latensi CAS yang diatur dalam register mode.
T0 T1 T2 T3 T4 T5 T6 T7 T8
CLK
PERINTAH BACA A TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK TIDAK
DDR SDRAM
Meskipun SDRAM merupakan peningkatan yang signifikan pada RAM asinkron, SDRAM
masih memiliki kekurangan yang membatasi kecepatan data I/O yang dapat dicapai.
Untuk mengatasi kekurangan ini, versi SDRAM yang lebih baru, yang disebut sebagai
doubledata-rate DRAM (DDR DRAM), menyediakan beberapa fitur yang secara dramatis
meningkatkan kecepatan data. DDR DRAM dikembangkan oleh JEDEC Solid State
Technology Association, badan standarisasi teknik semikonduktor Electronic Industries
Alliance. Banyak perusahaan membuat chip DDR, yang banyak digunakan di komputer
desktop dan server.
DDR mencapai kecepatan data yang lebih tinggi dalam tiga cara. Pertama, transfer data
disinkronisasikan pada sisi naik dan turunnya jam, bukan hanya pada sisi naiknya saja. Ini
menggandakan kecepatan data; itulah istilahnyakecepatan data ganda. Kedua, DDR menggunakan
clock rate yang lebih tinggi pada bus untuk meningkatkan kecepatan transfer. Ketiga, skema buffering
digunakan, seperti yang dijelaskan selanjutnya.
JEDEC sejauh ini telah menetapkan empat generasi teknologi DDR (Tabel 5.4). Versi
DDR awal menggunakan buffer prefetch 2-bit. Buffer prefetch adalah cache memori yang
terletak pada chip SDRAM. Hal ini memungkinkan chip SDRAM untuk memposisikan bit
untuk ditempatkan pada bus data secepat mungkin. Bus DDR I/O menggunakan
kecepatan jam yang sama dengan chip memori, namun karena dapat menangani dua bit
per siklus, maka kecepatan datanya mencapai dua kali lipat kecepatan jam. Buffer
prefetch 2-bit memungkinkan chip SDRAM mengimbangi bus I/O.
Untuk memahami pengoperasian buffer prefetch, kita perlu melihatnya dari sudut
pandang transfer kata. Ukuran buffer prefetch menentukan berapa banyak kata data yang
diambil (di beberapa chip SDRAM) setiap kali perintah kolom dijalankan dengan memori
DDR. Karena inti DRAM jauh lebih lambat dibandingkan antarmuka, perbedaannya
dijembatani dengan mengakses informasi secara paralel dan kemudian membuat
serialisasi keluar antarmuka melalui multipleksor (MUX). Dengan demikian, DDR
mengambil dua kata terlebih dahulu, yang berarti bahwa setiap kali operasi baca atau tulis
dilakukan, operasi tersebut dilakukan pada dua kata data, dan dikeluarkan dari, atau ke
dalam, SDRAM selama satu siklus clock pada kedua tepi jam selama a total dua operasi
berturut-turut. Hasilnya, antarmuka DDR I/O dua kali lebih cepat dari inti SDRAM.
Meskipun setiap generasi baru SDRAM menghasilkan kapasitas yang jauh lebih besar,
namun kecepatan inti SDRAM tidak mengalami perubahan yang signifikan dari generasi ke
generasi. Untuk mencapai kecepatan data yang lebih besar daripada yang dihasilkan oleh
peningkatan kecepatan jam SDRAM, JEDEC meningkatkan ukuran buffer. Untuk DDR2, buffer 4-
bit digunakan, memungkinkan kata-kata ditransfer secara paralel, meningkatkan kecepatan
data efektif sebanyak 4 kali lipat. Untuk DDR3, buffer 8-bit digunakan dan percepatan 8 kali lipat
tercapai ( Gambar 5.14).
HH)z)
M
Meemmoorryyaarrrraayy(1(10000-2–62666MM z
HH)z)
M
Meemmoorryyaarrrraayy(1(10000-2–62666MM z
8N MUX I/O (400–1066 MHz) DDR3
M HH
Meemmoorryyaarrrraayy(1(10000-2–62666MM z)z)
800–2133 Mbps
M HH
Meemmoorryyaarrrraayy(1(10000-2–62666MM z)z)
HH)z)
M
Meemmoorryyaarrrraayy(1(10000-2–62666MM z
HH)z)
M
Meemmoorryyaarrrraayy(1(10000-2–62666MM z
8N MUX
M HH
Meemmoorryyaarrrraayy(1(10000-2–62666MM z)z)
DDR4
M HH
Meemmoorryyaarrrraayy(1(10000-2–62666MM z)z)
MUX I/O (667–1600 MHz)
HH)z)
MMeemmoorryyaarrrraayy(1(10000-2–62666MM z
1333–3200 Mbps
HH)z)
M
Meemmoorryyaarrrraayy(1(10000-2–62666MM z
8N MUX
M HH
Meemmoorryyaarrrraayy(1(10000-2–62666MM z)z)
M HH
Meemmoorryyaarrrraayy(1(10000-2–62666MM z)z)
Kelemahan dari prefetch adalah ia secara efektif menentukan panjang burst minimum
untuk SDRAM. Misalnya, sangat sulit untuk memiliki panjang burst empat kata yang efisien
dengan prefetch DDR3 sebanyak delapan kata. Oleh karena itu, perancang JEDEC memilih untuk
tidak meningkatkan ukuran buffer menjadi 16 bit untuk DDR4, melainkan memperkenalkan
konsep akelompok bank[ALLA13]. Grup bank adalah entitas terpisah sehingga memungkinkan
siklus kolom diselesaikan dalam suatu grup bank, namun siklus kolom tersebut tidak
berdampak pada apa yang terjadi di grup bank lain. Dengan demikian, dua prefetch dari
delapan dapat beroperasi secara paralel di dua grup bank. Pengaturan ini menjaga ukuran
buffer prefetch tetap sama seperti pada DDR3, sekaligus meningkatkan kinerja seolah-olah
prefetch lebih besar.
Gambar 5.14 menunjukkan konfigurasi dengan dua kelompok bank. Dengan DDR4, hingga 4
grup bank dapat digunakan.
5.4 / Memori Flash185
Bentuk lain dari memori semikonduktor adalah memori flash. Memori flash digunakan baik
untuk memori internal maupun aplikasi memori eksternal. Di sini, kami memberikan gambaran
teknis dan melihat penggunaannya untuk memori internal.
Pertama kali diperkenalkan pada pertengahan 1980-an, memori flash merupakan
perantara antara EPROM dan EEPROM baik dari segi biaya maupun fungsionalitas. Seperti
EEPROM, memori flash menggunakan teknologi penghapusan listrik. Seluruh memori flash
dapat dihapus dalam satu atau beberapa detik, yang jauh lebih cepat daripada EPROM. Selain
itu, dimungkinkan untuk menghapus hanya blok memori, bukan seluruh chip. Memori flash
mendapatkan namanya karena mikrochip diatur sedemikian rupa sehingga sebagian sel
memori terhapus dalam satu tindakan atau “flash”. Namun, memori flash tidak menyediakan
penghapusan tingkat byte. Seperti EPROM, memori flash hanya menggunakan satu transistor
per bit, sehingga mencapai kepadatan EPROM yang tinggi (dibandingkan dengan EEPROM).
Operasi
Gambar 5.15 mengilustrasikan pengoperasian dasar memori flash. Sebagai perbandingan, Gambar
5.15a menggambarkan pengoperasian transistor. Transistor memanfaatkan sifat semikonduktor
sehingga tegangan kecil yang diterapkan pada gerbang dapat digunakan untuk mengontrol aliran
arus besar antara sumber dan saluran pembuangan.
Dalam sel memori flash, gerbang kedua—disebut gerbang mengambang, karena diisolasi
oleh lapisan oksida tipis—ditambahkan ke transistor. Awalnya, floating gate tidak mengganggu
pengoperasian transistor (Gambar 5.15b). Dalam keadaan ini, sel dianggap mewakili biner 1.
Menerapkan tegangan besar melintasi lapisan oksida menyebabkan elektron menerobos
melaluinya dan terperangkap di gerbang mengambang, di mana elektron tetap berada
meskipun daya terputus (Gambar 5.15c). Dalam keadaan ini, sel dianggap mewakili biner 0.
Keadaan sel dapat dibaca dengan menggunakan sirkuit eksternal untuk menguji apakah
transistor berfungsi atau tidak. Menerapkan tegangan besar ke arah yang berlawanan akan
menghilangkan elektron dari gerbang mengambang, kembali ke keadaan biner 1.
Gerbang kendali
N+ N+
Mengeringkan Sumber
P-substrat
++++++
Gerbang kendali Gerbang kendali
Gerbang mengambang
––––––
N+ N+ N+ N+
Mengeringkan Sumber Mengeringkan Sumber
P-substrat P-substrat
(b) Sel memori flash dalam satu keadaan (c) Sel memori flash dalam keadaan nol
Karakteristik penting dari memori flash adalah memori persisten, yang berarti
memori ini menyimpan data ketika tidak ada daya yang dialirkan ke memori. Oleh karena
itu, ini berguna untuk penyimpanan sekunder (eksternal), dan sebagai alternatif memori
akses acak di komputer.
Garis kecil
Penyimpanan
sel
(a) TIDAK struktur abu
Garis kecil
Penyimpanan
sel
(b) NAND struktur abu
2Lingkaran yang terkait dengan dan pada Gambar 5.2b menunjukkan negasi sinyal.
3Grafik Kiviat menyediakan sarana bergambar untuk membandingkan sistem dengan beberapa variabel [MORR74]. Variabel-
variabel tersebut disusun sebagai garis-garis dengan interval sudut yang sama di dalam sebuah lingkaran, setiap garis bergerak
dari pusat lingkaran ke keliling. Suatu sistem ditentukan oleh satu titik pada setiap garis; semakin dekat ke keliling, semakin baik
nilainya. Titik-titik tersebut dihubungkan sehingga menghasilkan suatu bentuk yang menjadi ciri khas sistem tersebut. Semakin
banyak area yang tertutup dalam bentuk, semakin “baik” sistemnya.
5.5 / TEKNOLOGI Memori Solid-State nonvolaTile yang lebih baru187
Tinggi Tinggi
Tinggi Keras Tinggi Keras
Rendah Mudah Rendah Mudah
Tinggi Tinggi
Tinggi Tinggi
Kecepatan membaca Kapasitas Kecepatan membaca Kapasitas
Tinggi Tinggi
Memori flash NOR menyediakan akses acak berkecepatan tinggi. Itu dapat membaca dan
menulis data ke lokasi tertentu, dan dapat mereferensikan dan mengambil satu byte. NAND membaca
dan menulis dalam blok-blok kecil. NAND memberikan kepadatan bit yang lebih tinggi daripada NOR
dan kecepatan tulis yang lebih tinggi. NAND flash tidak menyediakan bus alamat eksternal akses acak
sehingga data harus dibaca berdasarkan blok (juga dikenal sebagai akses halaman), di mana setiap
blok menampung ratusan hingga ribuan bit.
Untuk memori internal dalam sistem tertanam, memori flash NOR secara
tradisional lebih disukai. Memori NAND telah membuat beberapa terobosan, namun
NOR tetap menjadi teknologi dominan untuk memori internal. Ini cocok untuk
mikrokontroler yang jumlah kode programnya relatif kecil dan jumlah data aplikasi
tertentu tidak bervariasi. Misalnya, memori flash pada Gambar 1.16 adalah memori
NOR.
Memori NAND lebih cocok untuk memori eksternal, seperti flash drive USB,
kartu memori (di kamera digital, pemutar MP3, dll.), dan yang dikenal sebagai
solid-state disk (SSD). Kami membahas SSD di Bab 6.
rendah, dengan waktu akses yang relatif lambat. Ini adalah pilihan tradisional untuk penyimpanan
eksternal sebagai bagian dari hierarki memori.
188Bab 5 / Memori Internal
Meningkatkan kinerja
dan daya tahan
SRAM
STT-RAM
DRAM
PCRAM
NAND FLASH
ReRAM
HARD DISK
Mengurangi biaya
per sedikit,
peningkatan kapasitas
atau kepadatan
Ke dalam campuran ini, seperti telah kita lihat, telah ditambahkan memori flash. Memori flash
memiliki keunggulan dibandingkan memori tradisional yaitu bersifat nonvolatile. Flash NOR
paling cocok untuk menyimpan program dan data aplikasi statis dalam sistem tertanam,
sedangkan flash NAND memiliki karakteristik perantara antara DRAM dan hard disk.
Seiring waktu, masing-masing teknologi ini mengalami peningkatan dalam penskalaan:
kepadatan bit yang lebih tinggi, kecepatan yang lebih tinggi, konsumsi daya yang lebih rendah, dan
biaya yang lebih rendah. Namun, untuk memori semikonduktor, semakin sulit untuk melanjutkan laju
peningkatan [ITRS14].
Baru-baru ini, terdapat terobosan dalam pengembangan bentuk baru memori
semikonduktor nonvolatil yang terus berkembang melampaui memori flash.
Teknologi yang paling menjanjikan adalah RAM torsi transfer putaran (STT-RAM),
RAM perubahan fase (PCRAM), dan RAM resistif (ReRAM) ([ITRS14], [GOER12]). Semua
ini dalam produksi volume. Namun, karena NAND Flash dan NOR Flash masih
mendominasi aplikasi, memori yang muncul ini telah digunakan dalam aplikasi
khusus dan belum memenuhi janji awalnya untuk mendominasi memori nonvolatile
kepadatan tinggi arus utama. Hal ini kemungkinan akan berubah dalam beberapa
tahun mendatang.
Gambar 5.18 menunjukkan bagaimana ketiga teknologi ini cenderung masuk ke dalam hierarki
memori.
5.5 / TEKNOLOGI Memori Solid-State nonvolaTile yang lebih baru189
STT-RAM
STT-RAM adalah tipe baruRAM magnetik (MRAM), yang memiliki fitur non-volatilitas, kecepatan
menulis/membaca yang cepat (610 ns), dan ketahanan pemrograman yang tinggi (71015siklus)
dan daya siaga nol [KULT13]. Kemampuan penyimpanan atau kemampuan program MRAM
muncul dari sambungan terowongan magnetis (MTJ), di mana dielektrik terowongan tipis diapit
di antara dua lapisan feromagnetik. Satu lapisan feromagnetik (lapisan yang disematkan atau
lapisan referensi) dirancang agar magnetisasinya disematkan, sedangkan magnetisasi lapisan
lainnya (lapisan bebas) dapat dibalik oleh peristiwa tulis. Suatu MTJ mempunyai resistansi yang
rendah (tinggi) jika magnetisasi lapisan bebas dan lapisan yang disematkan sejajar (anti-paralel).
Dalam desain MRAM generasi pertama, magnetisasi lapisan bebas diubah oleh medan magnet
yang diinduksi arus. Di STT-RAM, mekanisme penulisan baru disebutperalihan magnetisasi yang
diinduksi arus polarisasi, diperkenalkan. Untuk STT-RAM, magnetisasi lapisan bebas dibalik oleh
arus listrik secara langsung. Karena arus yang diperlukan untuk mengganti status resistensi MTJ
sebanding dengan luas sel MTJ, STT-RAM diyakini memiliki properti penskalaan yang lebih baik
daripada MRAM generasi pertama. Gambar 5.19a mengilustrasikan konfigurasi umum.
STT-RAM adalah kandidat yang baik untuk cache atau memori utama.
PCRAM
RAM perubahan fase (komputer)adalah teknologi paling matang atau baru,
dengan literatur teknis yang luas ([RAOU09], [ZHOU09], [LEE10]).
Teknologi PCRAM didasarkan pada bahan paduan kalkogenida, serupa dengan yang
biasa digunakan pada media penyimpanan optik (compact disc dan digital serbaguna
disc). Kemampuan penyimpanan data dicapai dari perbedaan resistansi antara fase amorf
(resistansi tinggi) dan fase kristal (resistansi rendah) dari bahan berbasis kalkogenida.
Dalam operasi SET, bahan perubahan fasa dikristalkan dengan menerapkan pulsa listrik
yang memanaskan sebagian besar sel di atas suhu kristalisasinya. Dalam operasi RESET,
arus listrik yang lebih besar dialirkan dan kemudian diputus secara tiba-tiba untuk
melelehkan dan kemudian memadamkan material, meninggalkannya dalam keadaan
amorf. Gambar 5.19b mengilustrasikan konfigurasi umum.
PCRAM adalah kandidat yang baik untuk menggantikan atau melengkapi DRAM untuk memori
utama.
ReRAM
ReRAM (juga dikenal sebagai RRAM) bekerja dengan menciptakan resistensi daripada
menyimpan muatan secara langsung. Arus listrik dialirkan ke suatu bahan, sehingga mengubah
hambatan bahan tersebut. Keadaan resistansi kemudian dapat diukur dan hasilnya adalah 1
atau 0. Sebagian besar pekerjaan yang dilakukan pada ReRAM hingga saat ini berfokus pada
pencarian bahan yang tepat dan mengukur keadaan resistensi sel. Desain ReRAM bertegangan
rendah, daya tahannya jauh lebih unggul dibandingkan memori flash, dan selnya jauh lebih
kecil—setidaknya secara teori. Gambar 5.19c menunjukkan satu konfigurasi ReRam.
ReRAM adalah kandidat yang baik untuk menggantikan atau melengkapi penyimpanan sekunder dan
memori utama.
190Bab 5 / Memori Internal
(a) STT-RAM
Pemanas Pemanas
Isolator Isolator
(b) PCRAM
(c) ReRAM
Istilah-Istilah Utama
kelompok bank dapat dihapus secara elektrik koreksi kesalahan kode koreksi
DRAM kecepatan data ganda ROM yang dapat diprogram kesalahan (ECC).
(DRAM DDR) (EEPROM) memori kilat
RAM dinamis dapat dihapus, dapat diprogram Kode Hamming
(DRAM) ROM (EPROM) kegagalan yang sulit
5.6 / ISTILAH-ISTILAH KUNCI, TINJAUAN PERTANYAAN, dan MASALAH191
RAM magnetik (MRAM) memori yang sebagian besar dibaca kesalahan lunak
Tinjau Pertanyaan
5.1Apa sifat utama dari memori semikonduktor?
5.2Apa dua interpretasi dari istilah tersebutmemori akses acak?
5.3Apa perbedaan DRAM dan SRAM dari segi penerapannya?
5.4Apa perbedaan antara DRAM dan SRAM dalam hal karakteristik seperti kecepatan,
ukuran, dan biaya?
5.5Jelaskan mengapa satu jenis RAM dianggap analog dan yang lainnya digital.
5.6Apa sajakah aplikasi untuk ROM?
5.7Apa perbedaan antara EPROM, EEPROM, dan memori flash?
5.8Jelaskan fungsi masing-masing pin pada Gambar 5.4b.
5.9Apa itu bit paritas?
5.10Bagaimana sindrom kode Hamming diinterpretasikan?
5.11Apa bedanya SDRAM dengan DRAM biasa?
5.12Apa itu DDRRAM?
5.13Apa perbedaan antara memori flash NAND dan NOR?
5.14Sebutkan dan definisikan secara singkat tiga teknologi memori solid-state nonvolatil yang lebih baru.
Masalah
5.1Berikan alasan mengapa RAM secara tradisional disusun hanya dalam satu bit per chip
sedangkan ROM biasanya disusun dalam beberapa bit per chip.
5.2Misalkan RAM dinamis yang harus diberikan siklus refresh 64 kali per ms. Setiap operasi penyegaran
membutuhkan 150 ns; siklus memori memerlukan 250 ns. Berapa persentase total waktu
pengoperasian memori yang harus diberikan untuk penyegaran?
5.3Gambar 5.20 menunjukkan diagram waktu yang disederhanakan untuk operasi pembacaan
DRAM melalui bus. Waktu akses dianggap berlangsung dariT1keT2. Lalu ada waktu isi ulang,
berlangsung dariT2keT3, di mana chip DRAM harus diisi ulang sebelum prosesor dapat
mengaksesnya kembali.
A.Asumsikan waktu akses adalah 60 ns dan waktu pengisian ulang adalah 40 ns. Berapa waktu siklus
memori? Berapa kecepatan data maksimum yang dapat dipertahankan oleh DRAM ini, dengan
asumsi output 1-bit?
B.Membangun sistem memori lebar 32-bit menggunakan chip ini menghasilkan kecepatan transfer
data berapa?
5.4Gambar 5.6 menunjukkan bagaimana membangun sebuah modul chip yang dapat menyimpan 1 MB
berdasarkan kelompok empat chip 256-Kbyte. Katakanlah modul chip ini dikemas sebagai chip tunggal
berukuran 1 MB, dengan ukuran word adalah 1 byte. Berikan diagram chip tingkat tinggi tentang cara
membuat memori komputer 8 MB menggunakan delapan chip 1 MB. Pastikan untuk menunjukkan baris
alamat dalam diagram Anda dan untuk apa baris alamat tersebut digunakan.
192Bab 5 / Memori Internal
Alamat
Alamat baris Alamat kolom
garis
RAS
KAS
R/W
Data
Data keluar valid
garis
T1 T2 T3
Gambar 5.20 Waktu Baca DRAM yang Disederhanakan
5.5Pada tipikal Intel 8086-bas sistem ed, terhubung melalui bus sistem ke memori DRAM, untuk
operasi baca, RAS diaktifkan oleh tepi belakang dari Address Enable tanda tangan l (Gambar
C.1 pada Lampiran C). Namun, karena propagasi dan penundaan lainnya, RAS tidak aktif
hingga 50 ns setelah Address Enable kembali ke level rendah. Asumsikan yang terakhir terjadi
di pertengahan paruh kedua keadaan T1(agak lebih awal dari pada Gambar C.1). Data dibaca
oleh prosesor di akhir T3. Namun, agar presentasi tepat waktu ke prosesor, data harus
disediakan 60 ns lebih awal oleh memori. Interval ini menjelaskan penundaan propagasi
sepanjang jalur data (dari memori ke prosesor) dan persyaratan waktu penyimpanan data
prosesor. Asumsikan tingkat clocking 10 MHz.
A.Seberapa cepat (waktu akses) DRAM jika tidak ada status tunggu yang dimasukkan?
B.Berapa banyak status tunggu yang harus kita masukkan per operasi pembacaan memori
jika waktu akses DRAM adalah 150 ns?
5.6Memori komputer mikro tertentu dibangun dari 64K * 1 DRAM. Menurut lembar
data, array sel DRAM disusun menjadi 256 baris. Setiap baris harus disegarkan
setidaknya sekali setiap 4 ms. Misalkan kita menyegarkan ingatan secara berkala.
A3 1 16 Vcc Pengoperasian
masukan Keluaran
Mode CS R/WDN HAIN
CS 2 15 A2
R/W 3 Signetik 14 A1 L L L L
Menulis
7489 A0 L L H H
D3 4 13
O3 5 12 D0 Membaca L H X Data
D2 6 16×4 11 O0 Menghalangi H L L H
SRAM menulis
O2 7 10 D1 H L H L
A0
A1
A2
A3
CS
N M aku k J Saya H G F e D C B A
R/W
D3
D2
D1
D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1
5.10Untuk kode Hamming yang ditunjukkan pada Gambar 5.10, tunjukkan apa yang terjadi jika bit pemeriksaan dan
bukan bit data mengalami kesalahan?
5.11Misalkan data word 8-bit yang tersimpan di memori adalah 11000010. Dengan menggunakan algoritma
Hamming, tentukan bit check apa yang akan disimpan di memori dengan data word tersebut.
Tunjukkan bagaimana Anda mendapatkan jawaban Anda.
5.12Untuk kata 8-bit 00111001, bit pengecekan yang disimpan dengannya adalah 0111. Misalkan
ketika kata tersebut dibaca dari memori, bit pengecekan dihitung menjadi 1101. Berapakah
kata data yang dibaca dari memori?
5.13Berapa banyak bit pemeriksaan yang diperlukan jika kode koreksi kesalahan Hamming digunakan untuk
mendeteksi kesalahan bit tunggal dalam kata data 1024-bit?
5.14Kembangkan kode SEC untuk kata data 16-bit. Hasilkan kode untuk kata data 0101000000111001.
Tunjukkan bahwa kode tersebut akan mengidentifikasi kesalahan pada bit data 5 dengan benar.