
Memory Notes
The term byte is commonly used as a unit of storage measurement in computers, regardless of the type of data being stored. It is also one of the basic integral data types in many programming languages. There are 8 bits in a byte. A bit (binary digit) refers to a digit in the binary numeral system (base 2). For example, the number 10010111 is 8 bits long. Binary digits are almost always used as the basic unit of information storage and communication in digital computing. The bit is also a unit of measurement, the information capacity of one binary digit. It has the symbol bit.
A nibble is smaller than a byte. For example, if you took a ½ of a bite from a cookie, you could say you had a nibble. In this sense, a nibble would be 4 bits or half a byte.
Here are the terms for different memory terminology:
Starting with a bit
Bit: 1 bit is a 0 or 1 in binary
Nibble: There are 4 bits in a nibble
Byte: There are 8 bits in a byte
Kilobyte (KB): 1 KB is equal to 1024 bytes
Megabytes (MB): 1 MB is equal to 1024 KB or 1,048,576 bytes
Gigabyte (GB): 1GB is equal to 1024 MB or 1,048,576 KB or 1,073,741,824 bytes
You will lose 70MB of storage space for every GB. With this, you will lose 5.6 GB on an 80GB hard drive, which will leave you with 74.4GB on an unformatted disk.
Terabyte (TB): 1 TB is equal to 1024 GB
Petabyte (PB): 1 PB is equal to 1024 TB
Exabyte (EB): 1 EB is equal to 1024 PB (1billion GB or 1 quintillion bytes)
Figure out the size:
If you typed up every word ever spoken by every human being ever to live in all the history of the world, the resulting file would be between 2 and 5 exabytes in size.
Brontobyte: all the atoms in all the people’s bodies living in India. (1 billion people)
All computer systems use one of many types of RAM (Random Access Memory)
Random access memory (RAM) is the best known form of computer memory. RAM is considered "random access" because you can access any memory cell directly if you know the row and column that intersect at that cell. In the most common form of computer memory, dynamic random access memory (DRAM), a transistor and a capacitor are paired to create a memory cell, which represents a single bit of data. The capacitor holds the bit of information -- a 0 or a 1. The transistor acts as a switch that lets the control circuitry on the memory chip read the capacitor or change its state.
A capacitor is like a small bucket that is able to store electrons. To store a 1 in the memory cell, the bucket is filled with electrons. To store a 0, it is emptied. The problem with the capacitor's bucket is that it has a leak. In a matter of a few milliseconds a full bucket becomes empty. Therefore, for dynamic memory to work, either the CPU or the memory controller has to come along and recharge all of the capacitors holding a 1 before they discharge. To do this, the memory controller reads the memory and then writes it right back. This refresh operation happens automatically thousands of times per second.
DRAM works by sending a charge through the appropriate column (CAS) to activate the transistor at each bit in the column. When writing, the row lines contain the state the capacitor should take on. When reading, the sense-amplifier determines the level of charge in the capacitor. If it is more than 50 percent, it reads it as a 1; otherwise it reads it as a 0. The counter tracks the refresh sequence based on which rows have been accessed in what order. The length of time necessary to do all this is so short that it is expressed in nanoseconds (billionths of a second). A memory chip rating of 70ns means that it takes 70 nanoseconds to completely read and recharge each cell.
Memory cells alone would be worthless without some way to get information in and out of them. So the memory cells have a whole support infrastructure of other specialized circuits. These circuits perform functions such as:
Memory Configuration
THE ROLE OF MEMORY IN THE COMPUTER
People in the computer industry commonly use the term “memory” to refer to RAM (Random Access Memory). A computer uses RAM to hold temporary instructions and data needed to complete tasks. This enables the computer’s CPU (Central Processing Unit), to access instructions and data stored in memory very quickly. A good example of this is when the CPU loads an application program – such as a word processing or page layout program – into memory, thereby allowing the application program to work as quickly and efficiently as possible. In practical terms, having the program loaded into memory means you can complete work faster with less time spent waiting for the computer to perform tasks.
In the past, memory, like processors, used the DIP (Dual In-Line Pin) configuration. This became to overcrowded on the motherboard as there were to many chips. Now a number of chips are combined onto a replaceable card known as a memory module. Memory would then indicate how much RAM was on the module by giving the number of chips multiplied by the size of each chip in megabits. So if you have a stick of memory that says 8X64, it has 512 Mbits of memory. Knowing that there are 8 bits in a byte, you can divide by 8 and get 64MB.
The first standard of these replaceable modules was the SIPP (Single In-Line Pin Package).

