What is the difference between block I/O and file I/O transfer? I heard that NAS and DAS uses file I/O and SAN uses the block I/O method. Please explain in detail since I am learning about this subject as we speak. Thanks!!
NAS does file I/O while SANs typically do block I/O. File I/O is referencing data as a file entity from a remote file system. When referencing a file, an application uses a "file handle:offset" which really is the name of the file and the number of bytes into the file for access to data. For NAS, a redirector diverts the access from a local file system to a remote file system that is accessed across a network usually through TCP/IP over Ethernet. The NAS device turns the remote file system access into its own local file system access that results in a block I/O to attached devices. For a SAN access, usually a block I/O is done where the application will access the file, the file system on the local server will turn that into a request for a block on a particular device (LUN - logical unit) and then block I/O is done over an interface such as Fibre Channel.
The bottom line is that file I/O eventually (and always) turns into a block I/O -- locally it's done through the file system, for NAS it's redirected to a NAS device to do it on a remote system.
Evaluator Group, Inc.
This was first published in June 2001