SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Image: Mathias Krumbholz (wikipedia commons)
Plan for Today
Recap: Unix System 5 File System
Creating a File
Better File Systems: ZFS, RAID
Flash Memory
1
PS4 is due
11:59pm
Sunday, 6 April
Exam 2 Redo: posted on
course site, due 11:69pm
2
0
1
2


9
10
11
12 Disk Block
(1K bytes)
Indirect
Disk Block
(1K bytes)
4 bytes for each = 256 pointers
Disk Block
(1K bytes)
Disk Block
(1K bytes)
Disk Block
(1K bytes)
Double
Indirect
Disk Block
Indirect
Disk Block
(1K bytes)
Indirect
Disk Block
(1K bytes)
D
(
D
(1
D
(
Diskmap
(Unix System 5)
Directories are Files Too!
3
Filename Inode
. 494211
.. 494205
.DS_Store 494212
class0 6565946
class1 6565826
class10 1467012
class11 2252968

 

class16 5649155
class2 494218

 

ls -ali
How do you create a new file?
4
Finding a Free Block
5
Data
I-List (inodes)
Superblock
Boot block
Not to scale!
0
1


98
99
List of free disk blocks
0
1


98
99
Finding a Free inode
6
Data
I-List (inodes)
Superblock
Boot block
Not to scale!
0 0
1 1
2 0
3 0

 

Superblock keeps a cache of free inodes
Finding a Free inode
7
Data
I-List (inodes)
Superblock
Boot block
Not to scale!
0 0
1 1
2 0
3 0

 

Superblock keeps a cache of free inodes
Lots more to do!
Need to select disk blocks, update directory, etc.
Read the OSTEP chapter.
Modern File Systems
8
IBM 350 Disk Storage (1956)
118,000 in3, 5MB, 600ms seek
Seagate HDD (2013)
23 in3, 4TB (4M MB), 5ms seek
What should a modern file system do
that Unix S5FS doesn’t?
9
10
11
ZFSDeveloped for Solaris, 2005
Now open source:
http://open-zfs.org/
12
“MacZFS is free data storage and protection software
for all Mac OS users. It’s for people who have Mac OS,
who have any data, and who really like their data.
Whether on a single-drive laptop or on a massive
server, it’ll store your petabytes with ragingly redundant
RAID reliability, and it’ll keep the bit-rotted bleeps and
bloops out of your iTunes library.”
Handling Failures
13
Block Checksums
14
0
1
2


9
10
11
12
Disk Block
(1K bytes)
S5FS
Block
Checksum
(SHA-256)
0 40a3dc

1 2c5829d

2 955d253


 

ZFS
How do you check the checksums?
Hashing the Hashes
15
Block 1 Block 2 Block 3 Block 4
Hash(B1) Hash(B2) Hash(B3) Hash(B4)
Merkle Tree
16
Ralph Merkle
Block 1 Block 2 Block 3 Block 4
Hash(B1) Hash(B2) Hash(B3) Hash(B4)
Recovery
17
copies = 2
One
Copy
Copy 1
Copy 2
Keep 2 copies of every block: if
checksum fails for first copy
read, try reading second copy.
18
copies = 3
One
Copy
Copy 1
Copy 2
For the truly paranoid

Copy 3
RAID
19
For the fairly paranoid but cheap
 Redundant
Arrays of
Inexpensive
DisksACM SIGMOD 1988
whitehouse.gov
Case for
RAID
20
21
Redundancy
22
23
Improving Performance
24
Cache (64MB DRAM)
Adaptive Replacement Cache
Adaptive Replacement Cache
25
T1: Recent Cache Entries
Accessed Again
T2: Frequently-Used Blocks
Size of T1 adapts
B1: Evicted from T1 (LRU) B2: Evicted from T2 (LRU)
How should relative size of T1 and T2 be adjusted?
BlocksinCache“Ghost”Entries
Adaptive Replacement Cache
26
T1: Recent Cache Entries
Accessed Again
T2: Frequently-Used Blocks
Size of T1 adapts
B1: Evicted from T1 (LRU) B2: Evicted from T2 (LRU)
BlocksinCache“Ghost”Entries
Hit in B1: should increase size of T1, drop entry from T2 to B2
Hit in B2: should increase size of T2, drop entry from T1 to B1
27
IBM Almaden Research Center
Do you actually have
a disk like this on
your EC2 node/main
computing device?
28
Cache (64MB DRAM)
Flash Memory
29
Solid State Drive
30
Fujio Masuoka
Drain
How NAND Flash Works
31
Oxide Layer
Adapted from http://computer.howstuffworks.com/flash-memory1.htm
Word Line
BitLine
Control gate
Floating gate
stores electrons
Source 1
Uncharged State
Drain
How NAND Flash Works
32
Oxide Layer
Adapted from http://computer.howstuffworks.com/flash-memory1.htm
Word Line
BitLine
Control gate
Floating gate
stores electrons
Source 0
Charged State
----------------------------------------
Flash Memory
Non-volatile
preserves state without any power
Solid State
no moving parts larger than electrons
Fast (compared to disk)
random read time ~10,000ns
33
Summary: Storage Systems
34
Device Example Time to Access Cost per Bit
Mercury (Gin) Delay Line UNIVAC (1951) 220,000ns (average)
$ 0.38 (1968)
(a bazillion n$)
DRAM
Kingston KVR16N11/4
4GB DDR3 ($40)
13.75ns 1.16 n$
SSD
Samsung 500GB
($300)
~10,000 ns
(for random read)
0.075 n$
Disk Drive
Seagate Desktop HDD 4
TB SATA 6Gb/s NCQ
64MB
5,000,000ns 0.0046 n$
Challenges of Flash
Writing (1  0) is expensive
Erasing (0  1) is super expensive:
Apply electric field to release charge
Can only erase a full block (often 128K) at a time
Cells wear out after 10,000-1M erasings
Reading disturbs nearby cells
Cannot read same cell too many times
35
But: no seek time – time to access every cell is the same!
How should we design a file
system for flash memory?
36
37
UVa Mathematics (1984)
Berkeley CS PhD
Stanford Professor
Log-Structured File System
38
Write sequentially: never overwrite data
File 1 File 2
Updated
File 1
Disk
April Fool’s? What’s wrong with this picture?
Where does the meta-data go?
39
Block 0
Disk
Block 1 Block 2
InodeA
When should we do the writes?
40
Block 0
Disk
Block 1 Block 2
InodeA
When should we do the writes?
41
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
In-Memory Buffer
Block 6 Block 7
InodeB
When should we do the writes?
42
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
In-Memory Buffer
Block 6 Block 7
InodeB
Updating a File
43
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Suppose the contents of Block 1 are modified?
Updating a File
44
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Block 1 -
update
Updating a File
45
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Block 1 -
update
InodeA’
Finding an Inode
46
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Block 1 -
update
InodeA’
Recap: how did we do this for S5FS?
47
Filename Inode
. 494211
.. 494205
.DS_Store 494212
class0 6565946
class1 6565826

 

class16 5649155
class2 494218

 

Recap: how did we do this for S5FS?
48
Filename Inode
. 494211
.. 494205
.DS_Store 494212
class0 6565946
class1 6565826

 

class16 5649155
class2 494218

 

Finding an Inode
49
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Block 1 -
update
InodeA’
50
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Block 1 -
update
InodeA’
imap
0
1
2
Pointer to most recent version of inode.
51
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Block 1 -
update
InodeA’
imap
0
1
2
Pointer to most recent version of inode.
Where should we store the imap?
52
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block
InodeB
Block 7
Block 1 -
update
InodeA’
imap
0
1
2
Pointer to most recent version of inode.
At the end of each write! (when
necessary) – its small (4 bytes *
number of inodes), and sequential
writes are cheap!
53
Block 0
Disk
Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block 7InodeB
Block 7
Block 1 -
update
InodeA’
imap
Block 8
Block 0 -
update


Won’t the disk fill up with lots of old junk?
Block 5 -
update
InodeA’
InodeB’
imap
54
Class 8:
Garbage Collection in LSFS
55
Block 0 Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block 7
InodeB
Block 7
Block 1 -
update
InodeA’
imap
Block 8
Block 0 -
update

Block 5 -
update
InodeA’
InodeB’
imap
Garbage Collection in LSFS
56
Block 0 Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block 7
InodeB
Block 7
Block 1 -
update
InodeA’
imap
Block 8
Block 0 -
update

Block 5 -
update
InodeA’
InodeB’
imap
Segment
Garbage Collection in LSFS
57
Block 0 Block 1 Block 2
InodeA
Block 3 Block 4 Block 5
Disk, continued
Block 6 Block 7
InodeB
Block 7
Block 1 -
update
InodeA’
imap
Block 8
Block 0 -
update

Block 5 -
update
InodeA’
InodeB’
imap
Segment
Garbage Collection in LSFS
58
Block 6 Block 7
InodeB
Block 7
Block 1 -
update
InodeA’
imap
Block 8
Block 0 -
update

Block 5 -
update
InodeA’
InodeB’
imap
Segment
A full clean segment!
Block 2 Block 3 Block 4
InodeA’
InodeB’
imap


59
SOSP 1991
1987
60
http://www.jcmit.com/flash2013.htm
2003: $0.25/MB
2006: $0.02/MB
2010: $0.002/MB
2013: $0.0005/MB
< $1/GB
Differences with Flash
No need for sequential writes
Just need to find unused blocks
Can do 1  0 rewrites!
Maintain a bitmap of used blocks at fixed block
Lots of complexities:
Bits wear out, read disruption, etc.
61
Who should deal with those complexities?
62
2GB microSD card
Andrew “bunnie” Huang
63
2GB microSD card
Andrew “bunnie” Huang
ARM Processor!
64
Summary: Storage Systems
65
Device Example Time to Access Cost per Bit
Mercury (Gin) Delay Line UNIVAC (1951) 220,000ns (average)
$ 0.38 (1968)
(a bazillion n$)
DRAM
Kingston KVR16N11/4
4GB DDR3 ($40)
13.75ns 1.16 n$
SSD
Samsung 500GB
($300)
~10,000 ns
(for random read)
0.075 n$
Disk Drive
Seagate Desktop HDD 4
TB SATA 6Gb/s NCQ
64MB
5,000,000ns 0.0046 n$
ModernHardDrive
Relevance to PS4?
66
Not expected to implement any of this
– a very simple filesystem in memory is
fine (but feel free to surprise us!)
Your filesystem is in memory: no need to deal with
complexities of interfacing with persistent media
(but doing this could be a good post-PS4 project!).
FlashKernel?
67
by shamserg
PS4 Due
Sunday,
11:59pm

Weitere Àhnliche Inhalte

Was ist angesagt?

Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened EnvironmentsLet Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened EnvironmentsNicolas Collery
 
Mac Memory Analysis with Volatility
Mac Memory Analysis with VolatilityMac Memory Analysis with Volatility
Mac Memory Analysis with VolatilityAndrew Case
 
Namespaces in Linux
Namespaces in LinuxNamespaces in Linux
Namespaces in LinuxLubomir Rintel
 
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityAndroid Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityJoe Sylve
 
Hunting Mac Malware with Memory Forensics
Hunting Mac Malware with Memory ForensicsHunting Mac Malware with Memory Forensics
Hunting Mac Malware with Memory ForensicsAndrew Case
 
Linux Initialization Process (1)
Linux Initialization Process (1)Linux Initialization Process (1)
Linux Initialization Process (1)shimosawa
 
Memory forensics
Memory forensicsMemory forensics
Memory forensicsSunil Kumar
 
PostgreSQL on ZFS Lightning Talk
PostgreSQL on ZFS Lightning TalkPostgreSQL on ZFS Lightning Talk
PostgreSQL on ZFS Lightning TalkSean Chittenden
 
Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...
Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...
Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...Andrew Case
 
Docker storage drivers by JĂ©rĂŽme Petazzoni
Docker storage drivers by JĂ©rĂŽme PetazzoniDocker storage drivers by JĂ©rĂŽme Petazzoni
Docker storage drivers by JĂ©rĂŽme PetazzoniDocker, Inc.
 
Prosit google-cloud
Prosit google-cloudProsit google-cloud
Prosit google-cloudUC Davis
 
Linux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyLinux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyNugroho Gito
 
Linux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKBLinux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKBshimosawa
 
Unix::Statgrab
Unix::StatgrabUnix::Statgrab
Unix::StatgrabJens Rehsack
 
Malware analysis using volatility
Malware analysis using volatilityMalware analysis using volatility
Malware analysis using volatilityYashashree Gund
 
Union FileSystem - A Building Blocks Of a Container
Union FileSystem - A Building Blocks Of a ContainerUnion FileSystem - A Building Blocks Of a Container
Union FileSystem - A Building Blocks Of a ContainerKnoldus Inc.
 
Forensic Memory Analysis of Android's Dalvik Virtual Machine
Forensic Memory Analysis of Android's Dalvik Virtual MachineForensic Memory Analysis of Android's Dalvik Virtual Machine
Forensic Memory Analysis of Android's Dalvik Virtual MachineSource Conference
 
Linux Interview Questions Quiz
Linux Interview Questions QuizLinux Interview Questions Quiz
Linux Interview Questions QuizUtkarsh Sengar
 
Sql Bits Sql Server Crash Dump Analysis
Sql Bits   Sql Server Crash Dump AnalysisSql Bits   Sql Server Crash Dump Analysis
Sql Bits Sql Server Crash Dump AnalysisPablo Alvarez Doval
 
Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...
Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...
Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...Nicolas Collery
 

Was ist angesagt? (20)

Let Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened EnvironmentsLet Me Pick Your Brain - Remote Forensics in Hardened Environments
Let Me Pick Your Brain - Remote Forensics in Hardened Environments
 
Mac Memory Analysis with Volatility
Mac Memory Analysis with VolatilityMac Memory Analysis with Volatility
Mac Memory Analysis with Volatility
 
Namespaces in Linux
Namespaces in LinuxNamespaces in Linux
Namespaces in Linux
 
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and VolatilityAndroid Mind Reading: Android Live Memory Analysis with LiME and Volatility
Android Mind Reading: Android Live Memory Analysis with LiME and Volatility
 
Hunting Mac Malware with Memory Forensics
Hunting Mac Malware with Memory ForensicsHunting Mac Malware with Memory Forensics
Hunting Mac Malware with Memory Forensics
 
Linux Initialization Process (1)
Linux Initialization Process (1)Linux Initialization Process (1)
Linux Initialization Process (1)
 
Memory forensics
Memory forensicsMemory forensics
Memory forensics
 
PostgreSQL on ZFS Lightning Talk
PostgreSQL on ZFS Lightning TalkPostgreSQL on ZFS Lightning Talk
PostgreSQL on ZFS Lightning Talk
 
Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...
Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...
Memory Forensics: Defeating Disk Encryption, Skilled Attackers, and Advanced ...
 
Docker storage drivers by JĂ©rĂŽme Petazzoni
Docker storage drivers by JĂ©rĂŽme PetazzoniDocker storage drivers by JĂ©rĂŽme Petazzoni
Docker storage drivers by JĂ©rĂŽme Petazzoni
 
Prosit google-cloud
Prosit google-cloudProsit google-cloud
Prosit google-cloud
 
Linux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of TechnologyLinux Survival Kit for Proof of Concept & Proof of Technology
Linux Survival Kit for Proof of Concept & Proof of Technology
 
Linux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKBLinux Kernel Booting Process (2) - For NLKB
Linux Kernel Booting Process (2) - For NLKB
 
Unix::Statgrab
Unix::StatgrabUnix::Statgrab
Unix::Statgrab
 
Malware analysis using volatility
Malware analysis using volatilityMalware analysis using volatility
Malware analysis using volatility
 
Union FileSystem - A Building Blocks Of a Container
Union FileSystem - A Building Blocks Of a ContainerUnion FileSystem - A Building Blocks Of a Container
Union FileSystem - A Building Blocks Of a Container
 
Forensic Memory Analysis of Android's Dalvik Virtual Machine
Forensic Memory Analysis of Android's Dalvik Virtual MachineForensic Memory Analysis of Android's Dalvik Virtual Machine
Forensic Memory Analysis of Android's Dalvik Virtual Machine
 
Linux Interview Questions Quiz
Linux Interview Questions QuizLinux Interview Questions Quiz
Linux Interview Questions Quiz
 
Sql Bits Sql Server Crash Dump Analysis
Sql Bits   Sql Server Crash Dump AnalysisSql Bits   Sql Server Crash Dump Analysis
Sql Bits Sql Server Crash Dump Analysis
 
Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...
Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...
Needle In An Encrypted Haystack: Forensics in a hardened environment (with Fu...
 

Andere mochten auch

Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)David Evans
 
Scheduling in Linux and Web Servers
Scheduling in Linux and Web ServersScheduling in Linux and Web Servers
Scheduling in Linux and Web ServersDavid Evans
 
Kernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring NaughtKernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring NaughtDavid Evans
 
Inventing the Future
Inventing the FutureInventing the Future
Inventing the FutureDavid Evans
 
System Calls
System CallsSystem Calls
System CallsDavid Evans
 
Unix file systems 2 in unix internal systems
Unix file systems 2 in unix internal systems Unix file systems 2 in unix internal systems
Unix file systems 2 in unix internal systems senthilamul
 
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...David Evans
 
ZFS Tutorial USENIX June 2009
ZFS  Tutorial  USENIX June 2009ZFS  Tutorial  USENIX June 2009
ZFS Tutorial USENIX June 2009Richard Elling
 
Nu: scrum op school
Nu: scrum op schoolNu: scrum op school
Nu: scrum op schoolJohanvanDelden
 
What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)David Evans
 
SSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingSSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingDavid Evans
 
Making a Process (Virtualizing Memory)
Making a Process (Virtualizing Memory)Making a Process (Virtualizing Memory)
Making a Process (Virtualizing Memory)David Evans
 
Managing Memory
Managing MemoryManaging Memory
Managing MemoryDavid Evans
 
Segmentation Faults, Page Faults, Processes, Threads, and Tasks
Segmentation Faults, Page Faults, Processes, Threads, and TasksSegmentation Faults, Page Faults, Processes, Threads, and Tasks
Segmentation Faults, Page Faults, Processes, Threads, and TasksDavid Evans
 
Once Upon a Process
Once Upon a ProcessOnce Upon a Process
Once Upon a ProcessDavid Evans
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Peter Martin
 
Class 1: What is an Operating System?
Class 1: What is an Operating System?Class 1: What is an Operating System?
Class 1: What is an Operating System?David Evans
 
Unix File System
Unix File SystemUnix File System
Unix File Systemstudent(MCA)
 
Building Linux IPv6 DNS Server (Complete Presentation)
Building Linux IPv6 DNS Server (Complete Presentation)Building Linux IPv6 DNS Server (Complete Presentation)
Building Linux IPv6 DNS Server (Complete Presentation)Hari
 
Mca ii os u-5 unix linux file system
Mca  ii  os u-5 unix linux file systemMca  ii  os u-5 unix linux file system
Mca ii os u-5 unix linux file systemRai University
 

Andere mochten auch (20)

Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)Invent the Future (Operating Systems in 2029)
Invent the Future (Operating Systems in 2029)
 
Scheduling in Linux and Web Servers
Scheduling in Linux and Web ServersScheduling in Linux and Web Servers
Scheduling in Linux and Web Servers
 
Kernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring NaughtKernel-Level Programming: Entering Ring Naught
Kernel-Level Programming: Entering Ring Naught
 
Inventing the Future
Inventing the FutureInventing the Future
Inventing the Future
 
System Calls
System CallsSystem Calls
System Calls
 
Unix file systems 2 in unix internal systems
Unix file systems 2 in unix internal systems Unix file systems 2 in unix internal systems
Unix file systems 2 in unix internal systems
 
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
Smarter Scheduling (Priorities, Preemptive Priority Scheduling, Lottery and S...
 
ZFS Tutorial USENIX June 2009
ZFS  Tutorial  USENIX June 2009ZFS  Tutorial  USENIX June 2009
ZFS Tutorial USENIX June 2009
 
Nu: scrum op school
Nu: scrum op schoolNu: scrum op school
Nu: scrum op school
 
What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)What the &~#@&lt;!? (Pointers in Rust)
What the &~#@&lt;!? (Pointers in Rust)
 
SSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and SchedulingSSL Failing, Sharing, and Scheduling
SSL Failing, Sharing, and Scheduling
 
Making a Process (Virtualizing Memory)
Making a Process (Virtualizing Memory)Making a Process (Virtualizing Memory)
Making a Process (Virtualizing Memory)
 
Managing Memory
Managing MemoryManaging Memory
Managing Memory
 
Segmentation Faults, Page Faults, Processes, Threads, and Tasks
Segmentation Faults, Page Faults, Processes, Threads, and TasksSegmentation Faults, Page Faults, Processes, Threads, and Tasks
Segmentation Faults, Page Faults, Processes, Threads, and Tasks
 
Once Upon a Process
Once Upon a ProcessOnce Upon a Process
Once Upon a Process
 
Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)Basis Linux (aan de hand van LPIC-1)
Basis Linux (aan de hand van LPIC-1)
 