SIPP was a type of RAM. It
consisted of a small printed circuit board upon which were mounted a number of
memory chips. It had 30 pins along one edge which mated with matching holes in
the motherboard of the computer. The problem with SIPPs was that often the pins
bent or broke while installing into the motherboard. This type of memory was
used in the 80286 systems, and was later replaced by SIMMs (Single In-Line
Memory Module).
A SIMM is the third generation of RAM. It differs from today’s DIMM (Dual In-Line Memory Module) in that the contacts on a SIMM are redundant on both sides of the module. These memory modules worked better than the old DIP or SIPP modules since it saved a lot of space on the motherboard.
The first variant of SIMMs has 30 pins and provides 8 bits of data. Therefore, systems usually required that 30 pin SIMMs would have to be installed in sets of 4 (because processors such as the 80486 had 32 bit data paths).
The second variant of SIMMS – sometimes called PS/2 after the IBM line of personal computers in which it was first used – has 72 pins and provides 32 bits of data. Around 1997, 72-pin SIMMs replaced 30-pin SIMMs
Due to the different data bus widths of memory modules and some processors, sometimes several modules must be installed in identical pairs or in identical groups of four to fill a memory bank. For instance, on 80386 or 80486 systems (data bus width of 32 bits) either four 30-pin SIMMS or one 72-pin SIMM are required for one memory bank. On Pentium systems (data bus width of 64 bits), two 72-pin SIMMs are required.
The earliest SIMM sockets were conventional push-type sockets. These were soon replaced by ZIF (Zero Insertion Force) sockets in which the SIMM was inserted and rotated until it locked into place. To install a SIMM, the module must be placed in the socket at an angle, then rotated (angled) into position. To remove one, two metal or plastic clips at each end must be pulled to the side, then the SIMM must be tilted back and pulled out. The earlier sockets uses plastic retainer clips which were found to break, so steel clips replaced them.
SIMM is standardized under JEDEC JESD-21C Standard
RAM
As mentioned earlier, there are several types of RAM in today’s computers.
SIMM (Single In-Line Memory Module)
We mentioned SIMM modules earlier. There are a couple different sizes of SIMMs including 30-pin and 72-pin. The 30-pin modules were used in computers up the early 80486 models. The mid 80486 models switched to 72-pin SIMM
30-pin SIMM could only send 8 bits at once so at least two were needed for the 286/386SX and four were needed for the 386DX/486 and eight were needed for Pentium’s. A matching set is called a bank.
72-pin SIMM could send 32 bits of data at once. It was not used in the 286 or 386SX. You need one SIMM in 386DX and 486 models and two matching sticks in the Pentiums. The speed of 72-pin SIMMs was either 70ns or 100ns. This is the handling speed.
DIMM (Dual In-Line Memory Module)
SRAM (Static Random Access Memory) (168-pin) – The word “static” indicates that the memory retains its contents as long as power remains applied, unlike DRAM (See Next section) that needs to periodically refresh. SRAM should not be confused with SDRAM (see below). SRAM is deemed to expensive to be used as system RAM though so just a small amount is used. Static RAM is very fast, usually going at least half of if not the full processor speed.
DRAM (Dynamic Random Access Memory) (168-pin) – is a type of RAM that stores each bit of data in a separate capacitor. As real-world capacitors are not ideal and hence leak electrons, the information eventually fades unless the capacitor charge is refreshed periodically. Because of this refresh requirement, it is a dynamic memory as opposed to SRAM and other static memory. It advantage over SRAM is its simplicity: only one transistor and a capacitor are required per bit, compared to six transistors in SRAM. This allows DRAM to reach very high density. Since DRAM loses its data when the power supply is removed, it is a class of volatile memory device.
SDRAM (Synchronous Dynamic Random Access Memory) (168-pin) – This is the first memory synced to the system clock. Other dynamic random access memories (DRAM) have an asynchronous interface which means that it reacts as quickly as possible to changes in control inputs. SDRAM has a synchronous interface, meaning that it waits for a clock signal before responding to its control inputs. It is synchronized with the computer's system bus, and thus with the processor. The clock is used to drive an internal finite state machine that pipelines incoming commands. This allows the chip to have a more complex pattern of operation than DRAM which does not have synchronizing control circuits.
SDRAM modules are typically rated according to their maximum clock rate (which may differ from that of the chips on the module) and by their CAS latency. CAS latency is the delay between specifying a column address and receiving the first data output and is closely related to read cycle time. It is specified in clock cycles, typically with the assumption that the module is running at its maximum speed. However, CAS latency is actually programmable by the memory controller, and a lower CAS latency setting may be viable if the module is running slower than its rated clock speed. When 100 MHz SDRAM chips first appeared, some manufacturers sold modules that could not reliably operate at that speed. In response, Intel published the PC100 standard, which outlines requirements and guidelines for producing a memory module that can operate reliably at 100 MHz. This standard was widely influential; the term "PC100" quickly became a common identifier for 100 MHz SDRAM modules, and modules are now commonly designated with "PC"-prefixed numbers (although the actual meaning of the numbers varies widely among different types of modules).
SDRAM was introduced in 1996, and by 2000 had replaced all other types of DRAM in modern computers, because of its greater speed, and much lower latency. SDRAM can be identified by the front side bus rating only: PC66, PC100, PC133 or PC150.
SDRAM is also available in registered memory varieties, for systems that need greater scalability.
Currently, 168-pin SDRAM type is not used in new PC systems, and PCs come with DDR or DDR2 SDRAM, with DDR2 quickly phasing out DDR.
DDR (Double Data Rate) (184-pin)
The second generation of SDRAM is DDR which operates twice in a single cycle of the front side bus. DDR can be identified by its single notch vs. SDRAM’s two notches.
Dual Channel DDR – Also known as DDR2 (240-pin)
The latest memory technology in system memory. This uses at least one pair of DDR DIMMs to double the memory speed again. Unlike the SIMMs where we were using two sticks to equal the data bus, we are now using the two sticks in parallel, each half of the time so the data speed is doubled again. This memory debuted in computers with nVidia nForce 420D. It is now used in nForce2, nForce3 Opteron, Intel Springdale (855 and 915) and Canterwood (875 and 925)
DDR is identified by the effective rating or by the bandwidth. It debuted in AMD 751, 761, KT266A, KT333, KT400, and KT600
DDR200 – PC1600
DDR266 – PC2100
DDR300 – PC2400
DDR333 – PC2700
DDR375 – PC3000
DDR400 – PC3200
DDR433 – PC3500
DDR466 – PC3700
DDR500 – PC4000
DDR533 – PC4200
Cache Memory
Most computer system memory in modern computers is DRAM. DRAM uses a capacitor and a transistor to hold data. The capacitor is always discharging so that it forgets the data it held. In order to prevent the loss of the data, the MCC has to read all the data and write it back to memory. This is a waste of time for the processor. A computer makes up for that by providing cache memory. SRAM usually makes up that cache. The processor does provide a certain amount of cache built into the processor itself. Some motherboards also have built in cache. The computer can store some of the data from memory into cache to allow the processor to still have something to do while the system refreshes the RAM.
Computers have different levels of cache. Level 1 is usually smallest and fastest. Level 2 is larger and sometimes slower. Not all processors have it but Level 3 is the largest and slowest. Cache goes between the memory and CPU and holds a small amount of data from the RAM that the processor can use while the RAM refreshes. Cache is always at the ready because it uses SRAM, Static RAM uses 4 or 6 transistors not 1 and has no capacitors. For that reason it needs no refreshing. SRAM is deemed to expensive for system memory.
Pipelining means that the chip can accept a new command before it has finished processing the previous one. In a pipelined write, the write command can be immediately followed by another command without waiting for the data to be written to the memory array. In a pipelined read, the requested data appears a fixed number of clock pulses after the read command. This delay is called the latency and is an important parameter to be considered when purchasing SDRAM for your computer. It is not necessary to wait for the data to appear before sending the next command.
Operating System RAM Requirements
Operating System Minimum Recommended
Windows 95/98 8MB 32MB Could not use more than 256MB
Windows NT 16MB 32MB
Windows2000 64MB 128MB
Windows XP 128MB 256MB
Windows Vista 512MB 1GB