NakatoのPC日誌

超不定期にパソコンのことについて更新していきます

今更聞けないROMとRAM、SSDとHDDの違い

どうもNakatoです。

突然ですが、皆さんは「HDDって何?」や、「SSDって何?」、「HDDとSSDの違いって何?」、「ROMとRAMの違いって何?」と聞かれたらきちんと答えられますか?

恐らく、軽く説明するぐらいなら出来ると思いますが、詳しく説明できる人は少ないと思います。

なので今回は、それらについて詳しく説明していきます。

最後に少し補足説明を加えました

※専門用語が多く出てくるので詳しく知りたい方は各自で調べて下さい。

 

 

 

 

ROMとRAMの違い

よく、ROMとRAMを間違える人を見るので初めにROMとRAMの違いについて説明します。

 

ROMとは

ROM(Read Only Memory)とは「決められた動作を行うだけの特定用途向けコンピュータ」の場合にROMという種類のメモリを使用します。

また、その内容は電気の状態に関係なく保存される「不揮発性」がROMの特徴です。

ROMは読み込み専用のメモリなので、動作に必要なデータは予めメモリ内に書き込まれた状態で出荷されます。

そのメモリをマスクROMと言い、普通ROMと言えばこれを指します。

 

しかし、専用の機器を使うことで記憶内容の消去と書き込みができるPROM(Programmable ROM)という種類も存在します。

ここで一つ注意してほしいのが、マスクROM≠PROMです。

そのPROMにも3種類ありそれぞれ特徴があります。

 

EPROM(Erasable PROM)について

紫外線でデータの消去して書き換えることができるとPROMです。

 

EEPROM(Electrically EPROM)について

電気的にデータを消去して書き換えることが出来るPROMです。

 

フラッシュメモリについて

これはPROMの一種というよりEEPROMの一種です。

ブロック単位でデータを消去して書き換えることが出来ます。

 

 

RAMとは

RAM(Ramdom Access Memory)とは電源を切ると内容が消去されて後に残らない「揮発性」という性質を持っています。

また、RAMは読み書きが自由に行えるのが特徴です。

RAMはDRAMSRAMのふたつがあり、それぞれ特徴があります。

 

DRAM(Dynamic RAM)について

安価で容量が大きく、主記憶装置(メモリ)に用いられるメモリです。ただ読み書きはSRAMに比べて低速です。

記憶内容を保つために定期的に内容を再読み込みするリフレッシュ動作が必要です。

 

SRAM(Static RAM)について

DRAMに比べて非常に高速ですが、価格が高く、したがって小容量のキャッシュメモリとして用いられるメモリです。

記憶内容を保持するためにリフレッシュ動作が必要ではありません

 

※何故か勘違いしてる人がたまにいますがROMの対義語はRAMではありません。

これらはあくまで別のものと捉えてください。

 

 

 

HDDとは

初めに、HDDについて説明していきます。

 

HDDの中身

ハードディスク(HDD)の中には

  • ディスク(プラッタ)
  • アクセスアーム
  • 磁気ヘッド

があります。

セクタとトラック

プラッタは細かく区画割りされ、その領域の最小範囲をセクタと呼び、それを複数集めた1周分の領域をトラックと呼びます。

HDDの総容量

ハードディスクの総容量は"1セクタあたりのバイト数x1トラックあたりのセクタ数x1シリンダあたりのトラック数xシリンダの数"で求められます。

クラスタについて

OSがファイルを読み書きする時には、複数のセクタを1ブロックと見なしたクラスタという単位を用いるのが一般的です。

断片化とデフラグ

しかし、何度も書いて消してを繰り返すと連続した領域に書かれたファイルでもディスクの中でバラけていってしまします。

この状態のことをフラグメンテーション(断片化)と呼びます。

そして、それを解消するために連続した領域に並べ直す作業をデフラグメンテーション(デフラグ)と呼びます。

データへのアクセス手順

データへアクセスするには3つの手順を踏む必要があり、1.アクセスアームを動かして磁気ヘッドを目的のトラック位置まで運ぶ"シーク(位置決め)"、2.ディスクの回転に伴い目的のデータが磁気ヘッドの位置まで回ってくるのを待つのを"サーチ(回転待ち)"、3.データの転送の順番です。

そして、1と2を待ち時間と呼びます。

アクセス時間の計算方法

データへのアクセス時間の計算方法を求めるには毎分あたりの回転速度、平均シーク時間、1トラックあたりの記憶容量がわからないと計算できません。

なので今回は仮に

  • 回転速度を5000回転/分
  • 平均シーク時間20ミリ秒
  • 1トラックあたりの記憶容量15,000バイト
  • 5000バイトのデータを読み出す

として計算します。

  1. 1分(60,000ミリ秒)÷5000回転=12ミリ秒
  2. その半分の、6ミリ秒が平均サーチ時間
  3. 15,000バイト÷12ミリ秒=1250バイト/ミリ秒
  4. 5000バイト÷1,250バイト=4ミリ秒
  5. 20ミリ秒+6ミリ秒+4ミリ秒=30ミリ秒

 

それぞれ説明すると、1ではディスクが一回転するのに必要な時間を求めています。

2では何故半分にするのかというと、たまたま磁気ヘッドの真下に読み込み位置があり待ち時間が0で済む時が最短、たまたま読み込み位置が磁気ヘッドを通過した直後で、また一回転してくるのを待つ時が最長なので、平均は1/2回転する時なので半分にします。

3では1トラックのデータ転送時間はディスクが一回転する時間と等しいので、1ミリ秒あたりの転送量は1トラックあたりの記憶容量÷一回転する時間で求めます。

4では読み出すバイト÷1ミリ秒あたりの転送量で読み込みバイトの時間を求めます。

5ではアクセス時間を求めるために、平均シーク時間+2の結果+4の結果で求めれます。

 

 

SSDとは

SSD(Solid State Drive)とは

EEPROM(Electrically Erasable Programmable ROM)の一種を補助記憶媒体に転用したフラッシュメモリ記憶媒体として内蔵しているものです。

 

SSDの特徴

機械的な駆動部分がないので省電力で衝撃に強く、シーク(位置決め)やサーチ(回転待ち)などの待ち時間が無いため、高速に読み書きを行えます。

ただしSSDには書き込み回数に上限があり、HDDに比べて1ビットあたりの単価が高いです。

 

 

HDDとSSDの違い

  • 中身の違い(HDDは機械的な駆動部分があるが、SSDには無い)
  • 読み書きの速さ
  • 寿命
  • 記憶保存の仕方の違い
  • 1ビットあたりの単価の違い

これらが挙げられます。

 

 

 

 

 

 

今回は以上です。

 

それぞれの説明を詳しくやって違いの内容がペラペラですが許してください。

 

コメント待ってます。

 

Youtubeで生放送等をしているので良ければチャンネル登録お願いします。

www.youtube.com