In Block I/O we use only cache specified for devices.

File I/O uses the files system cache and devices cache. The default maximum of device cache in 32bit kernel is limited actually to about 1GB. Note that there is no such limitation in 64bit kernel.

In Block IO the storage performance at the iSCSI initiator is 100% the performance of the RAID. Only a few MB will be used for cache.

In File I/O the storage performance at the iSCSI initiator is much faster than the performance of the RAID. The complete free memory will be used for cache so the read and write access to the RAID will be optimized.

There are many topics on the forum about some performance difference with both. Several users have reported performance values with File I/O and will tell you depending on what you are doing that Block I/O can be faster but with less tasks.

Read Raudi's comment on the end of his post.

http://forum.open-e.com/showthread.php?t=607

"BlockIO might be faster then FileIO, but only when access the RAID with one initiator and one task."