๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
HYU/์šด์˜์ฒด์ œ(OS)

13. Mass Storage Management

by Jaeguk 2023. 6. 2.

Mass Storage๋ž€ ํ•˜๋“œ ๋””์Šคํฌ์™€ ๊ฐ™์€ 2์ฐจ ์ €์žฅ์žฅ์น˜๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

 

Physical Disk Structure

๊ธฐ๋ณธ์ ์ธ ํ•˜๋“œ ๋””์Šคํฌ์˜ ๊ตฌ์กฐ์™€ ๋™์ž‘ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž.

์š”์ฆ˜์€ 2์ฐจ ์ €์žฅ์žฅ์น˜๋กœ ํ•˜๋“œ ๋””์Šคํฌ ๋Œ€์‹  SSD๋„ ๋งŽ์ด ์‚ฌ์šฉํ•˜์ง€๋งŒ, ์•„์ง๊นŒ์ง€๋Š” ํ•˜๋“œ ๋””์Šคํฌ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋“œ ๋””์Šคํฌ ์‚ฌ์šฉ์„ ์ „์ œ๋กœ ์„ค๋ช…ํ•œ๋‹ค.

 

ํ•˜๋“œ ๋””์Šคํฌ๋ฅผ ์˜†์—์„œ ๋ณธ ๋ชจ์Šต๊ณผ ์œ„์—์„œ ๋ณธ ๋ชจ์Šต์€ ์œ„์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค.

๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๋Š” ํ”Œ๋ž˜ํ„ฐ๋“ค์ด ์žˆ๊ณ , ํ”Œ๋ž˜ํ„ฐ์— ๊ฐ’์„ ์“ฐ๊ณ  ์ฝ๋Š” ๊ฒƒ์€ ์Šคํ•€๋“ค์— ์—ฐ๊ฒฐ๋œ ํ—ค๋“œ๊ฐ€ ํ•œ๋‹ค.

์ด๋ก ์ ์œผ๋กœ platter ํ•˜๋‚˜์— ํ—ค๋“œ๊ฐ€ 2๊ฐœ ๋ถ™์„ ์ˆ˜ ์žˆ๋‹ค. ์•ž๋ฉด์— ํ•˜๋‚˜, ๋’ท๋ฉด์— ํ•˜๋‚˜

๊ทธ๋ฆฌ๊ณ  ์Šคํ•€๋“ค ํ•˜๋‚˜์— ๋ชจ๋“  ํ—ค๋“œ๋“ค์ด ๋‹ฌ๋ ค์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์Šคํ•€๋“ค์„ ์›€์ง์ด๋ฉด ๋ชจ๋“  ํ—ค๋“œ๊ฐ€ ๋™์‹œ์— ์›€์ง์ด๊ฒŒ ๋œ๋‹ค.

๋‹ค๋ฅธ Platter์— ์žˆ๋”๋ผ๋„ ๊ฐ™์€ ์œ„์น˜์˜ Track์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋“ค์€ ๋ชจ๋‘ ๋™์‹œ์— ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

๊ฐ™์€ ์œ„์น˜์˜ Track๋“ค์„ ๋ชจ๋‘ ๋ชจ์œผ๋ฉด ์›๊ธฐ๋‘ฅ(Cylinder) ๋ชจ์–‘์ด ๋งŒ๋“ค์–ด์งˆ ๊ฒƒ์ด๋‹ค. ์ด ์›๊ธฐ๋‘ฅ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋‘ ๋™์‹œ์— ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

 

๊ธฐ๋ณธ์ ์œผ๋กœ ํ”Œ๋ž˜ํ„ฐ๋Š” ๊ณ„์†ํ•ด์„œ ๋Œ์•„๊ฐ€๊ณ  ์žˆ๊ณ , ์›ํ•˜๋Š” ๋ถ€๋ถ„์— ํ—ค๋“œ๋ฅผ ์˜ฎ๊ฒจ์„œ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๋ฐฉ์‹์ด๋‹ค.

ํ•œ Track ์•ˆ์— ๋ชจ๋“  ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ์œผ๋ฉด ์ตœ์ดˆ์˜ ํ•œ ๋ฒˆ ํ—ค๋“œ ์›€์ง์ž„์œผ๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
=> ์—ฐ์†๋œ ๊ณต๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ฉด, ํ—ค๋“œ ํ•œ ๋ฒˆ์˜ ์›€์ง์ž„์œผ๋กœ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป.

 

์›ํ•˜๋Š” ๋ถ€๋ถ„์˜ Sector๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ค ์ •๋ณด๊ฐ€ ์žˆ์–ด์•ผ ํ• ๊นŒ.

๋จผ์ € Cylinder์˜ ๋ฒˆํ˜ธ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค. ์‹ค๋ฆฐ๋”์˜ ๋ฒˆํ˜ธ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ์Šคํ•€๋“ค์„ ์›€์ง์—ฌ์„œ ํ—ค๋“œ์˜ ์œ„์น˜๋ฅผ ๊ฒฐ์ •์ง“๋Š”๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.  ๊ทธ๋Ÿฐ ๋‹ค์Œ ํ•˜๋‚˜์˜ ์‹ค๋ฆฐ๋”์—๋Š” ์—ฌ๋Ÿฌ surface์˜ track๋“ค์ด ๋“ค์–ด ์žˆ๋Š”๋ฐ, ๊ทธ ์ค‘ ์–ด๋–ค surface์˜ track์„ ์ฝ์„ ๊ฒƒ์ธ์ง€๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค. ์ด๊ฑด Head์˜ ๋ฒˆํ˜ธ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋งˆ์ง€๋ง‰์œผ๋กœ ํŠน์ • Track๋‚ด์—์„œ ์–ด๋–ค sector๋ฅผ ์ฝ์„ ๊ฒƒ์ธ์ง€๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
=> ํŠน์ • Sector๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด์„œ๋Š” Cylinder #, Head #, Sector #๋ฅผ ๋ช…์‹œํ•ด์•ผ ํ•œ๋‹ค.
=> ์ค„์—ฌ์„œ CHS์ฒด๊ณ„๋ผ๊ณ  ํ•œ๋‹ค.

ํ•˜๋“œ ๋””์Šคํฌ์˜ ์ฃผ์†Œ ์ฒด๊ณ„๋Š” CHS ์ฒด๊ณ„์ด๋‹ค.

 

ํ•˜๋“œ ๋””์Šคํฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ์‹œ๊ฐ„์€ 3๋‹จ๊ณ„๋กœ ๋‚˜๋ˆ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

1. Seek time

๋ฌผ๋ฆฌ์ ์œผ๋กœ ์Šคํ•€๋“ค์„ ํ†ตํ•ด ํ—ค๋“œ๋ฅผ ์›€์ง์—ฌ ์›ํ•˜๋Š” track์„ ์ฝ์„ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

2. Rotational delay

์›ํ•˜๋Š” track์— ํ—ค๋“œ๋ฅผ ์œ„์น˜์‹œํ‚จ ํ›„์—๋Š” ํ”Œ๋ž˜ํ„ฐ๊ฐ€ ํšŒ์ „ํ•ด์„œ ์›ํ•˜๋Š” ์„นํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์„ ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ค์•ผ ํ•œ๋‹ค.

=> ํ‰๊ท ์ ์œผ๋กœ ๋ฐ˜ ๋ฐ”ํ€ด ์ •๋„์˜ Rotational delay๊ฐ€ ์žˆ๋‹ค.

3. Transfer time

์›ํ•˜๋Š” ํŠธ๋ž™์˜ ์›ํ•˜๋Š” ์„นํ„ฐ์— ํ—ค๋“œ๊ฐ€ ์œ„์น˜ํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค๋ฉด ์ด์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์•ผ ํ•œ๋‹ค.

 