Class 1: What is an Operating System?
Class 1: What is an Operating System?Class 1: What is an Operating System?
Class 1: What is an Operating System?
 
Unix File System
Unix File SystemUnix File System
Unix File System
 
Building Linux IPv6 DNS Server (Complete Presentation)
Building Linux IPv6 DNS Server (Complete Presentation)Building Linux IPv6 DNS Server (Complete Presentation)
Building Linux IPv6 DNS Server (Complete Presentation)
 
Mca ii os u-5 unix linux file system
Mca  ii  os u-5 unix linux file systemMca  ii  os u-5 unix linux file system
Mca ii os u-5 unix linux file system
 

Ähnlich wie Modern file systems for flash memory

Secondarystoragedevices1 130119040144-phpapp02
Secondarystoragedevices1 130119040144-phpapp02Secondarystoragedevices1 130119040144-phpapp02
Secondarystoragedevices1 130119040144-phpapp02Seshu Chakravarthy
 
9_Storage_Devices.pptx
9_Storage_Devices.pptx9_Storage_Devices.pptx
9_Storage_Devices.pptxJawaharPrasad3
 
9_Storage_Devices.pptx
9_Storage_Devices.pptx9_Storage_Devices.pptx
9_Storage_Devices.pptxAbdulhseynAayev1
 
