๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
์Šคํ„ฐ๋””/์šด์˜์ฒด์ œ

[์šด์˜์ฒด์ œ์™€ ์ •๋ณด๊ธฐ์ˆ ์˜ ์›๋ฆฌ] 9์žฅ ๋””์Šคํฌ ๊ด€๋ฆฌ

by moon101 2023. 4. 7.

1. ๋””์Šคํฌ์˜ ๊ตฌ์กฐ

  • ๋…ผ๋ฆฌ๋ธ”๋ก: ๋””์Šคํฌ์˜ ์ผ์ •ํ•œ ํฌ๊ธฐ์˜ ์ €์žฅ๊ณต๊ฐ„
  • ๋…ผ๋ฆฌ๋ธ”๋ก์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฐฐ์—ด์— ์ ‘๊ทผํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ํ•ด๋‹น ๋ธ”๋ก์˜ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๋ฅผ ๋””์Šคํฌ์— ์ „๋‹ฌํ•˜๋ฉด ๋œ๋‹ค
  • ์„นํ„ฐ: ๊ฐ ๋…ผ๋ฆฌ๋ธ”๋ก์ด ์ €์žฅ๋˜๋Š” ๋””์Šคํฌ ๋‚ด์˜ ๋ฌผ๋ฆฌ์ ์ธ ์œ„์น˜

 

2. ๋””์Šคํฌ ์Šค์ผ€์ค„๋ง

  • ๋””์Šคํฌ์— ๋Œ€ํ•œ ์ ‘๊ทผ์‹œ๊ฐ„์€ ํƒ์ƒ‰์‹œ๊ฐ„๊ณผ ํšŒ์ „์ง€์—ฐ์‹œ๊ฐ„, ์ „์†ก์‹œ๊ฐ„์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค
  • ํƒ์ƒ‰์‹œ๊ฐ„(seek time): ๋””์Šคํฌ ํ—ค๋“œ๋ฅผ ํ•ด๋‹น ์‹ค๋ฆฐ๋” ์œ„์น˜๋กœ ์ด๋™์‹œํ‚ค๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
  • ํšŒ์ „์ง€์—ฐ์‹œ๊ฐ„(rotational latency): ๋””์Šคํฌ๊ฐ€ ํšŒ์ „ํ•ด์„œ ์ฝ๊ณ  ์“ฐ๋ ค๋Š” ์„นํ„ฐ๊ฐ€ ํ—ค๋“œ ์œ„์น˜์— ๋„๋‹ฌํ•˜๊ธฐ๊นŒ์ง€ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„
  • ์ „์†ก์‹œ๊ฐ„(transfer time): ํ•ด๋‹น ์„นํ„ฐ๊ฐ€ ํ—ค๋“œ ์œ„์น˜์— ๋„๋‹ฌํ•œ ํ›„ ๋ฐ์ดํ„ฐ๋ฅผ ์‹ค์ œ๋กœ ์„นํ„ฐ์— ์ฝ๊ณ  ์“ฐ๋Š” ๋ฐ ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„
  • ๋””์Šคํฌ ์ž…์ถœ๋ ฅ์˜ ํšจ์œจ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์šด์˜์ฒด์ œ๋Š” ํƒ์ƒ‰์‹œ๊ฐ„์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ํ—ค๋“œ์˜ ์›€์ง์ž„์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์Šค์ผ€์ค„๋ง ์ž‘์—…์„ ํ•œ๋‹ค

1) FCFS(First Come First Served) ์Šค์ผ€์ค„๋ง

  • ๋””์Šคํฌ์— ๋จผ์ € ๋“ค์–ด์˜จ ์š”์ฒญ์„ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹

2) SSTF(Shortest Seek Time First) ์Šค์ผ€์ค„๋ง 

  • ํ—ค๋“œ์˜ ํ˜„์žฌ ์œ„์น˜๋กœ๋ถ€ํ„ฐ ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์œ„์น˜์— ์žˆ๋Š” ์š”์ฒญ์„ ์ œ์ผ ๋จผ์ € ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹

3) SCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ํ—ค๋“œ๊ฐ€ ๋””์Šคํฌ ์›ํŒ์˜ ์•ˆ์ชฝ ๋๊ณผ ๋ฐ”๊นฅ์ชฝ ๋์„ ์˜ค๊ฐ€๋ฉฐ, ๊ทธ ๊ฒฝ๋กœ์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค
  • ์—˜๋ฆฌ๋ฒ ์ดํ„ฐ ์Šค์ผ€์ค„๋ง ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ ๋„ ๋ถˆ๋ฆฐ๋‹ค

