- 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๋ฅผ ํ๋๋ฅผ ๋๋ค. ---โ
-