STORAGE AREA NETWORKING
disks have grown by over six orders of magnitude in density and over four orders in performance, yet the storage interface (i.e., blocks) has remained largely unchanged. Although the stability of the block-based interfaces of SCSI and ATA/IDE has benefited systems, it is now becoming a lim- iting factor for many storage architectures. As storage infrastructures increase in both size and complexity, the functions system designers want to perform are fundamentally limited by the block interface. A storage object is a logical collection of bytes on a storage device, with well-known meth- ods for access, attributes describing characteris- tics of the data, and security policies that prevent unauthorized access. Unlike blocks, objects are of variable size and can be used to store entire data structures, such as files, database tables, medical images, or multimedia.
Objects can be regarded as the convergence of two technologies: files and blocks. Files pro- vide user applications with a higher-level storage abstraction that enables secure data sharing across different operating system platforms, but often at the cost of limited performance due to file server contention. Blocks offer fast, scalable access to shared data; but without a file server to authorize the I/O and maintain the metadata, this direct access comes at the cost of limited security and data sharing.Objects can provide the advantages of both files and blocks. Like blocks, objects are a primi- tive unit of storage that can be directly accessed on a storage device (i.e., without going through a server); this direct access offers performance advantages similar to blocks. Like files, objects are accessed using an interface that abstracts storage applications from the metadata neces- sary to store the object, thus making the object easily accessible across different platforms. Pro- viding direct, file-like access to storage devices is therefore the key contribution of object-based storage.The remainder of this article is organized as follows. We discuss today’s prominent storage architectures, the trade-offs involved, and the fundamental limitations of block-based inter- faces. We describe object-based storage as an architecture that will remove these limitations. We conclude with a discussion of the industry activity around object-based storage, in particu- lar the standards efforts in the Storage Network- ing Industry Association (SNIA) and the flurry of activity around object-based file systems.
Scalability in terms of the number of devices and clients. Today’s architectures force system designers to decide which of these features is most important, as choosing an architecture involves a trade-off. The three storage architec- tures in common use today are direct-attached storage (DAS), storage area networks (SANs), and network-attached storage (NAS). A fourth architecture, often called a SAN file system, has recently been introduced in an attempt to cap- ture the features of both NAS and SANs. DAS connects block-based storage devices directly to the I/O bus of a host machine (e.g., via SCSI or ATA/IDE). While DAS offers high performance and minimal security concerns, there are limits on connectivity. SCSI, for exam- ple, is limited by the width of the bus (a 16-bit bus can have at most 16 hosts or devices). To address the connectivity limits of DAS , and con- sequently enable the consolidation and sharing of storage devices, the SAN was introduced. A SAN is a switched fabric that provides a fast, scalable interconnect for large numbers of hosts and storage devices. With this added connectivi- ty, however, came the need for better security. SANs therefore introduced concepts such as zoning (like a virtual private network) and host- device authentication to keep the fabric secure. DAS and SAN are both block-based. The storage application (e.g., file system) is responsi- ble for mapping its data structures (files and directories) to blocks on the storage devices. The extra data required to do this mapping is com- monly referred to as metadata. For multiple hosts to share data blocks, they must also share metadata, and do so in a manner that guarantees metadata consistency among the hosts. The com- plexity of this process has resulted in block shar- ing only among tightly coupled performance-sensitive storage applications such as clustered file systems and databases. Most other infrastructures only allow hosts to share data indirectly through files by using NAS.