RAID(Redundant Array of Independent Disks)
λ¨μΌ λμ€ν¬μ νκ³λ₯Ό 극볡νκΈ° μν΄μ μ¬λ¬ κ°μ λ 립μ μΈ λμ€ν¬λ€μ λ¬Άμ΄ νλμ ν° μ μ₯ μ₯μΉμ²λΌ μ¬μ©
μλ₯Ό λ€μ΄μ, νλμ λμ€ν¬μ μ μ₯λλ μμ λμ€ν¬ 4κ°μ λλλ κ²μ΄κΈ° λλ¬Έμ λμ€ν¬μ νμ κΈΈμ΄κ° 1/4μ΄ λλ€. μλλ 4λ°° λΉ¨λΌμ§λ€.
RAID λͺ©μ
1. λμ€ν¬ access μκ°μ λΉ λ₯΄κ² νλ κ²
2. recoveryκ° κ°λ₯ν λμ€ν¬ μμ€ν μ λ§λλ κ²
RAID 0 (non-redundant)
νλμ λ°μ΄ν°λ₯Ό stripμ΄λΌλ μμ μ‘°κ°μΌλ‘ λλ λ€, μ¬λ¬ κ°μ νλλμ€ν¬μ μμλλ‘ λΆμ°νμ¬ μ μ₯νλ€. strip 0, strip 1, strip 2, strip 3μ΄ κ°κ° λ€λ₯Έ 4κ°μ λμ€ν¬μ λλμ΄ μ μ₯λλ κ²μ λ³Ό μ μλ€. μ¬λ¬ λμ€ν¬μμ λμμ λ°μ΄ν°λ₯Ό μ½κ³ μΈ μ μμ΄μ μ μΆλ ₯ μ±λ₯μ΄ λ§€μ° ν₯μλλ€.
λ¨μ μΌλ‘λ λ°μ΄ν°λ₯Ό λ°±μ νλ κΈ°λ₯μ΄ μ ν μμ΄μ μ€μν λ°μ΄ν°λ₯Ό μ μ₯νκΈ°μλ λ§€μ° μνν λ°©μμ΄λ€.
RAID 1 (mirrored)
- λ°μ΄ν°λ₯Ό μ½μ λλ νλμ λμ€ν¬μμ μ½μΌλ©΄ λλ€.
- λ°μ΄ν°λ₯Ό μΈ λλ νλμ, νμμ λ λ€ μ¨μΌ νλ€.
νμ λμ€ν¬
- νλμ λμ€ν¬μ λ°μ΄ν°λ₯Ό κ·Έλλ‘ λ³΅μ νλ λμ€ν¬
νλμ λμ€ν¬κ° κ³ μ₯ λλλΌλ νμ λμ€ν¬μ μλ³Έ λ°μ΄ν°κ° κ·Έλλ‘ λ¨μμκΈ° λλ¬Έμ λ°μ΄ν°λ₯Ό μμ νκ² λ³΄μ‘΄ν μ μλ€. λ°μ΄ν° λ³΅κ΅¬κ° λ§€μ° μ©μ΄νλ€.
RAID 2 (redundancy through Hamming code)
νλμ λμ€ν¬: λ°μ΄ν° λμ€ν¬
μλ³Έ λ°μ΄ν°λ₯Ό λΉνΈ λ¨μλ‘ μλΌμ κ°κ°μ λμ€ν¬μ λλμ΄ μ μ₯νλ€.
νμ λμ€ν¬: ν΄λ° μ½λ λμ€ν¬
μ μ± 7κ°μ λΉνΈ μμΉ μ€ 2^n μμΉμλ μ²΄ν¬ λΉνΈ(c0, c1, c2)λ₯Ό λ°°μΉνλ€.
λλ¨Έμ§ μμΉ(3, 5, 6, 7)μλ λ°μ΄ν° λΉνΈ(d0, d1, d2, d3)λ₯Ό λ°°μΉνλ€.
c0μ λ°μ΄ν° λΉνΈμ μμΉ λ²νΈλ₯Ό μ΄μ§μλ‘ νννμ λ κ°μ₯ μ€λ₯Έμͺ½ λΉνΈ()κ° 1μΈ λͺ¨λ λ°μ΄ν° λΉνΈλ₯Ό XOR
c1μ λ°μ΄ν° λΉνΈμ μμΉ λ²νΈλ₯Ό μ΄μ§μλ‘ νννμ λ μ€κ° λΉνΈ()κ° 1μΈ λͺ¨λ λ°μ΄ν° λΉνΈλ₯Ό XOR
c2λ λ°μ΄ν° λΉνΈμ μμΉ λ²νΈλ₯Ό μ΄μ§μλ‘ νννμ λ κ°μ₯ μΌμͺ½ λΉνΈ()κ° 1μΈ λͺ¨λ λ°μ΄ν° λΉνΈλ₯Ό XOR
RAID 3 (bit-interleaved parity)
RAID 2μ μ€λ²ν€λκ° ν° λ¨μ μ ν΄κ²°νκΈ° μν λ°©μμ΄ RAID 3μ΄λ€.
λ°μ΄ν°λ₯Ό λΉνΈ λ¨μλ‘ μ¬λ¬ λμ€ν¬μ λλμ΄ μ μ₯νκ³ λ°μ΄ν° 볡ꡬλ₯Ό μν΄μ νλμ ν¨λ¦¬ν° λμ€ν¬λ₯Ό μ¬μ©νλ λ°©μ
μ§μ/νμ ν¨λ¦¬ν° κ°λ μ μ΄μ©νλ€.
[μ§μ ν¨λ¦¬ν°λ₯Ό μ¬μ©ν λ]
4κ°μ λ°μ΄ν° λΉνΈκ° 1, 1, 1, 1μΌ κ²½μ°μ ν¨λ¦¬ν° λμ€ν¬μλ 0μ μ μ₯
[νμ ν¨λ¦¬ν°λ₯Ό μ¬μ©ν λ]
4κ°μ λ°μ΄ν° λΉνΈκ° 1, 1, 1, 1μΌ κ²½μ°μ ν¨λ¦¬ν° λμ€ν¬μλ 1μ μ μ₯
RAID 2, RAID 3μ κ°μ₯ ν° νκ³λ λ°μ΄ν°λ₯Ό λΉνΈ λ¨μλ‘ λλμ΄ μ μ₯νλ€λ μ μ΄λ€.
λ°μ΄ν°μ ν λΈλ‘μ μ½κΈ° μν΄μ λͺ¨λ λ°μ΄ν° λμ€ν¬μ λμμ μ κ·Όνμ¬ κ° λΉνΈλ₯Ό μ‘°ν©ν΄μΌ νλ€. μ¦, λμ€ν¬ 4κ°λ₯Ό μ¨λ μλκ° 4λ°°κ° λμ§ μλ λ¬Έμ κ° λ°μνλ€.
RAID 4 (block-level parity)
RAID 4λ λ°μ΄ν°λ₯Ό λΉνΈκ° μλ λΈλ‘ λ¨μλ‘ λλμ΄ μ μ₯νλ€.
λ°μ΄ν°λ₯Ό μ½μ λ, λΈλ‘μ΄ μ μ₯λ λμ€ν¬ νλμλ§ μ κ·Όνλ©΄ λΌμ λμ€ν¬ κ°μλ§νΌμ μ½κΈ° μ±λ₯ ν₯μμ κΈ°λν μ μλ€.
λ°μ΄ν° μ°κΈ° κ³Όμ (write)
- λ°μ΄ν° λμ€ν¬: μ€μ λ°μ΄ν° λΈλ‘μ μλ‘ μ΄λ€.
- ν¨λ¦¬ν° λμ€ν¬: λ³κ²½λ λ°μ΄ν°λ₯Ό κΈ°λ°μΌλ‘ μλ‘ κ³μ°λ ν¨λ¦¬ν° κ°μ μ΄λ€.
μ°κΈ° μμ²μ΄ νμ£Όνλ μν©μ κ°μ νλ©΄, λ°μ΄ν° μ°κΈ° μμ²μ μ¬λ¬ λ°μ΄ν° λμ€ν¬λ‘ λΆμ°λμ§λ§, λͺ¨λ μ°κΈ° μμ μ λν ν¨λ¦¬ν° μ λ°μ΄νΈλ λ¨ νλμ ν¨λ¦¬ λμ€ν¬λ‘ μ§μ€λλ€. λ°λΌμ, ν¨λ¦¬ν° λμ€ν¬κ° μ¬κ°ν λ³λͺ© νμμ μΌμΌν¨λ€.
RAID 5 (block-level distributer parity)
RAID5λ RAID 4μ ν¨λ¦¬ν° λ³λͺ© λ¬Έμ λ₯Ό ν΄κ²°νκΈ° μν΄ λ±μ₯νλ€.
μ μ© ν¨λ¦¬ν° λμ€ν¬λ₯Ό μμ κ³ , ν¨λ¦¬ν° μ 보λ₯Ό λͺ¨λ λμ€ν¬μ κ³¨κ³ λ£¨ λΆμ°μμΌ μ μ₯νλ λ°©μ
ν¨λ¦¬ν° λΈλ‘μ΄ μ¬λ¬ λμ€ν¬μ μ μ₯λλ―λ‘, μ¬λ¬ μ°κΈ° μμ μ΄ λ°μνλλΌλ ν¨λ¦¬ν° μ λ°μ΄νΈ λΆλ΄μ΄ νΉμ λμ€ν¬ νλμ μ§μ€λμ§ μκ³ μ¬λ¬ λμ€ν¬λ‘ λΆμ°λλ€.
Disk Cache
: λμ€ν¬ sectorμ λ°μ΄ν°λ₯Ό λ©μΈ λ©λͺ¨λ¦¬μ μμλ‘ μ μ₯νλ λ²νΌ
μμ£Ό μ¬μ©λλ λ°μ΄ν°λ₯Ό λ©λͺ¨λ¦¬μ μΊμ±ν¨μΌλ‘μ¨ λλ¦° λμ€ν¬ μ κ·Ό μμ΄λ λΉ λ₯΄κ² λ°μ΄ν°μ μ κ·Όν μ μκ² νλ€.
I/O μμ² λ°μ μ, λ¨Όμ λμ€ν¬ μΊμμ ν΄λΉ sectorκ° μλμ§ νμΈ
μλ€λ©΄ μΊμμμ λ°λ‘ λ°μ΄ν°λ₯Ό λ°ν (λμ€ν¬ μ κ·Ό λΆνμ)
μλ€λ©΄ λμ€ν¬μμ sectorλ₯Ό μ½μ΄μ€κ³ μΊμμ μ μ₯ν νμ μλ΅
λμ€ν¬ μΊμκ° κ½ μ°¬ μνμμ μλ‘μ΄ λΈλ‘μ κ°μ ΈμμΌ ν κ²½μ° κΈ°μ‘΄μ λΈλ‘ μ€ νλλ₯Ό λ²λ €μΌ νλ€.
μ΄λ μ΄λ€ λΈλ‘μ λ²λ¦΄μ§ κ²°μ νλ κ·μΉ 2κ°μ§μ λν΄μ μμ보μ.
1) Least Recently Used
κ°μ₯ μ€λ μ μ μ¬μ©λ λ°μ΄ν°λ₯Ό μ κ±°νλ λ°©μ
μ΅κ·Ό μ κ·Όλ λΈλ‘μ μ€νμ μμͺ½μ μμΉμν€κ³ κ°μ₯ μλμ μλ λΈλ‘μ μ κ±°νλ€.
2) Least Frequently Used
μ κ·Ό νμκ° κ°μ₯ μ μ λΈλ‘μ μ κ±°νλ λ°©μ
κ° λΈλ‘μ μΉ΄μ΄ν°λ₯Ό λκ³ μ κ·Ό μλ§λ€ κ°μ μ¦κ°μν¨λ€.
λμ€ν¬ μΊμμ λμ°©ν λΈλ‘μ counterκ° 1μ΄λΌ μμΌλ‘ μ¬μ©λ μ μλλ° counter κ°μ΄ μμμ λ²λ €μ§ μλ μλ€λ λ¬Έμ μ μ΄ μλ€.
Frequency-based Replacement
LRU, LFU 2κ°μ§ λ°©μμ μμ λ°©μ
New Section, Old Section 2κ° μΉμ λͺ¨λΈ
λΈλ‘μ΄ μΊμμ μ¬λΌμ€λ©΄ count = 1λ‘ μ΄κΈ°νλκ³ New Sectionμ top μμΉμ μ μ₯λλ€.
λΈλ‘ μ¬μ°Έμ‘° μ μ²λ¦¬ λ°©μ
- New Sectionμ μμ λ: count κ°μ μ¦κ°νμ§ μκ³ λΈλ‘μ μμΉλ§ topμΌλ‘ μ΄λ
- Old Sectionμ μμ λ: count κ°μ +1 μ¦κ°μν€κ³ λΈλ‘μ μμΉλ₯Ό topμΌλ‘ μ΄λ
New Sectionμ μλ λΈλ‘μ λ²λ¦¬μ§ μλλ€.
Old Sectionμ μλ λΈλ‘ μ€μ countκ° κ°μ₯ μμ λΈλ‘μ λ²λ¦°λ€.
New Sectionμμλ§ μμ£Ό μ¬μ©λλ λΈλ‘μ΄ μ²μμΌλ‘ Old SectionμΌλ‘ λ°λ €λλ μκ°μ countλ 1μ΄κ³ μ΄λ κ΅μ²΄κ° νμνλ©΄ μ€μ λ‘λ λ§€μ° μμ£Ό μ¬μ©νλ λΈλ‘μ΄ λ°λ‘ λ²λ €μ§λ λ¬Έμ κ° λ°μν μ μλ€.
New Section, Middle Section, Old Section 3κ° μΉμ λͺ¨λΈμ λμ
Middel Sectionμ μμ λ μ¬μ°Έμ‘°κ° λ°μνλ©΄ count κ°μ +1 μ¦κ°μμΌμ£Όκ³ λΈλ‘μ μμΉλ₯Ό topμΌλ‘ μ΄λ
New Section, Middle Sectionμ μλ λΈλ‘μ λ²λ¦¬μ§ μλλ€.
Old Sectionμ μλ λΈλ‘ μ€μ countκ° κ°μ₯ μμ λΈλ‘μ λ²λ¦°λ€.
'μ΄μ체μ ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
CH6-1 Concurrency : Deadlock and Starvation (0) | 2025.06.15 |
---|---|
CH11-1 I/O Management and Disk Scheduling (0) | 2025.06.14 |
CH10-2 Multiprocessor and Real-Time Scheduling (0) | 2025.06.13 |
CH10-1 Multiprocessor and Real-Time Scheduling (1) | 2025.06.09 |
CH9-2 Uniprocessor Scheduling (0) | 2025.06.08 |