Internal representation of files ppt
Internal representation of files pptInternal representation of files ppt
Internal representation of files pptAbhaysinh Surve
 
OpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt Ahrens
OpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt AhrensOpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt Ahrens
OpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt AhrensMatthew Ahrens
 
Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...
Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...
Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...Kuniyasu Suzaki
 
IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...
IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...
IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...npinto
 
Computer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer ArchitectureComputer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer ArchitectureHaris456
 
Hard Disk
Hard Disk Hard Disk
Hard Disk Zubair CH
 
Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits ScyllaDB
 
NAND-Flash-Data-Recovery-Cookbook-igor.pdf
NAND-Flash-Data-Recovery-Cookbook-igor.pdfNAND-Flash-Data-Recovery-Cookbook-igor.pdf
NAND-Flash-Data-Recovery-Cookbook-igor.pdfsheikhfarhanm6948
 
Some analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBSome analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBXiao Yan Li
 
AOS Lab 9: File system -- Of buffers, logs, and blocks
AOS Lab 9: File system -- Of buffers, logs, and blocksAOS Lab 9: File system -- Of buffers, logs, and blocks
AOS Lab 9: File system -- Of buffers, logs, and blocksZubair Nabi
 
Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...
Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...
Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...Kuniyasu Suzaki
 
ITC 360Professor John CovingtonSystem Administration And Managemen.docx
ITC 360Professor John CovingtonSystem Administration And Managemen.docxITC 360Professor John CovingtonSystem Administration And Managemen.docx
ITC 360Professor John CovingtonSystem Administration And Managemen.docxchristiandean12115
 
Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?Jiaqing Du
 
