RAM (Random Access Memory)

RAM (viết tắt từ Random Access Memory trong tiếng Anh) là một loại bộ nhớ chính của máy tính. RAM được gọi là bộ nhớ truy cập ngẫu nhiên vì nó có đặc tính: thời gian thực hiện thao tác đọc hoặc ghi đối với mỗi ô nhớ là như nhau, cho dù đang ở bất kỳ vị trí nào trong bộ nhớ. Mỗi ô nhớ của RAM đều có một địa chỉ. Thông thường, mỗi ô nhớ là một byte (8 bit); tuy nhiên hệ thống lại có thể đọc ra hay ghi vào nhiều byte (2, 4, 8 byte).

RAM khác biệt với các thiết bị bộ nhớ tuần tự (sequential memory device) chẳng hạn như các băng từ, đĩa; mà các loại thiết bị này bắt buộc máy tính phải di chuyển cơ học một cách tuần tự để truy cập dữ liệu.
Bởi vì các chip RAM có thể đọc hay ghi dữ liệu nên thuật ngữ RAM cũng được hiểu như là một bộ nhớ đọc-ghi (read/write memory), trái ngược với bộ nhớ chỉ đọc ROM (read-only memory).
RAM thông thường được sử dụng cho bộ nhớ chính (main memory) trong máy tính để lưu trữ các thông tin thay đổi, và các thông tin được sử dụng hiện hành. Cũng có những thiết bị sử dụng một vài loại RAM như là một thiết bị lưu trữ thứ cấp (secondary storage).
Thông tin lưu trên RAM chỉ là tạm thời, chúng sẽ mất đi khi mất nguồn điện cung cấp.

Đặc trưng

Bộ nhớ RAM có 4 đặc trưng sau:
  • Dung lượng bộ nhớ: Tổng số byte của bộ nhớ ( nếu tính theo byte ) hoặc là tổng số bit trong bộ nhớ nếu tính theo bit.
  • Tổ chức bộ nhớ: Số ô nhớ và số bit cho mỗi ô nhớ
  • Thời gian thâm nhập: Thời gian từ lúc đưa ra địa chỉ của ô nhớ đến lúc đọc được nội dung của ô nhớ đó.
  • Chu kỳ bộ nhớ: Thời gian giữa hai lần liên tiếp thâm nhập bộ nhớ.

Mục đích

Máy vi tính sử dụng RAM để lưu trữ mã chương trình và dữ liệu trong suốt quá trình thực thi. Đặc trưng tiêu biểu của RAM là có thể truy cập vào những vị trí khác nhau trong bộ nhớ và hoàn tất trong khoảng thời gian tương tự, ngược lại với một số kỹ thuật khác, đòi hỏi phải có một khoảng thời gian trì hoãn nhất định.

Phân loại RAM

Tùy theo công nghệ chế tạo, người ta phân biệt thành 2 loại:
  • SRAM (Static RAM): RAM tĩnh
  • DRAM (Dynamic RAM): RAM động

RAM tĩnh


6 transistor trong một ô nhớ của RAM tĩnh
RAM tĩnh được chế tạo theo công nghệ ECL (dùng trong CMOS và BiCMOS). Mỗi bit nhớ gồm có các cổng logic với 6 transistor MOS. SRAM là bộ nhớ nhanh, việc đọc không làm hủy nội dung của ô nhớ và thời gian thâm nhập bằng chu kỳ của bộ nhớ.nhưng sram là một nơi lưu

RAM động


1 transistor và 1 tụ điện trong một ô nhớ của RAM động
RAM động dùng kỹ thuật MOS. Mỗi bit nhớ gồm một transistor và một tụ điện. Việc ghi nhớ dữ liệu dựa vào việc duy trì điện tích nạp vào tụ điện và như vậy việc đọc một bit nhớ làm nội dung bit này bị hủy. Do vậy sau mỗi lần đọc một ô nhớ, bộ phận điều khiển bộ nhớ phải viết lại nội dung ô nhớ đó. Chu kỳ bộ nhớ cũng theo đó mà ít nhất là gấp đôi thời gian thâm nhập ô nhớ.
Việc lưu giữ thông tin trong bit nhớ chỉ là tạm thời vì tụ điện sẽ phóng hết điện tích đã nạp và như vậy phải làm tươi bộ nhớ sau khoảng thời gian 2μs. Việc làm tươi được thực hiện với tất cả các ô nhớ trong bộ nhớ. Công việc này được thực hiện tự động bởi một vi mạch bộ nhớ.
Bộ nhớ DRAM chậm nhưng rẻ tiền hơn SRAM.

Các loại DRAM