์ด ์ค‘ ๊ฐ€์žฅ ์˜ค๋ž˜๋ž˜ ๊ฑธ๋ฆฌ๋Š” ๊ฒƒ์€ ๋‹น์—ฐํžˆ ๋ฌผ๋ฆฌ์ ์œผ๋กœ Head๊ฐ€ ์›€์ง์ด๋Š” ์‹œ๊ฐ„์ธ Seek time์ด๋‹ค.

๊ทธ ๋‹ค์Œ Rotational delay, Transfer time ์ˆœ์œผ๋กœ ์˜ค๋ž˜ ๊ฑธ๋ฆฐ๋‹ค.

Rotational dealy๋ฅผ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ”Œ๋ž˜ํ„ฐ๊ฐ€ ํšŒ์ „ํ•˜๋Š” ์ˆ˜ ๋ฐ–์— ์—†๋Š”๋ฐ, ์ด๊ฒƒ์€ OS๊ฐ€ ์–ด๋–ป๊ฒŒ ํ•  ์ˆ˜ ์—†๋Š” ์˜์—ญ์ด๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ์šฐ๋ฆฌ๋Š” Seek time์„ ์ตœ๋Œ€ํ•œ ์ค„์—ฌ์„œ Disk I/O์— ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ค„์—ฌ๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋‹ค.

 

Disk Structure

ํ•˜๋“œ ๋””์Šคํฌ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ •๋ณด๋ฅผ OS๋Š” LBA๋ผ๊ณ  ์•Œ๊ณ  ์žˆ๋‹ค.
=> Logical Block Address

๋””์Šคํฌ์™€์˜ ๋ฐ์ดํ„ฐ ๊ตํ™˜์€ ๋ธ”๋Ÿญ ๋‹จ์œ„๋กœ ์ผ์–ด๋‚˜๊ธฐ ๋•Œ๋ฌธ์— OS๋Š” ํ•˜๋“œ ๋””์Šคํฌ์˜ ์ฃผ์†Œ ์ฒด๊ณ„๋ฅผ 0๋ฒˆ Block, 1๋ฒˆ Block ์ด๋Ÿฐ ์‹์œผ๋กœ๋งŒ ์•Œ๊ณ  ์žˆ๋‹ค.

์ด Block์˜ ๋ฒˆํ˜ธ๋ฅผ ์‹ค์ œ Sector์— ๋งคํ•‘์„ ํ•ด์•ผ ํ•˜๋Š”๋ฐ, OS๋Š” ์ด๋Ÿฌํ•œ ๋””ํ…Œ์ผ๊นŒ์ง€๋Š” ๋ชจ๋ฅด๊ณ  ์ด๊ฑด ํ•˜๋“œ ๋””์Šคํฌ์˜ ์ปจํŠธ๋กค๋Ÿฌ๊ฐ€ ํ•˜๊ฒŒ ๋œ๋‹ค.

 

์ผ๋ฐ˜์ ์œผ๋กœ Sector 0(zero)๋Š” ๊ฐ€์žฅ ์œ„์ชฝ Surface์˜ ๊ฐ€์žฅ ๋ฐ”๊นฅ ์ชฝ Track์˜ 0๋ฒˆ์งธ Sector๋ฅผ ์˜๋ฏธํ•œ๋‹ค.
sector 0๋ฅผ ์‹œ์ž‘์œผ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ sector๋“ค์— ๋ฒˆํ˜ธ๋ฅผ ํ• ๋‹นํ•œ๋‹ค.
=> ๊ฐ™์€ ํŠธ๋ž™ ๋‚ด์˜ ์ด์›ƒํ•œ ์„นํ„ฐ๋“ค์„ ์ˆœ์„œ๋Œ€๋กœ 1๋ฒˆ, 2๋ฒˆ ์„นํ„ฐ๋กœ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ผ์ง€, ๊ฐ™์€ ์‹ค๋ฆฐ๋”์˜ ๋‹ค๋ฅธ ํ”Œ๋ž˜ํ„ฐ์— ์žˆ๋Š” ์„นํ„ฐ๋ถ€ํ„ฐ 2๋ฒˆ, 3๋ฒˆ์„ ๋ถ™์ผ์ง€๋Š” ํ•˜๋“œ ๋””์Šคํฌ๋งˆ๋‹ค ๋‹ค๋ฅด๋‹ค. ์ด๊ฑธ ์ •ํ•˜๋Š” ๊ฑด ํ•˜๋“œ ๋””์Šคํฌ ๋‚ด๋ถ€์˜ ๋ฌธ์ œ๋กœ ์šฐ๋ฆฌ๋Š” ์•Œ ํ•„์š” ์—†๋‹ค.

 

Disk scheduling

ํ•˜๋“œ ๋””์Šคํฌ์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” ์ž‘์—…์ด๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์„ ์ตœ๋Œ€ํ•œ ์ค„์ด๊ธฐ ์œ„ํ•ด์„œ OS๋Š” ๋“ค์–ด์˜จ ๋ช…๋ น์˜ ์ˆœ์„œ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ์ˆœ์„œ๋ฅผ ์ •ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๊ฒƒ์„ Disk Scheduling์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋””์Šคํฌ์— ์ ‘๊ทผํ•˜๋Š” ์‹œ๊ฐ„ ์ค‘ ๋Œ€๋ถ€๋ถ„์€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ํ—ค๋“œ๋ฅผ ์›€์ง์ด๋Š” ์‹œ๊ฐ„์ธ Seek time์ด ์ฐจ์ง€ํ•œ๋‹ค.

์ƒ์‹์ ์œผ๋กœ ํ—ค๋“œ๊ฐ€ ๋ฉ€๋ฆฌ ์›€์ง์ด๋ฉด seek time์ด ์ฆ๊ฐ€ํ•  ๊ฒƒ์ด๋‹ค.
=> ํ—ค๋“œ๊ฐ€ ์›€์ง์ด๋Š” ๊ฑฐ๋ฆฌ์ธ seek distance์— seek time์ด ๋น„๋ก€ํ•  ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์€ ์‰ฝ๊ฒŒ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Seek Time Benchmark

ํ•˜๋“œ ๋””์Šคํฌ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ์‹œ๊ฐ„์„ ์ œ์™ธํ•˜๋ฉด, seek time์€ distance์˜ ๋ฃจํŠธ์— ๋น„๋ก€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

์ƒ์ˆ˜ a, b๋Š” ํ•˜๋“œ ๋””์Šคํฌ ๋งˆ๋‹ค์˜ ํŠน์„ฑ์— ๋”ฐ๋ฅธ ์ƒ์ˆ˜ ๊ฐ’์ด๊ณ , distance์˜ ๋ฃจํŠธ ๊ฐ’์— ๋น„๋ก€ํ•ด์„œ Seek time์ด ์ฆ๊ฐ€ํ•˜๊ฒŒ ๋œ๋‹ค.

=> Seek distance๋ฅผ ์ค„์ด๋ฉด Seek time์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ฒ ๋‹ค!

 

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋“ค์–ด์˜จ ์š”์ฒญ์˜ ์ˆœ์„œ์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ OS๊ฐ€ ํ•˜๋“œ ๋””์Šคํฌ์— ์š”์ฒญํ•˜๋Š” ์ˆœ์„œ๋ฅผ ๊ฒฐ์ •ํ•˜๋Š” ์ผ์„ ๋””์Šคํฌ ์Šค์ผ€์ค„๋ง์ด๋ผ๊ณ  ํ•œ๋‹ค.

๋””์Šคํฌ ์Šค์ผ€์ค„๋ง์— ๋”ฐ๋ผ Seek time์ด ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ๋‹ค.

 

