Open-E Knowledgebase

[DSS V7][JDSS] File I/O or Block I/O?

Article ID: 342
Last updated: 08 Apr, 2020

Additional information:

  • product name: JovianDSS / DSS V7
  • product version: all
  • build: all


I am unsure of which option to select when creating and attaching an ISCSI target to a Zvol in JovianDSS or creating a new ISCSI volume in DSS.


At the most basic level; with block-I/O, data is accessed by requesting a number of "blocks" from a device. With file-I/O, data is accessed by requesting a file from the file-system, using an index or table.

In most cases, File I/O provides some performance increase due to caching; however, when multiple hardware initiators are configured Block I/O can provide the highest Read/Write speed.

  • JovianDSS ISCSI Target Considerations

First, lets review options available to you in JovianDSS.When configuring a Zvol in JovianDSS and attaching a target you are presented with multiple options.

[ located : Expand storage Pool > ISCSI / FC Target > attaching a target to a Zvol ]
[ located : Expand storage Pool > ISCSI / FC Target > attaching a target to a Zvol ]

Write-through, Write-back, and Read-Only considerations


With the Write-through policy data is written to both RAM and disk simultaneously. This offers the most resiliency in the event of a power loss but suffers some performance impact.


With the Write-back policy, data is written only to RAM and then to DISK. I/O does not wait for or confirm data has been written to disk before processing then next command.


Data on this target will only be available for read operations.

Block I/O VS File I/O

Block I/O is a raw Logical Volume which is formatted only by the initiator side. I/O performance should be faster as there is no delay in accessing the file system layer.

File I/O delivers each file working on a formatted Logical Volume, this gives additional benefits of the filesystem caching part of the data. Not initialized, File I/O provides another benefit of “organized writing”.

With JovianDSS, it is not suggested to use File I/O for HA (Highly Available) clustered solutions, as this may put your data at risk and cause instability during failover operations.

  • DSS ISCSI Volume considerations

When configuring DSSv7 ISCSI targets, you will be presented with File I/O vs Block I/O while configuring your ISCSI volume.

File IO without initialization
XFS uses first free block for saving the data – no need to use „SEEK” command.
High performance while „random write”, low performance while sequential read.‏

File IO with initialization
System must perform a real SEEK in order to read/write the data.
XFS table has to be read and updated.
More stable than “not initialized” volume.

Block IO
System must perform real SEEK operation on disk in order to save/write the data.
XFS table will NOT be updated.
Data is stored directly on the hard drive (no memory writes required)‏

This article was:   Helpful | Not helpful Report an issue

Article ID: 342
Last updated: 08 Apr, 2020
Revision: 6
Views: 24560
Posted: 27 May, 2009 by --
Updated: 08 Apr, 2020 by Rybak M.
print  Print email  Subscribe email  Email to friend share  Share pool  Add to pool
iscsi jdss dssv7 fileio blockio
Also listed in
folder DSS V7 -> DSS V7 Information -> General info -> Miscellaneous
folder JovianDSS -> JovianDSS Information -> General info -> iSCSI
folder JovianDSS -> JovianDSS Information -> General info -> Miscellaneous

Prev     Next
[DSS V6][DSS V7] How to connect to iSCSI target using Solaris 10?       MPIO

The Knowledge base is managed by Open-E data storage software company.