Case Study Raid Utility Guideline
Case Study Raid Utility GuidelineCase Study Raid Utility Guideline
Case Study Raid Utility GuidelineSelinasalvationdata
 

Ähnlich wie Modern file systems for flash memory (20)

Secondarystoragedevices1 130119040144-phpapp02
Secondarystoragedevices1 130119040144-phpapp02Secondarystoragedevices1 130119040144-phpapp02
Secondarystoragedevices1 130119040144-phpapp02
 
9_Storage_Devices.pptx
9_Storage_Devices.pptx9_Storage_Devices.pptx
9_Storage_Devices.pptx
 
9_Storage_Devices.pptx
9_Storage_Devices.pptx9_Storage_Devices.pptx
9_Storage_Devices.pptx
 
Internal representation of files ppt
Internal representation of files pptInternal representation of files ppt
Internal representation of files ppt
 
OpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt Ahrens
OpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt AhrensOpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt Ahrens
OpenZFS novel algorithms: snapshots, space allocation, RAID-Z - Matt Ahrens
 
Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...
Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...
Linux Symposium 2009 Slide Suzaki "Effect of readahead and file system block ...
 
RAID Review
RAID ReviewRAID Review
RAID Review
 
IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...
IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...
IAP09 CUDA@MIT 6.963 - Guest Lecture: Out-of-Core Programming with NVIDIA's C...
 