OS์˜ ์ž…์žฅ์—์„œ ์šฐ๋ฆฌ๊ฐ€ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฑด, LBA(Logical Block Address)๊ฐ€ ์—ฐ์†๋˜์–ด ์žˆ์œผ๋ฉด ์‹ค์ œ ๋””์Šคํฌ ์ƒ์—์„œ๋„ ์—ฐ์†๋œ ๋ธ”๋Ÿญ์ผ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์ด๋‹ค.
์ •ํ™•ํžˆ๋Š” ๋ชจ๋ฅด์ง€๋งŒ OS๋Š” ๊ทธ๋ ‡๋‹ค๊ณ  ๋ฏฟ๊ณ  ์ผ์„ ํ•˜๊ฒ ๋‹ค.

์›ฌ๋งŒํ•˜๋ฉด LBA๊ฐ€ ์—ฐ์†์ ์ด๋ฉด ๊ฐ™์€ Track์— ์žˆ์„ ๊ฒƒ์ด๋ผ ๋ฏฟ๊ณ  ์ผ์„ ํ•˜๊ฒ ๋‹ค.
๋งŒ์•ฝ ์—ฐ์†์ ์ด์ง€ ์•Š๋”๋ผ๋„ ์ตœ๋Œ€ํ•œ ๋ฒˆํ˜ธ๊ฐ€ ๊ฐ€๊นŒ์šด ๊ฒƒ๋ถ€ํ„ฐ ๋จผ์ € ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ๋ฉด seek distance๊ฐ€ ์ค„์–ด๋“ค ๊ฒƒ์ด๋‹ค.

=> OS๋Š” ์‹ค์ œ ๋””์Šคํฌ์˜ ๋‚ด๋ถ€์— ๋Œ€ํ•ด์„œ๋Š” ์•Œ ์ˆ˜ ์—†๊ณ , LBA๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๊ธฐ ๋•Œ๋ฌธ์— LBA๊ฐ€ ์—ฐ์†๋˜์–ด ์žˆ์œผ๋ฉด ์‹ค์ œ๋กœ๋„ ์—ฐ์†๋˜์–ด ์žˆ์„ ๊ฒƒ์ด๋ผ ๋ฏฟ๊ณ  ์Šค์ผ€์ค„๋ง์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

 

FCFS

์Šค์ผ€์ค„๋ง์—์„œ ๋น ์ง€์ง€ ์•Š๊ณ  ๋“ฑ์žฅํ•˜๋Š” ๊ฒƒ์ด FCFS(First Come First Served) ๋ฐฉ์‹์ด๋‹ค.

๋””์Šคํฌ ์Šค์ผ€์ค„๋ง๋„ ์Šค์ผ€์ค„๋ง์ด๊ธฐ ๋•Œ๋ฌธ์— FCFS๋Š” ๋ฌด์กฐ๊ฑด ๊ณ ๋ ค๋œ๋‹ค.

ํ•˜์ง€๋งŒ ๋“ค์–ด์˜จ ์ˆœ์„œ๋Œ€๋กœ ์ฒ˜๋ฆฌํ•˜๋ฉด ํ—ค๋“œ๋Š” ์ด 640์‹ค๋ฆฐ๋” ๋งŒํผ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์›€์ง์—ฌ์•ผ ํ•œ๋‹ค.

=> ๋’ค์— ๋‚˜์˜ฌ ๋‹ค๋ฅธ ์ •์ฑ…๋“ค์„ ๋ณด๋ฉด ์•Œ ์ˆ˜ ์žˆ๊ฒ ์ง€๋งŒ ๊ต‰์žฅํžˆ ๋น„ํšจ์œจ์ ์ด๋‹ค.

 

SSTF

SSTF๋Š” ํ˜„์žฌ Head์˜ ์œ„์น˜์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์‹ค๋ฆฐ๋”๋ฅผ ๋จผ์ € service ํ•ด์ฃผ์ž๋Š” ๋ฐฉ์‹์ด๋‹ค.

Seek distance ์ฐจ์›์—์„œ SSTF๊ฐ€ ์ข‹๋‹ค๋Š” ๊ฒƒ์€ ๋‹น์—ฐํ•œ ์ƒ๊ฐ์ด๋‹ค.
๊ทธ๋Ÿผ ์ด ์ •์ฑ…์„ ์“ฐ๋ฉด ๋ ๊นŒ?

Seek time๋ฉด์—์„œ ํšจ์œจ์ ์ด๊ฒ ์ง€๋งŒ, CPU ์Šค์ผ€์ค„๋ง์—์„œ์˜ SJF ๋ฐฉ์‹๊ณผ ๋™์ผํ•˜๊ฒŒ Starvation ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

ํ˜„์žฌ ํ—ค๋“œ์˜ ์œ„์น˜์˜ ๊ทผ์ฒ˜์— ํ•ด๋‹นํ•˜๋Š” ์š”์ฒญ์ด ๊ณ„์† ๋“ค์–ด์˜ค๋ฉด ๋ฉ€๋ฆฌ ์žˆ๋Š” ์• ๋“ค์€ ๊ณ„์† ์„œ๋น„์Šค๋ฅผ ๋ชป ๋ฐ›๊ฒŒ ๋  ์ˆ˜ ์žˆ๋‹ค.
=> Starvation ๋ฌธ์ œ ๋ฐœ์ƒ ๊ฐ€๋Šฅ

๋˜ํ•œ Starvation ๋ฌธ์ œ ๋ฟ ์•„๋‹ˆ๋ผ Fairness ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

์˜ˆ์‹œ์—์„œ 183๋ฒˆ์€ ์ดˆ๊ธฐ์— ์š”์ฒญ์ด ๋“ค์–ด์™”๋Š”๋ฐ ์ œ์ผ ๋งˆ์ง€๋ง‰์— ์„œ๋น„์Šค๋ฅผ ๋ฐ›์•˜๋‹ค.

์ด ์‹œ๊ฐ„ ๋‚ด์— ์„œ๋น„์Šค๋ฅผ ๋ฐ›์„ ๊ฒƒ์ด๋ผ๋Š” upper bound๊ฐ€ ์—†๊ธฐ ๋•Œ๋ฌธ์— performance์— ๋Œ€ํ•œ ์˜ˆ์ธก ๊ฐ€๋Šฅ์„ฑ์ด ์—†๋‹ค.
=> ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋“ค๋กœ ์ธํ•ด ํ•จ๋ถ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

 

SCAN

์ผ๋ช… Elevator Algorithm์œผ๋กœ๋„ ๋ถˆ๋ฆฌ๋Š” SCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ํ˜„์žฌ ๋‚ด๊ฐ€ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๋ฐฉํ–ฅ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์š”์ฒญ๋“ค์„ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰ํ•˜๊ฒ ๋‹ค๋Š” ์ •์ฑ…์ด๋‹ค.

๊ทธ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ง„ํ–‰์ด ๋์ด ๋‚˜๋ฉด ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ”์„œ ๋ฐ˜๋Œ€์ชฝ์œผ๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ๋˜ ๊ทธ ๋ฐฉํ–ฅ์— ์žˆ๋Š” ์š”์ฒญ๋“ค์„ ์ฒ˜๋ฆฌํ•˜๊ฒ ๋‹ค.

=> ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ๊ฐ€ ์œ„ ์•„๋ž˜๋กœ ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋Š” ๊ฒƒ๊ณผ ๋น„์Šทํ•˜๊ธฐ ๋•Œ๋ฌธ์— Elevator Algorithm์œผ๋กœ๋„ ๋ถˆ๋ฆฐ๋‹ค.

SCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ๋Š” ์ง„ํ–‰ํ•˜๋˜ ๋„์ค‘์— ๋ฐฉํ–ฅ์„ ๋ฐ”๊พธ๋Š” ์ผ์€ ์—†๋‹ค. ๋๊นŒ์ง€ ๊ฐ€์•ผ์ง€ ๋ฐฉํ–ฅ์„ ๋ฐ”๊พผ๋‹ค.

๊ทธ๋ฆผ์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด, ๋ฐ˜๋“œ์‹œ ๋๊นŒ์ง€ ๋„๋‹ฌํ•ด์•ผ ์ง„ํ–‰ ๋ฐฉํ–ฅ์„ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พผ๋‹ค.

SCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ SSTF๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฌธ์ œ์ ์„ ์–ด๋–ป๊ฒŒ ํ•ด๊ฒฐํ•˜๋‚˜?

ํ•œ ๋ฒˆ ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋Š” ์‚ฌ์ด์—๋Š” ๋ฐ˜๋“œ์‹œ ๋ชจ๋“  ์š”์ฒญ์ด ์ฒ˜๋ฆฌ๊ฐ€ ๋  ๊ฒƒ์ด๋ฏ€๋กœ, startvation์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ , ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์˜ upper bound๊ฐ€ ์ œ๊ณต๋œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

=> ๋์—์„œ ๋๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ์‹œ๊ฐ„ ๋‚ด์—๋Š” ๋ฐ˜๋“œ์‹œ ์„œ๋น„์Šค๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ OS๋“ค์ด SCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๊ธฐ๋ฐ˜์œผ๋กœํ•œ ๋””์Šคํฌ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด SCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์„๊นŒ??

ํ˜„์žฌ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋Š” ๋ฐฉํ–ฅ์— ๋” ์ด์ƒ ์š”์ฒญ์ด ์—†์Œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๋ฐฉํ–ฅ์„ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ๋๊นŒ์ง€ ๊ฐ„๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ์ด๊ฑด ๋ฌธ์ œ๋กœ ๋ด์•ผํ• ์ง€ ์•„๋‹์ง€ ํŒ๋‹จํ•  ์ˆ˜ ์—†๋‹ค. ์ง„ํ–‰ํ•˜๋Š” ๋„์ค‘์— ํ•ด๋‹น ๊ฒฝ๋กœ์— ์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ์ˆ˜๋„ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
=> ํ•˜์ง€๋งŒ ๊ทธ๋ ‡์ง€ ์•Š์„ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ์˜๋ฏธ๊ฐ€ ๋–จ์–ด์ง„๋‹ค๊ณ ๋Š” ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋˜ํ•œ ์–‘ ๋๋‹จ์— ์žˆ๋Š” 0๋ฒˆ๊ณผ 199๋ฒˆ์˜ ๊ฒฝ์šฐ์—” ํ•œ ๋ฒˆ ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋Š” ๋™์•ˆ ์„œ๋น„์Šค๋ฅผ ๋ฐ›์„ ๊ธฐํšŒ๊ฐ€ ํ•œ ๋ฒˆ ๋ฐ–์— ์—†๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค. ๊ทธ ์‚ฌ์ด์— ์žˆ๋Š” ์• ๋“ค์€ ์™”๋‹ค ๊ฐ”๋‹ค ํ•˜๋Š” ๋™์•ˆ 2๋ฒˆ์˜ ๊ธฐํšŒ๋ฅผ ๊ฐ–๋Š”๋‹ค.

๋๋‹จ์— ๊ฐ€๊นŒ์šด ์š”์ฒญ์ผ์ˆ˜๋ก ์ค‘๊ฐ„์— ์žˆ๋Š” ์• ๋“ค์— ๋น„ํ•ด ์ตœ์•…์˜ ๊ฒฝ์šฐ์— ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์ด ๋” ๊ธธ์–ด์ง€๋Š” ํ˜„์ƒ์ด ์žˆ๋‹ค.
=> ๊ณตํ‰์„ฑ์˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ

๊ทธ๋Ÿฐ๋ฐ ๋‘ ๊ฐ€์ง€ ๋ชจ๋‘ ํฐ ๋ฌธ์ œ๋Š” ์•„๋‹ˆ๋‹ค.

 

C-SCAN(Circular SCAN)

์•ž์„œ ๋ณด์•˜๋˜ SCAN ๋ฐฉ์‹๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ์–‘์ชฝ์œผ๋กœ ์™”๋‹ค๊ฐ”๋‹ค ํ•˜๋Š” SCAN ๋ฐฉ์‹๊ณผ ๋‹ฌ๋ฆฌ C-SCAN ๋ฐฉ์‹์€ ํ•œ ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ด๋™ํ•˜๋ฉด์„œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค.

SCAN์˜ ๋ฌธ์ œ์  ์ค‘ ํ•˜๋‚˜์ธ ์–‘ ๋์— ์žˆ๋Š” ์• ๋“ค์€ ๊ธฐํšŒ๊ฐ€ ๋” ์ ๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋งŒ๋“  ๋ฐฉ๋ฒ•์ด๋‹ค.

๋์— ๋„๋‹ฌํ•˜๋ฉด ๋ฐฉํ–ฅ์„ ๋ฐ”๊ฟ”์„œ ๋‹ค์‹œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ์‹œ์ž‘์ ์œผ๋กœ ์žฌ๋น ๋ฅด๊ฒŒ ๋Œ์•„์˜จ๋‹ค.

๋ฐ˜๋Œ€๋กœ ๋Œ์•„์˜ฌ ๋• ๋งค์šฐ ๋น ๋ฅด๊ฒŒ ๋Œ์•„์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์ฒ˜๋ฆฌ ์‹œ๊ฐ„์˜ upper bound๊ฐ€ ํ—ค๋“œ๊ฐ€ ํ•œ ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ๋๊นŒ์ง€ ์ด๋™ํ•˜๋Š” ์‹œ๊ฐ„๋งŒํผ์ด๋œ๋‹ค.

 

C-SCAN์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.

๋Œ์•„์˜ฌ ๋•Œ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š๊ณ  ๋Œ์•„์˜จ๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , SCAN์ด ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ฌธ์ œ ์ค‘ ํ•˜๋‚˜์ธ ๋” ์ด์ƒ ํ•ด๋‹น ๋ฐฉํ–ฅ์— ์š”์ฒญ์ด ์—†์Œ์—๋„ ๋๊นŒ์ง€ ๊ฐ„๋‹ค๋Š” ๋ฌธ์ œ๋Š” ์—ฌ์ „ํžˆ ํ•ด๊ฒฐํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค.

ํ•œ ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ด๋™ํ•˜๋Š”๋ฐ ์™œ Circular SCAN์ผ๊นŒ?
๋Œ์•„์˜ฌ ๋•Œ๋Š” ์•„๋ฌด๊ฒƒ๋„ํ•˜์ง€ ์•Š๊ณ  ์žฌ๋น ๋ฅด๊ฒŒ ๋Œ์•„์˜ค๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์‹ค ์–‘ ๋์ด ์ด์–ด์ ธ์žˆ๋Š” ๊ฒƒ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค.
199๋ฒˆ์„ ์ฒ˜๋ฆฌํ•˜๊ณ  ๋‚˜์„œ ๋ฐ”๋กœ 0๋ฒˆ์œผ๋กœ ๋Œ์•„์˜ค๊ธฐ ๋•Œ๋ฌธ์—

 

C-LOOK