4) C-SCAN ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • SCAN์ฒ˜๋Ÿผ ํ—ค๋“œ๊ฐ€ ํ•œ์ชฝ ๋์—์„œ ๋‹ค๋ฅธ ์ชฝ ๋์œผ๋กœ ์ด๋™ํ•˜๋ฉฐ ๊ฐ€๋Š” ๊ธธ๋ชฉ์— ์žˆ๋Š” ๋ชจ๋“  ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€๋งŒ, SCAN๊ณผ ๋‹ฌ๋ฆฌ ํ—ค๋“œ๊ฐ€ ๋‹ค๋ฅธ ์ชฝ ๋์— ๋„๋‹ฌํ•ด ๋ฐฉํ–ฅ์„ ๋ฐ”๊พผ ํ›„์—๋Š” ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜์ง€ ์•Š๊ณ  ๊ณง๋ฐ”๋กœ ์ถœ๋ฐœ์ ์œผ๋กœ ๋‹ค์‹œ ์ด๋™๋งŒ ํ•œ๋‹ค. 
  • SCAN๋ณด๋‹ค ๋” ๊ท ์ผํ•œ ํƒ์ƒ‰์‹œ๊ฐ„์„ ์ œ๊ณตํ•œ๋‹ค

5) LOOK๊ณผ C-LOOK ์•Œ๊ณ ๋ฆฌ์ฆ˜

  • ํ—ค๋“œ๊ฐ€ ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•˜๋‹ค๊ฐ€ ๊ทธ ๋ฐฉํ–ฅ์— ๋” ์ด์ƒ ๋Œ€๊ธฐ ์ค‘์ธ ์š”์ฒญ์ด ์—†์œผ๋ฉด ํ—ค๋“œ์˜ ์ด๋™ ๋ฐฉํ–ฅ์„ ์ฆ‰์‹œ ๋ฐ˜๋Œ€๋กœ ๋ฐ”๊พธ๋Š” ์Šค์ผ€์ค„๋ง ๋ฐฉ์‹์ด๋‹ค
  • C-LOOK์€ ์ „๋ฐฉ์— ์š”์ฒญ์ด ์—†์„ ๋•Œ ๋ฐฉํ–ฅ์„ ๋ฐ”๊พผ๋‹ค๋Š” ๊ฒƒ์€ LOOK๊ณผ ๋น„์Šทํ•˜๋‚˜, ํ•œ์ชฝ ๋ฐฉํ–ฅ์œผ๋กœ ์ด๋™ํ•  ๋•Œ์—๋งŒ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ์ ์—์„œ C-SCAN๊ณผ ์œ ์‚ฌํ•˜๋‹ค. 

 

3. ๋‹ค์ค‘ ๋””์Šคํฌ ํ™˜๊ฒฝ์—์„œ์˜ ์Šค์ผ€์ค„๋ง

  • ๋™์‹œ ์‚ฌ์šฉ์ž๋ฅผ ์„œ๋น„์Šคํ•˜๋Š” ์„œ๋ฒ„์—์„œ๋Š” ๋‹ค์ˆ˜์˜ ๋””์Šคํฌ๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•œ๋‹ค
  • ์ด๋•Œ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋””์Šคํฌ ์ค‘ ์–ด๋Š ๋””์Šคํฌ์—์„œ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ• ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์Šค์ผ€์ค„๋ง ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค
  • ๊ฑฐ์‹œ์ ์ธ ๊ด€์ ์—์„œ๋Š” ๊ฐ ๋””์Šคํฌ ๊ฐ„์˜ ๋ถ€ํ•˜๊ท ํ˜•(load balancing)์„ ์ด๋ฃจ๋„๋ก ์Šค์ผ€์ค„๋งํ•˜๋Š” ๊ฒƒ์ด ์ข‹๋‹ค

 

4. ๋””์Šคํฌ์˜ ์ €์ „๋ ฅ ๊ด€๋ฆฌ