Card RAM 4 MB của máy tính VAX 8600 sản xuất năm 1986. Các chip RAM nằm vào những vùng chữ nhật ở bên trái và bên phải
  1. SDRAM (Viết tắt từ Synchronous Dynamic RAM) được gọi là DRAM đồng bộ. SDRAM gồm 3 phân loại: SDR, DDR, DDR2 va DDR3.
  2. * SDR SDRAM (Single Data Rate SDRAM), thường được giới chuyên môn gọi tắt là "SDR". Có 168 chân. Được dùng trong các máy vi tính cũ, bus speed chạy cùng vận tốc với clock speed của memory chip, nay đã lỗi thời.
  3. * DDR SDRAM (Double Data Rate SDRAM), thường được giới chuyên môn gọi tắt là "DDR". Có 184 chân. DDR SDRAM là cải tiến của bộ nhớ SDR với tốc độ truyền tải gấp đôi SDR nhờ vào việc truyền tải hai lần trong một chu kỳ bộ nhớ. Đã được thay thế bởi DDR2.
  4. * DDR2 SDRAM (Double Data Rate 2 SDRAM), Thường được giới chuyên môn gọi tắt là "DDR2". Là thế hệ thứ hai của DDR với 240 chân, lợi thế lớn nhất của nó so với DDR là có bus speed cao gấp đôi clock speed.
  5. RDRAM (Viết tắt từ Rambus Dynamic RAM), thường được giới chuyên môn gọi tắt là "Rambus". Đây là một loại DRAM được thiết kế kỹ thuật hoàn toàn mới so với kỹ thuật SDRAM. RDRAM hoạt động đồng bộ theo một hệ thống lặp và truyền dữ liệu theo một hướng. Một kênh bộ nhớ RDRAM có thể hỗ trợ đến 32 chip DRAM. Mỗi chip được ghép nối tuần tự trên một module gọi là RIMM (Rambus Inline Memory Module) nhưng việc truyền dữ liệu được thực hiện giữa các mạch điều khiển và từng chip riêng biệt chứ không truyền giữa các chip với nhau. Bus bộ nhớ RDRAM là đường dẫn liên tục đi qua các chip và module trên bus, mỗi module có các chân vào và ra trên các đầu đối diện. Do đó, nếu các khe cắm không chứa RIMM sẽ phải gắn một module liên tục để đảm bảo đường truyền được nối liền. Tốc độ Rambus đạt từ 400-800MHz. Rambus tuy không nhanh hơn SDRAM là bao nhưng lại đắt hơn rất nhiều nên có rất ít người dùng. RDRAM phải cắm thành cặp và ở những khe trống phải cắm những thanh RAM giả (còn gọi là C-RIMM) cho đủ.
  6. * DDR III SDRAM (Double Data Rate III Synchronous Dynamic RAM): có tốc độ bus 800/1066/1333/1600 Mhz, số bit dữ liệu là 64, điện thế là 1.5v, tổng số pin là 240.

Các thông số của RAM

Được phân loại theo chuẩn của JEDEC.

Dung lượng

Dung lượng RAM được tính bằng MB và GB, thông thường RAM được thiết kế với các dung lượng 8, 16, 32, 64, 128, 256, 512 MB, 1 GB, 2 GB... Dung lượng của RAM càng lớn càng tốt cho hệ thống, tuy nhiên không phải tất cả các hệ thống phần cứng và hệ điều hành đều hỗ trợ các loại RAM có dung lượng lớn, một số hệ thống phần cứng của máy tính cá nhân chỉ hỗ trợ đến tối đa 4 GB và một số hệ điều hành (như phiên bản 32 bit của Windows XP) chỉ hỗ trợ đến 3,2 GB.

