Random access memory
Random Access Memory (Random Access Memory, RAM) is short-term storage memory. The operating system of computers or other devices uses RAM to temporarily store all programs and their execution processes. All the instructions executed by the central processing unit (CPU) and other units of the computer are loaded in the RAM, in addition to containing the data that the different programs manipulate.
They are called "random access" because they can be read or written to a memory location with the same waiting time for any location, and it is not necessary to follow an order to access (sequential access) the information in the most fast as possible.
During the computer's startup, the POST routine verifies that the RAM modules are connected correctly. In the event that the modules do not exist or are not detected, on most motherboards they emit a series of beeps indicating the absence of main memory. Once this process is finished, the BIOS memory can carry out a basic test on the RAM memory, indicating major failures in the RAM.
History
One of the first types of RAM memory was magnetic core memory, developed between 1949 and 1952 and used in many computers until the development of integrated circuits in the late 1960s and early 1970s. Such memory required that each bit was stored in a toroid of ferromagnetic material a few millimeters in diameter, which resulted in devices with a very small memory capacity. Before that, computers used relays and delay lines of various types built to implement main memory functions with or without random access.
In 1969, one of the first RAM memories based on silicon semiconductors was launched by Intel with the integrated 3101 64-bit memory and for the following year a 1024-bit DRAM memory was presented, reference 1103, which was established in a milestone, since it was the first to be successfully commercialized, which meant the beginning of the end for magnetic core memories. Compared to current DRAM chips, the 1103 is primitive in many ways, but it had higher performance than core memory.
In 1973 an innovation was introduced that allowed another miniaturization and became the standard for DRAM memories: time multiplexing of memory addresses. MOSTEK released the 4096-byte reference MK4096 in 16-pin packaging, while its competitors manufactured them in 22-pin DIP packaging. The addressing scheme became a de facto standard due to the great popularity this DRAM reference achieved. By the late 1970s ICs were used in most new computers, they were soldered directly to the motherboards or installed in sockets, so they took up a large PCB area. Over time it became obvious that the installation of RAM on the main print prevented miniaturization, so the first memory modules such as SIPP were devised, taking advantage of modular construction. The SIMM format was an improvement on the previous one, eliminating the metal pins and leaving some copper areas on one of the edges of the print, very similar to those of expansion cards, in fact the SIPP modules and the first SIMMs have the same distribution of pins.
At the end of the 80s, the increase in the speed of the processors and the increase in the required bandwidth left DRAM memories with the original MOSTEK scheme behind, so a series of improvements were made in the addressing like the following:
FPM RAM
Fast Page Mode RAM (FPM-RAM) was inspired by techniques such as the Burst Mode used in processors such as the Intel 486. An addressing mode was implemented in which the memory controller sends a single address and receives that and several consecutive ones in return without the need to generate all the addresses. This saves time since certain operations are repetitive when you want to access many consecutive positions. It works as if we wanted to visit all the houses on a street: after the first time it would not be necessary to say the street number, just follow the street. They were manufactured with access times of 70 or 60 ns and were very popular on 486 and early Pentium based systems.
EDO RAM
Extended Data Output RAM (EDO-RAM) was launched on the market in 1994 and with access times of 40 or 30 ns it was an improvement over FPM, its predecessor. The EDO is also capable of sending contiguous addresses but it addresses the column it is going to use while reading the information from the previous column, resulting in an elimination of wait states, keeping the output buffer active until the next one begins. read cycle.
BEDO RAM
Burst Extended Data Output RAM (BEDO-RAM) was the evolution of EDO-RAM and competitor of SDRAM, it was introduced in 1997. It was a type of memory that used internal address generators and accessed more than one memory location each clock cycle, thus achieving a 50% benefit, better than ODE. It never made it to market, as Intel and other vendors settled on synchronous memory schemes that, while having much of the MOSTEK addressing, add different functionality such as clock signals, among other things.
Types of RAM
The two main forms of modern RAM are:
- SRAM (Static Random Access Memory), static RAM, static memory of random access.
- volatile.
- non-votile:
- NVRAM (non-volatile random access memory), non-volatile random access memory
- MRAM (magnetoresistive random-access memory), memory of magnetic or magnetic random access
- DRAM (Dynamic Random Access Memory), dynamic RAM, dynamic memory of random access.
- DRAM Asynchronous (Asynchronous Dynamic Random Access Memory), memory of asynchronous dynamic random access.
- FPM RAM (Fast Page Mode RAM)
- EDO RAM (Extended Data Output RAM)
- SDRAM (Synchronous Dynamic Random-Access Memory), memory of synchronic dynamic random access
- Rambus:
- RDRAM (Rambus Dynamic Random Access Memory)
- XDR DRAM (eXtreme Data Rate Dynamic Random Access Memory)
- XDR2 DRAM (eXtreme Data Rate two Dynamic Random Access Memory)
- SDR SDRAM (Single Data Rate Synchronous Dynamic Random-Access MemorySDRAM simple data rate)
- DDR SDRAM (Double Data Rate Synchronous Dynamic Random-Access MemorySDRAM double data rate)
- DDR2 SDRAM (Double Data Rate type two SDRAMSDRAM double data rate type two)
- DDR3 SDRAM (Double Data Rate type three SDRAMSDRAM double data rate type three)
- DDR4 SDRAM (Double Data Rate type four SDRAM, SDRAM double data rate type four).
- DDR5 SDRAM (Double Data Rate type five SDRAM, SDRAM double data rate type five).
- DDR6 SDRAM (Double Data Rate type six SDRAM, SDRAM double data rate type six).
- Rambus:
- DRAM Asynchronous (Asynchronous Dynamic Random Access Memory), memory of asynchronous dynamic random access.
Nomenclature
The term RAM memory is often used to describe the memory modules used in personal computers and servers.
RAM is just one variety of random access memory: ROMs, Flash memories, cache (SRAM), registers in processors and other processing units also have the quality of having equal access delays for any position.
RAM modules are the commercial presentation of this type of memory, which is made up of integrated circuits soldered on an independent printed circuit, in other devices such as video game consoles, RAM is soldered directly on the main board.
RAM modules
RAM modules are cards or printed circuit boards that have DRAM memory chips soldered on one or both sides.
The DRAM implementation is based on an electrical circuit topology that allows high memory densities to be achieved per number of transistors, achieving chips of hundreds or thousands of megabits. In addition to DRAM, the modules have an integrated module that allows their identification before the computer through the Serial Presence Detect (SPD) communication protocol.
The connection with the other components is made through an area of pins on one of the edges of the printed circuit, which allow the module, when installed in an appropriate socket or slot on the motherboard, to have good electrical contact with memory controllers and power supplies.
The need to make modules interchangeable, and to use ICs from different manufacturers, led to the establishment of industry standards such as the Joint Electron Device Engineering Council (JEDEC).
- Package DIP (Dual In-line Package, double line pin pack.
- Package SIPP (Single In-line Pin Package, simple line pin pack): were the first commercial memory modules, of proprietary format, that is, there was no standard between different brands.
- Modules RIMM (Rambus In-line Memory Module, branch-line memory module): It was other well-known proprietary modules, designed by the RAMBUS company.
- Modules SIMM (Single In-line Memory Module, simple-line memory module): format used in old computers. They had a 16- or 32-bit data bus.
- Modules DIMM (Dual In-line Memory Moduledual-line memory module: used on desktop computers. They are characterized by having a 64-bit data bus.
- Modules SO-DIMM (Small Outline DIMM): used in laptops. DIMM miniaturized format.
- Modules FB-DIMM (Fully-Buffered Dual Inline Memory Module): used on servers.
Memory Technologies
Current memory technology uses a timing signal to perform read/write functions so that it is always in sync with a memory bus clock, unlike older FPM and EDO memories which were asynchronous.
The entire industry opted for synchronous technologies, because they allow building chips that operate at a frequency higher than 66 MHz.
Types of DIMMs according to their number of contacts or pins:
Number of pins | Types of DIMM | Used by: | Comments |
---|---|---|---|
072 | SO-DIMM | FPM-DRAM and EDO-DRAM | (not the same as a 72-pin SIMM) |
100 | DIMM | printer SDRAM | |
144 | SO-DIMM | SDR SDRAM | |
168 | DIMM | SDR SDRAM | (less common for FPM/EDO DRAM in work areas and/or servers) |
172 | Micro-DIMM | DDR SDRAM | |
184 | DIMM | DDR SDRAM | |
200 | SO-DIMM | DDR SDRAM and DDR2 SDRAM | |
204 | SO-DIMM | DDR3 SDRAM | |
240 | DIMM | DDR2 SDRAM, DDR3 SDRAM and Fully Buffered DIMM (FB-DIMM) DRAM | |
244 | Mini-DIMM | DDR2 SDRAM |
SDR SDRAM
Synchronous memory, with access times between 25 and 10 ns and presented in DIMM modules with 168 contacts. It was used in the Pentium II and Pentium III as well as the AMD K6, AMD Athlon K7 and Duron. There is a widespread belief that it is simply called SDRAM, and that the name SDR SDRAM is to differentiate it from DDR memory, but this is not the case, the wrong name simply spread very quickly. The correct name is SDR SDRAM since both (both SDR and DDR) are dynamic synchronous memories. The available types are:
- PC66: SDR SDRAM, works at a max of 66.6 MHz.
- PC100: SDR SDRAM, works at a max of 100 MHz.
- PC133: SDR SDRAM, works at a max of 133.3 MHz.
RDRAM
Supplied in 184-contact RIMM modules. It was used in the Pentium 4. It was the fastest memory in its time, but due to its high cost it was quickly replaced by the cheap DDR. The available types are:
- PC600: RIMM RDRAM, works up to 300 MHz.
- PC700: RIMM RDRAM, works up to 350 MHz.
- PC800: RIMM RDRAM, works up to 400 MHz.
- PC1066: RIMM RDRAM, works up to 533 MHz.
- PC1200: RIMM RDRAM, works up to 600 MHz.
DDR SDRAM
Synchronous memory, sends data twice for every clock cycle. In this way, it works at twice the speed of the system bus, without the need to increase the clock frequency. It comes in 184-pin DIMM modules for desktop computers and 144-pin modules for laptops.
The nomenclature used to define DDR type memory modules (this includes DDR2, DDR3 and DDR4 formats) is as follows: DDRx-yyyy PCx-zzzz; where x represents the DDR generation in question; yyyy the apparent or effective frequency, in Megacycles per second (MHz); and zzzz the maximum data transfer rate per second, in Megabytes, that can be achieved between the memory module and the memory controller. The transfer rate depends on two factors, the width of the data bus (usually 64 bits) and the apparent or effective working frequency. The formula used to calculate the maximum transfer rate per second between the memory module and its controller is as follows:
Transfer rate in MB/s = (Effective DDR frequency) × (64 bits / 8 bits per byte)
For example:
1 GB DDR-400 PC-3200: Represents a 1 GB (Gigabyte) module of the DDR type; with an apparent or effective working frequency of 400 MHz; and a maximum data transfer rate of 3200 MB/s.
4 GB DDR3-2133 PC3-17000: Represents a 4 GB DDR3-type module; apparent or effective working frequency of 2133 MHz; and a maximum data transfer rate of 17,000 MB/s.
The available types are:
- PC1600 or DDR 200: works at a max of 200 MHz.
- PC2100 or DDR 266: works at a max of 266,6 MHz.
- PC2700 or DDR 333: works at a max of 333.3 MHz.
- PC3200 or DDR 400: works at a max of 400 MHz.
- PC3500 or DDR 433 works at a max of 433 MHz.
- PC4500 or DDR 500: works at a max of 500 MHz.
DDR2 SDRAM
DDR 2 memories are an improvement of DDR (Double Data Rate) memories, which allow the input/output buffers to work at double the frequency of the core, allowing during each cycle clock four transfers are made. They come in 240-pin DIMM modules. The available types are:
- PC2-3200 or DDR2-400: works at a max of 400 MHz.
- PC2-4200 or DDR2-533: works at a max of 533.3 MHz.
- PC2-5300 or DDR2-667: works at a max of 666,6 MHz.
- PC2-6400 or DDR2-800: works at a max of 800 MHz.
- PC2-8600 or DDR2-1066: works at a max of 1066.6 MHz.
- PC2-9000 or DDR2-1200: works at a max of 1200 MHz.
DDR3 SDRAM
DDR 3 memory is an improvement on DDR 2 memory, it provides significant performance improvements at low voltage levels, which leads to a decrease in overall consumer spending. DDR 3 DIMMs have 240 pins, the same number as DDR 2; however, the DIMMs are physically incompatible, due to a different location of the notch. The available types are:
- PC3-6400 or DDR3-800: works at a max of 800 MHz.
- PC3-8500 or DDR3-1066: works at a max of 1066.6 MHz.
- PC3-10600 or DDR3-1333: works at a max of 1333.3 MHz.
- PC3-12800 or DDR3-1600: works at a max of 1600 MHz.
- PC3-14900 or DDR3-1866: works at a max of 1866.6 MHz.
- PC3-17000 or DDR3-2133: works at a max of 2133.3 MHz.
- PC3-19200 or DDR3-2400: works at a max of 2400 MHz.
- PC3-21300 or DDR3-2666: works at a max of 2666.6 MHz.
DDR4 SDRAM
- PC4-1600 or DDR4-1600: works at a max of 1600 MHz.
- PC4-1866 or DDR4-1866: works at a max of 1866.6 MHz.
- PC4-17000 or DDR4-2133: works at a max of 2133.3 MHz.
- PC4-19200 or DDR4-2400: works at a max of 2400 MHz.
- PC4-25600 or DDR4-2666: works at a max of 2666.6 MHz.
Relationship with the rest of the system
Within the memory hierarchy, RAM is one level after processor registers and caches in terms of speed.
RAM modules are electrically connected to a memory controller that manages signals to and from the DRAM chips. Signals are of three types: addressing, data, and control signals. In the memory module those signals are divided into two buses and a miscellaneous set of power and control lines. Together they form the memory bus that connects the RAM with its controller:
- Data search: are the lines that carry information between the integrated and the controller. They are usually grouped into octets being 8, 16, 32 and 64 bits, amount that should match the width of the processor's data bus. In the past, some module formats did not have a bus width equal to that of the processor. In that case, modules should be mounted in pairs or in extreme situations, from 4 modules, to complete what was called memory benchOtherwise the system doesn't work. That was the main reason to increase the number of pins in the modules, matching the bus width of processors like the Pentium at 64 bits, in the early 1990s.
- Address search: is a bus in which the memory addresses are placed to which access is required. It is not equal to the address bus of the rest of the system, as it is multiplexed so that the address is sent in two stages. To do this, the controller performs timer and uses the control lines. Each module standard sets a maximum size in bits of this bus, establishing a theoretical limit of maximum capacity per module.
- Signals of miscellaneous: among which are those of the food (Vdd, Vss) that are responsible for delivering power to the integrated. There are the communication lines for the integrated presence (Serial Presence Detect) which serves to identify each module. There are the lines of control between which are the RAS (Row Address Strobe) and CAS (Column Address Strobe) that control the address bus, finally there are clock signals in the synchronic memories SDRAM.
Some memory controllers in systems such as PCs and servers are embedded in the so-called North Bridge of the motherboard. Other systems include the driver within the processor itself (for processors from AMD Athlon 64 and Intel Core i7 and later). In most cases the type of memory that the system can handle is limited by the sockets for RAM installed on the motherboard, although memory controllers in many cases are capable of connecting with different memory technologies.
A special feature of some memory controllers is the handling of dual channel or dual channel technology (Dual Channel), where the controller handles 128-bit memory banks, being able to deliver the data interleaved, opting for one or the other channel, reducing the latencies seen by the processor. The improvement in performance is variable and depends on the configuration and use of the equipment. This feature has promoted the modification of memory controllers, resulting in the appearance of new chipsets (Intel's 865 and 875 series) or new processor sockets in AMD's (the 939 with dual channel replaced the single channel 754). Mid-range and high-end computers are generally built based on chipsets or sockets that support dual-channel or better, such as Intel's 1366 socket, which used triple channel memory, or their new LGA 2011 which uses quad channel.
Error detection and correction
There are two kinds of errors in memory systems, failures (Hard fails) that are damage to the hardware and errors (soft errors) caused by external causes. fortuitous The former are relatively easy to detect (in some conditions the diagnosis is wrong), the latter, being the result of random events, are more difficult to find. Currently, the reliability of RAM memories against errors is high enough to not perform verification on the stored data, at least for office and home applications. In the most critical uses, error correction and detection techniques are applied based on different strategies:
- The technique of parity bit It consists of saving an additional bit for each byte of data and in reading it is checked if the number of one is pair (“parity par”) or odd (“empar parking”), thus detecting the error.
- A better technique is the one that uses “autochequeo code and autocorrector” (error-correcting code, ECC), which allows detecting errors from 1 to 4 bits and correcting errors that affect a single bit. This technique is used only in systems that require high reliability.
In general, systems with any type of error protection have a higher cost, and suffer small performance penalties, than systems without protection. To have a system with ECC or parity, the chipset and memories must support those technologies. Most motherboards do not have such support.
For memory failures, specialized software tools that perform tests on RAM memory modules can be used. Among these programs, one of the best known is the Memtest86+ application that detects memory errors.
Registered RAM
It is a type of module frequently used in servers, it has integrated circuits that are responsible for repeating the control signals and addresses: the clock signals are reconstructed with the help of the PLL that is located in the module itself. The data signals are connected in the same way as in the non-registered modules: directly between the memory ICs and the controller. Systems with registered memory allow more memory modules to be connected and of a higher capacity, without there being disturbances in the signals of the memory controller, allowing the handling of large amounts of RAM. Among the disadvantages of registered memory systems are the fact that a delay cycle is added for each request to access a non-consecutive location and a higher price than non-registered modules. Registered memory is incompatible with memory controllers that do not support registered mode, even though they can be physically installed in the socket. They can be recognized visually because they have a medium integrated, near the geometric center of the printed circuit, in addition to the fact that these modules are usually somewhat taller.
During 2006, several brands launched systems with FB-DIMM memory, which at the time were thought of as the successor to registered memory, but that technology was abandoned in 2007 as it offered few advantages over traditional memory design. registered and new models with DDR3 memory.
Contenido relacionado
Technique
X86
Command & Conquer