티스토리 뷰

1. 캐시 메모리

  • cpu가 메모리에 접근하는 시간은 cpu 연산 속도보다 느리다.
  • cpu와 메모리 사이에 위치한 레지스터보다 용량이 크고 메모리보다는 빠른 SRAM 기반의 저장 장치
  • cpu의 연산 속도와 메모리 접근 속도의 차이를 조금이나마 줄이기 위해 탄생
  • cpu가 매번 메모리에 왔다 갔다 하는 건 오래 걸리니 메모리에서 cpu가 사용 할 일부 데이터를 미리 캐시 메모리로 가지고 와서 사용한다.
  • cpu: 집
  • cache: 편의점(물건은 적지만 집과 가까이 있음)
  • memory: 대형마트(물건은 많지만 멀리 떨어져 있음)
  • 계층적 캐시 메모리
    • L1, L2: 코어 내부
    • L3: 코어 외부
  • 참조 지역성의 원리
    • cpu가 메모리에 접근할 때 주된 경향을 바탕을 만들어진 원리
      • cpu는 최근에 접근했던 메모리 공간에 다시 접근하려는 경향이 있다.
      • cpu는 접근한 메모리 공간 근처를 접근하려는 경향이 있다.
    • 캐시 메모리는 메모리보다 용량이 작다.
    • 당연하게도 메모리의 모든 내용을 저장할 수 없다.
    • 캐시 히트: cpu가 캐시 메모리의 저장된 값을 활용할 경우
    • 캐시 미스: cpu가 메모리에 접근해야 하는 경우
    • 캐시 적중률: 캐시 히트 횟수 / (캐시 히트 횟수 + 캐시 미스 횟수)
    • 캐시 적중률을 높여야 한다 == cpu가 사용할 법한 데이터를 잘 예측해야 한다.

2. 보조기억장치

하드 디스크

  • 자기적인 방식으로 데이터 저장
  • 구성: 스핀들, 플래터, 헤드, 디스크 암
  • 저장 단위
    • 트랙과 섹터 단위로 데이터 저장
    • 실린더: 여러 겹의 플래터 상에서 같은 트랙이 위치 한 곳을 모아 연결한 논리적 단위 => 연속된 정보는 한 실린더에 기록
  • 하드 디스크가 저장된 데이터에 접근하는 과정
    • 탐색 시간: 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간
    • 회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간
    • 전송 시간: 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간

플래시 메모리

  • 전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치
  • 종류: NAND 플래시 메모리, NOR 플래시 메모리
  • 셀(cell)
    • 한 셀에 1비트를 저장할 수 있는 플래시 메모리: SLC
    • 한 셀에 2비트를 저장할 수 있는 플래시 메모리: MLC
      • 한 셀로 4개의 정보 표현(대용량화 유리)
      • SLC보다 느린 입출력, 짧은 수명, 저렴
    • 한 셀에 3비트를 저장할 수 있는 플래시 메모리: TLC
      • 한 셀로 8개의 정보 표현
      • MLC보다 느린 입출력, 짧은 수명, 저렴
      • 4비트를 저장할 수 있는 플래시 메모리: QLC
    • 플래시 메모리에서 데이터를 저장하는 가장 작은 단위
    • 이 셀이 모이고 모여 수 MB, GB, TB 저장 장치가 된다.
  • 읽기/쓰기 단위와 삭제 단위는 다르다.
    • 읽기와 쓰기는 페이지 단위로 이루어지고
    • 삭제는 블록 단위로 이루어진다.
  • 페이지의 상태
    • Free: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
    • Valid: 이미 유효한 데이터를 저장하고 있는 상태
    • Invalid: 유효하지 않은 데이터(쓰레기값)를 저장하고 있는 상태

3. RAID의 정의와 종류

RAID(Redundant Array of Independent Disks)

  • 하드 디스크와 SSD로 사용하는 기술
  • 데이터의 안전성  혹은 높은 성능을 위해 여러 물리적 보조기억장치를 마치 하나의 논리적 보조기억장치처럼 사용하는 기술
  • RAID 레벨: RAID를 구성하는 기술
  • 각 RAID레벨마다 장단점이 있음
  • 어떤 상황에서 무엇을 최우선으로 원하는지에 따라 최적의 RAID레벨은 달라질 수 있다.
  • 각 레벨의 대략적인 구성과 특징을 아는 것이 중요하다.

RAID 0: 데이터를 단순히 나누어 저장하는 구성 방식, 각 하드 디스크는 번갈아 가며 데이터를 저장한다. 저장되는 데이터가 하드 디스크 개수만큼 나뉘어 저장

  • stripe: 마치 줄무늬처럼 분산되어 저장된 데이터
  • striping: 분산하여 저장하는 것
  • 장점: 입출력 속도의 향상
  • 단점: 저장된 정보가 안전하지 않음

RAID 1

  • 미러링: 복사본을 만드는 방식
  • 데이터를 쓸 때 원본과 복사본 2군데에 씀
  • 단점: 하드 디스크 개수가 한정되었을 때 사용 가능한 용량이 적어짐
  • 복사본이 만들어지는 용량만큼 사용 불가 -> 많은 하드 디스크 필요 -> 비용 증가

RAID4

  • RAID1처럼 완전한 복사본을 만드는 대신 오류를 검출하고 복구하기 위한 정보를 저장
  • 패리티를 저장한 장치를 이용해 다른 장치들의 오류를 검출하고 오류가 있다면 복구
  • 단점: 패리티 디스크의 병목

RAID5

  • 패리티 정보를 분산하여 저장하는 방식

RAID6

  • 2 종류의 패리티(오류를 검출하고 복구할 수 있는 수단)
  • RAID5보다 안전, 쓰기는 RAID5보다 느림
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함