23. Flavours of Flash SSD
DDR RAM Drive
SATA flash drive
PCI flash drive
SSD storage Server
24. PCI SSD vs SATA SSD
PCI vs SATA
• SATA was designed for traditional disk drives with high latencies
• PCI is designed for high speed devices
• PCI SSD has latency ~ 1/3rd of SATA
28. Flash Disk write degradation
Empty
Partially Full
All Blocks empty:
Write time=250 us
25% part full:
• Write time= ( ¾ * 250 us + 1/4 * 2000 us) = 687 us
75% part full
• Write time = ( ¼ * 250 us + ¾ * 2000 us ) = 1562 us
29. Data Insert Free Block Pool
Insert
SSD Controller
Used Block Pool
Empty Data Page
Valid Data Page
InValid Data Page
30. Free Block Pool
Data Update
Update
SSD Controller
Used Block Pool
Empty Data Page
Valid Data Page
Invalid Data Page
31. Free Block Pool
Garbage Collection
SSD Controller
Used Block Pool
Empty Data Page
Valid Data Page
Invalid Data Page
35. Buffer cache and Free buffer waits
Buffer
Read from buffer cache Free cache
Oracle process Buffer
Write to buffer cache
Waits
Free buffer waits often occur DBWR
when reads are much faster
than writes....
Read from disk
Database
files Write dirty blocks to disk
36. Flash Cache
Buffer
Read from buffer cache cache
Oracle process
Write to buffer cache
Read from
flash cache Flash Cache
DBWR
Write clean
blocks (time
permitting)
DB Flash cache architecture is designed to
accelerate buffered reads
Read from disk Write dirty blocks to disk
Database
files
44. Performance: indexed reads(X-25)
Flash tablespace 48.17
CPU
Flash cache 143.27
db file IO
flash cache IO
Other
No Flash 529.7
0 100 200 300 400 500 600
Elapsed (s)
45. Performance: Read/Write (X-25)
Flash tablespace 200
CPU
db file IO
Flash Cache 1,693
write complete
free buffer
flash cache IO
Other
3,289
No Flash
0 500 1000 1500 2000 2500 3000 3500
Elapsed time (s)
46. Random reads – FusionIO
Table on SSD 121
SAS disk, flash cache 583 CPU
Other
DB File IO
Flash cache IO
SAS disk, no flash cache 2,211
0 500 1000 1500 2000 2500
Elapsed time (s)
47. Updates – Fusion IO
Table on SSD 529
DB CPU
db file IO
SAS disk, flash cache 1,934
log file IO
flash cache
free buffer waits
Other
SAS disk, no flash cache 6,219
0 1000 2000 3000 4000 5000 6000 7000
Elapsed Time (s)
48. Full table scan – FusionIO
Table on SSD 72
CPU
SAS disk, flash cache 398
Other
DB File IO
Flash Cache IO
SAS disk, no flash cache 418
0 50 100 150 200 250 300 350 400 450
Elasped time (s)
49. Sorting – what we expect
Multi-pass
Disk Sort
Time
Single Pass
Disk Sort
Memory Sort
PGA Memory available (MB)
Table/Index IO CPU Time Temp Segment IO 49
50. Disk Sorts – temporary tablespace
4000
3500
3000
Multi-pass
Disk Sort 2500
Elapsed time (s)
2000
1500
Single Pass 1000
Disk Sort
500
0
300 250 200 150 100 50 0
Sort Area Size
SAS based TTS SSD based TTS 50
51. Redo performance – Fusion IO
SAS based redo log 291.93
CPU
Log IO
Flash based redo log 292.39
0 50 100 150 200 250 300 350
Elapsed time (s)
52. Concurrent redo workload (x10)
Flash based redo log 1,637 331 1,681
CPU
Other
Log File IO
SAS based redo log 1,605 397 1,944
0 500 1,000 1,500 2,000 2,500 3,000 3,500 4,000 4,500
Elapsed time (s) 52
58. Fusion IO direct cache – Table scans
direct cache on 2nd scan 36
direct cache on 1st scan 147
CPU
IO
Other
No cache 2nd scan 147
No cache 1st scan 147
0 20 40 60 80 100 120 140 160
Elapsed time (s)