Computer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer ArchitectureComputer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer Architecture
 
Hard Disk
Hard Disk Hard Disk
Hard Disk
 
Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits Latest performance changes by Scylla - Project optimus / Nolimits
Latest performance changes by Scylla - Project optimus / Nolimits
 
NAND-Flash-Data-Recovery-Cookbook-igor.pdf
NAND-Flash-Data-Recovery-Cookbook-igor.pdfNAND-Flash-Data-Recovery-Cookbook-igor.pdf
NAND-Flash-Data-Recovery-Cookbook-igor.pdf
 
Some analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDBSome analysis of BlueStore and RocksDB
Some analysis of BlueStore and RocksDB
 
Unix 6 en
Unix 6 enUnix 6 en
Unix 6 en
 
AOS Lab 9: File system -- Of buffers, logs, and blocks
AOS Lab 9: File system -- Of buffers, logs, and blocksAOS Lab 9: File system -- Of buffers, logs, and blocks
AOS Lab 9: File system -- Of buffers, logs, and blocks
 
Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...
Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...
Linux.Conf.AU 2009 (LCA09) Slide "OS Circular: Internet bootable OS Archive" ...
 
ITC 360Professor John CovingtonSystem Administration And Managemen.docx
ITC 360Professor John CovingtonSystem Administration And Managemen.docxITC 360Professor John CovingtonSystem Administration And Managemen.docx
ITC 360Professor John CovingtonSystem Administration And Managemen.docx
 
