Image

Thursday 20 November 2014

MEMORY ORGANIZATION BY NUR SYAZWANI BINTI ZAINULDDIN


MEMORY
*Memory unit is an essential component in digital computers since it is needed for storing programs and data. Two or three levels of memory such as Main memory Secondary memory and Cache memory are provided in a digital computer. The main memory is a fast memory.

*Main memory stores the programs along with data, which are to be executed. It also stores necessary programs of system software. The cache memory is placed in between the CPU and the main memory. Secondary memory is permanent storage used to store programs and data that are used infrequently.


1)RAM
* It consist of internal latches that store the binary information. The stored information remains    valid as long as power is applied to the unit
* is generally volatile,
* does not retain the data stored in it when the system 's power is turned off.
* Any data that needs to be stored while the system is off must be written to a permanent storage device, such as a flash memory or
hard disk.

There are many kinds of RAM and new ones are invented all the time. One aim is to make RAM
access as fast as possible in order to keep up with the increasing speed of CPUs.

SRAM, DRAM, SDRAM, DDR SDRAM

SRAM (Static RAM)
* is the fastest form of RAM but also the most expensive. Due to its cost it is not used as main memory but rather for cache memory. Each bit requires a 6-transistor circuit.

DRAM (Dynamic RAM)
*is not as fast as SRAM but is cheaper and is used for main memory. Each bit uses a single capacitor and single transistor circuit. Since capacitors lose their charge, DRAM needs to be refreshed every few milliseconds. The memory system does this transparently. There are many implementations of DRAM, two well-known ones are SDRAM and DDR SDRAM.

SDRAM (Synchronous DRAM)
*is a form of DRAM that is synchronised with the clock of the CPU‟s system bus, sometimes called the front-side bus (FSB). As an example, if the system bus operates at 167Mhz over an 8-byte (64-bit) data bus , then an SDRAM module could transfer 167 x 8 ~ 1.3GB/sec.

DDR SDRAM (Double-Data Rate SDRAM)
*is an optimisation of SDRAM that allows data to be transferred on both the rising edge and falling edge of a clock signal, effectively doubling the amount of data that can be transferred in a period of time. For example a PC-3200 DDR-SDRAM module operating at 200Mhz can transfer 200 x 8 x 2 ~ 3.2GB/sec over an 8-byte (64-bit) data bus.DDR3 continues the trend, doubling the minimum read or write unit to 8 consecutive words.




2)ROM
It is non-volatile memory, which retains the data even when power is removed from this memory. Programs and data that can not be altered are stored in ROM.

ROM, PROM, EPROM, EEPROM, Flash

ROM (Read Only Memory)
*is a form of semi-conductor that can be written to once, typically in bulk at a factory. ROM was used to store the “boot” or start-up program (so called firmware) that a computer executes when powered on, although it has now fallen out-of-favour to more flexible memories that support occasional writes. ROM is still used in systems with fixed functionalities,
e.g. controllers in cars, household appliances etc.

PROM (Programmable ROM)
*is like ROM but allows end-users to write their own programs and data. It requires special PROM writing equipment. Note: users can only write-once to PROM.

EPROM (Erasable PROM)
*With EPROM we can erase (using strong ultra-violet light) the contents of the chip and rewrite it with new contents, typically several thousand times. It is commonly used to store the “boot” program of a computer, known as the firmware. PCs call this firmware, the BIOS (Basic I/O System). Other systems use Open Firmware. Intel-based Macs use EFI (Extensible Firmware Interface).

EEPROM (Electrically Erasable PROM)
*As the name implies the contents of EEPROMs are erased electrically. EEPROMSs are also limited to the number of erase-writes that can be performed (e.g, 100,000) but support updates (erase-writes) to individual bytes whereas EPROM updates the whole memory and only supports around 10,000 erase-write cycles.

FLASH memory

*is a cheaper form of EEPROM where updates (erase-writes) can only be performed on blocks of memory, not on individual bytes. Flash memories are found in USB sticks, flash cards and typically range in size from 1GB to 32GB. The number of erase/write cycles to a block is typically several hundred thousand before the block can no longer be written.



