Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Università di Roma “La Sapienza”Dipartimento di Informatica e Sistemistica
M idd l ewa re L abo r a to r yM I D L A B
La gerarchia di memoriaCalcolatori Elettronici - Ingegneria Gestionale
Leonardo [email protected]
A.A. 2007/2008
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Il tipo di memoria ottimale dovrebbe essere caratterizzato da:
■ Costo basso
■ Grande capacità
■ Bassi tempi di accesso
■ La tecnologia ci impone dei compromessi:
Costo Capacità Velocità
Registri Alto Piccola Veloce
Memoria principale Medio Media Media
Dischi Basso Grande Lenta
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
CPU
Cache
Memoriadi lavoro
Storage di1° livello
Storage di2° livello
Registri
SRAM
DRAMSDRAM DDR RIMM
Hard Disk Flash ROM
CD/DVD/BD Nastri magnetici
Co
sto
Ve
loci
tà
■ L’uso di una gerarchia con vari tipi di memoria serve a darci l’illusione di una memoria con tutte le caratteristiche descritte.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ All’interno della gerarchia il passaggio dei dati può avvenire solo tra livelli contigui (con qualche eccezione)
■ La differenza di prestazioni tra tecnologie appartenenti a livelli differenti pone delle problematiche.
■ Es:
■ I registri sono realizzati all’interno della CPU ed hanno una velocità pari a questa.
■ La memoria centrale (realizzata ad es. con DRAM) è esterna alla CPU ed è molto più lenta (circa 200 volte più lenta)
■ Quando un dato deve essere trasferito dalla memoria ad un registro per la successiva elaborazione si passa attraverso un “collo di bottiglia” dato dalla velocità massima della memoria centrale.
■ Questo significa che è la memoria centrale ad influenzare maggiormente la velocità dell’elaborazione del dato.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■Gli accessi in memoria non avvengono sempre in modo casuale, ma rispettano due principi:
Località temporale
È probabile che un oggetto a cui si è fatto riferimento venga nuovamente richiesto in tempi brevi.
Es: se consideriamo un ciclo all’interno di un programma, le istruzioni in esso contenute vengono eseguite diverse volte in un certo arco di tempo.
Località spaziale
È probabile che gli oggetti che si trovano vicini ad un oggetto a cui si è fatto riferimento vengano richiesti in tempi brevi.
Es: data un’istruzione di un programma, la probabilità che la successiva istruzione sia collocata vicino ad essa è alta.
Es: se consideriamo un vettore di dati numerici, questi sono posizionati in memoria in modo contiguo.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Le memorie cache sfruttano il principio di località temporale (a volte anche quello spaziale) per incrementare le prestazione dei trasferimenti di dati tra memoria centrale e CPU.
■Una memoria cache non è altro che un blocco di memoria, interposto tra due componenti di memoria appartenenti a due livelli contigui della gerarchia, in cui i dati vengono depositati temporaneamente.
■Ha dimensioni, velocità e costo intermedie rispetto ai due componenti di cui costituisce una specie di interfaccia.
CPU CacheL1
Memoriacentrale
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Essendo la cache di dimensioni ridotte rispetto alla memoria centrale, potrà contenere solo un sottoinsieme di tutti i dati.
■Quando la CPU ha bisogno di un dato non presente in un registro, esegue una lettura sulla cache.
■ Se il dato è presente nella cache, si ha un cache hit, ed esso viene immediatamente inviato alla CPU.
■ Se il dato non è presente nella cache, si ha un cache miss. Il dato in questo caso viene letto in memoria e copiato in una locazione della cache, e quindi inviato alla CPU.
■Nel primo caso l’accesso al dato in memoria è molto più veloce (dato che la cache è molto più veloce della memoria centrale)
■Nel secondo caso l’accesso è più lento (perché al tempo normalmente necessario ad una lettura in memoria si aggiungono tempi necessari a copiare il dato nella cache).
■Genericamente, la proprietà di località temporale fa si che il numero di cache hit sia notevolmente maggiore dei cache miss.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Per misurare l’efficienza di una cache si usano:
■ hit rate = n° cache hit / n° accessi in lettura
■miss rate = n° cache miss / n° accessi in lettura = 1 - hit rate
■ Per progettare una cache ben funzionante (ovvero con hit rate il più possibile vicino ad 1) dobbiamo risolvere principalmente tre problemi:
1. Come associamo gli indirizzi nella memoria centrale alle locazioni di memoria della cache ?
2. In caso di cache miss, quale locazione della cache andremo a sovrascrivere ?
3. Quando un dato deve essere scritto in memoria, come si comporta la cache ?
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Essendo la cache di dimensioni ridotte rispetto alla memoria centrale, potrà contenere solo un sottoinsieme di tutti i dati.
■Direct mapping: ogni locazione della memoria centrale può essere memorizzata in una singola locazione della cache.
Indirizzo Valore
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Indirizzo Tag Valore
00
01
10
11
Me
mo
ria
cen
tral
e
Cac
he
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ La colonna Tag viene usata per definire quale è la locazione di memoria centrale contenente il dato attualmente memorizzato nella cache.
■ Contiene i bit più significativi dell’indirizzo di memoria.
Indirizzo Valore
0000 A
0001 B
0010 C
0011 D
0100 E
0101 F
0110 G
0111 H
1000 I
1001 L
1010 M
1011 N
1100 O
1101 P
1110 Q
1111 R
Indirizzo Tag Valore
00 00 A
01 11 P
10 11 Q
11 01 H
Me
mo
ria
cen
tral
e
Cac
he
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Fully associative: ogni locazione della memoria centrale può essere memorizzata in una qualsiasi locazione della cache.
Indirizzo Valore
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Indirizzo Tag Valore
00
01
10
11
Me
mo
ria
cen
tral
e
Cac
he
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ In questo caso la colonna Tag deve contenere l’indirizzo di memoria completo.
Indirizzo Valore
0000 A
0001 B
0010 C
0011 D
0100 E
0101 F
0110 G
0111 H
1000 I
1001 L
1010 M
1011 N
1100 O
1101 P
1110 Q
1111 R
Indirizzo Tag Valore
00 1101 P
01 0011 D
10 0000 A
11 1111 R
Me
mo
ria
cen
tral
e
Cac
he
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
Vantaggi Svantaggi
Realizzazione semplice
Più economica
Poco efficiente (spazio sprecato)
Efficienza massima(nessuno spreco)
Realizzazione complessa
Può essere meno veloce
Più costosa
Dir
ect
map
pin
gF
ull
yas
soci
ativ
e
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Set associative o n-way associative: ogni locazione della memoria centrale può essere memorizzata n differenti locazioni della cache.
Indirizzo Valore
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Indirizzo Tag Valore
00
01
10
11
Me
mo
ria
cen
tral
e
Cac
he
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Cache 2-way associative.
■ In questo caso la colonna Tag deve contenere i tre bit più significativi dell’indirizzo di memoria.
Indirizzo Valore
0000 A
0001 B
0010 C
0011 D
0100 E
0101 F
0110 G
0111 H
1000 I
1001 L
1010 M
1011 N
1100 O
1101 P
1110 Q
1111 R
Indirizzo Tag Valore
00 100 I
01 000 A
10 111 R
11 001 D
Me
mo
ria
cen
tral
e
Cac
he
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Se abbiamo una cache n-way associative con indirizzi a p bit e una memoria centrale con indirizzi lunghi q bit, allora la colonna tag dovrà contenere
t = q - (p - log2 n) bit.
■ Es: cache 2-way associative con indirizzi a 2 bit e memoria con indirizzi a 4 bit.
t = 4 - (2 - log2 2) = 3 bit
■ Es: cache 8-way associative con indirizzi a 16 bit e memoria con indirizzi a 32 bit.
t = 32 - (16 - log2 8) = 19 bit
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Il parametro n influisce sulle prestazioni della cache:
■ Se n è alto, per ogni lettura è necessario cercare il dato in n diverse locazioni della cache (maggiore energia, circuiti più complessi, più tempo)
■ D’altra parte è più difficile che si verifichino dei cache miss.
Grafico preso da: http://en.wikipedia.org/wiki/CPU_cache
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Al verificarsi di un cache miss il dato mancante viene letto dalla memoria centrale e copiato in una locazione della cache.
■Nel caso di cache fully/set associative è necessario avere un meccanismo che ci permetta di scegliere quale locazione della cache sovrascrivere con il dato appena letto.
■ Politiche di rimpiazzo:
■ Politica ottima: sostituisco il dato che verrà utilizzato più tardi di tutti gli altri (non implementabile)
■ Least Recently Used (LRU): sostituisco il dato che non è stato usato da più tempo (l’implementazione può essere costosa).
■ Least Frequently Used (LFU): sostituisco il dato che è stato usato meno volte.
■ Random: sostituisco un dato a caso.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ La politica random ha il vantaggio di essere semplice da implementare.
■ Inoltre non necessariamente è peggiore delle altre (esclusa quella ottima).
■ Es: miss rate per cache 2-way associative:
DimensionePoliticaRandom
PoliticaLRU
16K 5,7% 5,2%
64K 2,0% 1,9%
256K 1,17% 1,15%
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Esercizio: sia data una cache con 2-way associative con 8 locazioni e politica di sostituzione LRU, inizialmente vuota. Mostrare l’evoluzione del contenuto nel tempo a seguito della seguente sequenza di accessi in memoria: 10001, 10011, 01001, 10001, 11101
■ Soluzione: la colonna Tag dovrà contenere t = 5 - (3 - log2 2) = 3 bit.
T0 T1 T2 T2 T2
Ind. Tag Valore Tag Valore Tag Valore Tag Valore Tag Valore
000
001
010 100 (10001) 100 (10001) 100 (10001) 100 (10001) 100 (10001)
011 010 (01001) 010 (01001) 111 (11101)
100
101
110 100 (10011) 100 (10011) 100 (10011) 100 (10011)
111
miss miss miss hit miss
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■Quando il processore deve scrivere un dato in memoria, come si comporta la cache ?
■ Il dato viene scritto immediatamente in cache.
■ La scrittura sulla memoria centrale può seguire due politiche:
Write through
Il dato viene immediatamente scritto anche in memoria
Vantaggi: semplice da implementare, non crea problemi se i dati in memoria possono essere modificati anche da altri componenti (es. multicore)
Svantaggi: le scritture non si avvantaggiano della velocità della cache.
Write-back
Il dato viene scritto in memoria solo quando avviene una sovrascrittura dello stesso nella cache.
Vantaggi: le scritture diventano molto più veloci
Svantaggi: i casi in cui i dati in memoria possono essere modificati dal altri processori devono essere trattati in modo particolare. Necessita di un bit in più per ogni locazione della cache (validity bit)
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■Nei computer moderni l’accesso della CPU in memoria è mediato da più livelli di cache.
■ Alcuni di questi livelli sono fisicamente integrati nella CPU.
■ Alcuni blocchi cache sono “dedicati” ad un particolare uso.
CPUCache
L1
Cache
L2
Cache
L3
Memoria
centrale
CPU
CPU
Cache
L1
Dati
Cache
L2
Cache
L3
Memoria
centrale
Cache
L1
Istruzioni
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Es: IBM PowerPC 970FX (G5) - Registri 1K, Cache L1 Dati 32K, Cache L1 Istruzioni 64K, Cache L2 512K.
User’s M
anual IB
M P
owerP
C 970FX
RIS
C M
icroprocessor
Pow
erPC
970FX
Overview
Page 30 of 445
01_970fx.fm.(1.6)
Decem
ber 19, 2005
Figure
1-1.970FX
Block D
iagram
Core Interface Unit
512KB
Bus Interface Unit
PowerPC 970FX Bus
L2 Cache
GlobalCompletion Table
InstructionDecode Unit
64KBI-Cache
InstructionFetch Unit
Dispatch Buffer
Register Maps - GPR, FPR, VRF, CR, CTR, LK
CRIssue Queue
CR
cr RF
BRIssue Queue
FPUIssue Queue
Vector PermuteIssue Queue
Vector ALUIssue Queue
FXU1/LSU1Issue Queue
FXU2/LSU2Issue Queue
FXU1 LSU1
GPR GPR
FXU2 LSU2VALU
VRF
VPERM
VRF
FPU1 FPU2
FPR
BR
ctr/lk RF
32KBD-Cache
STS
CORE
NCU L2 Dir/Cntl
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Es: IBM PowerPC 970FX (G5) - Registri 1K, Cache L1 Dati 32K, Cache L1 Istruzioni 64K, Cache L2 512K.
User’s Manual
IBM PowerPC 970FX RISC Microprocessor
03_970FX.fm.(1.6)December 19, 2005
Storage SubsystemPage 73 of 445
3. Storage Subsystem
The 970FX storage subsystem (STS) encompasses the core interface unit (CIU), non-cacheable unit (NCU), the L2 cache control and L2 cache, and the bus interface unit (BIU).
This section provides an overview and a high-level block diagram of the storage subsystem. It summarizes key design fundamentals and the storage hierarchy. The functional units are described in detail.
The following key features are fundamental to the design:
• Store-through L1 D-cache.• No castouts or snoop pushes by the core.• Non-blocking snoop invalidates to the core (both instruction and data invalidates).• Integrated L2 Controller.• L2 controller handling of cacheable instruction fetches, loads and stores, and dcbz instructions.• Non-cacheable unit handling of other storage type instructions.
3.1 Storage Hierarchy
Table 3-1. Storage Hierarchy Characteristics
Characteristic L1 Instruction Cache L1 Data Cache L2 Cache
Data type Instructions only Data only Instructions and data
Size 64KB 32KB 512KB
Associativity (replacement policy) Direct map 2-way set associative (LRU) 8-way set associative (LRU)
Line size (sector) 128 bytes (4 * 32-bytes) 128 bytes 128 bytes
Operation granularity 128 bytes 128 bytes 128 bytes
Index Effective address Effective address Physical address
Tags Physical address Physical address Physical address
Number of ports 1Read or 1Write (directory has 2Read or 1Write) 2Read and 1Write 1Read or 1Write
Inclusiveness N/A N/A Inclusive of L1 D-cachenot inclusive of L1 I-cache
Hardware coherency No Yes Yesseparate snoop ports
Store policy N/A Store-throughno allocate on store miss
Store backallocate on store miss
Enable bit Yes Yes No
Reliability, availability, service-ability (RAS)
Parity with invalidate on error for data and tags
Parity with invalidate on error for data and tags
ECC on data; parity on tags (recoverable with redundant tags)
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Es: IBM PowerPC 970FX (G5) - Registri 1K, Cache L1 Dati 32K, Cache L1 Istruzioni 64K, Cache L2 512K.
L2 cache512K
L1istruz.
64K
L1dati32K
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Es: Struttura cache del processore AMD Athlon64 (K8)
Grafico preso da: http://en.wikipedia.org/wiki/CPU_cache
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Es: IBM Power4
3. POWER4 Chip
The components of the POWER4 chip are shown in Figure 1. The chip has two processors
on board. Included in what we are referring to as the processor are the various execution
units and the split first level instruction and data caches. The two processors share a unified
second level cache, also onboard the chip, through a Core Interface Unit (CIU) in Figure 1.
The CIU is a crossbar switch between the L2, implemented as three separate, autonomous
cache controllers, and the two processors. Each L2 cache controller can operate
concurrently and feed 32 bytes of data per cycle. The CUI connects each of the three L2
controllers to either the data cache or the instruction cache in either of the two processors.
Additionally, the CUI accepts stores from the processors across 8-byte wide buses and
sequences them to the L2 controllers. Each processor has associated with it a Noncacheable
(NC) Unit, the NC Unit in Figure 1, responsible for handling instruction serializing functions
and performing any noncacheable operations in the storage hierarchy. Logically, this is part
of the L2.
Figure 1: POWER4 Chip Logical View
power4 Page 5 of 33
Processor Core 1
IFetch Store Loads
Processor Core 1
IFetch Store Loads
CIU Switch
L2Cache
L2Cache
L2CacheCore1
NCUnit
Core2NCUnit
Trace &
Debug
BIST Engines
Perf Monitor
SP
Controller
POR
Sequencer
Error DetectAnd Logging
Fabric Controller
L3Directory
GX ControllerL3 Controller
Mem Controller
32B
32B
32B
32B
32B
32B
32B
8B
32B
8B
32B
8B
8B
8B
8B
8B
8B
8B
8B
16B
16B
16B
8B
16B
16B
16B
16B
16B
4B
4B
32B
8B 32B
32B
8B
JTAG
L3/Mem Bus(3:1)
MCM-MCM(2:1)
MCM-MCM(2:1)
GX Bus(n:1)
Chip-ChipFabric(2:1)
Chip-ChipFabric(2:1)
32B
Processor Core 1
IFetch Store Loads
Processor Core 1
IFetch Store Loads
CIU Switch
L2Cache
L2Cache
L2CacheCore1
NCUnit
Core2NCUnit
Trace &
Debug
BIST Engines
Perf Monitor
SP
Controller
POR
Sequencer
Error DetectAnd Logging
Fabric Controller
L3Directory
GX ControllerL3 Controller
Mem Controller
32B
32B
32B
32B
32B
32B
32B
8B
32B
8B
32B
8B
8B
8B
8B
8B
8B
8B
8B
16B
16B
16B
8B
16B
16B
16B
16B
16B
4B
4B
32B
8B 32B
32B
8B
JTAG
L3/Mem Bus(3:1)
MCM-MCM(2:1)
MCM-MCM(2:1)
GX Bus(n:1)
Chip-ChipFabric(2:1)
Chip-ChipFabric(2:1)
32B
Processor Core 1
IFetch Store Loads
Processor Core 1
IFetch Store Loads
CIU Switch
L2Cache
L2Cache
L2CacheCore1
NCUnit
Core2NCUnit
L2Cache
L2Cache
L2Cache
L2Cache
L2Cache
L2CacheCore1
NCUnit
Core2NCUnit
Core1NCUnit
Core2NCUnit
Trace &
Debug
BIST Engines
Perf Monitor
SP
Controller
POR
Sequencer
Error DetectAnd Logging
Trace &
Debug
BIST Engines
Perf Monitor
Trace &
Debug
BIST Engines
Perf Monitor
SP
Controller
POR
Sequencer
Error DetectAnd Logging
SP
Controller
POR
Sequencer
Error DetectAnd Logging
Fabric Controller
L3Directory
GX ControllerL3 Controller
Mem Controller
32B
32B
32B
32B
32B
32B
32B
8B
32B32B
8B
32B
8B
32B32B
8B
32B
8B
32B32B
8B
8B
8B
8B
8B
8B
8B
8B
16B
16B
16B
8B
16B
16B
16B
16B
16B
4B
4B
32B
8B 32B
32B
8B
JTAG
L3/Mem Bus(3:1)
L3/Mem Bus(3:1)
MCM-MCM(2:1)
MCM-MCM(2:1)
MCM-MCM(2:1)
MCM-MCM(2:1)
GX Bus(n:1)
GX Bus(n:1)
Chip-ChipFabric(2:1)
Chip-ChipFabric(2:1)
32B
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■Gli Hard Disk costituiscono oggi la tecnologia più usata per la memorizzazione di grandi quantità di dati.
■ Costo per Megabyte molto basso
■ Velocità ragionevole
■ Tecnologia affidabile
■ Mantiene i dati memorizzati anche in assenza di corrente
■ Il funzionamento è basato sulla “polarizzazione” di piccole aree di una disco con superficie magneticamente sensibile.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Primo Hard Disk (1956):
■ IBM 305 RAMAC
■ Dimensione: 5 Mb
■ 50 dischi da 24 pollici
■ alimentazione proprietaria
a corrente alternata
■ dimensioni di un armadio
■Oggi:
■ Seagate 7200.10
■ Dimensione: 750 Gb
■ 5 dischi da 3,5 pollici
■ latenza media: 4,16 ms
■ velocità di rotazione 7200 rpm
■ consumo: 13 watt a regime
■ dimensioni di un piccolo libro
80 GB to 750 GB • SATA 1.5Gb/s or 3Gb/s and PATA 100 Key Advantages
• First 3.5-inch drive to utilize capacity- and reliability-boosting perpendicular recording technology
• First drive to reach 750 GB—a full year ahead of competition—enabling new solutions for data-intensive applications.
• Industry’s most proven and established desktop hard drive available today—more than 16 million shipped to date*
• “One-stop shopping” with a broad range of capacity, cache and interface options for all your computing needs
• Best-in-class environmental specifications and reliability features
• Adaptive Fly Height offers consistent read/write performance from the beginning to the end of your computing workload.
• Clean Sweep automatically calibrates your drive.
• Directed Offline Scan runs diagnostics when storage access is not needed.
• RoHS-compliant design assures an environmentally conscious product.
• Enhanced G-Force Protection™ defends against handling damage.
• Seagate® SoftSonic™ motor enables whisper-quiet operation.
• Backed by a 5-year limited warranty
Best-Fit Applications
Desktop and High-Performance PCs
• Gamer PCs
• Workstations
• High-end PCs
• Desktop RAID
• Mainstream PCs
• Point-of-sale devices/ATMs
*16 million Barracuda 7200.10 drives shipped as of 4/18/07
Barracuda 7200.10Experience the industry’s proven flagship perpendicular 3.5-inch hard drive
Data Sheet
Low-Cost Servers and External Storage
• SATA/xATA servers
• USB/FireWire/eSATA external storage
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■ Costruire dischi molto grandi o molto costosi era (ed è tutt’oggi) costoso.
■ Redundant Array of Inexpensive Disks (RAID)
■ Si tratta di un insieme di tecniche per aumentare:
■ l’integrità dei dati
■ la tolleranza ai guasti
■ le prestazioni
■ Si basa sull’uso di più dischi contemporaneamente.
■ Lo spazio fisico messo a disposizione da questi dischi viene “ricombinato” in un disco logico con caratteristiche differenti.
■ A seconda delle tecnologie utilizzate distinguiamo diversi livelli dai RAID.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 0 (striping)■ I dati vengono partizionati in segmenti di uguale lunghezza. La
grandezza di ogni segmento è detta unità di striping.
■Ogni segmento viene scritto su un disco diverso
■ Se il numero di segmenti che formano il dato è maggiore del numero D di dischi che costituiscono l’array, allora il segmento D+1 verrà posizionato sul primo disco, etc.
Vantaggi:
■ La capacità del disco logico è pari alla somma delle capacità dei D dischi fisici.
■ La velocità del disco logico è D-volte quella di un disco fisico.
Svantaggi:
■ L’affidabilità del disco logico è 1/D quella di un disco fisico.
■ I dischi fisici devono essere tutti identici.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 0 (striping)
RAID 0
DISK 1 DISK 2
A1 A2
DISK 3
A3
A4 A5
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID Linear (JBOD o concatenazione)■ Più dischi fisici vengono “concatenati” per formare un unico disco
logico di grandi dimensioni.
■ Le scritture avvengono in modo sequenziale come su un qualsiasi disco non RAID.
Vantaggi:
■ Più dischi possono essere concatenati per fornire l’astrazione di un disco più grande.
■ I dischi non devono necessariamente essere identici.
Svantaggi:
■ L’affidabilità del disco logico è minore di quella dei singoli dischi fisici che lo compongono, ma è comunque più facile recuperare i dati in caso di rottura rispetto a RAID 0
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID Linear (JBOD o concatenazione)
RAID Linear
DISK 1 DISK 2
A1
DISK 3
A2
A3
A4
A5
B1
B2
B3
C1
C2
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 1 (mirroring)■Due dischi.
■ Il secondo disco rappresenta la copia speculare del primo.
■ Le scritture avvengono contemporaneamente su entrambi i dischi.
■ Le letture possono avvenire alternativamente sui due dischi.
Vantaggi:
■ La ridondanza dei dati sui due dischi incrementa l’affidabilità del disco logico risultante.
■ I dischi devono necessariamente essere identici.
■ La velocità in lettura è maggiore.
Svantaggi:
■ Lo spazio a disposizione sul disco logico è pari a quello di un singolo disco fisico.
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 1 (mirroring)
RAID 1
DISK 1 DISK 2
A1
A2
A3
A4
A5
A1
A2
A3
A4
A5
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 2■Ogni dato viene scritto bit per bit su dischi diversi. Per ogni dato
vengono anche scritti dei codici per il controllo e la correzione degli errori (ECC) su appositi dischi.
■ Servono un minimo di 14 dischi (10 per i dati e 4 per l’ECC)
■Oggi inutilizzato dato che il controllo tramite ECC viene realizzato automaticamente su ogni singolo disco.
Vantaggi:
■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati.
Svantaggi:
■ Estremamente complesso e costoso.
■ Scritture lente (per il calcolo dell’ECC).
■ Al giorno d’oggi completamente inutile.
■ Richiede dischi identici
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 3■Ogni dato viene scritto byte per byte su dischi diversi. Per ogni
dato vengono anche scritti dei codici per il controllo e la correzione degli errori (ECC) su un singolo disco dedicato.
■ Servono x dischi per i dati ed un disco dedicato al codice ECC.
Vantaggi:
■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati. Anche il disco che contiene la parità può essere sostituito in caso di guasto.
Svantaggi:
■ Letture non particolarmente veloce (la lettura di un dato richiede l’accesso a tutti i dischi).
■ Scritture lente. Il disco contenente l’ECC è un collo di bottiglia per il sistema.
■ Richiede dischi identici
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 4■ Come RAID 3, ma il dato viene suddiviso in blocchi distribuiti dui
vari dischi.
■Dato che i file vengono letti a blocchi, questo permette letture contemporanee di più file da dischi diversi.
■ Servono x dischi per i dati ed un disco dedicato al codice ECC.
Vantaggi:
■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati. Anche il disco che contiene la parità può essere sostituito in caso di guasto.
■ Letture veloci
Svantaggi:
■ Scritture lente. Il disco contenente l’ECC è un collo di bottiglia per il sistema.
■ Richiede dischi identici
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 4
RAID 4
DISK 1 DISK 2
A1
A4
B1
C1
A2
A5
B2
C2
DISK 3 DISK 4
A3
B3
Ap
Bp
Cp
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 5■ Come RAID 4, ma i blocchi contenti l’ECC sono distribuiti su tutti
i dischi fisici.
■ Richiede un minimo di tre dischi.
■ Associa i vantaggi dello striping a quelli della ridondanza
■ E’ il più usato
Vantaggi:
■ E’ possibile correggere errori su diversi bit, fino a poter sostituire completamente un disco rotto senza perdita di dati.
■ Letture veloci
■ Scritture veloci
Svantaggi:
■ Richiede dischi identici
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 5
RAID 5
DISK 1 DISK 2
A1
A4
A7
Ap4
A2
A5
Ap3
A10
DISK 3 DISK 4
A3
Ap2
Ap1
A6
A9A8
A11 A12
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 6■ Come RAID 5, ma per ogni sottoinsieme del dato calcola due
blocchi ECC invece di uno solo.
■ I due blocchi vengono memorizzati a rotazione su dischi distinti.
■ Serve ad aumentare la ridondanza dei dati.
■ Poco usato a causa del costo e della poca sicurezza che aggiunge.
Vantaggi:
■ E’ possibile poter tollerare la rottura contemporanea di due dischi.
■ Letture veloci
Svantaggi:
■ Richiede dischi identici
■ Più lento di RAID 5
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 0+1■ Supponiamo di avere 10 dischi fisici e di dividerli in due gruppi.
■ Ad ogni gruppo viene applicato RAID 0. Ai due dischi logici risultanti viene applicato RAID 1.
Striped + Mirrored Logical DISK X
Striped Logical DISK A
RAID 0+1
DISK 0 DISK 1 DISK 2 DISK 3 DISK 4
Striped Logical DISK B
DISK 5 DISK 6 DISK 7 DISK 8 DISK 9
MIRROR A,B
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
RAID 1+0■ Supponiamo di avere 10 dischi fisici e di dividerli in coppie.
■ Ad ogni coppia viene applicato RAID 1. Ai cinque dischi logici risultanti viene applicato RAID 0.
Mirrored + Striped Logical DISK X
Mirrored Logical DISK E
Mirrored Logical DISK D
Mirrored Logical DISK C
Mirrored Logical DISK B
Mirrored Logical DISK A
RAID 1+0
DISK 0 DISK 1 DISK 2 DISK 3 DISK 4
DISK 5 DISK 6 DISK 7 DISK 8 DISK 9
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■Ma RAID 0+1 ed 1+0 sono la stessa cosa ?
■ RAID 1+0 è più affidabile. Infatti in caso di guasto di un disco:
Striped + Mirrored Logical DISK X
Striped Logical DISK A
RAID 0+1
DISK 0 DISK 1 DISK 2 DISK 3 DISK 4
Striped Logical DISK B
DISK 5 DISK 6 DISK 7 DISK 8 DISK 9
MIRROR A,B
Mid
dle
war
e L
abo
rato
ryM
IDL
AB
■Ma RAID 0+1 ed 1+0 sono la stessa cosa ?
■ RAID 1+0 è più affidabile. Infatti in caso di guasto di un disco:
Mirrored + Striped Logical DISK X
Mirrored Logical DISK E
Mirrored Logical DISK D
Mirrored Logical DISK C
Mirrored Logical DISK B
Mirrored Logical DISK A
RAID 1+0
DISK 0 DISK 1 DISK 2 DISK 3 DISK 4
DISK 5 DISK 6 DISK 7 DISK 8 DISK 9