- toc {:toc}
Mass Storage
- ์๊ตฌ์ ์ผ๋ก ํ์ผ๊ณผ ๋ฐ์ดํฐ๋ค์ ๊ด๋ฆฌํ๊ธฐ ์ํด์๋ mass storage ๊ฐ ํ์ํ๋ค.
- Hard disk / nonvolatile memory devices
์ฌ๋ฌ ์ธก๋ฉด ์กด์ฌ
- Sequential access vs Random access
- Synchronous transfer vs Asynchronous transfer
- Dedicated vs Shared
- Read-only vs Read-write
OS ์ ์ฃผ ๋ชฉ์
- Mass storage ์ ๋ํด ๊ฐ์ฅ ๊ฐ๋จํ ์ธํฐํ์ด์ค ์ ๊ณต
- ์ต๋ ๋์์ฑ์ ๋ํด I/O ์ต์ ํ
Hard Disk Drive
Transclude of Hard-Disk-Drive
Nonvolatile Memory Devices
- Read-only memory(ROM) : ์์ฐ๋ ๋ ํ๋ก๊ทธ๋จ์ด ์์ฑ๋๋ค.
- Programmable ROM(PROM) : ํ๋ฒ ํ๋ก๊ทธ๋จ์ด ์์ฑ๋ ์ ์๋ค.
- Erasable PROM(EPROM) : ์ง์์ง ์ ์๋ค.
- Electrically erasable PROM (EEPROM) : ์ ์๊ธฐ์ ์ญ์ ๊ฐ๋ฅ์ฑ
- Flash memory : EEPROM ์ด๋ค. block ๋จ์๋ก ์ญ์ ๊ฐ๋ฅ
- Flash memory-based NVM
- Solid-state disks(SSDs)
- USB drives
- ํ๋ก์ ๋ฐํ์๋ memory
- ์ฅ์
- ์ ๊ธฐ์ NVM ๋ค์ HDD ๋ณด๋ค ๋ ์์ ํ๊ณ ๋น ๋ฅด๋ค. HDD ๋ ์ธ๋ถ ์ถฉ๊ฒฉ์ ๊ณ ์ฅ๋๊ธฐ ์ฝ๊ธฐ ๋๋ฌธ.
- ์์ง์ด์ง ์์๋ ๋๊ธฐ ๋๋ฌธ์ seek time, rotational latency ๊ฐ ๋ฐ์ํ์ง ์๋๋ค.
- ๋จ์
- NVM ๋ค์ ๋ ๋น์ธ๊ณ ๋ ์ ์ ์ฉ๋์ ๊ฐ๋๋ค.
- ๋ ์งง์ ์๋ช ์ ๊ฐ๋๋ค.
- ์ ๊ธฐ์ ์ฑ์ง๋ก ์ธํด ์ญ์ ๊ฐ๋ฅํ ์ ๋๊ฐ ์ ํ๋์ด ์๋ค.
NAND Flash Controller
- HDD ์ sector ์ ๊ฐ์ด Page ์กฐ๊ฐ block ๋จ์๋ก ์ฝํ๊ณ ์์ฌ์ง๋ค.
- ์ด block ๋จ์๊ฐ ์ต์๋จ์๊ฐ ๋๊ณ block ๋ด๋ถ ์ค๊ฐ๋ง ์์ ํ ์ ์๋ค.
- NAND Flash Controller
- Flash Translation Layer(FTL) table ์ ์ ์งํ๋ค.
- Logical block ๋ค์ด ์ ํจํ์ง ์ถ์ ํ๊ธฐ ์ํด
- Garbage collection ์ ๊ตฌํ
- invalid page space ๋ฅผ ํ ๋น ํด์ ํ๊ธฐ ์ํด
- valid ์ผ๋ง ์๋จ์ ๊ฒฝ์ฐ ์ ๋ถ ์ฎ๊ธฐ๊ณ block clear, invalid
- Overpositioning ์ ํ ๋นํ๋ค.
- GC ์ ๋ํ ์์ ๊ณต๊ฐ์ ์ ๊ณตํ๊ธฐ ์ํด
- Wear leveling(๋ฎ์ ์ ๋) ๋ฅผ ์ ๊ณตํ๋ค.
- ์๋ช ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฎ์ ์ ๋๋ฅผ ์ ๊ณตํด ๊ณจ๊ณ ๋ฃจ ์ฌ์ฉํ ์ ์๋๋ก ํ๋ค.
- Flash Translation Layer(FTL) table ์ ์ ์งํ๋ค.
HDD Scheduling
- OS ๋ ํ๋์จ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ค ํ๋ค.
- ํจ์จ์ ? fast access time, disk bandwidth
- Disk bandwidth : ์ ์ก๋๋ byte ์ ์ด๋. ์ฒซ ์์ฒญ๊ณผ ์ ์ก ์๋ฃ๊น์ง์ ์ด ์๊ฐ์ผ๋ก ๋๋์ด์ง๋ค.
- ๋ชฉ์
- Minimize seek time
- Seek time ๊ณผ Seek distance ๋ ์๋ก ๋น์ทํ๊ธฐ ๋๋ฌธ์ ๊ฑฐ๋ฆฌ๋ฅผ ์ค์ด์!
- Minimize seek time
- ๋๋ผ์ด๋ธ์ I/O ํ์ํ๋ฉด OS ์ system call ์ ํธ์ถ์ํจ๋ค.
- I/O ์์ฒญ์ด ํฌํจํ๋ ๊ฒ
- input ์ธ์ง output ์ธ์ง
- ์ ์ก์ ์ํ ๋ฉ๋ชจ๋ฆฌ ์ฃผ์
- ์ ์ก ๋ฐ์ดํฐ์ ํฌ๊ธฐ
- Idle(์ ๋ฐ์ ์ํ) : ์ฆ์ ์ฒ๋ฆฌ
- ๋ฐ์๋ฉด queue ์ ์ ์ฅ
- I/O ์์ฒญ์ด ํฌํจํ๋ ๊ฒ
- ๊ณผ๊ฑฐ์๋ OS ๊ฐ queue, ๋์คํฌ head ์ด๋์ ๋ค๋ค์ผ ํ์ง๋ง ํ์ฌ๋ Storage ๊ฐ ์ ๋ด
- Logical block address ๋ง ์ ๊ณตํ๋ค.
- Drive controller ๊ฐ queue ๋ฅผ ๋ค๋ฃฐ ์ ์๋ค.
FCFS Scheduling
- First-come, first-served : ํ์ ๋ค์ด์จ ์์๋๋ก ์ฒ๋ฆฌํ๋ค.
- ๋น ๋ฅด์ง ์๋ค.
SCAN Algorithm
- ์ข ์ข elevator algorithm ์ด๋ผ ๋ถ๋ฆฐ๋ค.
- ์/์๋ ํ์ชฝ์ผ๋ก ์ญ ์ด๋ํ๊ณ ๋ค์ ์ชฝ์ผ๋ก ์ด๋ํ๋ค.
- FCFS ๋ณด๋ค๋ ์ ์ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ๊ฐ๋๋ค.
C-SCAN Scheduling
- Circular SCAN ์ด๋ค.
- ํ์ชฝ ๋์ ๋๋ฌํ๋ฉด ๋ด๋ ค๊ฐ๋ ๊ฒ์ด ์๋๋ผ ๊ณ์ํด์ ์ฌ๋ผ๊ฐ๋ค.
- seek time ์ด ์ข ๋ ํ๋ฑํ๊ฒ ํ๊ท ์ ์ผ๋ก ์์นํ๋๋ก ๋ง๋ ๋ค.
Error Detection and Correction
- Error Dectection : ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋์ง ์ ํ๋์ง ํ์ํ๋ ๊ฒ
- ex) bit flipping(ํ๋์ bit(๋ฐ์ดํฐ) ๊ฐ ๋ฐ๋๋ ๊ฒ)
- Parity Bit : ์๋ฌ ํ์ง๋ฅผ ์ํด ํ๋์ ์ถ๊ฐ ์ ๋ณด๋ฅผ ์ ๊ณตํ๋ ๊ฒ (๋ํ์ ๋ ํ, ์ง)
- 2 ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ณํ์ง ์๊ธฐ ๋๋ฌธ์ ํ๊ณ๊ฐ ์๋ค.
- Error-Correction Code (ECC) : ํ์งํ ๋ฟ๋ง ์๋๋ผ ์ ์ ํ๋ค.
- ์ ์ ๋๋ฉด soft error
- ์ ์ ์๋๋ฉด hard error
Storage Device Management
- Low-level formatting / Physical formatting : ๋์คํฌ๋ฅผ disk controller ๊ฐ ์ฝ๊ฑฐ๋ ์ธ ์ ์๋ sector(๊ตฌ์ญ) ์ผ๋ก ๋๋๋ค.
- ๊ฐ sector ๋ header information, plus data, ECC ๋ฅผ ๊ฐ์ ์ ์๋ค.
- ์ฃผ๋ก 512 bytes
- Logical formatting (making a file system)
- Partition : ๋์คํฌ๋ฅผ ํ๋, ํน์ ๊ทธ ์ด์์ ์ค๋ฆฐ๋๋ก ๋๋๋ ๊ฒ
- ํํฐ์ ๊ฐ๊ฐ์ logical disk ๋ก ์ทจ๊ธํ๋ค.
- ๋๋ถ๋ถ ํ์ผ ์์คํ block ๋ค โ cluster ๋ค๋ก ๋ฌถ์ธ๋ค. (ํจ์จ ์ฆ๊ฐ)
- Root partition โ OS ํฌํจ. boot time ์ mount ๋๋ค.
- Mount : ์ด์์ฒด์ ์ ํด๋น ์ฌ์ฉ์๊ฐ ํ์ผ ์์คํ ์ ์ ๊ทผํ ์ ์๋๋ก ํ๋ ๊ณผ
- Mount ๋ ๋, ํ์ผ ์์คํ
์ ๋ฉํ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๋ค.
- ์ฌ๋ฐ๋ฅด์ง ์์ผ๋ฉด? โ ๊ณ ์น๊ณ ๋ค์
- ์ฌ๋ฐ๋ฅด๋ฉด ์ ๊ทผ ํ์ฉ
- Initial bootstrap ์ NVM flash memory firmware ์ ์ ์ฅ๋์ด ์๋ค.
- Full bootstrap program ์ boot partition ์ boot block ์ ์ ์ฅ๋์ด ์๋ค.
- Booting Process
- ์ปดํจํฐ ์ ์ on
- mother board ์์ ์๋ BIOS Firmware ๊ฐ ์์ ํ ์คํธํ๊ณ ์คํ
- ๋์คํฌ ํน์ ์์น์ Master Block Record ๋ฅผ ์ฝ์ด boot partition ์ ์ฐพ๋๋ค.
- Boot loader ๊ฐ boot partition ์ฝ์ด load
- kernel ์ ๋ฉ๋ชจ๋ฆฌ์ Load, kernel ์ด๊ธฐํ ๋ฐ ์ค์
Swap-Space Management
- DRAM ์ด ๋ชจ๋ ํ๋ก์ธ์ค๋ฅผ ๋ค๋ฃจ๊ธฐ์ ์ถฉ๋ถํ ํฌ์ง ์๊ธฐ ๋๋ฌธ์ swapping, paging ์ฌ์ฉ
- OS ๋ ์ด๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด swap space management ๋ฅผ ์ ๊ณต
- Swap space ๋ฅผ ํ์ผ ์์คํ
๋ด๋ถ์ ๋ ์๋ ์์ผ๋ ๋ณ๋ partition ์ฌ์ฉ์ด ์ผ๋ฐ์
- Secondary storage ๋๋ฆฌ๊ธฐ์ ์ฑ๋ฅ ์ต์ ํ ์ค์
- ์ผ๋ฐ ํ์ผ๋ณด๋ค ํจ์ฌ ์งง์ ์๊ฐ๋ง ์กด์ฌํ๊ณ ์์ฃผ ์ฐธ์กฐ๋จ
- ๋ฐ๋ผ์, blcok ํฌ๊ธฐ, ์ ์ฅ ๋ฐฉ์์ด ์ผ๋ฐ ํ์ผ ์์คํ ๊ณผ ๋ค๋ฅด๋ค.
Storage Attachment
์ ์ฅ์ ์ ๊ทผ ๋ฐฉ์
- local I/O ํฌํธ๋ฅผ ํตํด์ ํธ์คํธ ์ฐ๊ฒฐ๋ฐฉ์
- Remote procedure call ํตํด ๋คํธ์ํฌ ์ฐ๊ฒฐ๋ฐฉ์
- ํด๋ผ์ฐ๋ ์ฌ์ฉ
RAID
- RAID : Redundant Array of Inexpensive(Independent) Disks
- Redundancy : ์ค๋ณต์ฑ โ ์ฌ๋ฌ ๊ฐ์ ๋์คํฌ๋ฅผ ๋ฌถ์ด์ ์ฌ์ฉํ๋ค.
- Multiple Disk ์ธ ๊ฒฝ์ฐ ๋ถ๋ฆฌ๋์ด ์์ด ๊ฐ๊ฐ ์ง์ ์ ๊ทผํด์ค์ผ ํ๋ค.
- RAID ์ ๊ฒฝ์ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก๋ ๋ถ๋ฆฌ๋์ด ์์ผ๋ฏ๋ก ํํํ๊ฒ ์ ๊ทผ ๊ฐ๋ฅํ๋ค.
- ์ฒ๋ฆฌ ์๋ ํฅ์
- Block ์ ๋ด์ฉ์ ๋ถ์ฐ ์ ์ฅ ๊ฐ๋ฅ
- ๋ณ๋ ฌ์ ์ฝ๊ธฐ ๊ฐ๋ฅ
- ์ ๋ขฐ์ฑ ํฅ์
- ๋์ผ ์ ๋ณด๋ฅผ ์ฌ๋ฌ ๋์คํฌ์ ์ค๋ณต ์ ์ฅ ๊ฐ๋ฅ
- ํ๋์ ๋์คํฌ ๊ณ ์ฅ ์ ๋ค๋ฅธ ๋์คํฌ์์ ์ฝ์ ์ ์์
- Mean Time Between Failures(MTBF) : ๋ฌธ์ ๊ฐ ์๊ฒจ ์ฌ์ฉ ๋ถ๊ฐํ ํ๊ท ์๊ฐ
- Mean Time to Repair
- Mean Time to Data Loss
- ๊ฐ์ฅ ๊ฐ๋จํ์ง๋ง ๋น์ผ ์ ๊ทผ : ๋งค์ผ drive ๋ณต์ฌํ๋ ๊ฒ
- RAID scheme
-
RAID 0 (non-redundant striping) - ๊ฐ์ ๋ด์ฉ ๋ฐฑ์ ๋์ด ์์ง ์๋ค.
-
RAID 1 (mirroring or shadowing) - ๋ณต๊ตฌ ๊ฐ๋ฅํ๋๋ก data copy
-
RAID 0+1 (mirrored stripes) - stripe ๋ ํ mirror
-
RAID 1+0 (striped mirrors) - mirror ๋ ํ stripe
- ์ฑ๋ฅ ์ฆ๊ฐ, ์ ๋ขฐ๋ ์ฆ๊ฐ
-
RAID 4, 5, 6 (block interleaved parity)
- Parity disk ๋ฅผ ํ๋๋ฅผ ๋๋ค. ---โ
- mirroring ํ ๋ 2 ๋ฐฐ์ ๋์คํฌ๋ฅผ ์ฌ์ฉํด์ผ ํ์ง๋ง parity disk ํ๋์ ์ ์ฅํด ์ค๋ณต๋๋ฅผ ์ค์ธ๋ค.
- parity disk ๊ฐ ํ๊ฒฉ์ ์ ์ผ๋ฉด ํ์ผ ๋ณต๊ตฌ๊ฐ ๋ถ๊ฐ๋ฅํ๋ค.
- RAID 5 โ parity ๋ฅผ ๋ถ์ฐ์์ผ ๋๋๋ค.
- redundancy ๋ฅผ ๋ ์ ๊ฒ ์ฌ์ฉํ๋ค.
์ฐธ : https://www.prepressure.com/library/technology/raid
- Parity disk ๋ฅผ ํ๋๋ฅผ ๋๋ค. ---โ
-