C-SCAN์ฒ˜๋Ÿผ ํ•œ ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ด๋™ํ•˜๋Š” ๊ฒƒ์€ ๋™์ผํ•˜์ง€๋งŒ ์ „์ง„ํ•˜๋Š” ์ง„ํ–‰ ๋ฐฉํ–ฅ ์ƒ์— ์•„๋ฌด๋Ÿฐ ์š”์ฒญ๋„ ์—†๋‹ค๋ฉด ๋” ์ด์ƒ ์ง„ํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋Œ์•„์˜ค๋Š” ๋ฐฉ์‹์ด๋‹ค.
=> ์ „์ง„ํ•˜๋ฉด์„œ ์š”์ฒญ์ด ์žˆ๋Š”์ง€ ๋ณด๋ฉด์„œ ๊ฐ€๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์—์„œ C-LOOK์ด๋ผ๊ณ  ํ•œ๋‹ค.

C-LOOK์€ ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ๋งŒ ์ด๋™ํ•˜์ง€๋งŒ ์–‘๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•˜๋Š” LOOK ๋ฐฉ์‹๋„ ์žˆ๋‹ค.

C-SCAN์— ๋Œ€์‘๋˜๋Š” ๋ฐฉ์‹์ด C-LOOK์ด๊ณ , SCAN์— ๋Œ€์‘๋˜๋Š” ๋ฐฉ์‹์ด LOOK์ด๋‹ค.

 

Arm Stickiness Problem

์•ž์— ๋‚˜์˜จ ๋ฐฉ์‹๋“ค ์ค‘์— SCAN, C-SCAN, SSTF์˜ ๊ฒฝ์šฐ์—” ๊ณตํ†ต์ ์œผ๋กœ Arm Stickiness Problem์ด๋ผ๋Š” ๋ฌธ์ œ๋ฅผ ๊ฐ–๋Š”๋‹ค.
๊ทธ๋Ÿฌ๋ฉด ์™œ ์•ž์—์„œ ์–˜๊ธฐํ•˜์ง€ ์•Š์•˜๋Š๋ƒ.
๋งค์šฐ ํฌ๋ฐ•ํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋ณ„๋„๋กœ ๋‹ค๋ฃฌ๋‹ค.

ํ˜„์žฌ ํ—ค๋“œ์˜ ์œ„์น˜๊ฐ€ 15๋ฒˆ ์‹ค๋ฆฐ๋”์— ์žˆ๊ณ  ๊ทธ ๋’ค๋กœ 6๋ฒˆ ํ•˜๋‚˜์™€ ๋‚˜๋จธ์ง€๋Š” ๋‹ค 15๋ฒˆ์ด ์—ฐ์†ํ•ด์„œ ๋“ค์–ด์˜จ๋‹ค๋ฉด,
SCAN, C-SCAN, SSTF ๋ชจ๋‘ 15๋ฒˆ์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค.

=> SSTF๋Š” ํ˜„์žฌ Head์—์„œ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๊ณ , SCAN, C-SCAN์€ ํ˜„์žฌ ์ง„ํ–‰๋ฐฉํ–ฅ ์ƒ์— ์žˆ๋Š” ์š”์ฒญ๋“ค์„ ๋ชจ๋‘ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

๊ทธ๋Ÿฌ๋ฉด 6๋ฒˆ์€ ๊ณ„์†ํ•ด์„œ ์ฒ˜๋ฆฌ๊ฐ€ ๋  ์ˆ˜ ์—†๋‹ค.

์ด๊ฒŒ ์™œ ๋ฌธ์ œ๋ƒ ํ•˜๋ฉด ์•ž์—์„œ SCAN, C-SCAN์˜ ๊ฒฝ์šฐ์—๋Š” Starvation์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ , ์ฒ˜๋ฆฌ๋˜๋Š” ์‹œ๊ฐ„์˜ upper bound๋ฅผ ์ œ๊ณตํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ์ด ๊ฒฝ์šฐ์—๋Š” 6๋ฒˆ์— ๋Œ€ํ•ด์„œ starvation์ด ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค.
=> ํ•˜์ง€๋งŒ ๋งค์šฐ ํฌ๋ฐ•ํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๋Š” ํ˜„์ƒ์ด๋‹ค.

 

ํ—ค๋“œ๊ฐ€ ํ˜„์žฌ ์ฝ๊ณ  ์žˆ๋Š” ์‹ค๋ฆฐ๋”์— ๊ณ„์†ํ•ด์„œ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด ํ—ค๋“œ๊ฐ€ ์›€์ง์ผ ํ•„์š”๊ฐ€ ์—†๋‹ค.
=> Arm์ด ๋”ฑ ๋ถ™์–ด๋ฒ„๋ ธ๋‹ค๊ณ  ํ•ด์„œ Arm Stickiness Problem์ด๋ผ ๋ถˆ๋ฆฐ๋‹ค.

 

Disk Management

Logical formatting์€ ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ๋Š” ๊ทธ๋Œ€๋กœ ๋‘” ์ฑ„๋กœ ํŒŒ์ผ ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ๋“ค์„ ์ง€์›€์œผ๋กœ์จ ์•„๋ฌด๋Ÿฐ ํŒŒ์ผ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ๊ฐ–๊ณ  ์žˆ์ง€ ์•Š์œผ๋ฏ€๋กœ ๋””์Šคํฌ๊ฐ€ ๋นˆ ๊ฒƒ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๋ฅผ ๋‚ด๋Š” ๊ฒƒ์ด๋‹ค.

๋ฐ˜๋ฉด Physical formatting์€ ์‹ค์ œ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋“ค์„ ์ง€์šฐ๋Š” ๊ฒƒ์ด๋‹ค.

์ด๋•Œ ๋””์Šคํฌ๋ฅผ ์„นํ„ฐ ๋‹จ์œ„๋กœ ์ž‘๊ฒŒ ์ž˜๋ผ์„œ ํฌ๋งคํŒ…์„ ํ•˜๊ฒŒ ๋œ๋‹ค.
๊ฐœ๋…์ ์œผ๋กœ๋Š” ์„นํ„ฐ๋ฅผ 512B ๋‹จ์œ„๋กœ ์ž๋ฅด์ง€๋งŒ, ์‹ค์ œ๋กœ๋Š” ๋ฉ”ํƒ€ ๋ฐ์ดํ„ฐ์ธ head์™€ trailer๊นŒ์ง€ ๋ถ™์—ฌ์„œ ์ž๋ฅด๊ธฐ ๋•Œ๋ฌธ์— 512B๋ณด๋‹ค ์กฐ๊ธˆ ๋” ํฌ๊ฒŒ ์ž๋ฅด๊ฒŒ ๋œ๋‹ค.

header์™€ trailer์—๋Š” ๋ฐ์ดํ„ฐ์— ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ECC๊ฐ€ ๋“ค์–ด ์žˆ๋‹ค.
formatiingํ•  ๋•Œ ์ด๊ฒƒ์„ ํ™•์ธํ•ด์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์œผ๋ฉด Bad sector์ž„์„ ์•Œ๋ฆฐ๋‹ค.

ํ•œ ๋ฒˆ Bad๊ฐ€ ๋‚œ Sector๋Š” ๋‹ค์Œ์— ๋˜ Bad๊ฐ€ ๋‚  ํ™•๋ฅ ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๋ฒˆ Bad Sector๊ฐ€ ๋œ Sector๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.

๊ทธ๋Ÿฐ๋ฐ OS๋Š” ์ด Sector์˜ ๋ฒˆํ˜ธ์™€ LBA๊ฐ€ ๋งคํ•‘๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ณ„์†ํ•ด์„œ ์—ฌ๊ธฐ์— ์“ฐ๋ผ๊ณ  ์š”์ฒญ์„ ํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋–„๋ฌธ์— ์—ฐ๊ฒฐ์„ ๋Š๊ณ , ์—ฌ๋ถ„์œผ๋กœ ๋‚จ๊ฒจ๋‘” Sector์™€ ๋‹ค์‹œ ๋งคํ•‘ํ•ด์ค€๋‹ค.

 

