fakultät für informatik
informatik 12
technische universität
dortmund
Die Speicherhierarchie
Peter Marwedel
Informatik 12
TU Dortmund
2012/05/24
Mögliche Stufen der Speicherhierarchie
und derzeit eingesetzte Technologien
Tertiärspeicher (Optische Speicher, Bänder)
Sekundärspeicher (Platten, Flash)
Plattencaches (DRAM)
Haupt- bzw. Primärspeicher (DRAM)
Caches (SRAM)
Register (SRAM)
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 2-
Hautspeicherorganisation
Hauptspeicher ist weitere Ebene der Speicherhierarchie
Für Leistung wichtig: Latenz und Bandbreite
 Latenz relevant für Kosten eines Fehlzugriffs auf Cache
 Bandbreite wichtig in Kombination mit ...
• großem L2-Cache ...
• der große Cache-Blöcke verwendet.
 Große Transfereinheiten zwischen Cache und
Hauptspeicher, kein wortweiser Zugriff!
Verringerung der Latenz aufwendig
Verbesserung der Bandbreite durch geeignete Organisation
des Speichers (relativ leicht) möglich
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 3-
Hautspeicherorganisation (2)
© 2003 Elsevier Science
 „Breiter” Hauptspeicher: Höhere Bandbreite durch
Parallele Zugriffe
 „Verschränkte” Organisation (interleaved): logisch wie
„breiter” Speicher, Zugriff auf Bänke zeitlich sequentiell
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 4-
Energy consumption of memories
Scratchpad (SRAM) vs. DRAM (DDR2)
40
Access time [ns]
35
Energy [nJ] - SPM
Access time [ns]
Runtime [ns]
Energy [nJ]
30
Energy [nJ] - DDR
25
DRAM
20
15
10
SRAM
5
0
4K
8K
16K
32K
64K 128K 256 K 512K
1M
2M
4M
8M
16M 32M
64M 128M 264M 512M
1G
2G
Size [Bytes]
CACTI, 64 bit read; banks: 16;
65 nm for SRAM, 80 nm for DRAM
technische universität
dortmund
fakultät für
informatik
Source: Olivera Jovanovic,
TU Dortmund, 2012
 p. marwedel,
