応用情報知識メモ08(補助記憶装置全般・・・HDD、SSD等)


確認問題

下記にスラスラ答えられる人は読まなくても大丈夫。
・HDDのセクタ、トラック、シリンダ、クラスタ、磁気ヘッド、とは何かを説明せよ。
・データの読み書きを構成する3手順について説明せよ。
・1分に5000回転、平均シーク時間が20ミリ秒、1トラックに10,000byte書き込めるHDDがあるとする。ここから5,000byteを読み込む時間を求めよ。
・フラグメンテーションとデフラグについて説明せよ。
・RAID0、RAID1、RAID5を説明せよ。
・CD-ROM、CD-R、CD-RWの違いを説明せよ。ただし説明内容に「ピット」の語句を用いること。
・フラッシュメモリのNAND型、NOR型の特徴を説明せよ。
・SSDについて(簡潔に)説明せよ。

HDDの構造

HDDは複数枚のディスクで構成されている。このディスク1枚のことをプラッタとも呼ぶ。
HDDにはアクセスアーム(時計の針みたいなイメージ)と呼ばれるものがあり、この先端についている磁気ヘッドをHDDの特定の場所に動かし、HDDが回転する間、磁気ヘッドが当たっている箇所にデータの読み書きを行う仕組みである。
ディスク1枚の中でデータを書き込める最小単位をセクタと呼ぶ。セクタが一周集まったものをトラックと呼ぶ。HDDはディスク複数枚で構成されるので、ディスクが3枚あるとき、同心円状のトラックが3つあることになる。このトラックの集合体をシリンダと呼ぶ。
HDDにおけるデータの最小単位はセクタであるが、OSがファイルを読み書きする際は、セクタが集合したクラスタを単位とする。

データ取得時間の計算方法

HDDがデータを取得するには下記の実行手順をとる。
 手順1:アクセスアームを動かし、磁気ヘッドを対象のトラックに移動させる
 手順2:ディスクが回転し、対象のセクタが磁気ヘッドに重なるまで待つ
 手順3:データを読み書きする
つまりデータの読み書きにかかる時間を算出するには、下記3つの時間を計算する必要がある。
 ①シーク時間(手順1)
 ②サーチ時間(手順2)
 ③データ転送時間(手順3)
データ取得時間を実際に計算してみる。1分に5000回転、平均シーク時間が20ミリ秒、1トラックに10,000byte書き込めるHDDがあるとする。ここから5,000byteを読み込む時間を計算する。
平均シーク時間が定まっているので、平均サーチ時間とデータ転送時間を考える必要がある。平均サーチ時間は、1回転にかかる時間の半分となる(※1)ので、まずは1回転にかかる時間を計算する。
1分に5000回転する。60秒だと計算しづらいので、60,000ミリ秒で5000回転すると見なす。すると1回転にかかる時間は12ミリ秒となる。平均サーチ時間はこの半分の時間なので、6ミリ秒となる。
次はデータ転送時間を考える。1トラックに10,000byte書き込めるということは、10,000byteを読み込むためには1回転の時間(12ミリ秒)かかることになる。今回は5,000byteを読み込むので、その半分の時間(6ミリ秒)がかかる。
よって、平均シーク時間(20ミリ秒)+平均サーチ時間(6ミリ秒)+データ読み込み時間(6ミリ秒)=32ミリ秒、が答えとなる。
(※1)磁気ヘッドが移動してからの待機時間は、最短が0秒、最長が1回転にかかる時間となるため、平均して半回転する時間がかかる。

フラグメンテーションとデフラグ

データの読み書きをする際に空き領域がそこかしこに生まれた結果、ファイルを書き込む際にバラバラの場所に書き込まれることがある。これを断片化(フラグメンテーション)と呼ぶ。特にファイル削除を行うと断片化が発生しやすい。
これを解決するために同一のファイルについては連続したデータ領域に並び替える行為をデフラグと呼ぶ。

RAID