BUS

  • SDR SDRAM được phân loại theo bus speed như sau:
    • PC-66: 66 MHz bus.
    • PC-100: 100 MHz bus.
    • PC-133: 133 MHz bus.
  • DDR SDRAM được phân loại theo bus speed và bandwidth như sau:
    • DDR-200: Còn được gọi là PC-1600. 100 MHz bus với 1600 MB/s bandwidth.
    • DDR-266: Còn được gọi là PC-2100. 133 MHz bus với 2100 MB/s bandwidth.
    • DDR-333: Còn được gọi là PC-2700. 166 MHz bus với 2667 MB/s bandwidth.
    • DDR-400: Còn được gọi là PC-3200. 200 MHz bus với 3200 MB/s bandwidth.
  • DDR2 SDRAM được phân loại theo bus speed và bandwidth như sau:
    • DDR2-400: Còn được gọi là PC2-3200. 100 MHz clock, 200 MHz bus với 3200 MB/s bandwidth.
    • DDR2-533: Còn được gọi là PC2-4200. 133 MHz clock, 266 MHz bus với 4267 MB/s bandwidth.
    • DDR2-667: Còn được gọi là PC2-5300. 166 MHz clock, 333 MHz bus với 5333 MB/s bandwidth.
    • DDR2-800: Còn được gọi là PC2-6400. 200 MHz clock, 400 MHz bus với 6400 MB/s bandwidth.

    Các bộ nhớ dựa trên công nghệ DDR (Double Data Rate) như DDR-SDRAM, DDR2-SDRAM và DDR3-SDRAM đều truyền tải hai dữ liệu trên một chu kỳ. Do đó chúng có tốc độ truyền tải gấp đôi so với các bộ nhớ truyền thống SDRAM ở cùng một tốc độ clock. Thế nên các bộ nhớ DDR thường được gán nhãn gấp đôi tốc độ clock thực của chúng. Ví dụ cụ thể trường hợp của bạn Ram DDR3-1333 thực sự làm việc ở tốc độ clock 667 MHz.

    Ngoài ra người ta tính tốc độ truyền tải theo lý thuyết lớn nhất (MTTR) theo công thức :
    BandWidth = Bus Speed * Bus Width/8 = Bus Speed * 64/8 = Bus Speed *8 (Sở dĩ chia 8 là do Bus width tính theo đơn vị Bit còn BandWidth lại tính theo đơn vị là MB/s 1byte = 8 bit)
    VD: Với 1 thanh DDR-SDRAM 1333 MHZ thì BandWidth = 1333 * 64/8 = 10664 MB/s vì thế mà người ta còn kí hiệu PC 10700 hoặc 10600

Các loại modul của RAM

Trước đây, các loại RAM được các hãng sản xuất thiết kế cắm các chip nhớ trên bo mạch chủ thông qua các đế cắm (có dạng DIP theo hình minh hoạ trên), điều này thường không thuận tiện cho sự nâng cấp hệ thống. Cùng với sự phát triển chung của công nghệ máy tính, các RAM được thiết kế thành các modul như SIMM, DIMM (như hình minh hoạ trên) để thuận tiện cho thiết kế và nâng cấp hệ thống máy tính.
  • SIMM (Single In-line Memory Module)
  • DIMM (Dual In-line Memory Module)
    • SO-DIMM: (Small Outline Dual In-line Memory Module): Thường sử dụng trong các máy tính xách tay.

Tính tương thích với bo mạch chủ

Không phải các RAM khác nhau đều sử dụng được trên tất cả các bo mạch chủ. Mỗi loại bo mạch chủ lại sử dụng với một loại RAM khác nhau tuỳ thuộc vào chipset của bo mạch chủ.Đó là các bo mạch chủ sử dụng CPU Intel bởi vì trong chipset đó có tích hợp điều khiển bộ nhớ(memory controller). Còn đối hệ thống sử dụng CPU AMD thì việc quản lý bộ nhớ Ram phụ thuộc vào chính CPU. Bởi trong CPU AMD tích hợp điều khiển bộ nhớ(trình điều khiển bộ nhớ)trong chính CPU. Đặc biệt sau này trình điều khiển bộ nhớ đã được tích hợp trong hệ thống core i của Intel.
Random access memory (RAM) is a form of computer data storage. Today, it takes the form of integrated circuits that allow stored data to be accessed in any order with a worst case performance of constant time. Strictly speaking, modern types of DRAM are not random access, as data is read in bursts, although the name DRAM / RAM has stuck. However, many types of SRAM, ROM, OTP, and NOR flash are still random access even in a strict sense. RAM is often associated with volatile types of memory (such as DRAM memory modules), where its stored information is lost if the power is removed. Many other types of non-volatile memory are RAM as well, including most types of ROM and a type of flash memory called NOR-Flash. The first RAM modules to come into the market were created in 1951 and were sold until the late 1960s and early 1970s.
Other memory devices (magnetic tapes, floppy discs, CDs and DVDs) can access the storage data only in a predetermined order, because of mechanical design limitations.

History


