ハードディスク(HDD)とはなんぞや？　

##はじめに
エンジニアとして働き始めて始めて一番最初に渡されたのが、
Macのノートパソコン・ハブ・**外付けHDD**でした。
個人でプログラミングを学習していると、HDD?なにそれ美味しいもの？って感じになるかと思います。
なぜなら、個人でプログラミングを学習するだけでは大容量のデータを扱うことなんてないからです。

そんな方のためにHDDについて初心者の視点から調べたことをまとめていきたいと思います。

###対象読者
- プログラミング初心者
- 駆け出しエンジニア
- HDDとはなんぞや？って方

###これから説明するハードディスクの定義
ハードディスクは、パソコン以外のさまざまな機器にも使われていますが、
今回は「パソコンのハードディスク」ということでご認識ください。

##ハードディスク(HDD)とは
ハードディスクとはパソコンのデータを保存するという機能を備えた部品のことです。
データを回転するディスクに読み書きする。

コンピュータ→補助記憶を担当。
パソコン→システムドライブ、データドライブを担当。

###別名
- HDD
- ハードディスクドライブ

###補助記憶
主記憶装置を補助する記憶装置。
主記憶装置のメインメモリーに利用されているRAMは、電源を切るとデータが消えるため、
補助記憶装置にデータを保存しておく必要がある

つまり、ハードディスクのデータは電源を切っても消えることがないので、
データの保存をするという機能に向いているということ。

https://kotobank.jp/word/補助記憶-12468

###システムドライブ
別名：Cドライブとも呼ばれる、OSやアプリケーションを保存されている部分

###データドライブ
別名：Dドライブとも呼ばれる、写真や音楽、その他Excelデータetc..が保存されている部分

##HDDのメリット
ドライブで保存できるデータ量が大きい。つまり保存することに特化している。
比較的安価。

##HDDのデメリット
衝撃に弱く、壊れやすい。
消費電力が大きい。
動作音や振動が発生する
ランダムアクセス（容量の小さなファイルを複数同時に扱うこと）が難しい。

##大きさ

ハードディスクには大きく分けて2種類の大きさに分かれている

2.5インチ(約6.4cm)⇨ノートPCなどに使用
3.5インチ(約9cm)⇨デスクトップPCなどに使用

##規格
規格は2種類あります。

###IDE
2000年の初めまで、長い期間パソコンのHDDの接続規格として利用されてきたHDD。
IDEには504MB以上の容量を認識できないという問題があるため現在であまり使われないようです。
いわば旧式。

###SATA
IDEから世代交代したHDDの規格。
データの転送の構造を単純化したことで、IDEよりも転送速度が高速化された。
現在ほぼこちらが利用されている。
いわば、ニュータイプ。

##ハードディスク内部

ハードディスク内部は下記のようになっています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/965248/168e0382-8617-b118-ab6a-df139a69c7b4.png)

##ハードディスクの回転数
2.5インチ→5400rpm(ノートパソコン)
3.5インチ→7200rpm(デスクトップパソコン)

※rmp = 1分間にどれくらい回転するか？というもの

##プラッタ

ハードディスク内にある磁気ディスクのこと。
1~２枚が一般的。
容量の大きいハードディスクは3枚や4枚入っていることもある。

近年、システムドライブ(OSやアプリケーション)にはHDDに代わってSSDが使われているが、
データを保管するためのストレージとして現在も利用され続けている。

##磁気ヘッド
プラッタ(磁気ディスク)に直接データを読み書きさせる

##アクチュエーター
磁気ヘッドを支える

##スピンドルモーター
磁気ディスク（プラッタ）を回転させるためにあるモーター。

##キャッシュメモリ

ハードディスクにも一時的な記憶ができるキャッシュメモリがあります。
別名：
- キャッシュ
- ディスクキャッシュ

###キャッシュメモリーの容量
16MB,32MB,64MB,128MB,256MBなどがある。
一般的にキャッシュの容量が大きいほどパフォーマンスが上がる

