ComputerScience/컴퓨터 구조

[컴퓨터 구조] 보조기억장치

ruu++ 2024. 9. 2. 23:59

이 글은 혼자 공부하는 컴퓨터 구조 + 운영체제 (저자 : 강민철)의 책과 유튜브 영상을 참고하여 개인적으로 정리하는 글이라는 것을 알립니다!!.

1. 하드 디스크와 플래시 디스크

  • 하드 디스크는 HDD를 말합니다.
  • 플래시 디스크는 USB 메모리, SD카드, SSD 등 을 말합니다

1.1 하드디스크

  • 자기적인 방식으로 데이터를 보존하기 때문에 자기 디스크라고 말하기도 합니다.

스핀들 플래터
헤드 디스크암

  • 플래터 : 동그란 원판이며, 자기 물질에 덮여 있어 N극과 S극을 저장합니다. 이게 0과 1의 역할을 합니다.
  • 스핀들: 플래터를 회전시키는 구성 요소로 RPM 단위로 표현합니다. RPM이 5000이라면 1분에 5000바퀴를 회전하는 디스크 입니다.
  • 헤드: 플래터 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는 바늘 같이 생긴 부품입니다.
  • 디스크암: 헤드의 위치를 원하는 위치로 이동 시킵니다.

1.2 플래터의 저장

플래터 저장

  • 플래터는 트랙섹터라는 단위로 데이터를 저장합니다.
  • 트랙 : 동심원으로 나누었을 때 그중 하나의 원을 말합니다.
  • 섹터: 섹터는 가장 작은 전송단위 입니다. 512byte 정도의 크기입니다.

1.3 데이터가 접근하는 과정

  • 탐색시간: 접근하는 데이터의 트랙에 헤드를 이동시키는데 걸리는 시간을 말합니다
  • 회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간
  • 전송 시간: 하드디스크와 컴퓨터 간 전송 시간을 말합니다.

1.4 프로그래머가 꼭 봐야할 성능 표

저장 장치 평균 처리 시간
L1 캐시 참조 시간 0.5ns
L2 캐시 참조 시간 5ns
메모리 참조 시간 7ns
메모리에서 1MB를 순차적으로 읽는 시간 250.000ns
하드 디스크 탐색 시간 10,000,000ns
하디 드스크에서 1MB를 순차적으로 읽는 시간 30,000,000ns
한 패킷이 캘리포니아에서 네덜란드까지 왕복하는 시간 150,000,000ns


 

2. 플래시 메모리

  • USB 메모리, SD카드, SSD가 여기에 속합니다.
  • 데이터를 저장하는 가장 작은 단위를 Cell 이라고 합니다.
  • 읽고 쓰는 단위는 페이지를 기준으로 합니다.

2.1 SLC 타입

  • 한 셀에 1bit를 저장할 수 있는 메모리 타입
  • 한셀에 0과 1을 표현할 수 있습니다.
  • 용량 대비 가격이 비쌉니다.
  • 수명이 길어서 수십만 데이터를 쓰고 지울 수 있습니다.

2.2 MLC 타입

  • 한 셀에 2bit를 저장할 수 있는 메모리 타입
  • 한 셀에 4가지 표현이 가능합니다.
  • SLC와 비교했을 경우 용량 대비 가격이 저렴

2.3 TLC 타입

  • 한 셀에 3bit를 저장할 수 있는 메모리 타입
  • 한 셀에 8가지 표현이 가능합니다.
  • SLC, MLC보다 수명과 속도가 떨어지지만, 용량 대비 가격이 제일 싸다.

2.4 셀보다 더 큰 단위

  • 셀들이 모여서 만들어진페이지
  • 페이지가 모여서 만들어진 블록
  • 블록이 모여서 만들어진 플레인
  • 플레인이 모여서 만들어진 다이

2.5 페이지의 상태

  • 페이지는 세가지의 상태를 가지고 있습니다.
  • Free: 어떠한 데이터로 가지고 있지 않아 새로운 데이터를 저장할 수 있는 상태
  • Valid: 이미 유효한 데이터를 저장하고 있는 상태
  • Invalid: 쓰레기 값이라고 불리는 유효하지 않는 데이터를 저장하고 있는 상태

2.6 페이지 저장과 가비지 컬렉션

 

A 데이터 수정

이 경우는 블럭에 A데이터를 수정했을 경우 A`가 블럭에 저장되고 기존의 A는 Invalid 상태가 되어 유효하지 않는 쓰레기 값이 됩니다.

  • 가비지 컬렉션: 낸드 플래시의 삭제 단위는 블록단위입니다. 그래서 A만 지울 수 없습니다. 그래서 제공하는 기능이 가비지 컬렉션 입니다.

가비지 컬렉션

 

가비지 컬렉션은 유효한 페이지만 복사한 뒤 기존 블록을 삭제시킵니다.

3. RAID

  • 여러개의 물리적인 보조기억 장치를 하나의 논리적 보조기억장치처럼 사용하는 기술

3.1 RAID 0

 

RAID 0

  • 하드 디스크가 최소 2개 이상일 때 사용할 수 있는 방법입니다.
  • 하나의 데이터를N개로 분산해서 저장합니다.
  • 분산된 데이터를 스트라입이라고 하며, 분산하여 저장하는 것을 스트라이핑라고 합니다.
  • 데이터의 용량도 N배 늘어납니다.
  • 읽고 쓰는 처리 속도도 N배 늘어납니다.
  • 하지만, 하나의 디스크에 문제가 생기면 다른 디스크들에서 제대로 정보를 가져올 수 없는 문제가 발생합니다.

3.2. RAID 1

RAID 1

  • RAID 1은 복사본을 만드는 방식입니다.
  • 이 방식은 미러링라고 말합니다.
  • RAID 0 방식에 비해 사용가능한 용량이 작아집니다.
  • 비용도 같이 증가하게 됩니다.

3.3 RAID 4

RAID 4

  • 복사본을 만들지 않고 페리티 비트오류 정보와 복구하기 위한 정보를 담습니다.
  • RAID 1 보다 적은 하드 디스크로 안전하게 보관할 수 있습니다.

3.4 RAID 5

RAID 5

  • 어떤 데이터를 저장할 때, 페리티 비트를 저장하는 디스크에 병목현상이 일어나는 문제를 해소
  • 위 그림처럼 패리티 정보를 분산해서 저장하는 방법으로 병목을 해결했습니다.

3.5 RAID 6

RAID 6

 

  • 그림과 같이 서로 다른 두개의 패리티를 두는 방식입니다.
  • 저장할 때, 페리티가 두개 저장되므로 RAID 5보다 느립니다.
  • 하지만, 페리티 비트를 2개 보관하기 때문에 RAID 5 보다 안전하게 보관할 수 있는 장점이 있습니다.

4. 출처

https://en.wikipedia.org/wiki/Standard_RAID_levels

 

Standard RAID levels - Wikipedia

From Wikipedia, the free encyclopedia Any of a set of standard configurations of Redundant Arrays of Independent Disks In computer storage, the standard RAID levels comprise a basic set of RAID ("redundant array of independent disks" or "redundant array of

en.wikipedia.org

 

https://devocean.sk.com/blog/techBoardDetail.do?ID=163608

 

RAID 정리 1. RAID 기본 설명 및 RAID Level (레이드 레벨)

 

devocean.sk.com