Title: Primary Storage
1Primary Storage
- I. Primary Storage
- A. Organization
- B. Packaging
- C. Error Correction
- II. ROM Developments
- Midterm prep
- A. Homework problems
- B. Last years midterm exam
2DRAM Market
3RAM Organization256kByte Module
Data
8 chips of 256k bits each
Address
4Memory Packaging
- Memory Packaging
- Memory circuits are embedded within microchips
and groups of chips are packed on a small circuit
board that can be installed or removed easily. - Dual In-line Packages (DIPs)
- Single In-line Memory Module (SIMM)
- Double In-line Memory Module (DIMM)
5DIP, SIMM and DIMM
6Redundancy Probability of Failure
Pf(A) 0.10
A popular library book has a 10 of being
checked out when I come (system failure).
- Solution redundancy both have to gone for me
to go home empty (system failure).
Pf(A) 0.10
1 Pf(A)Pf(B) Probability of success
(only one has to be there) 1 (0.1)(0.1)
0.99 Only 1 chance of failure
Pf(B) 0.10
7Redundant Bits
- Used in data storage data communications
- Error detection codes
- Parity bits 0010001 becomes 00010001 w/ even
parity - Checksums (CRC)
- Error correction codes
- Can correct single bit, multiple bit errors
- ex 1 coded as 111 (2 redundant bits) gives
single error correction - Hamming code used in computer memory
8Memory Error Correction
- Hard Failure
- Permanent defect, like stuck at fault, short,
open circuit, etc. - Caused by harsh environmental abuse,
manufacturing defect etc. - Soft Error
- Random, non-destructive
- No permanent damage to memory
- Caused by non-stable power supply, transient
interference etc.
9Error Correcting Code
- M bits input data, K bits error correcting code
- Three Situations
- No error is detected. The fetched
data is sent out. - An error is detected and corrected.
- An error is detected, but can not be corrected.
This condition should be reported.
Error-Correcting Code Function
10Hamming Code
- Hamming code was devised by Richard Hamming at
Bell Labs. It is widely used in - digital communication, memory design, and other
applications which require - high reliability.
- Example Hamming code on 4 data bits
- Assign the 4 data bits to
- the inner compartments
- Generate even parity bits
- in other compartments (3 bits)
-
- If an error happens (Fig. C),
- discrepancies are found in
- circle A and circle C, not in
- circle B.Thus, the error bit must
- be in the intersection of circuit A and C.
- In this way, the error bit is detected
- and can be corrected.
-
1
11What is the bit length of Hamming code?
- K Check bits
- K-bit syndrome word
- All 0s syndrome word
- indicates no-error.
- 2k-1 values should be able
- to correct any single bit
- error in M data bits and K check bits.
- Therefore, 2k-1 gt M K
- Example
- When M8,
- If K3, 23-1 lt 8 3
- If K4, 24-1 gt 8 3
- So, 4 check bits are needed.
Syndrome Word (k bits)
12Word Length with Error Correction
13Characteristics of Error Correction
- Taking M8, K4 error correction code as an
example - If the syndrome contains all 0s, no error has
been detected. - If the syndrome contains one and only one bit
1, then an error must have occurred in one of
the 4 check bits. No correction is needed. - If the syndrome contains more than one bit 1,
then the numerical value of the syndrome
indicates the position of the erroneous data
bit. This data bit should be inverted for
correction.
14Data and Check bits Arrangement
- Example
- The bit positions are numbered from 1 to 12
(MK84). - Those bit positions whose position numbers are
powers of 2 are designated as check bits.
Layout of Data Bits and Check Bits
15Data and Check bits Arrangement
- Each check bit operates on every data bit whose
position number contains a 1 in the same bit
position as the position number of that check
bit.
(even parity)
16Example
- Assume an 8-bit data word is 00111001
- The corresponding 4-bit check code
17- If D3 sustains an error 0 -gt 1, the regenerated
4 check bits become - Comparing the regenerated check bits with the old
check bits to generate the syndrome word. - C8 C4 C2 C1
- 0 1 1
1 - 0 0
0 1 - 0 1 1 0
- 0110 indicates that bit position 6 (data bit
D3) contains an error.
18What happens if there is a check bit error?
- If C8 sustains an error (0-gt1)
- Read parity bits 1111, calculated 0111
C8 C4 C2 C1 1
1 1 1
0 1 1
1 1 0 0
0
All data bits are OK!
19Examples
- Stallings 5.13
- Stallings 5.12
20Read Only Memory (ROM)
- Permanent storage
- Nonvolatile
- Applications
- Frequently used library subroutines
- Systems programs (i.e., BIOS)
- Function tables
21Types of ROM
- Written during manufacture
- Fabricated w/data, cannot be erased
- Programmable (once)
- PROM
- Needs special equipment to program
- Read mostly
- Erasable Programmable (EPROM)
- Erased by UV
- Electrically Erasable (EEPROM)
- Takes much longer to write than read
- Flash memory
22Semiconductor Memory Types
23Flash Memory
- Largest growth in IC market since 2002
- Consumer electronics market
- Non-volatile
- Support mobility miniaturization
- NOR and NAND types
- NOR random access to memory, high latency
- cell phones, PDAs, iPods, GPS
- NAND USB flash memory, DVD players, digital
cameras, replacing the HD?
NOR
NAND
24Flash Memory Market
25Flash Memory Producers
26Future of Flash Memory
- Replace of DRAM?
- Cheaper than DRAM
- A little slower
- Non-volatile
- Replace Hard Drives?
- Faster than magnetic disks
- Also non-volatile
- Capacity not as high
- Cost of flash continues to decrease
- Miniaturization challenges