15 B-Trees
15 B-Trees15 B-Trees
15 B-Trees
 
Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?Why the Address Translation Scheme Matters?
Why the Address Translation Scheme Matters?
 
Case Study Raid Utility Guideline
Case Study Raid Utility GuidelineCase Study Raid Utility Guideline
Case Study Raid Utility Guideline
 

Mehr von David Evans

Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!David Evans
 
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksTrick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksDavid Evans
 
Hidden Services, Zero Knowledge
Hidden Services, Zero KnowledgeHidden Services, Zero Knowledge
Hidden Services, Zero KnowledgeDavid Evans
 
Anonymity in Bitcoin
Anonymity in BitcoinAnonymity in Bitcoin
Anonymity in BitcoinDavid Evans
 
Midterm Confirmations
Midterm ConfirmationsMidterm Confirmations
Midterm ConfirmationsDavid Evans
 
Scripting Transactions
Scripting TransactionsScripting Transactions
Scripting TransactionsDavid Evans
 
How to Live in Paradise
How to Live in ParadiseHow to Live in Paradise
How to Live in ParadiseDavid Evans
 
Bitcoin Script
Bitcoin ScriptBitcoin Script
Bitcoin ScriptDavid Evans
 
Mining Economics
Mining EconomicsMining Economics
Mining EconomicsDavid Evans
 
The Blockchain
The BlockchainThe Blockchain
The BlockchainDavid Evans
 
Becoming More Paranoid
Becoming More ParanoidBecoming More Paranoid
Becoming More ParanoidDavid Evans
 
Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key SignaturesDavid Evans
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to CryptographyDavid Evans
 
Class 1: What is Money?
Class 1: What is Money?Class 1: What is Money?
Class 1: What is Money?David Evans
 
Multi-Party Computation for the Masses
Multi-Party Computation for the MassesMulti-Party Computation for the Masses
Multi-Party Computation for the MassesDavid Evans
 
Proof of Reserve
Proof of ReserveProof of Reserve
Proof of ReserveDavid Evans
 
Blooming Sidechains!
Blooming Sidechains!Blooming Sidechains!
Blooming Sidechains!David Evans
 
Useful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinUseful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinDavid Evans
 

Mehr von David Evans (20)

Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!Cryptocurrency Jeopardy!
Cryptocurrency Jeopardy!
 
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for CypherpunksTrick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
Trick or Treat?: Bitcoin for Non-Believers, Cryptocurrencies for Cypherpunks
 
Hidden Services, Zero Knowledge
Hidden Services, Zero KnowledgeHidden Services, Zero Knowledge
Hidden Services, Zero Knowledge
 
Anonymity in Bitcoin
Anonymity in BitcoinAnonymity in Bitcoin
Anonymity in Bitcoin
 
Midterm Confirmations
Midterm ConfirmationsMidterm Confirmations
Midterm Confirmations
 
Scripting Transactions
Scripting TransactionsScripting Transactions
Scripting Transactions
 
How to Live in Paradise
How to Live in ParadiseHow to Live in Paradise
How to Live in Paradise
 
Bitcoin Script
Bitcoin ScriptBitcoin Script
Bitcoin Script
 
Mining Economics
Mining EconomicsMining Economics
Mining Economics
 
Mining
MiningMining
Mining
 
The Blockchain
The BlockchainThe Blockchain
The Blockchain
 
Becoming More Paranoid
Becoming More ParanoidBecoming More Paranoid
Becoming More Paranoid
 
Asymmetric Key Signatures
Asymmetric Key SignaturesAsymmetric Key Signatures
Asymmetric Key Signatures
 
Introduction to Cryptography
Introduction to CryptographyIntroduction to Cryptography
Introduction to Cryptography
 
Class 1: What is Money?
Class 1: What is Money?Class 1: What is Money?
Class 1: What is Money?
 
Multi-Party Computation for the Masses
Multi-Party Computation for the MassesMulti-Party Computation for the Masses
Multi-Party Computation for the Masses
 
Proof of Reserve
Proof of ReserveProof of Reserve
Proof of Reserve
 
Silk Road
Silk RoadSilk Road
Silk Road
 
Blooming Sidechains!
Blooming Sidechains!Blooming Sidechains!
Blooming Sidechains!
 
Useful Proofs of Work, Permacoin
Useful Proofs of Work, PermacoinUseful Proofs of Work, Permacoin
Useful Proofs of Work, Permacoin
 

KĂŒrzlich hochgeladen

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...gurkirankumar98700
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 