1) ๋น„ํ™œ์„ฑํ™” ๊ธฐ๋ฒ•

  • ๋””์Šคํฌ์˜ ์ƒํƒœ๋Š” ์ „๋ ฅ ์†Œ๋ชจ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ™œ๋™ ์ƒํƒœ, ๊ณตํšŒ์ „ ์ƒํƒœ, ์ค€๋น„ ์ƒํƒœ, ํœด๋ฉด ์ƒํƒœ๋กœ ๋‚˜๋ˆ„์–ด ๋ณผ ์ˆ˜ ์žˆ๋‹ค
  • ํ™œ๋™(active) ์ƒํƒœ: ํ˜„์žฌ ํ—ค๋“œ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ๊ณ  ์žˆ๋Š” ์ƒํƒœ
  • ๊ณตํšŒ์ „(idle) ์ƒํƒœ: ๋””์Šคํฌ๊ฐ€ ํšŒ์ „ ์ค‘์ด์ง€๋งŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์“ฐ์ง€๋Š” ์•Š๋Š” ์ƒํƒœ
  • ์ค€๋น„(standby) ์ƒํƒœ: ๋””์Šคํฌ๊ฐ€ ํšŒ์ „ํ•˜์ง€ ์•Š์ง€๋งŒ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ํ™œ์„ฑํ™”๋œ ์ƒํƒœ
  • ํœด๋ฉด(sleep) ์ƒํƒœ: ๋””์Šคํฌ๊ฐ€ ํšŒ์ „ํ•˜์ง€ ์•Š๊ณ  ์ธํ„ฐํŽ˜์ด์Šค๋„ ๋น„ํ™œ์„ฑํ™”๋œ ์ƒํƒœ
  • ๋””์Šคํฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋Š” ์‹œ์ ์„ ๊ฒฐ์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” ์‹œ๊ฐ„๊ธฐ๋ฐ˜ ๊ธฐ๋ฒ•๊ณผ ์˜ˆ์ธก๊ธฐ๋ฐ˜ ๊ธฐ๋ฒ•, ํ™•๋ฅ ๊ธฐ๋ฐ˜ ๊ธฐ๋ฒ•์ด ์žˆ๋‹ค
  • ์‹œ๊ฐ„๊ธฐ๋ฐ˜(timeout based) ๊ธฐ๋ฒ•: ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ๋””์Šคํฌ๊ฐ€ ๊ณตํšŒ์ „ ์ƒํƒœ์ด๋ฉด ์žฅ์น˜๋ฅผ ์ •์ง€์‹œ์ผฐ๋‹ค๊ฐ€, ๋‹ค์‹œ ์š”์ฒญ์ด ์™”์„ ๋•Œ ๋””์Šคํฌ๋ฅผ ํ™œ์„ฑํ™”ํ•œ๋‹ค
  • ์˜ˆ์ธก๊ธฐ๋ฐ˜(prediction based) ๊ธฐ๋ฒ•: ๊ณผ๊ฑฐ ์š”์ฒญ์„ ๊ด€์ฐฐํ•˜์—ฌ ๋‹ค์Œ ๊ณตํšŒ์ „ ๊ตฌ๊ฐ„์˜ ๊ธธ์ด๋ฅผ ์˜ˆ์ธกํ•œ ํ›„ ๋””์Šคํฌ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•  ์‹œ์ ์„ ๊ฒฐ์ •ํ•œ๋‹ค
  • ํ™•๋ฅ ๊ธฐ๋ฐ˜(stochastic based) ๊ธฐ๋ฒ•: ๋””๋ฐ”์ด์Šค์˜ ์ƒํƒœ๋ณ€๊ฒฝ ์‹œ๊ฐ„ ๊ฐ„๊ฒฉ์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด ํ™•๋ฅ ๋ถ„ํ‘œ๋ฅผ ํ†ตํ•ด ์š”์ฒญ์„ ๋ชจ๋ธ๋งํ•˜๊ณ  ํ†ต๊ณ„์  ๋ชจ๋ธ์„ ์ด์šฉํ•œ๋‹ค