Computer memories are divided into Cache memory, main memory and secondary memory. Where Cache is the fastest and closest to processor. Cache memory is also the smallest memory. Secondary memory is the slowest, furthest from processor and largest in size.






CACHE MEMORY
      Cache memory, also called CPU memory, is random access memory (RAM) that a computer microprocessor can access more quickly than it can access regular RAM. 
As the microprocessor processesdata, it looks first in the cachememory and if it finds the data there (from a previous reading of data), it does not have to do the more time-consuming reading of data from larger memory
Cache memory is fast and it is expensive. It is categorized in levels that describe its closeness and accessibility to the microprocessor. Level 1 (L1) cache, which is extremely fast but relatively small, is located close to the processor. Level 2 (L2) cache is located half-way between the process and the system bus; it is fairly fast and medium-sized. Level 3 (L3) cache is relatively large and close to RAM.

Memory cache can work under three different configurations: direct mapping, fully associative and set associative. With direct mapping each block is mapped to exactly one cache location. With fully associative mapping, each block is mapped to any cache location. With set associative, each block is mapped to a subset of cache locations.  

EXTERNAL MEMORY
 1. Magnetic disk
 2. Optical
 3. Magnetic tape
Image result for magnetic diskmagnetic disk

optical disk

magnetic tape


RAID

RAID (redundant array of independent disks; originally redundant array of inexpensive disks) is a way of storing the same data in different places (thus, redundantly) on multiple hard disks. By placing data on multiple disks, i/o(input/output) operations can overlap in a balanced way, improving performance. Since multiple disks increases the mean time between failures , storing data redundantly also increases fault tolerance.


RAID 1
RAID 1 consists of mirroring, without parity or striping. Data is written identically to two (or more) drives, thereby producing a "mirrored set". Thus, any read request can be serviced by any drive in the set. If a request is broadcast to every drive in the set, it can be serviced by the drive that accesses the data first (depending on its seek time androtational latency), improving performance. Sustained read throughput, if the controller or software is optimized for it, approaches the sum of throughputs of every drive in the set, just as for RAID 0.

RAID 2 
RAID 2 consists of bit-level striping with dedicated Hamming-code parity. All disk spindle rotation is synchronized and data is striped such that each sequential bit is on a different drive. Hamming-code parity is calculated across corresponding bits and stored on at least one parity drive. This level is of historical significance only.

RAID 3
RAID 3 consists of byte-level striping with dedicated parity. All disk spindle rotation is synchronized and data is striped such that each sequential byte is on a different drive. Parity is calculated across corresponding bytes and stored on a dedicated parity drive.Although implementations exist, RAID 3 is not commonly used in practice.

RAID 4
RAID 4 consists of block-level striping with dedicated parity. This level was previously used by NetApp, but has now been largely replaced by a proprietary implementation of RAID 4 with two parity disks, called RAID-DP.

RAID 5
RAID 5 consists of block-level striping with distributed parity. Unlike in RAID 4, parity information is distributed among the drives. It requires that all drives but one be present to operate. Upon failure of a single drive, subsequent reads can be calculated from the distributed parity such that no data is lost. RAID 5 requires at least three disks.RAID 5 is seriously affected by the general trends regarding array rebuild time and chance of failure during rebuild.

RAID 6
RAID 6 consists of block-level striping with double distributed parity. Double parity provides fault tolerance up to two failed drives. This makes larger RAID groups more practical, especially for high-availability systems, as large-capacity drives take longer to restore. As with RAID 5, a single drive failure results in reduced performance of the entire array until the failed drive has been replaced. With a RAID 6 array, using drives from multiple sources and manufacturers, it is possible to mitigate most of the problems associated with RAID 5. The larger the drive capacities and the larger the array size, the more important it becomes to choose RAID 6 instead of RAID 5.
Diagram for memory hierarchy







POWERED BY NUR SYAZWANI BINTI ZAINULDDIN  1-BITD(S1G1)

No comments:

Post a Comment