The internet SCSI(iSCSI) disk has been studied as a storage system which can be directly connected to TCP/IP. My objective in this thesis is to design and implement a shared disk following the iSCSI protocol and it is named as intelligent iSCSI($i^{2}SCSI$) disk.
The $i^{2}SCSI$ disk is developed to extend SANfs over TCP/IP-based SAN and solve the problem of managing a file lock in a centralized lock server by distributing lock manager over the disks.
The $i^{2}SCSI$ disk provides cache consistency of all blocks that belong to the disk using a conventional cache consistency method. Due to the limitation of memory size inside disk, file-level locking is hard to implement in the $i^{2}SCSI$ disk. Instead, the $i^{2}SCSI$ disk uses `contiguous blocks-level locking`. By doing so, memory utilization becomes smaller. A read lock is not required in the $i^{2}SCSI$ disk, which enhances read performance. The prototype of the $i^{2}SCSI$ disk and its client is designed and implemented in Linux 2.4.
The experimental environment for the $i^{2}SCSI$ is set up on Linux cluster and
performance of the the $i^{2}SCSI$ disk is evaluated in the environment. Overhead of managing cache consistency in the $i^{2}SCSI$ disk is measured. The result shows 5-30% of overhead in write performance, while zero overhead in read performance when no lock conflict occurs. The read performance is not degraded since a read lock is not required in the $i^{2}SCSI$ disk. Microbenchmark results show the effect of lock conflict on read/write latency and realistic workload test results show the effect of lock unit size on overall performance.