informatik 12, 2012
- 5-
NOR: 1 Transistor zwischen Bitleitung und Masse
NAND: >1 Transistor zwischen Bitleitung und Masse
contact
contact
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
was at [www.samsung.com/Products/ Semicon-ductor/
Flash/FlashNews/ FlashStructure. htm] (2007)
NOR- und NAND-Flash
- 6-
Type/Eigenschaft
NOR
NAND
Wahlfreier Zugriff
Ja 
Nein 
Block löschen
Langsam 
Schnell 
Zellgröße
Groß 
Klein 
Zuverlässigkeit
Größer 
Kleiner 
Direktes Ausführen Yes 
technische universität
dortmund
Codespeicherung, boot
flash, set top box
No 
Datenspeicher, USB
Sticks, Speicherkarten
tor/Flash/FlashNews/FlashStructure.htm]
Anwendungen
[www.samsung.com/Products/Semiconduc
Eigenschaften
von NORund
NANDFlashSpeichern
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 7-
Charakteristische Eigenschaften
von NAND Flash Speicher
Speicher aufgeteilt in Blöcke (typ. 16-256 KB),
Blöcke unterteilt in Seite (typ. 0.5-5 KB).
Schreib-/Lesevorgänge jeweils auf Seiten
1 Bit/Zelle (SLC)
>1 Bit/Zelle (MLC)
Lesen (Seite)
25 µs
≫ 25 µs
Schreiben (Seite)
300 µs
≫ 300 µs
Löschen (Block)
2 ms
1.5 ms
J. Lee, S. Kim, H. Kwin, C. Hyun, S, Ahn, J. Choi, D. Lee, S.Noh: Block
Recycling Schemes and Their Cost-based Optimization in NAND Flash
Memory Based Storage System, EMSOFT’07, Sept. 2007
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 8-
Seiten-/bzw. Sektorabbildung mit
Flash transaction layer (FTL)
Seitentabelle
Seite
0
Block 0
logische
SektorNummer
Block 1
Block 2
Block 3
15
Invertierte Seitentabelle im Flashspeicher gespeichert
(Extra Bits); “Normale Seitentabelle” während der
Initialisierung erzeugt; Seitentabelle kann sehr groß werden;
Wird in kleinen NOR Flash-Speichern benutzt.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
Sektor  Seite
+ Extra Bits
- 9-
Ausnutzung von Regularität
Häufig lange
Sequenzen
von
sequentiellen
Schreibvorgängen
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 10 -
Block mapping flash transaction layer (FTL)
Block mapping
table
logische
Block/
SektorNummer
concat
&
Sektoranteil
0
Physikalische
Block/
SektorNummer
Block 0
Block 1
Block 2
Block 3
15
 Abbildungstabellen kleiner als bei Seiten-basierten FTLs
 In großen NAND Flash-Speichern benutzt
 Einfache Realisierung,
 Wiederholtes Schreiben erfordert Kopieren auf einen neuen Block
 Schlechte Performance bei wiederholtem und zufälligem Schreiben
 Hybride Verfahren
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 11 -
Ausgleich der Abnutzung (wear levelling)
Beispiel (Lofgren et al., 2000, 2003):
 Jede erase unit (Block) besitzt Löschzähler
 1 Block wird als Ersatz vorgehalten
 Wenn ein häufig genutzter Block frei wird,
wird der Zähler gegen den des am wenigsten
benutzten Blocks verglichen. Wenn der
Unterschied groß ist:
• Inhalt wenig genutzten Blocks
( Konstanten)  Ersatz
• Inhalt häufig genutzten Blocks
 am wenigsten genutzter Block
• Häufig genutzter Block
wird zum Ersatzblock
technische universität
dortmund
fakultät für
informatik
Konst
Ersatz
Var
Var
Konst
Ersatz
Source: Gal, Toledo, ACM Computing Surveys, June 2005
 p. marwedel,
informatik 12, 2012
- 12 -
Flash memory as main memory
Approach published (Wu, Zwaenepoel, 1994):
 Uses MMU
 RAM + Flash mapped to memory map
 Reads from Flash read single words from Flash
 Writes copy block of data into RAM,
all updates done in RAM
 If the RAM is full, a block is copied back to Flash
 Crucial issue: Speed of writes.
Proposal based on wide bus between Flash and RAM, so
that writes are sufficiently fast
 Larger erase units, increased wear-out feasible.
M. Wu, W. Zwaenepoel: eNVy: A nonvolatile, main memory storage system. In
Proceedings of the 6th International Conference on Architectural Support for
Programming Languages and Operating Systems. 1994, p. 86–97.
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 13 -
Memory hierarchies beyond main memory
 Massive datasets are being collected everywhere
 Storage management software is billion-$ industry
Examples (already in 2002):
More New Information Over Next 2
Years Than in All Previous History
Phone: AT&T 20TB phone call
database, wireless tracking
Consumer: WalMart 70TB
database, buying patterns
WEB: Web crawl of 200M pages
and 2000M links, Akamai stores
7 billion clicks per day
Geography: NASA satellites
generate 1.2TB per day
[© Larse Arge, I/O-Algorithms, http://www.daimi.au.dk/~large/ioS07/]
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 14 -
Vergleich Harddisc/Flash-Speicher (2011)
Flash
HDD
Zugriffszeit (random) [ms]
~0.1
5-10
Kosten [$/GB]
1,2-2 (Fixanteil gering)
0,05-0,1, Fixanteil !
Kapazität [GB]
Tyo. < 120
1000-3000
Leistungsaufnahme [W]
Ca. 1/3-1/2 der HDD-Werte
Typ. 12-18, laptops: ~2
Defragmentierung
unwichtig
Zu beachten
Zeitverhalten
Relativ deterministisch
Von Kopfbewegung
abhängig
Anzahl der Schreibvorgänge begrenzt
unbegrenzt
Verschlüsselung
Überschreiben unverÜberschreiben
schlüsselter Info schwierig einfach
Mechanische Empfindlichk.
Gering
Stoßempfindlich
Wiederbenutzung von
Blöcken
Erfordert Extra-Löschen
Überschreiben
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
[wikipedia, 2011]
informatik 12, 2012
- 15 -
Flash-spezifische Dateisysteme
 Zwei Ebenen können ineffizient sein:
• FTL bildet Magnetplatte nach
• Standard-Dateisystem basiert auf Magnetplatten
Beispiel: Gelöschte Sektoren nicht markiert
 nicht wieder verwendet
 Log-strukturierte Dateisysteme fügen nur neue
Informationen zu
• Für Magnetplatten
- Schnelle Schreibvorgänge
- Langsames Lesen (Kopfbewegungen für verteilte Daten)
• Ideal für Flash-basiertes Dateisystem:
- Schreibvorgänge in leere Sektoren
- Lesen nicht langsam, da keine Köpfe bewegt werden
Spezifische log-basierte Flash-Dateisysteme
- JFFS2 (NOR)
- YAFFS (NAND)
technische universität
dortmund
fakultät für
informatik
Source: Gal, Toledo, ACM Computing Surveys, June 2005
 p. marwedel,
informatik 12, 2012
- 16 -
External Memory Model
D
Block I/O
N= # of items in the problem instance
B = # of items per disk block
M = # of items that fit in main memory
T = # of items in output
I/O: Move block between memory and disk
M
We assume (for convenience) that M >B2
P
[© Larse Arge, I/O-Algorithms, http://www.daimi.au.dk/~large/ioS07/]
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 17 -
Scalability Problems: Block Access Matters
Example: Reading an array from disk
• Array size N = 10 elements
• Disk block size B = 2 elements
• Main memory size M = 4 elements (2 blocks)
1 5
1 2 10 9 5 6 3 4 8 7
2 6 3 8 9 4 7 10
Algorithm 1: N=10 I/Os
Algorithm 2: N/B=5 I/Os
 Difference between N and N/B large since block size is
large
• Example: N = 256 x 106, B = 8000 , 1ms disk access
time
 N I/Os take 256 x 103 sec = 4266 min = 71 hr
 N/B I/Os take 256/8 sec = 32 sec
[© Larse Arge, I/O-Algorithms, http://www.daimi.au.dk/~large/ioS07/]
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 18 -
Analysis of algorithm complexity mostly using the RAM
(random access machine; const. mem. acc. times) model
outdated
 take memory hierarchies explicitly into account.
Example:
 Usually, divide-&-conquer algorithms are good.
 “Cache”-oblivious algorithms (are good for any size of
the faster memory and any block size). Assuming
•
•
•
•
Optimal replacement (Belady’s algorithm)
2 Memory levels considered (there can be more)
Full associativity
Automatic replacement
[Piyush Kumar: Cache Oblivious Algorithms, in: U. Meyer et al. (eds.): Algorithms for Memory
Hierarchies, Lecture Notes in Computer Science, Volume 2625, 2003, pp. 193-212]
[Naila Rahman: Algorithms for Hardware Caches and TLB, in: U. Meyer et al. (eds.): Algorithms for
Memory Hierarchies, Lecture Notes in Computer Science, Volume 2625, 2003, pp. 171-192]
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
Unlikely to be ever automatic
Re-writing algorithms for memory hierarchies
- 19 -
Zusammenfassung
Betrachtung der gesamten Speicherhierarchie
 Interface zu Caches erfordert breite Zugänge zum
Hauptspeicher
 Flash-Speicher erfordern Anpassung an technologische
Eigenheiten
• Erfordern in der Regel Abbildung logischereale Blockadressen,
und dementsprechend FTL/MMU
• Nur eingeschränkt als Hauptspeicher geeignet
• Als Sekundärspeicher am besten mit speziellem Dateisystem zu
kombinieren
 Bei großen Datenmengen sind „Sekundärspeicher“
hinsichtlich der Performance die entscheidenden
Komponenten
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 20 -
technische universität
dortmund
fakultät für informatik
informatik 12
Die weitere Entwicklung
Basis:
 ITRS
 Babak Falsafi: Dark Silicon & Its Implications on Server Chip Design,
Microsoft Research, Nov. 2010
Siehe auch publications unter http://parsa.epfl.ch/~falsafi/
 Hadi Esmaeilzadeh: Dark Silicon and the End of Multicore Scaling,
International Symposium on Computer Architecture (ISCA ’11)
[ITRS Update 2008]
Predicted number of functions per chip
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 22 -
Reason for increased power consumption:
trend toward higher performances
For stationary systems:
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
© ITRS, 2010
- 23 -
Where is the power consumed?
- Consumer portable systems According to
International
Technology
Roadmap for
Semiconductors
(ITRS), 2010
update,
[www.itrs.net]
Based on
current
trends
© ITRS, 2010
 Memory and logic, static and dynamic relevant
 Following current trends will violate maximum power constraint (0.5-1 W).
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 24 -
Where is the power consumed?
- Stationary systems According to
International
Technology
Roadmap for
Semiconductors
(ITRS), 2010
update,
[www.itrs.net]
© ITRS, 2010
 Switching power, logic dominating
 Overall power consumption a nightmare for environmentalists
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 25 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 26 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 27 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 28 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 29 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 30 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 31 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 32 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 33 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 34 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 35 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 36 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 37 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 38 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 39 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 40 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 41 -
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 42 -
Zusammenfassung
 Der Trend zur weiteren Miniaturisierung von Schaltungen
hält vermutlich noch für einige Jahre weiterhin an
(wie viele?)
 Allerdings trifft man neben der memory wall jetzt auch auf
die power wall
 Man kann mehr Transistoren auf die Chips
integrieren, aber sie nicht mehr alle gleichzeitig
mit Strom versorgen ( dark silicon)
 Partielle Abhilfen:
• Embedded Prozessoren (z.B. ARM) als Server?
• 3D-Integration von Speicher?
• Über die Energieeffizienz von Software nachdenken!
technische universität
dortmund
fakultät für
informatik
 p. marwedel,
informatik 12, 2012
- 43 -