Dynamic random-access memory menyimpan data dalam cell yang state listriknya tidak stabil selamanya. Muatan bocor dari cell seiring waktu, bahkan ketika software tidak melakukan read atau write. Karena itu memory system harus me-refresh DRAM secara berkala untuk mempertahankan bit yang tersimpan.

Refresh adalah maintenance operation, bukan request dari aplikasi. Memory controller dan device DRAM mengoordinasikannya bersama read dan write biasa. Selama sebagian pekerjaan tersebut berlangsung, beberapa memory resource tidak dapat melayani request normal.

Trade-off dasar ini membentuk karakter DRAM: working memory yang padat dan cepat, dibangun dari cell yang membutuhkan maintenance terus-menerus selama mendapat daya.

Cell DRAM tidak dapat mempertahankan muatan selamanya

Cell DRAM yang umum menggunakan capacitor untuk merepresentasikan stored state dan transistor untuk mengontrol access ke capacitor tersebut. Implementasi fisik persisnya berbeda antar-generasi dan vendor, tetapi keterbatasan utamanya sama: muatan listrik yang tersimpan perlahan bocor.

Jika cukup banyak muatan hilang sebelum cell dipulihkan, sensing circuitry mungkin tidak lagi dapat membaca nilai yang dimaksud secara andal. Sistem mencegah hal itu dengan mengunjungi kembali row dan memulihkan isi cell dalam batas retention yang ditentukan.

Kebutuhan ini terpisah dari aktivitas program biasa. Sebuah byte yang dibiarkan aplikasi tidak tersentuh selama beberapa detik tetap membutuhkan physical DRAM cell-nya dipelihara selama interval tersebut.

Memberi daya ke mesin saja karena itu tidak cukup. DRAM membutuhkan daya listrik sekaligus refresh activity yang berulang untuk mempertahankan data.

Refresh bekerja pada kelompok cell

DRAM diorganisasikan secara hierarkis menjadi struktur seperti channel, rank, bank, row, dan column. Refresh command bekerja pada kelompok internal, bukan meminta software menulis ulang setiap byte satu per satu.

Device DRAM mengikuti maintenance sequence yang diperlukan sesuai interface rule-nya. Controller mengeluarkan refresh-related command pada interval yang sesuai, dan device menjalankan internal operation untuk memulihkan muatan pada cell yang ditargetkan.

Organisasi ini membuat refresh praktis untuk miliaran cell. Namun, artinya maintenance dapat sementara memakai resource yang juga dibutuhkan demand traffic.

Processor load yang mencapai DRAM pada saat kurang tepat mungkin harus menunggu sampai refresh activity pada resource terkait memungkinkan access kembali. Delay ini biasanya kecil, tetapi nyata dan menjadi bagian dari memory latency.

Refresh memakai waktu pada memory subsystem

Memory bandwidth sering dijelaskan lewat transfer rate dan bus width, tetapi data bus bukan satu-satunya resource penting. Bank dan struktur internal DRAM juga memiliki timing constraint.

Refresh operation memesan sebagian struktur tersebut untuk maintenance. Selama periode itu, request yang membutuhkan resource yang sedang tidak tersedia tidak dapat langsung berjalan. Controller menjadwalkan traffic di sekitar constraint ini, sering menyembunyikan sebagian biaya dengan melayani request lain ketika organisasi memory memungkinkan.

Dampak praktisnya bergantung pada workload, generasi DRAM, device density, controller policy, dan access pattern. Sistem yang ringan mungkin hampir tidak memperlihatkan refresh delay ke software. Memory subsystem yang sangat sibuk memiliki lebih sedikit idle gap tempat maintenance dapat dilakukan tanpa bersaing dengan useful work.

Device berkapasitas lebih tinggi juga dapat membuat perilaku refresh lebih signifikan karena lebih banyak stored state harus dipelihara.

Suhu memengaruhi retention

Charge leakage sensitif terhadap kondisi fisik, termasuk temperatur. DRAM yang lebih panas dapat membutuhkan maintenance lebih agresif karena muatan cell bisa meluruh lebih cepat.

Memory standard dan device menyediakan mekanisme untuk beroperasi pada rentang temperatur tertentu. Sistem dapat menyesuaikan perilaku refresh ketika temperatur melewati threshold yang ditentukan. Server, embedded system, dan perangkat lain yang dirancang untuk operasi berkelanjutan memperhitungkan kondisi termal ini sebagai bagian dari memory reliability.

