Let’s consider human brain, consider our good or bad memories, persistent or non-persistent memories; some of those memories disappear with the elapse of time, some remains long lasting. To understand memory concepts of a computer, keep in mind the human brain’s memory unit scenario.
For PDF go to computer-memory
History- World’s first RAM chip – 1951
Jay Wright Forrester in 1950 first introduced the concept of storage to store data in main computer storage (Non-Volatile or secondary devices such as Hard Disks). The concept was to make a RAM chip that stores memory as electrical charges (+ or -) and it must continuously energized or “refreshed” in order to maintain these electrical charges. Storage will be lost when power is turned off.
He introduced Small rings of tiny toroidal core material strung ( Light weighted chord ) in an array , each ring was a bit , magnetized one way for 0 (electricity is not flowing or OFF ) the other way for 1 (electricity is flowing or ON) .The wires could change and detect the magnetization (based on 0 and 1).
Hierarchy of storage
- Primary storage ( Internal Memory- )
- Secondary storage (External Memory- )
- Tertiary storage (tertiary memory – Cloud Storage )
- Off-line storage ( Offsite – used for Disaster Recovery )
Working Mechanism (Primary to Secondary Storage)
In order to data to be processed by a computer based on input provided by user or system , it uses two main memory areas , First area is primary storage , i.e. RAM ( Random Access Memory ) or Volatile storage and the other is secondary storage , i.e. ROM ( Read Only Memory ) or Non-volatile storage . The Volatile memory requires electricity or some kind of current to store information, whereas nonvolatile memory does not. Almost all computers have both types of memory. The memory can be divided into large number of small parts or cells. Each (memory) location or cell has a unique address which varies from zero to memory size minus one.
For example if computer has 64k words, then this memory unit has 64 * 1024 = 65536 memory location. The address of these locations varies from 0 to 65535.
Volatile (non-persistent or RAM) vs. Non-Volatile (persistent or ROM)
Volatile means it is a temporary storage which we called as primary storage or RAM , it requires power to maintain the stored information; it remains its contents while power is on but when the power is off , the stored data is lost very rapidly or immediately. Power ON means the time period in which RAM stores the data, power OFF means when RAM flashes for Non-Volatile state, i.e. when a user working on a document, whenever the user clicks on SAVE button, the state of storage will change from Volatile to Non-Volatile or ROM , means storage changes its capacity from RAM to HDDs, CR-ROM, DVD, Blu-Ray or USB drives .
Two basic Memory Types are PROGRAM STORAGE MEMORY, which holds active programs like operating system, and DATA STORAGE MEMORY, it holds the data or information which is to be processed by the ALU for output.
Computer Memory Hierarchy
With the help of above diagram, the Computer Memory Hierarchy can be defined as :
- Capacity increases as the storage increases, i.e. at the top level we need only CPU registers, which only small memory location needs address.
- Storage Cost at main memory level per bit decreases.
- Similarly at the third level, the Frequency of access of the memory by the CPU decreases, where there is a indirect access to CPU.
- At fourth level Access time by the CPU increases to provide output.
Memory comes from microprocessor; Registers are the smallest and fastest memory level found in the processor or microprocessor. Registers hold extremely small amounts of data. When we say that a CPU could add two numbers, the input (from where the numbers comes) and the output (where the numbers go) this is because of registers. When the CPU is in the process of adding two numbers together, both numbers are stored first in registers or cache, and when the microprocessor has computed the answer, the result also stored in the register.
It’s not the part of RAM but it gives a CPU to fast access for the resources by anticipating how much RAM is needed for a specific task. It acts as a buffer between the CPU and the main memory (RAM) which means CPU does not use RAM directly.
Cache is a very high speed semiconductor memory used to speed the CPU. It holds those parts of data and program which used by the processor more frequently . The parts of data transferred from disk to cache by operating system, from where the CPU can access them.
Random Access Memory (RAM) is volatile or non-persistent ; as it is the CPU’s temporary or short term storage; RAM is a place where currently programs and data stores temporary stores. CPU uses RAM to store relevant current which means it is RAM storage is changing constantly. RAM is small, usually measured in megabytes (MB) or gigabytes (GB) for most PCs.
Types of RAM
- Static RAM (SRAM)
- Dynamic RAM (DRAM)
- Direct access memory
Static RAM (SRAM)
As the word static indicates the memory retains its contents as long as power remains applied as illustrated above. A SRAM chip uses a 6-transistors matrix with no capacitors. Transistors do not require power to prevent leakage, so we didn’t need to refresh SRAM on a regular basis.
Static RAM is used as cache memory needs to be very fast and small.
Dynamic RAM (DRAM)
Unlike SRAM , DRAM need to be continually refreshed in order to maintain the data with the help of a refresh circuit which rewrites the data several hundred times per second. Usually we use DRAM as for most system memory. All DRAMs are made up of memory cells. The cells are composed of one capacitor and one transistor.
Serial Access Memory(SAM)
SAM is also can be described as Sequence access memory as it’s a class of RAM in which data storage devices read stored data in a sequence or we can say it read from the beginning of the memory address until it finds the required piece of data
Magnetic tape is an example of serial access memory.
Modern DRAM with Internal Memory Banks
Direct Access Memory
Direct access memory or Random Access Memory, refers to conditions in which a system can go directly to the information that the user wants. Memory device which supports such access is called a Direct Access Memory. Magnetic disks, optical disks are examples of direct access memory.
As illustrated in microprocessor section, the buses connected with RD/WR lines coming from microprocessor for the addressed locations.
Normally Motherboard have ROM CHIPS .Often ROM called as NVRAM (Non-Volatile RAM ) Unlike RAM , Once data has been written onto a ROM chip, it cannot be removed and can only be read. Data in ROM remains even if we turned off the computer. It means BIOS stored in the ROM.
BIOS (Basic Input/output System) that stored in ROM CHIP on the Motherboard, is software that operates many of the Input/output devices connected to computer system. BIOS contains all the codes to control screen, drives, serial or parallel communication etc.
From above, we can easily understand that computer has the ability to store information for both the short and long term or we can say memory works with two addressed locations i.e one is primary memory or RAM; the other is external memory storage which is either a magnetic disk or optical disk or ROM.
Types of ROM
MROM (Masked ROM)
These ROMs were fast hard-wired devices that consist of a pre-programmed set of data or instructions used for high volume applications. In MROM, photographic “mask” establishes electrical interconnections.
PROM (Programmable Read Only Memory)
PROM is read-only memory that can be modified only once by a user. It is economical for small volume applications. The consumer buys a blank PROM and enters the desired contents using a PROM programmer. It allows fusible links (small fuses) for end user to program the device. It can be programmed only once and is not erasable.
EPROM (Erasable and Programmable Read Only Memory)
As mention in name, it can be erased and reused by exposing it to ultra-violet light for duration of up to 40 minutes. For erasing this charge, ultra-violet light is passed through a quartz crystal window (lid). This exposure to ultra-violet light dissipates the charge. During normal use the quartz lid is sealed with a sticker.
EEPROM (Electrically Erasable and Programmable Read Only Memory)
Today, EPROM chips are not used in computers and have been replaced by EEPROM chips as it is programmed and erased electrically. It can be erased and reprogrammed about ten thousand times.
EEPROMs are a special type of PROM that has the functionality to erase one byte at a time, instead of erasing the entire chip. due to this specialty, the process of re-programming is flexible .Today , with Intel® 4th/5th Gen Core i7/i5/i3 processors , normally 128Mb SPI Flash EEPROM with AMI BIOS is being used .
Types and usage of Storage devices (Secondary Storage)
As we learned earlier that Primary storage is RAM and it is volatile and temporary storage. Similarly, here we will learn about secondary storage which is ROM .ROM is non-volatile storage or Permanent storage. Secondary storage are also called as auxiliary storage.
Secondary storage characteristics are as:
- Non-volatile memory − Data not lost even when power is cut off.
- Reusable − The data remains in the secondary storage as on permanent basis until it is not overwritten or deleted by the user.
- Reliable − Data is safe in secondary storage due to high physical stability of secondary storage device.
- Convenience – Because of computer software, authorized people can locate and access the data fast and quickly.
- Capacity − Secondary storage can store large volumes of data in sets of multiple disks.
- Cost − It is LESS expensive to store data on a tape or disk as compared to primary memory.
Media examples can be illustrated as :
- Compact disc (CD)
- Digital versatile disc (DVD) -(RO(Read only)/R(Read Once)/RW(Read Write)
- Blu-ray disc (BR)
- Hi def Disk (HD)
- Hard disk
- Pen drive
- Memory card (Flash memory cards/USB Drives)
- Magnetic Tape (Tape Cartridges)
Applications for secondary storage
It is a type of computer storage that uses laser beams to store computer-generated data in three dimensions.
Example of holographic storage is a bank credit card and smart ID cards containing a logo in the form of a hologram. It uses to store computer information.
Network Attached Storage (NAS)
NAS is another type of dedicated file storage device that provides automated storage using local-area network (LAN) nodes .
Virtual memory is a simulation (virtual or fake) of RAM used for excess storage space .Normally we used the VM to run bulky programs or software.
VM is a technique that allows the execution of those processes which are not completely available in main memory. That means a smaller physical memory must be available to apply the VM technique.
Following are some situations, when entire program not required to be loaded completely in main memory and we can make use of VM technique:
- Programmer’s error handling routines
- Certain options and features of a program that used rarely.
- Numerous tables assigned for a fixed address space but actually little amount of table used.
- Minimum I/O operations required for loading or swapping of user program into memory.
When we talk about secondary storage, now-a-days we use private cloud as a Mass storage to store incredible amount of storage required by large organizations or consumers . We use enterprise level private storage system for efficient and safe use of data across networks within organizations or public cloud storage systems for personal usage such as google drive or One drive.