partition์€ ๋ฌผ๋ฆฌ์ ์ธ Disk๋ฅผ ๋…ผ๋ฆฌ์ ์ธ Disk๋กœ ๋งŒ๋“ค์–ด์ฃผ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค.

ํŒŒํ‹ฐ์…˜ ํ•˜๋‚˜๋ฅผ ๋งŒ๋“ค๊ฒŒ ๋˜๋ฉด OS๋Š” ๊ทธ ํŒŒํ‹ฐ์…˜์„ ํ•˜๋‚˜์˜ ๋ณ„๋„์˜ ๋””์Šคํฌ๋กœ ์ƒ๊ฐํ•˜๊ฒŒ ๋œ๋‹ค.
์‹ค์ œ๋กœ๋Š” ํ•˜๋‚˜์˜ ๋””์Šคํฌ์ง€๋งŒ OS๋Š” ๋ฌผ๋ฆฌ์ ์ธ ๋””์Šคํฌ๊ฐ€ 2๊ฐœ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ๊ด€๋ฆฌ๋ฅผ ํ•œ๋‹ค.

 

RAID (Redundant Array of Inexpensive Disks)

๋””์Šคํฌ์— ๋Œ€ํ•œ ์ ‘๊ทผ์€ ๋งค์šฐ ๋Š๋ฆฌ๊ธฐ ๋•Œ๋ฌธ์—, ์—ฌ๋Ÿฌ ๊ฐœ์˜ Disk๋ฅผ ๋™์‹œ์— ๊ฐ€๋™ํ•˜๋ฉด ์„ฑ๋Šฅ์ด ์ข‹์•„์ง€์ง€ ์•Š์„๊นŒ๋ผ๋Š” ์ƒ๊ฐ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
=> ๋ฌธ์ œ๋Š” ์ด๊ฒƒ์„ ํ•˜๋‚˜์˜ Disk์ฒ˜๋Ÿผ ๋ณด์ด๊ฒŒ ๋งŒ๋“ค์–ด์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๋””์Šคํฌ๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์šฉ๋Ÿ‰๊ณผ ์†๋„๋ฅผ ๋†’์ด๊ฒ ๋‹ค๋Š” ์•„์ด๋””์–ด.

๊ทธ๋Ÿฌ๋‚˜ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ๋ฅผ ํ•˜๋‚˜์˜ ๋””์Šคํฌ์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์—, N๊ฐœ์˜ ๋””์Šคํฌ ์ค‘์— ํ•˜๋‚˜๋ผ๋„ ๊ณ ์žฅ๋‚˜๋ฉด ์‹œ์Šคํ…œ ์ „์ฒด๊ฐ€ ๊ณ ์žฅ๋‚˜๊ฒŒ ๋œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

=> ๊ณ ์žฅ๋‚  ํ™•๋ฅ ์ด ๋†’์•„์ง„๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ณณ์— ์ค‘๋ณต์ ์œผ๋กœ ์ €์žฅํ•จ์œผ๋กœ์จ ํ•˜๋‚˜์˜ ๋””์Šคํฌ๊ฐ€ ๊ณ ์žฅ๋‚œ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ๋‹ค๋ฅธ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ด์šฉํ•ด์„œ ๊ณ„์†ํ•ด์„œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.

์—ฌ๋Ÿฌ ๋””์Šคํฌ์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•ด์„œ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค.
=> ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต์ ์œผ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์„ ๊ฒฐ์ •ํ•ด์•ผ ๊ฒ ๋‹ค.

 

ํ•˜๋‚˜์˜ ๋””์Šคํฌ๊ฐ€ ๊ณ ์žฅ๋‚˜๋ฉด ์ „์ฒด๊ฐ€ ๊ณ ์žฅ๋‚˜๋ฒ„๋ฆฐ๋‹ค๋Š” ์‹ ๋ขฐ๋„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด Mirroring ๋ฐฉ์‹์—์„œ๋Š” ๊ฐ๊ฐ์˜ Disk๋ฅผ Duplicateํ•ด์„œ ํ•˜๋‚˜ ๋” ๋‘”๋‹ค.

10๊ฐœ์˜ Disk๋ฅผ ๊ฐ€์ง€๊ณ  RAID๋ฅผ ๊ตฌ์ถ•ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด, ์‚ฌ์‹ค์ƒ 5๊ฐœ๋ฅผ ๊ตฌ์ถ•ํ•˜๋Š” ๊ฒƒ์ด๊ณ  ๋‚˜๋จธ์ง€ 5๊ฐœ๋Š” ์Œ๋‘ฅ์ด Disk๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.
=> ์ „์ฒด ์šฉ๋Ÿ‰์˜ ์ ˆ๋ฐ˜๋ฐ–์— ์‚ฌ์šฉํ•˜์ง€ ๋ชป ํ•œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์ง€๋งŒ, ๋ณต์‚ฌ๋ณธ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‹ ๋ขฐ์„ฑ์€ ๋†’์•„์ง„๋‹ค.

Mirroring๋œ ๋””์Šคํฌ์™€ ์›๋ณธ ๋””์Šคํฌ๊ฐ€ ๋™์‹œ์— ๊ณ ์žฅ๋‚˜์•ผ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ๋œ๋‹ค.
=> ๊ทธ๋Ÿด ํ™•๋ฅ ์€ ๋งค์šฐ ๋‚ฎ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋””์Šคํฌ๋ฅผ ๊ณ ์น˜๋Š”๋ฐ 10์‹œ๊ฐ„์ด ๊ฑธ๋ฆฐ๋‹ค๊ณ  ํ•˜๋ฉด, Mirroring๋œ ๋””์Šคํฌ๊นŒ์ง€ ๊ณ ์žฅ์ด๋‚˜์„œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์ง€ ๋ชป ํ•˜๊ฒŒ ๋˜๋ ค๋ฉด 10์‹œ๊ฐ„ ๋‚ด์— Mirroring๋œ ๋””์Šคํฌ๊นŒ์ง€ ๊ณ ์žฅ์ด ๋‚˜์•ผ ํ•˜๋Š”๋ฐ ๊ทธ๋Ÿด ํ™•๋ฅ ์€ ๊ทนํžˆ ๋“œ๋ฌผ๋‹ค.

 

์„ฑ๋Šฅ ์ธก๋ฉด์—์„œ ์ƒ๊ฐํ•ด๋ดค์„ ๋•Œ, ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ถ„ํ• ํ•ด์„œ ์ €์žฅํ•  ๊ฒƒ์ด๋ƒ์— ๋”ฐ๋ผ ๊ธฐ๋ฒ•์ด ๋‹ฌ๋ผ์ง„๋‹ค.

ํŒŒ์ผ๋ณ„๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด, ๊ทธ ํŒŒ์ผ์„ ์ฝ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ฒฐ๊ตญ ํ•˜๋‚˜์˜ ๋””์Šคํฌ์—์„œ ์ฝ์–ด์•ผ ํ•˜๋ฏ€๋กœ, ๋””์Šคํฌ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์˜๋ฏธ๊ฐ€ ์—†๋‹ค.

RAID์—์„œ๋Š” ํŒŒ์ผ๋ณ„๋กœ ๋ถ„ํ• ํ•˜์ง€ ์•Š๊ณ  ์–ด๋–ป๊ฒŒ ๋ถ„ํ• ํ•  ๊ฒƒ์ธ๊ฐ€?

ํŒŒ์ผ ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ž˜๋ผ์„œ ๋ถ„ํ• ํ•ด์•ผ ํ•  ๊ฒƒ์ด๋‹ค.

์ž๋ฅด๋Š” ์‚ฌ์ด์ฆˆ์— ๋”ฐ๋ผ Bit-level striping๊ณผ Block-level striping์œผ๋กœ ๋‚˜๋‰œ๋‹ค.

 

  • Bit-level striping