2) ํšŒ์ „์†๋„ ์กฐ์ ˆ ๊ธฐ๋ฒ•

  • ๋””์Šคํฌ์˜ ํšŒ์ „์†๋„(Rotations Per Minute: RPM)๋ฅผ ๊ฐ€๋ณ€์ ์œผ๋กœ ์กฐ์ ˆํ•˜๋Š” ๊ธฐ๋ฒ•
  • ์šด์˜์ฒด์ œ๋Š” ์‹œ์Šคํ…œ ์ž์›๊ณผ ๋ถ€ํ•˜๋ฅผ ํฌ๊ด„์ ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋“œ์›จ์–ด ํ˜ผ์ž์„œ ์ „๋ ฅ ๊ด€๋ฆฌ๋ฅผ ํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•ด ๋” ๋งŽ์€ ์ „๋ ฅ ์ ˆ๊ฐ ํšจ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค

3) ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ๋ฐฐ์น˜ ๊ธฐ๋ฒ•

  • FS2 ํŒŒ์ผ ์‹œ์Šคํ…œ(free space file system): ๋Œ€๋ถ€๋ถ„์˜ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ๋””์Šคํฌ์˜ 53% ์ด์ƒ์ด ๋นˆ ๊ณต๊ฐ„์ธ ์ƒํƒœ๋กœ ๋‚จ์•„ ์žˆ๋‹ค๋Š” ์ ์— ์ฐฉ์•ˆํ•ด, ๋””์Šคํฌ ๋‚ด์— ๋ฐ์ดํ„ฐ์˜ ๋ณต์ œ๋ณธ์„ ๋งŽ์ด ๋งŒ๋“ค์–ด ํ—ค๋“œ ์œ„์น˜์—์„œ ๊ฐ€๊นŒ์šด ๋ณต์ œ๋ณธ์— ์ ‘๊ทผํ•˜๋„๋ก ํ•จ์œผ๋กœ์จ ๋น ๋ฅธ ์‘๋‹ต์‹œ๊ฐ„๊ณผ ์ „๋ ฅ ์†Œ๋ชจ๋Ÿ‰ ์ ˆ๊ฐ์„ ์–ป๋Š” ๋ฐฉ๋ฒ•

4) ๋ฒ„ํผ์บ์‹ฑ ๋ฐ ์‚ฌ์ „์ธ์ถœ ๊ธฐ๋ฒ•

  • ๋ฏธ๋ž˜์— ์š”์ฒญ๋„๋ฆฌ ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋Š ์ •๋„ ์˜ˆ์ธกํ•  ์ˆ˜ ์žˆ๋‹ค๋ฉด ๋””์Šคํฌ๊ฐ€ ํ™œ์„ฑ ์ƒํƒœ์ผ ๋•Œ ํ—ค๋“œ ์œ„์น˜๋กœ๋ถ€ํ„ฐ ๊ฐ€๊นŒ์šด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์ „์ธ์ถœ(prefetching)ํ•จ์œผ๋กœ์จ ํ–ฅํ›„ ๋””์Šคํฌ์˜ ๋น„ํ™œ์„ฑํ™” ๊ฐ€๋Šฅ์„ฑ์„ ๋†’์—ฌ ์ „๋ ฅ ์†Œ๋ชจ๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค
  • ๋ฐ๋“œ๋ผ์ธ์„ ๊ผญ ์ง€์ผœ์•ผ ํ•˜๋Š” ๊ธด๊ธ‰ํ•œ ์š”์ฒญ์ด ์•„๋‹Œ ๊ฒฝ์šฐ, ๋””์Šคํฌ์˜ ํ™œ์„ฑ ์ƒํƒœ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ์š”์ฒญ์„ ์ตœ๋Œ€ํ•œ ์ง€์—ฐ์‹œํ‚ค๋Š” ๋ฐฉ์‹๋„ ์žˆ๋‹ค

5) ์“ฐ๊ธฐ์ „๋žต์„ ํ†ตํ•œ ์ €์ „๋ ฅ ๋””์Šคํฌ ๊ธฐ๋ฒ•

  • ๋Œ€์ƒ ๋””์Šคํฌ๊ฐ€ ๋น„ํ™œ์„ฑ ์ƒํƒœ์ผ ๋•Œ์—๋Š” ๋””์Šคํฌ ์“ฐ๊ธฐ๋ฅผ ํ•˜์ง€ ์•Š๊ณ  ๊ธฐ๋‹ค๋ ธ๋‹ค๊ฐ€ ๋””์Šคํฌ๊ฐ€ ํ™œ์„ฑ ์ƒํƒœ๋กœ ๋Œ์•„์™”์„ ๋•Œ ์“ฐ๋Š” ๋ฐฉ์‹์ด๋‹ค

 

๋Œ“๊ธ€