磁石の力でデータを読み書きする装置【ハードディスク】

eyecatch


コンピュータではデータを長期的に保存するために磁気ディスクフラッシュメモリを利用します。具体的にはハードディスクSSDといったものです。この記事では磁気ディスク装置、すなわちハードディスクについて解説していきます。

磁気ディスク(ハードディスク)とは?


磁気ディスクとは磁性体を塗った円盤状の記憶装置のことです。磁石の性質によってデータを保持すします。磁気ディスクは磁気ヘッドを移動させながら対象のデータを探し、読み出したり書き換えたりします。そう、これが世にいうハードディスク(HDD)です。

以降、この記事では磁気ディスクを「ハードディスク」と表記します。

ハードディスクの区画の単位


ハードディスクのしくみについて解説する前に、ハードディスクを構成する区画について説明させてください。ハードディスクのデータアクセスについて知るには、ハードディスクの区画の単位を知っておく必要があるからです。

セクタ


セクタとは、ハードディスクにおけるデータ記録最小単位のことです。ハードディスクのデータの読み書きの基本となる単位だといえます。

セクタ
赤い部分がセクタです。


トラック


トラックとは、複数のセクタが同心円状に集まった単位のことです。データは年輪のように書き込まれていきます

トラック(年輪のように書き込まれる)


シリンダ


シリンダとは、ディスクの中心から等しい距離にある複数のトラックからなる単位のことです。シリンダは複数のディスクからなるもので円筒状に存在します。しかし、物理的に配置されているわけではありません。あくまで「ディスクの中心から等距離=磁気ヘッドを動かす必要のない」ということです。

シリンダが論理的な単位、つまり概念的な単位ということにはこうした理由があります。

シリンダ(あくまでイメージ)


1面


セクタが集まりトラックを形成し、トラックが集まりディスクを埋めます。これによりディスクの1面という単位を表すことができるわけです(つまりディスク1枚分ということ)。

ハードディスクのデータアクセス:セクタ方式


セクタ方式とは、ハードディスクのセクタ単位でデータを読み書きする方式のことです。

記録するデータがひとつのセクタに収まらない場合は複数のセクタをまたぎます。セクタの領域が余ってしまっても余白はそのままです。つまり、そこは使用されない無駄な領域となってしまいます。これが後述するフラグメンテーションの原因のひとつになるのです。

セクタの余白


ハードディスクのデータアクセスの順番


ハードディスクにおけるデータアクセスの順番は以下の通りです。

  1. 位置決め(シーク)
  2. 回転待ち(サーチ)
  3. データ転送


ここではハードディスクにおけるデータアクセスの、それぞれの段階について説明していきます。

位置決め(シーク)


位置決め(シーク)とは、ハードディスクの磁気ヘッドを目的のデータが存在するトラックに移動させることです。

アクセスを始めたときの磁気ヘッドの位置と目的のデータのトラック位置によってこの時間は大きく異なってきます。

位置決め
位置決め(シーク)


回転待ち(サーチ)


回転待ち(サーチ)
とは、ハードディスク内にある目的のデータが磁気ヘッドの位置まで回転してくるのを待つ段階のことです。

データの位置決めを始めた直後に目的のデータが回ってきたとき、この時間は最も短くすみます。ここからデータを読み込むのです。

最短
回転待ち(最短)


目的のデータが磁気ヘッドに触れず通り過ぎてしまった直後に位置決めを始めるとこの時間は最も長くなります。ここからデータが再び回ってくるのを待つ必要があるのです。

最長
回転待ち(最長)


データ転送


データ転送とは、ハードディスク内の目的のデータが磁気ヘッドに触れ通り過ぎることです。ここで磁気ヘッドによってデータにアクセスされ、必要に応じてメインメモリに展開されCPUによってアクセスされます。

データ転送
データ転送(アクセス)


ハードディスクのアクセス順の時間的関係


ハードディスクが目的のデータにアクセスするまでの時間を「アクセス時間」とした場合、以下の関係が成り立ちます。

 位置決め時間+回転待ち時間+データ転送時間
=アクセス時間


ここで気を付けることがあります。 CPUがハードディスクに命令を伝えることとハードディスク内のデータにアクセスすることは別物です。CPUからの命令があって初めてデータにアクセスされます。データにアクセスするとはいえ段階があるわけです(個人的に混同していた時期があったため書いておきます)。

ハードディスクのデータの断片化


ハードディスク内では、セクタ単位でデータを書き込む際に余白が生まれたり、ランダムアクセスによってハードディスクのあちこちの領域飛び飛びでデータが書き込まれたりします。ハードディスクは利用していく内にデータの断片化が発生するのです。

ここではデータの断片化とその解消法についてまとめていきます。

データが飛び飛び:フラグメンテーション


ハードディスクでデータの追加や削除を繰り返すとデータが連続した領域に保存されなくなります。つまり、データの断片化が発生するわけです。これをフラグメンテーション(断片化)といいます。

この状態では飛び飛びとなったデータにアクセスすることとなり、データにアクセスするまでの時間が長くなってしまいます。これにより読み込みが遅くなりパソコンの動作がスムーズでなくなるというわけです。

データを整理する:デフラグメンテーション(デフラグ)


フラグメンテーションを改善させるためには、ディスクを整理整頓するためのソフトウェアでデータの再配置をすることが必要です。これをデフラグメンテーション(デフラグ)といいます。

たとえばWindowsでデフラグする場合は、OS標準の最適化ツールを利用します。デフラグにかかる時間は短くとも数十分、長くて数時間といったところです。スケジュールに余裕をもたせて行うことをお勧めします。





それでは、今回はここまでといたします。
最後までお読みいただきありがとうございます。


eyecatch
最新情報をチェックしよう!