Bộ nhớ truy cập ngẫu nhiên động (DRAM hay RAM động) là một loại bộ nhớ truy cập ngẫu nhiên lưu mỗi bit dữ liệu trong một tụ điện riêng biệt trên một mạch tích hợp. Vì các tụ điện bị rò điện tích nên thông tin sẽ bị mất dần trừ khi dữ liệu được nạp lại đều đặn. Đây là điểm khác biệt so với RAM tĩnh. Ưu điểm của DRAM là có cấu trúc đơn giản: chỉ cần một transistor và một tụ điện cho mỗi bit trong khi cần sáu transistor đối với SRAM. Điều này cho phép DRAM lưu trữ với mật độ cao. Vì DRAM mất dữ liệu khi không có điện nên nó thuộc loại thiết bị nhớ tạm thời.
DRAM được phát minh bởi tiến sĩ Robert Dennard tại Trung tâm nghiên cứu Thomas J. Watson IBM vào năm 1966 và được cấp bằng sáng chế năm 1968. Tụ điện đã được dùng trong những sơ đồ bộ nhớ đời đầu như: drum của Atanasoff-Berry Computer, ống Williams và ống Selectron.
Vào năm 1969, Honeywell yêu cầu Intel chế tạo cho họ bộ nhớ DRAM sử dụng một cell 3 transistor mà họ vừa phát triển. Nó đã trở thành Intel 1102 (1024x1) vào đầu những năm 1970. Tuy nhiên 1102 gặp nhiều lỗi, điều đó khiến Intel bắt đầu làm việc trên những mẫu thiết kế có cải tiến của riêng họ (việc này được tiến hành bí mật nhằm tránh động chạm tới Honeywell). Chính điều này đã dẫn tới sự ra đời của DRAM thương mại đầu tiên có cell 1 transistor - Intel 1103 (1024x1) vào tháng 10 năm 1970 (mặc dù có chút vấn đề vì số lượng tiêu thụ thấp, mãi đến bản sửa đổi thứ 5).
Bộ nhớ DRAM đầu tiên có nhiều địa chỉ hàng/cột là Mostek MK4096 (4096x1) năm 1973.
DRAM thường được sắp xếp trong một mảng hình chữ nhật của một phần dự trữ bao gồm một tụ điện và transistor cho mỗi bit dữ liệu. Hình bên phải là một ví dụ đơn giản với ma trận 4x4. Một số ma trận DRAM có tới hàng nghìn phần.
Các đường ngang nối dài với mỗi hàng được gọi là đường nối. Mỗi cột của các phần được tạo thành từ hai bit- dòng, mỗi dòng kết nối với tất cả các phần lưu trữ khác trong cột (hình minh họa bên phải không bao gồm chi tiết quan trọng này). Nó thường được gọi là " + " và - đường bit " ".
Để giữ dữ liệu, một hàng được mở và một bộ khuếch đại cảm nhận của cột cho sẵn thì tạm thời buộc phải tăng hoặc giảm điện áp, do đó gây ra dòng bit để tích điện hoặc không tích điện một tụ điện tế bào lưu trữ để ham muốn giá trị. Do thông tin phản hồi tích cực của bộ khuếch đại, nó sẽ giữ một dòng bit điện áp ổn định thậm chí sau khi buộc điện áp được gỡ bỏ. Trong khi ghi lên một tế bào cụ thể, tất cả cột trong một hàng sẽ cảm nhận cùng lúc giống như lúc đọc, mặc dù chỉ có điện tích một tụ điện tế bào lưu trữ của cột được thay đổi, nhưng tất cả cột sẽ được làm mới.
Thông thường, các nhà máy chỉ định mỗi hàng phải có tụ điện tế bào lưu trữ của nó được làm mới mỗi 64 ms hoặc ít hơn, như được định nghĩa bởi JEDEC. Làm mới được cung cấp trong mỗi DRAM điều khiển tự động làm mới định kỳ, mà không có phần mềm hoặc phần cứng có thể thực hiện. Điều này làm cho mạch điều khiển thêm phức tạp, nhưng nhược điểm là nó nặng bởi thực tế là DRAM rẻ hơn nhiều so với tế bào lưu trữ and mỗi tế bào lưu trữ thì đơn giản, DRAM có nhiều dung lượng trên mỗi đơn vị bề mặt hơn SRAM.
Điện và từ tính là nguyên nhân gây ảnh hưởng bên trong hệ thống máy tính có thể dẫn đến một vài đơn vị dữ liệu của DRAM phát sinh chuyển đổi thành trạng thái ngược lại.Phần lớn các lỗi nhỏ trong các vi xử lý DRAM xảy ra như một hậu quả của bức xạ nền, chủ yếu là các neutron từ các tia vũ trụ, nó có thể thay đổi thành phần của một hay nhiều tế bào lưu trữ hoặc gây cản trở các cho các mạch điện thường dùng để ghi hay truy xuất dữ liệu.Những nghiên cứu gần đây cho thấy sự thay đổi lớn về tỉ lệ lỗi về rối loạn dữ kiện với hơn 7 cấp độ khác nhau,phạm vi từ 1 bit lỗi/giờ/gigabyte đến 1 bit lỗi/thế kỷ/gigabyte.
Vấn đề có thể được giảm thiểu bằng cách sử dụng bộ nhớ dư và tăng thêm hệ thống mạch điện,dùng cách này có thể tìm và sửa được những lỗi hiện có.Trong hầu hết các trường hợp,sự phát hiện và sửa lỗi hợp lý được minh chứng bằng bộ kiểm soát bộ nhớ, nó có thể tách hoặc nhóm các mạch vào một CPU;đôi khi,những yêu cầu hợp lý được thực thi một cách rõ ràng trong các vi xử lý và mô-đun của DRAM, cho phép thực hiện chức năng của bộ nhớ EEC thay cho các hệ thống EEC không đủ khả năng khác. Phần dữ liệu thêm được sử dụng để ghi lại tương ứng và cho phép các dữ liệu mất đi được xây dựng lại bằng mã sửa lỗi (EEC).Sự tương ứng này cho phép phát hiện tất cả các lỗi đơn dữ liệu. Những mã sửa lỗi thông dụng nhất,1 mã SECDEC Hamming,cho phép một lỗi đơn dữ liệu được sửa chữa,và trong một cấu hình thông thường,với một 1 bit dữ liệu thêm vào,lỗi đôi dữ liệu được tìm ra.
Một bộ điều khiển bộ nhớ ECC khả dụng được dùng trong nhiều máy tính cá nhân hiện nay có thể phát hiện và sửa một lỗi đơn dữ liệu mỗi 64-bit,và phát hiện(nhưng không sửa)lỗi 2 bits mỗi 64-bit. Một vài hệ thống cũng "lọc" những lỗi này,bằng cách sửa phiên bản hiện tại trở lại bộ nhớ. Phần nhận biết ECC của một vài máy tính và ECC nhận biết của hệ thống,như Linux,cho phép đếm số lần phát hiện và sửa lỗi bộ nhớ,giúp hệ thống có thể nhận dạng và thay thế mô-đun bộ nhớ bị hỏng.
Vì lý do tài chính, phần lớn bộ nhớ trong máy tính hay các thiết bị chơi game không cầm tay như PlayStation, Xbox thường đều nằm trong RAM động (DRAM). Trong khi đó thì những phần khác của máy tính thì bộ nhớ đều hầu hết chứa trong SRAM
Hầu hết hình dạng của DRAM là hộp nhựa chữ nhật màu đen bằng epoxy
DRAM được sản xuất dưới dạng một mạch điện tích hợp gắn với vành bên ngoài bằng nhựa có chân kim loại để kết nối và kiểm soát các loại tín hiệu. Khi mới sử dụng, DRAM dạng mạch tích hợp thường được cài đặt thẳng vào mạch chủ hay mạch mở rộng ISA nhưng về sau nó được thiết kết thành các chip đa công dụng (DIMMs, SIMMs,....). Một vài mẫu chính như
Dạng hai đường kẻ song song (DIP)
Các mẫu SO-DIMM DRAM:
Bộ nhớ của DRAM luôn ở dưới dạng lũy thừa của hai. Chẳng hạn SDRAM DIMM chứa 512 MiB (mebibytes) =512 × 220 bytes = 229 bytes = 536,870,912 bytes. Hay 2 GB SDRAM module chứa 2 GiB (gibibytes) = 2 × 230 bytes = 231 bytes = 2,147,483,648 bytes.
Mặc dù RAM động thường được sử dụng khi cung cấp nặng lượng và hay thay đổi sau một khoảng thời gian ngắn (thường là 64ms) nhưng các tụ điện trong RAM động thường có xu hướng nhớ dữ liệu trong một khoảng thời gian lâu hơn và với một nhiệt độ thấp. Dưới một số điều kiện phần lớn dữ liệu trong DRAM có thể được khôi phục cho dù nó được không được làm mới trong một vài phút.
Chức năng này có thể đánh lừa các hệ thống bảo mật và khôi phục dữ liệu chứa trong bộ nhớ mặc dù cho rằng dữ liệu đó đã bị xóa (như do vấn đề cúp điện nếu chúng ta khởi động lại máy làm nguội con chip đồng thời chuyển đến một máy tính khác). Một cuộc tấn công như thế có thể đánh lừa việc mã hóa của hệ thống trong máy. Chẳng hạn như các nguồn mở TrueCrypt, Microsoft's BitLocker Drive Encryption và Apple's FileVault. Những cuộc tấn công như vậy được gọi là "khởi động và làm nguội ".
Loại | Mất dữ liệu khi mất điện |
Khả năng ghi | Cỡ xoá | Xoá nhiều lần |
Tốc độ | Giá thành (theo byte) |
---|---|---|---|---|---|---|
SRAM | Có | Có | Byte | Không giới hạn | Nhanh | Đắt |
DRAM | Có | Có | Byte | Không giới hạn | Vừa phải | Vừa phải |
Masked ROM | Không | Không | Không sẵn sàng | Không sẵn sàng | Nhanh | Không đắt |
PROM | Không | Một lần, yêu cầu thiết bị chuyên dụng |
Không sẵn sàng | Không sẵn sàng | Nhanh | Vừa phải |
EPROM | Không | Có, nhưng cần thiết bị chuyên dụng |
Toàn bộ | Giới hạn | Nhanh | Vừa phải |
EEPROM | Không | Có | Byte | Giới hạn | Nhanh cho đọc, chậm cho xoá và ghi |
Đắt |
Flash | Không | Có | Sector | Giới hạn | Nhanh cho đọc, chậm cho xoá/ghi |
Vừa phải |
NVRAM | Không | Có | Byte | Không giới hạn | Nhanh | Đắt |