1 Megabit chip - one of the last models developed by VEB Carl Zeiss Jena in 1989
Early computers used relays, or delay lines for "main" memory functions. Ultrasonic delay lines could only reproduce data in the order it was written. Drum memory could be expanded at low cost but retrieval of non-sequential memory items required knowledge of the physical layout of the drum to optimize speed. Latches built out of vacuum tube triodes, and later, out of discrete transistors, were used for smaller and faster memories such as random-access register banks and registers. Such registers were relatively large, power-hungry and too costly to use for large amounts of data; generally only a few hundred or few thousand bits of such memory could be provided.
The first practical form of random-access memory was the Williams tube starting in 1947. It stored data as electrically-charged spots on the face of a cathode ray tube. Since the electron beam of the CRT could read and write the spots on the tube in any order, memory was random-access. The capacity of the Williams tube was a few hundred to around a thousand bits, but it was much smaller, faster, and more power-efficient than using individual vacuum tube latches.
Magnetic core memory, invented in 1947 and developed up until the mid 1970s, became a widespread form of random access memory. It relied on an array of magnetized rings; by changing the sense of magnetization, data could be stored, with each bit represented physically by one ring. Since every ring had a combination of address wires to select and read or write it, access to any memory location in any sequence was possible.
Magnetic core memory was the standard form of memory system until displaced by solid-state memory in integrated circuits, starting in the early 1970s. Robert H. Dennard invented Dynamic random access memory in 1968; this allowed replacement of a 4 or 6-transistor latch circuit by a single transistor for each memory bit, greatly increasing memory density at the cost of voltatility. Data was stored in the tiny capacitance of each transistor, and had to be periodically refreshed in a few milliseconds before the charge could leak away.
Prior to the development of integrated Read-only memory (ROM) circuits, permanent (or read-only) random-access memory was often constructed using diode matrices driven by address decoders, or specially wound core rope memory planes.

Types of RAM


Top L-R, DDR2 with heat-spreader, DDR2 without heat-spreader, Laptop DDR2, DDR, Laptop DDR
The two main forms of modern RAM are static RAM (SRAM) and dynamic RAM (DRAM). In static RAM, a bit of data is stored using the state of a flip-flop. This form of RAM is more expensive to produce, but is generally faster and requires less power than DRAM and, in modern computers, is often used as cache memory for the CPU. DRAM stores a bit of data using a transistor and capacitor pair, which together comprise a memory cell. The capacitor holds a high or low charge (1 or 0, respectively), and the transistor acts as a switch that lets the control circuitry on the chip read the capacitor's state of charge or change it. As this form of memory is less expensive to produce than static RAM, it is the predominant form of computer memory used in modern computers.
Both static and dynamic RAM are considered volatile, as their state is lost or reset when power is removed from the system. By contrast, Read-only memory (ROM) stores data by permanently enabling or disabling selected transistors, such that the memory cannot be altered. Writeable variants of ROM (such as EEPROM and flash memory) share properties of both ROM and RAM, enabling data to persist without power and to be updated without requiring special equipment. These persistent forms of semiconductor ROM include USB flash drives, memory cards for cameras and portable devices, etc. As of 2007, NAND flash has begun to replace older forms of persistent storage, such as magnetic disks and tapes, while NOR flash is being used in place of ROM in netbooks and rugged computers, since it is capable of true random access, allowing direct code execution.
ECC memory (which can be either SRAM or DRAM) includes special circuitry to detect and/or correct random faults (memory errors) in the stored data, using parity bits or error correction code.
In general, the term RAM refers solely to solid-state memory devices (either DRAM or SRAM), and more specifically the main memory in most computers. In optical storage, the term DVD-RAM is somewhat of a misnomer since, like CD-RW, a rewriteable DVD must be erased before it can be rewritten.

Memory hierarchy

One can read and over-write data in RAM. Many computer systems have a memory hierarchy consisting of CPU registers, on-die SRAM caches, external caches, DRAM, paging systems, and virtual memory or swap space on a hard drive. This entire pool of memory may be referred to as "RAM" by many developers, even though the various subsystems can have very different access times, violating the original concept behind the random access term in RAM. Even within a hierarchy level such as DRAM, the specific row, column, bank, rank, channel, or interleave organization of the components make the access time variable, although not to the extent that rotating storage media or a tape is variable. The overall goal of using a memory hierarchy is to obtain the higher possible average access performance while minimizing the total cost of the entire memory system (generally, the memory hierarchy follows the access time with the fast CPU registers at the top and the slow hard drive at the bottom).
In many modern personal computers, the RAM comes in an easily upgraded form of modules called memory modules or DRAM modules about the size of a few sticks of chewing gum. These can quickly be replaced should they become damaged or when changing needs demand more storage capacity. As suggested above, smaller amounts of RAM (mostly SRAM) are also integrated in the CPU and other ICs on the motherboard, as well as in hard-drives, CD-ROMs, and several other parts of the computer system.

Other uses of RAM

In addition to serving as temporary storage and working space for the operating system and applications, RAM is used in numerous other ways.

Virtual memory