RAID:Redundant Array Index of Disksとは、要するに複数のディスクを用いた冗長化の技術である。RAID0からRAID6まであるが、覚えるべきなのは0、1、5の3つ。
RAID0:データを複数のディスクに分散させて書く。どちらかのディスクが破損するとデータの復旧が出来なくなるため、信頼性が低い。この方式をストライピング(striping)と呼ぶ。ストライプ(縞模様)のように分散させる、という語源なのか?
RAID1:同じデータを複数のディスクに書き込むことで信頼性を担保するもの。ディスク1枚が壊れても大丈夫という思想に基づく。この方式をミラーリングと呼ぶ。鏡に映したように同じ状況にするからだろう。
RAID5:RAID0とRAID1を上手く組み合わせたもの。ディスクを3枚以上使う。例を説明するためにディスクが3枚だと仮定する。書き込むデータをd1, d2, d3・・・と続いていると仮定する。ディスクAにd1を、ディスクBにd2を書き込み、d1とd2のパリティデータをディスクCに書き込む。次はd3をディスクBに、d4をディスクCに書き込み、d3とd4のパリティデータをディスクAに書き込む・・・と続ける。これによって、ディスクA〜Cのうち1枚が壊れても、他2つのデータから復旧できるという信頼性を持つ。ディスクが4枚以上あるときも基本は変わらず、1枚をパリティの記録用に使う。
一応RAID3とRAID4についても紹介する。
RAID3とRAID4:RAID5に似た構成にしているが、パリティを書き込むディスクが固定されている。そのためパリティを書き込むディスクが破損した場合に復旧できないデメリットがある。RAID3はビット単位でデータを分けて記述し、RAID4はブロック単位でデータを分けて記述するという違いがある。

リムーバブルメディア

CD-ROM、CD-R、CD-RWの違い

接尾辞(ROM、R、RW)について説明する。これら接尾辞はDVDも共通。
ROM(Read Only Memory):読込のみ可能
R(Recordable):一回だけ記録可能
RW(ReWritable):複数回書き換え可能

CDの機器としての特徴

CDの特徴は下記。
・RWと異なり、ROMやRが書き換え出来ないのは、ピットと呼ばれる物理的な凹みを作り、これをレーザー光線で読み取るため。RWはピットを作らず、レーザー光線で可逆的な変化を加えるため、書き換えが可能。

DVDの機器としての特徴

CDで用いるレーザー光線よりも波長の短い光線を使用するため、CDよりも記憶容量が大きい。ROM、Rはピットを作る点についてはCDと同じ。

その他のメディア

磁気テープ:読み書きは遅いが安価で大容量のためバックアップに使用される。
フラッシュメモリ:メモリカード、USBメモリなど。NAND型NOR型がある。フラッシュメモリは複数のメモリセル(回路の最小構成の単位)と、メモリセルを繋ぐ配線で構成される。メモリセルはビット単位のデータを処理する。
NAND型フラッシュメモリ:シーケンシャルアクセスでデータを探す形式なので、連続するデータを取得するのに強く、ランダムアクセスに弱い(遅い)。またページ単位でデータを読み書きする。メモリセルが直列的に接続されているためNAND型と呼ばれる。つまり構造が比較的単純なので、集積して大容量化するのが容易。またメモリセルが直列なので、複数のメモリセルにまたがるデータ、複数ビット列の処理が可能となっている。それがページと呼ばれる。ページ単位
を行い、削除はページを複数まとめたブロックという単位で行う。
NOR型フラッシュメモリ:ランダムアクセス型なので、ランダムアクセスの処理は速い。メモリセルが並列的に接続されているためNOR型と呼ばれる。構造が複雑なので大容量化には向かない。読み出しはビット単位だが、書き込みと消去はブロック単位らしい。何故。
SSD:HDDの高速版。ディスクで構築されているのではなく、フラッシュメモリが使用されており、RAID構造が組み込まれていて処理が高速。

参考


この記事が気に入ったらサポートをしてみませんか?