##ハードディスクの読み書きの流れ

①シーク
アームが動くことでヘッドは内周・外周を行き来する。
データ読み書きをする場合は、まず目的のトラックへ移動する

②サーチ
それぞれのトラックにセクタと呼ばれる最小の単位である区画がある。
ヘッドはトラック上の目的のセクタがヘッドのしたまで回ってくるまで待機する

③データ転送
セクタに書き込まれた必要なデータを読み込んだり、書き込みを行う。

###セクタ
ハードディスクの最小の区画。
セクタにどれくらいの情報を書き込めるかを表すサイズをセクタサイズという。

###画像や動画の保存においてのデータ処理
画像や動画の保存においてのデータ処理はディスクコントローラー（回路基板）によって処理され、解釈される。

###OSが情報を読み込んだり、書き込んだりする必要がある時
①ファイルの位置や有効な書き込みエリアを決めるためにハードドライブ内のファイル・アロケーション・テーブルを分析する
②ディスクコントローラーがアクチュエーターに読み書きを指示する
③ファイルはプラッタ内に断片化になっていることが多いので、ヘッドはすべての情報にアクセスするために異なる位置に移動しなければならない。

###コンピュータがハードドライブから情報を読み込む必要があるとき
コンピュータはプラッタの磁極性を読み込む。

###コンピュータがプラッタに情報を書き込むとき
後から読むことができるように複数の0と1を書き込むことになる。

##パーティション
システムドライブ(Cドライブ)とデータドライブ(Dドライブ)で
物理的ハードディスクがパーティションによって区切られている。

##断片化
データやアプリケーションが連続したセクタではなく、別々のトラックのセクタ上に断片化して書き込まれることをファイルの断片化、フラグメンテーションと言う。

パソコンの使用期間が長ければ長いほど、断片化は起きやすくなる。

##外付けハードディスク(外付けHDD)
パソコンに内臓されているHDD⇨内臓ハードディスク
USBなどで接続して使うハードディスクを外付けハードディスク（バックアップ用）

###外付けHDDのメリット
パソコンに内蔵されているHDDの容量が足りなくなってきたとき、使える容量をすぐに増やせる

###種類
####ポータブル型HDD
小型で手軽に持ち運びができる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/965248/9b031390-0106-5c5d-2785-813f86a5c5bb.png)



####据え置き型HDD
コンセントから電源を取る必要があるが、ポータブル型よりも高速にデータ転送が行える。
パソコン内のデータを丸ごとバックアップするときなどに活用する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/965248/dea02a7a-5628-08c5-9234-5a2ba9a91db4.png)







##SSDとの違い
SSDの方が高速でデータの読み書きができる。
値段がSSDの方が高い

ですが、これまで値段の高かったSSDの低値段化により、
現在の主流がSSDになっていることは否めない。

##個人的感想
どのサイトでも言ってるけど、
SSDの方が圧倒的に高性能じゃん。


##終わりに
いかがだったでしょうか。

ハードディスクというだけでも調べているだけでとても奥が深く、まとめるのにとても疲れました。
簡単にまとめさせていただくと、
HDDはさまざまなデータを保存できて
SSDより安価で大容量な機器ということでした(まとめかた雑っ！)

この記事は、いろんなサイトをまとめたものなので、どのサイトにも同じようなことが
書いてあります。ご了承ください。

何かの参考になりましたら、幸いです。

##参考にした記事・動画一覧
https://www.pc-master.jp/words/hdd.html

https://www.pro.logitec.co.jp/about_hdd/hddssd/0718/

https://www.buffalo.jp/topics/select/detail/ssdhdd.html

https://btopcs.jp/basic/before/parts/hdd/

https://flets-w.com/chienetta/pc_mobile/cb_pc-equipment52.html

https://www.dospara.co.jp/express/dospara/1427081

https://www.youtube.com/watch?v=CSSgTSGqA7w