Bit ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•ด์„œ ์ €์žฅํ•˜๊ฒŒ ๋˜๋ฉด, ํ•œ ๋ฐ”์ดํŠธ๋ฅผ ์ฝ์„ ๋•Œ๋„ ์—ฌ๋Ÿฌ DIsk์—์„œ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค.

๊ทธ๋Ÿผ ์ข‹์„๊นŒ? ์•ˆ ์ข‹๋‹ค.

ํ•˜๋‚˜์˜ ๋””์Šคํฌ ๋‚ด์—์„œ ํ•œ bit๋งŒ ์ฝ๊ณ  ๋‹ค์Œ bit๋ฅผ ์ฝ๊ธฐ ์œ„ํ•ด์„œ ๋˜ ๋‹ค์‹œ Disk seek์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. 
=> ๋น„ํŠธ๋งˆ๋‹ค Seek๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฐฉ๋ฒ•์€ ๋ชป ์“ด๋‹ค.

 

  • Block-level striping

ํ•œ ํŒŒ์ผ ๋‚ด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ธ”๋Ÿญ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ ์„œ ์ €์žฅํ•œ๋‹ค.
=> ์š”์ฆ˜ ๋Œ€๋ถ€๋ถ„์˜ RAID๊ฐ€ Block-level striping์„ ์“ด๋‹ค.

ํ•œ ํŒŒ์ผ์„ ์ ‘๊ทผํ•  ๋•Œ 5๊ฐœ์˜ ๋ธ”๋Ÿญ์„ ์ฝ์–ด์•ผ ํ•œ๋‹ค๊ณ  ํ•˜๋ฉด, 5๊ฐœ์˜ ๋ธ”๋Ÿญ์„ 5๊ฐœ์˜ ๋””์Šคํฌ์—์„œ ๋™์‹œ์— ์ฝ์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค๋ฉด ์†๋„๊ฐ€ 5๋ฐฐ ๋นจ๋ผ์งˆ ๊ฒƒ์ด๋‹ค.

 

RAID Levels

Redundancy ์ „๋žต๊ณผ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜๋Š” Striping ์ „๋ ฅ์„ ๊ฒฐํ•ฉ์‹œ์ผœ์„œ ์–ด๋–ค RAID๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ์„๊นŒ.

 

RAID Level 0

RAID Level 0๋Š” ๋ฐ์ดํ„ฐ๋Š” ๋ธ”๋Ÿญ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ ์„œ ์ €์žฅํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ ์ •์ฑ…์€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒ ๋‹ค.
=> ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์–ด๋ฒ„๋ ค๋„ ์‹ ๊ฒฝ์“ฐ์ง€ ์•Š๊ฒ ๋‹ค. Only ์„ฑ๋Šฅ๋งŒ ์ค‘์š”.

๋ณ„๋กœ ์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜์ง€๋งŒ ์„ฑ๋Šฅ์ด ์ค‘์š”ํ•  ๋•Œ๋Š” RAID Level 0๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

 

RAID Level 1

๋ฐ์ดํ„ฐ๋Š” ๋ธ”๋Ÿญ ๋‹จ์œ„๋กœ ๋ถ„ํ• ํ•˜๊ณ , Mirrored disk๋ฅผ ์‚ฌ์šฉํ•˜๊ฒ ๋‹ค.
=> RAID Level 1์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ๋ธ”๋Ÿญ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ณ ์ž ํ•  ๋•Œ write๊ฐ€ ํ•œ ๋ฒˆ๋งŒ ์ผ์–ด๋‚œ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
=> ๋‹ค๋ฅธ ๋ฐฉ์‹์˜ ๊ฒฝ์šฐ์—” ์—ฌ๋Ÿฌ ๋ฒˆ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๊ฑด ๋’ค์—์„œ ๋ณด๊ฒ ๋‹ค.

 

RAID Level 2, 3

RAID Level 2์™€ 3๋Š” Bit, Byte ๋‹จ์œ„๋กœ striping์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Seek๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์ด ๋ฐœ์ƒํ•ด์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

RAID Level 4

Block level striping์„ ํ•˜๊ณ  ์‹ ๋ขฐ์„ฑ ํ–ฅ์ƒ์„ ์œ„ํ•ด Parity Block์„ ์‚ฌ์šฉํ•œ๋‹ค.

Parity๋Š” Odd Parity๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๊ณ , Even Parity๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค.

 

๊ฐ ๋””์Šคํฌ๋งˆ๋‹ค ๊ฐ™์€ ์œ„์น˜์— ์žˆ๋Š” ๋ธ”๋Ÿญ์— ๋Œ€ํ•ด์„œ Parity Block์„ ๋งŒ๋“ค์–ด์„œ Parity disk์— ์ €์žฅํ•œ๋‹ค.

Even parity๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ (0์ด ์ง์ˆ˜๊ฐœ),
๋งŒ์•ฝ 4๊ฐœ์˜ Disk์˜ 0๋ฒˆ ๋ธ”๋Ÿญ์˜ ์ฒซ ๋ฒˆ์งธ ๋น„ํŠธ๊ฐ€ ๊ฐ๊ฐ 1, 1, 0, 0 ์ด๋ผ๊ณ  ํ•˜๋ฉด Parity Block์˜ ์ฒซ ๋ฒˆ์งธ ๋น„ํŠธ๋Š” 1์ด ๋œ๋‹ค.

๋ธ”๋Ÿญ์— ๋ฐ์ดํ„ฐ๋ฅผ writeํ•  ๋•Œ๋งˆ๋‹ค Parity block๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๋‹ค.

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— Read Operation๋„ ์ถ”๊ฐ€๋œ๋‹ค. ๋ธ”๋Ÿญ์— ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ธฐ ์ „์—, ์“ฐ๊ณ ์ž ํ•˜๋Š” ๋ธ”๋Ÿญ์˜ ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•œ ํ›„์— bit๊ฐ€ ๋ฐ”๋€Œ์—ˆ๋‹ค๊ณ  ํ•˜๋ฉด Parity block์˜ bit๋„ ๋ฐ”๊ฟ”์ฃผ์–ด์•ผ ํ•œ๋‹ค.

์ด๋Ÿฌํ•œ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์žˆ๊ธด ํ•˜์ง€๋งŒ, ์—ฌ๋Ÿฌ ๋””์Šคํฌ์—์„œ ๋™์‹œ์— I/O๊ฐ€ ์ผ์–ด๋‚œ๋‹ค๋Š” ์„ฑ๋Šฅ ํ–ฅ์ƒ์ด ๋” ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋””์Šคํฌ๊ฐ€ ๊ณ ์žฅ๋‚˜๋ฉด ๊ณ ์žฅ๋‚œ ๋””์Šคํฌ๋ฅผ ๋นผ๊ณ  ์ƒˆ๋กœ์šด ๋””์Šคํฌ๋ฅผ ์žฅ์ฐฉํ•œ ๋‹ค์Œ ๋‚˜๋จธ์ง€ ์‚ด์•„์žˆ๋Š” ๋””์Šคํฌ๋“ค์˜ ๋ธ”๋Ÿญ๊ณผ Parity block์„ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต๊ตฌํ•œ๋‹ค.
=> ์‹ค์‹œ๊ฐ„์œผ๋กœ ๋ณต๊ตฌํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์„œ๋น„์Šค๋Š” ๊ณ„์† ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ 4๊ฐœ์˜ ๋””์Šคํฌ ์ค‘ ์–ด๋–ค ๋””์Šคํฌ์— ์—…๋ฐ์ดํŠธ๋ฅผ ํ•˜๋”๋ผ๋„ Parity block์„ ์—…๋ฐ์ดํŠธ ํ•ด์•ผ ํ•œ๋‹ค.
=> Parity block์ด ์—…๋ฐ์ดํŠธ ๋˜๋Š” ์†๋„๊ฐ€ ๋‚˜๋จธ์ง€ 4๊ฐœ์˜ ๋””์Šคํฌ์—์„œ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ๋˜ ์†๋„๋ฅผ ๋”ฐ๋ผ๊ฐ€์•ผ ํ•˜๋Š”๋ฐ, ๊ทธ๋ ‡์ง€ ๋ชปํ•œ๋‹ค.
=> Parity block์ด bottle neck์ด ๋œ๋‹ค.
write๊ฐ€ ๋ฐœ์ƒํ•  ๊ฒฝ์šฐ RAID Level 4๋Š” ํšจ๊ณผ๊ฐ€ ์—†์–ด์ง€๊ฒŒ ๋œ๋‹ค.

 

