ディスクI/O 【disk I/O】 disk Input/Output / ディスク入出力
概要
ディスクI/O(disk I/O)とは、ハードディスクなどのストレージ装置(外部記憶装置)に対するデータの読み書き操作のこと。また、そのような操作にかかる時間や速さ。装置からのデータの読み込みのことを「インプット」(input:入力)あるいは「リード」(read:読み込み)、書き込みのことを「アウトプット」(output:出力)あるいは「ライト」(write:書き込み)という。ディスクI/Oにかかる時間は、拡張バスなどを通じてメインメモリとストレージ装置の間でデータを伝送する時間と、装置内での記憶媒体(記録メディア)へのデータの書き込みや読み出しにかかる時間の合計で表される。磁気ディスクなどを利用した装置の場合は後者の方が何桁も低速であるため、ディスクI/Oにかかる時間はメディアの読み書き時間にほぼ等しくなる。
ディスクI/Oの性能は、単位時間あたりに読み込みあるいは書き込みできるデータ量を「MB/s」(メガバイト毎秒)などの単位で表したり、単位時間あたりに読み込み動作あるいは書き込み動作を行うことができる回数を「IOPS」(I/O毎秒)などの単位で表すことが多い。
シーケンシャルアクセスとランダムアクセス
メディアの中で連続した領域に読み書きすることを「シーケンシャルアクセス」(sequential access)、飛び飛びの領域に読み書きすることを「ランダムアクセス」(random access)という。装置やメディアの特性や制御方式などにより、それぞれの速度がほとんど均等な場合と大きく異なる場合がある。
性能の評価や比較を行う場合には、シーケンシャルリード、シーケンシャルライト、ランダムリード、ランダムライトのそれぞれについて伝送速度を計測して値を並べたり、一定の算出式によって平均値を求めることが多い。
非ディスク型媒体の場合
長年の間、ストレージ装置は光学ディスクや磁気ディスクなど円盤(ディスク)状のメディアを利用した装置が主流だったため「ディスクI/O」という呼称が定着しているが、磁気テープやフラッシュメモリなど円盤型ではないメディアを用いる装置もあるため、より包括的な呼び方として「ストレージI/O」(storage Input/Output)が用いられることもある。意味上の違いはない。
(2024.1.26更新)