KĂŒrzlich hochgeladen (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍾 8923113531 🎰 Avail...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 

Modern file systems for flash memory

  • 1. Image: Mathias Krumbholz (wikipedia commons)
  • 2. Plan for Today Recap: Unix System 5 File System Creating a File Better File Systems: ZFS, RAID Flash Memory 1 PS4 is due 11:59pm Sunday, 6 April Exam 2 Redo: posted on course site, due 11:69pm
  • 3. 2 0 1 2 
 9 10 11 12 Disk Block (1K bytes) Indirect Disk Block (1K bytes) 4 bytes for each = 256 pointers Disk Block (1K bytes) Disk Block (1K bytes) Disk Block (1K bytes) Double Indirect Disk Block Indirect Disk Block (1K bytes) Indirect Disk Block (1K bytes) D ( D (1 D ( Diskmap (Unix System 5)
  • 4. Directories are Files Too! 3 Filename Inode . 494211 .. 494205 .DS_Store 494212 class0 6565946 class1 6565826 class10 1467012 class11 2252968 
 
 class16 5649155 class2 494218 
 
 ls -ali
  • 5. How do you create a new file? 4
  • 6. Finding a Free Block 5 Data I-List (inodes) Superblock Boot block Not to scale! 0 1 
 98 99 List of free disk blocks 0 1 
 98 99
  • 7. Finding a Free inode 6 Data I-List (inodes) Superblock Boot block Not to scale! 0 0 1 1 2 0 3 0 
 
 Superblock keeps a cache of free inodes
  • 8. Finding a Free inode 7 Data I-List (inodes) Superblock Boot block Not to scale! 0 0 1 1 2 0 3 0 
 
 Superblock keeps a cache of free inodes Lots more to do! Need to select disk blocks, update directory, etc. Read the OSTEP chapter.
  • 9. Modern File Systems 8 IBM 350 Disk Storage (1956) 118,000 in3, 5MB, 600ms seek Seagate HDD (2013) 23 in3, 4TB (4M MB), 5ms seek
  • 10. What should a modern file system do that Unix S5FS doesn’t? 9
  • 11. 10
  • 12. 11 ZFSDeveloped for Solaris, 2005 Now open source: http://open-zfs.org/
  • 13. 12 “MacZFS is free data storage and protection software for all Mac OS users. It’s for people who have Mac OS, who have any data, and who really like their data. Whether on a single-drive laptop or on a massive server, it’ll store your petabytes with ragingly redundant RAID reliability, and it’ll keep the bit-rotted bleeps and bloops out of your iTunes library.”
  • 15. Block Checksums 14 0 1 2 
 9 10 11 12 Disk Block (1K bytes) S5FS Block Checksum (SHA-256) 0 40a3dc
 1 2c5829d
 2 955d253
 
 
 ZFS How do you check the checksums?
  • 16. Hashing the Hashes 15 Block 1 Block 2 Block 3 Block 4 Hash(B1) Hash(B2) Hash(B3) Hash(B4)
  • 17. Merkle Tree 16 Ralph Merkle Block 1 Block 2 Block 3 Block 4 Hash(B1) Hash(B2) Hash(B3) Hash(B4)
  • 18. Recovery 17 copies = 2 One Copy Copy 1 Copy 2 Keep 2 copies of every block: if checksum fails for first copy read, try reading second copy.
  • 19. 18 copies = 3 One Copy Copy 1 Copy 2 For the truly paranoid
 Copy 3
  • 20. RAID 19 For the fairly paranoid but cheap
 Redundant Arrays of Inexpensive DisksACM SIGMOD 1988 whitehouse.gov
  • 22. 21
  • 24. 23
  • 25. Improving Performance 24 Cache (64MB DRAM) Adaptive Replacement Cache
  • 26. Adaptive Replacement Cache 25 T1: Recent Cache Entries Accessed Again T2: Frequently-Used Blocks Size of T1 adapts B1: Evicted from T1 (LRU) B2: Evicted from T2 (LRU) How should relative size of T1 and T2 be adjusted? BlocksinCache“Ghost”Entries
  • 27. Adaptive Replacement Cache 26 T1: Recent Cache Entries Accessed Again T2: Frequently-Used Blocks Size of T1 adapts B1: Evicted from T1 (LRU) B2: Evicted from T2 (LRU) BlocksinCache“Ghost”Entries Hit in B1: should increase size of T1, drop entry from T2 to B2 Hit in B2: should increase size of T2, drop entry from T1 to B1
  • 29. Do you actually have a disk like this on your EC2 node/main computing device? 28 Cache (64MB DRAM)
  • 32. Drain How NAND Flash Works 31 Oxide Layer Adapted from http://computer.howstuffworks.com/flash-memory1.htm Word Line BitLine Control gate Floating gate stores electrons Source 1 Uncharged State
  • 33. Drain How NAND Flash Works 32 Oxide Layer Adapted from http://computer.howstuffworks.com/flash-memory1.htm Word Line BitLine Control gate Floating gate stores electrons Source 0 Charged State ----------------------------------------
  • 34. Flash Memory Non-volatile preserves state without any power Solid State no moving parts larger than electrons Fast (compared to disk) random read time ~10,000ns 33
  • 35. Summary: Storage Systems 34 Device Example Time to Access Cost per Bit Mercury (Gin) Delay Line UNIVAC (1951) 220,000ns (average) $ 0.38 (1968) (a bazillion n$) DRAM Kingston KVR16N11/4 4GB DDR3 ($40) 13.75ns 1.16 n$ SSD Samsung 500GB ($300) ~10,000 ns (for random read) 0.075 n$ Disk Drive Seagate Desktop HDD 4 TB SATA 6Gb/s NCQ 64MB 5,000,000ns 0.0046 n$
  • 36. Challenges of Flash Writing (1  0) is expensive Erasing (0  1) is super expensive: Apply electric field to release charge Can only erase a full block (often 128K) at a time Cells wear out after 10,000-1M erasings Reading disturbs nearby cells Cannot read same cell too many times 35 But: no seek time – time to access every cell is the same!
  • 37. How should we design a file system for flash memory? 36
  • 38. 37 UVa Mathematics (1984) Berkeley CS PhD Stanford Professor
  • 39. Log-Structured File System 38 Write sequentially: never overwrite data File 1 File 2 Updated File 1 Disk April Fool’s? What’s wrong with this picture?
  • 40. Where does the meta-data go? 39 Block 0 Disk Block 1 Block 2 InodeA
  • 41. When should we do the writes? 40 Block 0 Disk Block 1 Block 2 InodeA
  • 42. When should we do the writes? 41 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 In-Memory Buffer Block 6 Block 7 InodeB
  • 43. When should we do the writes? 42 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 In-Memory Buffer Block 6 Block 7 InodeB
  • 44. Updating a File 43 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Suppose the contents of Block 1 are modified?
  • 45. Updating a File 44 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Block 1 - update
  • 46. Updating a File 45 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Block 1 - update InodeA’
  • 47. Finding an Inode 46 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Block 1 - update InodeA’
  • 48. Recap: how did we do this for S5FS? 47 Filename Inode . 494211 .. 494205 .DS_Store 494212 class0 6565946 class1 6565826 
 
 class16 5649155 class2 494218 
 

  • 49. Recap: how did we do this for S5FS? 48 Filename Inode . 494211 .. 494205 .DS_Store 494212 class0 6565946 class1 6565826 
 
 class16 5649155 class2 494218 
 

  • 50. Finding an Inode 49 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Block 1 - update InodeA’
  • 51. 50 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Block 1 - update InodeA’ imap 0 1 2 Pointer to most recent version of inode.
  • 52. 51 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Block 1 - update InodeA’ imap 0 1 2 Pointer to most recent version of inode. Where should we store the imap?
  • 53. 52 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block InodeB Block 7 Block 1 - update InodeA’ imap 0 1 2 Pointer to most recent version of inode. At the end of each write! (when necessary) – its small (4 bytes * number of inodes), and sequential writes are cheap!
  • 54. 53 Block 0 Disk Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block 7InodeB Block 7 Block 1 - update InodeA’ imap Block 8 Block 0 - update 
 Won’t the disk fill up with lots of old junk? Block 5 - update InodeA’ InodeB’ imap
  • 56. Garbage Collection in LSFS 55 Block 0 Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block 7 InodeB Block 7 Block 1 - update InodeA’ imap Block 8 Block 0 - update 
Block 5 - update InodeA’ InodeB’ imap
  • 57. Garbage Collection in LSFS 56 Block 0 Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block 7 InodeB Block 7 Block 1 - update InodeA’ imap Block 8 Block 0 - update 
Block 5 - update InodeA’ InodeB’ imap Segment
  • 58. Garbage Collection in LSFS 57 Block 0 Block 1 Block 2 InodeA Block 3 Block 4 Block 5 Disk, continued Block 6 Block 7 InodeB Block 7 Block 1 - update InodeA’ imap Block 8 Block 0 - update 
Block 5 - update InodeA’ InodeB’ imap Segment
  • 59. Garbage Collection in LSFS 58 Block 6 Block 7 InodeB Block 7 Block 1 - update InodeA’ imap Block 8 Block 0 - update 
Block 5 - update InodeA’ InodeB’ imap Segment A full clean segment! Block 2 Block 3 Block 4 InodeA’ InodeB’ imap 

  • 62. Differences with Flash No need for sequential writes Just need to find unused blocks Can do 1  0 rewrites! Maintain a bitmap of used blocks at fixed block Lots of complexities: Bits wear out, read disruption, etc. 61 Who should deal with those complexities?
  • 63. 62 2GB microSD card Andrew “bunnie” Huang
  • 64. 63 2GB microSD card Andrew “bunnie” Huang ARM Processor!
  • 65. 64
  • 66. Summary: Storage Systems 65 Device Example Time to Access Cost per Bit Mercury (Gin) Delay Line UNIVAC (1951) 220,000ns (average) $ 0.38 (1968) (a bazillion n$) DRAM Kingston KVR16N11/4 4GB DDR3 ($40) 13.75ns 1.16 n$ SSD Samsung 500GB ($300) ~10,000 ns (for random read) 0.075 n$ Disk Drive Seagate Desktop HDD 4 TB SATA 6Gb/s NCQ 64MB 5,000,000ns 0.0046 n$ ModernHardDrive
  • 67. Relevance to PS4? 66 Not expected to implement any of this – a very simple filesystem in memory is fine (but feel free to surprise us!) Your filesystem is in memory: no need to deal with complexities of interfacing with persistent media (but doing this could be a good post-PS4 project!).