RAID Level 5

RAID Level 4์—์„œ ํ•˜๋‚˜์˜ Parity Block์ด ๋‚˜๋จธ์ง€ 4๊ฐœ์˜ ๋””์Šคํฌ์— ๋Œ€ํ•œ write๋ฅผ ๊ฐ๋‹นํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— Parity Block์ด Bottle neck์ด ๋์—ˆ๋‹ค. ์ด๊ฒƒ์„ ํ•ด์†Œํ•˜๊ธฐ ์œ„ํ•ด ๋‚˜์˜จ ๋ฐฉ์‹์ด RAID Level 5์ด๋‹ค.

์ฒซ ๋ฒˆ์งธ ๋ธ”๋Ÿญ๋“ค์— ๋Œ€ํ•œ Parity Block์€ 1๋ฒˆ ๋””์Šคํฌ์—, ๋‘ ๋ฒˆ์งธ ๋ธ”๋Ÿญ๋“ค์— ๋Œ€ํ•œ Parity Block์€ 2๋ฒˆ ๋””์Šคํฌ์— ์ด๋Ÿฐ ์‹์œผ๋กœ ์ €์žฅํ•œ๋‹ค.

RAID Level 4์—์„œ Parity Disk๊ฐ€ ๊ฐ€์กŒ๋˜ ๋ถ€ํ•˜๋ฅผ 5๊ฐœ์˜ ๋””์Šคํฌ๊ฐ€ ๋‚˜๋ˆ ์„œ ๊ฐ–๊ฒŒ ๋˜๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— bottle neck์ด ์—†์–ด์ง„๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.
=> ๊ทธ๋Ÿฐ๋ฐ RAID Level 4์— ๋น„ํ•ด ์•ˆ ์ข‹์€ ์ ์€ ์—†๊ธฐ ๋•Œ๋ฌธ์— RAID Level 4๋Š” ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

Choice of RAID Level

RAID 0๋Š” ์‹ ๋ขฐ๋„๋ฅผ ํ–ฅ์ƒํ•˜๊ธฐ ์œ„ํ•œ ๋Œ€์ฑ…์€ ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋Š” ์žƒ์–ด๋ฒ„๋ ค๋„ ์ƒ๊ด€์—†๊ณ  ์˜ค๋กœ์ง€ ์„ฑ๋Šฅ๋งŒ ์ค‘์š”ํ•  ๋•Œ ๋ ˆ๋ฒจ0๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
=> ๋ฐฑ์—…์ด ๋งค์šฐ ์ž˜ ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ์— ์„ฑ๋Šฅ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Level 2, 3์˜ ๊ฒฝ์šฐ์—” Bit, Byte ๋ ˆ๋ฒจ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ–ˆ๋‹ค.

Level 4์˜ ๊ฒฝ์šฐ์—” Level 5๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์‹ค์งˆ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ์‹์€ Mirroring ๋ฐฉ์‹์ธ Level 1๊ณผ Parity ๋ฐฉ์‹์˜ Level 5๋ฅผ ๊ณ ๋ฏผํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ ˆ๋ฒจ 1์˜ ๊ฒฝ์šฐ์—๋Š” ์“ฐ๊ธฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์›๋ณธ ๋ธ”๋Ÿญ๊ณผ Mirrored ๋ธ”๋Ÿญ 2๊ฐœ์˜ ๋ธ”๋Ÿญ์— write๋ฅผ ํ•˜๋ฉด ๋œ๋‹ค.

๋ ˆ๋ฒจ 5์˜ ๊ฒฝ์šฐ์—๋Š” ํ•˜๋‚˜์˜ ๋ธ”๋Ÿญ์— write๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์›๋ณธ ๋ธ”๋Ÿญ๋„ ์ฝ์–ด์•ผ ํ•˜๊ณ , ์›๋ณธ Parity ๋ธ”๋Ÿญ๋„ ์ฝ์–ด์•ผ ํ•œ๋‹ค.
๊ทธ๋Ÿฌ๊ณ  ๋‚˜์„œ ๋ฐ์ดํ„ฐ ๋ธ”๋Ÿญ๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•˜๊ณ , Parity ๋ธ”๋Ÿญ๋„ ์ˆ˜์ •ํ•ด์•ผ ํ•œ๋‹ค.

write์— ๋Œ€ํ•ด์„œ๋Š” Level 1์˜ ์„ฑ๋Šฅ์ด ๋” ์ข‹๋‹ค.

log disk๋Š” ํ‰์†Œ์—๋Š” ๊ณ„์† write๋งŒ ๋ฐœ์ƒํ•˜๋‹ค๊ฐ€ DB๋ฅผ ๋ณต๊ตฌํ•  ๋•Œ์—๋งŒ read๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.
๋ฐ์ดํ„ฐ์˜ write๋งŒ ๊ณ„์†ํ•ด์„œ ๋ฐœ์ƒํ•˜๋Š” log disk์— ๋Œ€ํ•ด์„œ๋Š” Level 1๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์„ ๊ฒƒ์ด๋‹ค.

 

ํ•˜์ง€๋งŒ Mirroring ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ์‹ค์ œ ์šฉ๋Ÿ‰์˜ ์ ˆ๋ฐ˜ ๋ฐ–์— ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•œ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์šฉ๋Ÿ‰์ ์ธ ๋ฉด์—์„œ๋Š” ๋ ˆ๋ฒจ 5๊ฐ€ ๋” ์ข‹์„ ๊ฒƒ์ด๋‹ค.
๊ทธ๋Ÿฐ๋ฐ ์š”์ฆ˜ ๋””์Šคํฌ์˜ ์šฉ๋Ÿ‰์ด ๋งค์šฐ ํฌ๊ธฐ ๋•Œ๋ฌธ์— ์šฉ๋Ÿ‰์ด ๋ฌธ์ œ๊ฐ€ ๋˜๋Š” ๊ฒฝ์šฐ๋Š” ์ž˜ ์—†๋‹ค.

 

write๋Š” ๋งŽ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ ๋ฐ์ดํ„ฐ๋Š” ๋งค์šฐ ๋งŽ์„ ๋•Œ๋Š” ๋ ˆ๋ฒจ 5๊ฐ€ ๋” ์ข‹์„ ๊ฒƒ์ด๊ณ ,  ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ผ๋ฐ˜์ ์œผ๋กœ Level 1์˜ Mirroring ๋ฐฉ์‹์ด ๋” ์„ ํ˜ธ๋œ๋‹ค.

728x90

'HYU > ์šด์˜์ฒด์ œ(OS)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

14. I/O Systems  (0) 2023.06.02
12. File System  (2) 2023.05.27
11. Virtual Memory (2)  (0) 2023.05.19
7. Deadlocks  (0) 2023.05.18
10. Virtual Memory (1)  (1) 2023.05.12