Hubungan ini juga menunjukkan bahwa refresh bukan sekadar fixed software timer. Ia terikat pada perilaku semiconductor dan specification device.

Cooling tidak menghilangkan refresh. Cooling dapat memengaruhi retention characteristic, tetapi DRAM standar tetap bergantung pada recurring maintenance selama operasi normal dengan daya aktif.

Refresh tetap mengonsumsi energi ketika aplikasi idle

Komputer idle dapat mengurangi aktivitas pada processor, display, storage, dan peripheral, tetapi DRAM yang terpasang tetap memiliki retention work selama isinya perlu dipertahankan.

Refresh mengaktifkan internal memory circuitry dan mengonsumsi energi. Mobile system memperhatikan biaya ini karena background memory power ikut menguras baterai saat aktivitas rendah. Server juga memperhatikannya karena populasi memory besar mengalikan biaya daya kecil per-device ke banyak module.

Low-power memory technology menyediakan mode yang dirancang untuk mengurangi retention energy ketika full normal operation tidak diperlukan. Mode seperti ini mengubah keseimbangan antara accessibility, wake latency, dan daya, tetapi data DRAM yang dipertahankan tetap membutuhkan maintenance yang sesuai.

Inilah salah satu alasan kapasitas memory dapat memengaruhi platform idle power walaupun aplikasi hampir tidak melakukan pekerjaan.

Read juga mengganggu state listrik yang tersimpan

Membaca DRAM tidak sama dengan memeriksa permanent switch. Mengakses row melibatkan sensing terhadap perbedaan listrik sangat kecil dari cell. Proses sensing pada dasarnya bersifat destructive terhadap tiny charge state asli, sehingga memory circuitry memulihkan nilai yang terdeteksi sebagai bagian dari normal row access.

Refresh menggunakan restoration behavior terkait tanpa menunggu software meminta data.

Perbedaan ini penting ketika membandingkan DRAM dengan static random-access memory. SRAM menggunakan cell structure berbeda yang dapat mempertahankan logical state selama mendapat daya tanpa periodic refresh. Namun, cell SRAM memerlukan lebih banyak transistor sehingga memakai jauh lebih banyak silicon area per bit yang disimpan.

Perbedaan density ini menjadi alasan utama main memory berkapasitas besar menggunakan DRAM, sedangkan processor cache yang lebih kecil umumnya menggunakan SRAM.

Refresh tidak membuat DRAM menjadi persistent storage

Periodic restoration mempertahankan bit hanya selama memory system tetap mendapat daya dan beroperasi dalam kondisi yang diwajibkan. Hilangkan daya dari DRAM konvensional dan muatan yang tersimpan akan meluruh tanpa circuitry yang dibutuhkan untuk mempertahankannya.

Karena itu refresh menyediakan retention selama powered operation, bukan persistence setelah shutdown.

Storage device seperti SSD menggunakan mekanisme fisik berbeda untuk mempertahankan data tanpa continuous DRAM-style refresh. Latency, endurance, controller behavior, dan write characteristic-nya juga berbeda, sehingga fungsinya dalam komputer pun berbeda.

Sistem dapat menempatkan data yang sering digunakan di DRAM untuk access cepat dan menyimpan durable data pada persistent storage. Refresh adalah bagian dari biaya untuk mendapatkan kombinasi speed, density, dan byte-addressable working capacity milik DRAM.

Biaya maintenance sudah menjadi bagian dari memory timing

Specification DRAM menetapkan timing rule yang harus dipatuhi controller di sekitar refresh dan ordinary access. Firmware, operating system, dan aplikasi umumnya tidak mengeluarkan rewrite operation untuk setiap row yang dipertahankan. Memory controller menangani command scheduling di bawah level tersebut.

Software tetap dapat mengamati konsekuensinya secara tidak langsung. Memory benchmark mengukur latency dan bandwidth yang sudah mencakup controller scheduling dan device timing. Workload nyata dapat mengalami delay tambahan sesekali ketika request bertabrakan dengan maintenance.

Refresh karena itu sekaligus merupakan reliability requirement dan performance constraint. Ia mempertahankan volatile data dengan berulang kali memulihkan electrical state, sambil memakai sebagian waktu dan energi yang tersedia bagi memory subsystem.