Most modern operating systems employ a method of extending RAM capacity, known as "virtual memory". A portion of the computer's hard drive is set aside for a paging file or a scratch partition, and the combination of physical RAM and the paging file form the system's total memory. (For example, if a computer has 2 GB of RAM and a 1 GB page file, the operating system has 3 GB total memory available to it.) When the system runs low on physical memory, it can "swap" portions of RAM to the paging file to make room for new data, as well as to read previously swapped information back into RAM. Excessive use of this mechanism results in thrashing and generally hampers overall system performance, mainly because hard drives are far slower than RAM.

RAM disk

Software can "partition" a portion of a computer's RAM, allowing it to act as a much faster hard drive that is called a RAM disk. A RAM disk loses the stored data when the computer is shut down, unless memory is arranged to have a standby battery source.

Shadow RAM

Sometimes, the contents of a relatively slow ROM chip are copied to read/write memory to allow for shorter access times. The ROM chip is then disabled while the initialized memory locations are switched in on the same block of addresses (often write-protected). This process, sometimes called shadowing, is fairly common in both computers and embedded systems.
As a common example, the BIOS in typical personal computers often has an option called “use shadow BIOS” or similar. When enabled, functions relying on data from the BIOS’s ROM will instead use DRAM locations (most can also toggle shadowing of video card ROM or other ROM sections). Depending on the system, this may not result in increased performance, and may cause incompatibilities. For example, some hardware may be inaccessible to the operating system if shadow RAM is used. On some systems the benefit may be hypothetical because the BIOS is not used after booting in favor of direct hardware access. Free memory is reduced by the size of the shadowed ROMs.

Recent developments

Several new types of non-volatile RAM, which will preserve data while powered down, are under development. The technologies used include carbon nanotubes and approaches utilizing the magnetic tunnel effect. Amongst the 1st generation MRAM, a 128 KiB (128 × 210 bytes) magnetic RAM (MRAM) chip was manufactured with 0.18 µm technology in the summer of 2003. In June 2004, Infineon Technologies unveiled a 16 MiB (16 × 220 bytes) prototype again based on 0.18 µm technology. There are two 2nd generation techniques currently in development: Thermal Assisted Switching (TAS) which is being developed by Crocus Technology, and Spin Torque Transfer (STT) on which Crocus, Hynix, IBM, and several other companies are working. Nantero built a functioning carbon nanotube memory prototype 10 GiB (10 × 230 bytes) array in 2004. Whether some of these technologies will be able to eventually take a significant market share from either DRAM, SRAM, or flash-memory technology, however, remains to be seen.
Since 2006, "Solid-state drives" (based on flash memory) with capacities exceeding 256 gigabytes and performance far exceeding traditional disks have become available. This development has started to blur the definition between traditional random access memory and "disks", dramatically reducing the difference in performance.
Some kinds of random-access memory, such as "EcoRAM", are specifically designed for server farms, where low power consumption is more important than speed.

Memory wall

The "memory wall" is the growing disparity of speed between CPU and memory outside the CPU chip. An important reason for this disparity is the limited communication bandwidth beyond chip boundaries. From 1986 to 2000, CPU speed improved at an annual rate of 55% while memory speed only improved at 10%. Given these trends, it was expected that memory latency would become an overwhelming bottleneck in computer performance.
Currently, CPU speed improvements have slowed significantly partly due to major physical barriers and partly because current CPU designs have already hit the memory wall in some sense. Intel summarized these causes in their Platform 2015 documentation (PDF)
“First of all, as chip geometries shrink and clock frequencies rise, the transistor leakage current increases, leading to excess power consumption and heat... Secondly, the advantages of higher clock speeds are in part negated by memory latency, since memory access times have not been able to keep pace with increasing clock frequencies. Third, for certain applications, traditional serial architectures are becoming less efficient as processors get faster (due to the so-called Von Neumann bottleneck), further undercutting any gains that frequency increases might otherwise buy. In addition, partly due to limitations in the means of producing inductance within solid state devices, resistance-capacitance (RC) delays in signal transmission are growing as feature sizes shrink, imposing an additional bottleneck that frequency increases don't address.”
The RC delays in signal transmission were also noted in Clock Rate versus IPC: The End of the Road for Conventional Microarchitectures which projects a maximum of 12.5% average annual CPU performance improvement between 2000 and 2014. The data on Intel Processors clearly shows a slowdown in performance improvements in recent processors. However, Intel's Core 2 Duo processors (codenamed Conroe) showed a significant improvement over previous Pentium 4 processors; due to a more efficient architecture, performance increased while clock rate actually decreased.


(Power Wikipedia)

10 comments: