Information Technology Reference
In-Depth Information
u
u'
Chk
Ptr A
A
Chk
Ptr A'
A'
A
A'
Chk
Ptr B
B
Chk
Ptr C
C
Chk
Ptr D
D
Chk
Ptr B
B
Chk
Ptr C
C
Chk
Ptr D'
D'
B
C
D
B
C
D'
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
Chk
Ptr
E
E
F
F
G
G
H
H
I
J
E
E
F
F
G
G
H
H
I'
I'
J
I
J
J
E
F
G
H
I
J
E
F
G
H
I'
J
(a)
(b)
Figure14.8: (a) ZFS stores all data in a Merkle tree so that each node of the tree includes both
a pointer to and a checksum of each of its children (Chk and Ptr in the figure). On an update (b)
all nodes from the updated block (I') to the root (u') are updated to reect the new pointer and
checksum values.
Layers Upon Layers Upon Layers
In this chapter we focus on error detection and correction at three levels: the individ-
ual storage devices (e.g., disks and flash), storage architectures (e.g., RAID), and file
systems.
Today, storage systems with important data often include not just these layers, but
additional ones. Enterprise and cloud storage systems distribute data across sev-
eral geographically-distributed sites and may include high-level checksums on that
geographically-replicated data. Within a site, they may replicate data across multiple
servers using what is effectively a distributed file system. At each server, the distributed
file system may store data using a local file system that includes file-system-level check-
sums on the locally-stored data. And, invariably, the local server will use storage devices
that detect and sometimes correct low-level errors.
Although we do not discuss cross-machine and geographic replication in any detail,
the principles described in this chapter also apply to these systems.
Search WWH ::




Custom Search