[C.A] 보조 기억 장치

touhou09·2024년 11월 16일
0

컴퓨터 이론

목록 보기
12/47

보조 기억장치는 여러 종류와 특징을 가지고 있다.

hard disk (HDD)

자기적인 방식으로 데이터를 저장한다.

HDD는 아래와 같은 구성요소를 가지고 있다.

  • platter
    platter는 자기적인 방식으로 데이터를 저장할 수 있도록 자기 물질로 덮여있어 수많은 N극과 S극을 저장한다.
    이 극성이 0과 1의 역할을 수행한다.
  • spindle
    platter를 회전시키는 장치를 의미한다.
    platter를 돌리는 속도는 분당 회전수를 나타내는 RPM으로 표현한다.
  • head
    platter를 대상으로 데이터를 읽고 쓰는 장치이다.
    head는 platter 위에서 미세하게 떠 있는 채로 데이터를 읽고 쓰는 바늘과 같은 부품이며 원하는 위치로 head를 이동시키는 disk arm에 장착되어 있다.

platter는 track과 sector라는 단위로 데이터를 저장하는데, platter를 여러 동심원으로 나누었을 때 그중 하나의 원을 track 이라고 부른다.
그리고 track을 여러 조각으로 나눴을 때, 이 한 조각을 sector라고 부른다.

sector는 HDD의 가장 작은 전송단위이며, 보통 512byte 정도의 크기를 가지지만 정확한 크기는 HDD에 따라 다르다.

여러 겹의 platter 상에서 같은 track이 위치한 곳을 모아 연결한 논리적 단위를 cylinder라고 부르고, 연속된 정보는 보통 하나의 cylinder에 기록한다.

HDD에 저장된 데이터에 접근하는 시간은 크게 seek time, rotational latency, transfer time이라고 부른다.

  • seek time : 접근하려는 데이터가 저장된 track까지 head를 이동시키는 시간
  • rotational latency : head가 있는 곳으로 platter를 회전시키는 시간
  • tranfer time : HDD와 컴퓨터 간에 데이터를 전송하는 시간

seek time과 rotational latency의 지연을 단축시키기 위해서는 RPM을 높이는 것도 중요하지만 참조 지역성을 챙기는 것도 중요하다.

flash memory

USB, SD 카드, SSD 모두 flash memory 기반이다.

flash memory는 cell이라는 단위로 구성된다.
이 cell이 모이고 모여 MB, GB 등 큰 용량을 갖게 되는데 한 cell에 1bit를 저장할 수 있는 flash memory를 SLC(Single Level Cell), 2bits를 저장하는 경우 MLC, 3bits를 저장하는 경우를 TLC 타입이라고 한다.

  • SLC 타입
    하나의 cell에서 2개의 정보를 표현한다.
    다른 타입에 비해 빠른 입출력이 가능하며 수명도 길지만, 용량 대비 가격이 높다.
    보통 데이터를 읽고 쓰기가 매우 많이 반복되며 고성능의 빠른 저장 장치에서 사용한다.
  • MLC
    SLC보다 속도와 수명은 떨어지지만, 한 cell에 2bits씩 저장 가능하다는 점에서 대용화 하기에 유리하다.
    SLC에 비해 용량 대비 가격이 저렴하며 시중에서 가장 많이 사용되는 저장장치들이 채택한다.
  • TLC
    한 cell에 3bits씩 처리할 수 있는 타입으로, 한 cell이 8개의 정보를 표현할 수 있다.
    대용량화에 유리하지만 SLC, MLC에 비해 수명과 속도가 떨어지고 용량 대비 가격도 저렴하다.

Cell들이 모여 만들어지는 단위를 page, page가 모여 만들어지는 단위를 block이라고 하고 block을 모아 plane, plane을 모아 die가 된다.

page는 3개의 상태를 가지는데 이를 각각 free, valid, invalid 상태이다.

  • Free : 어떠한 데이터도 저장하지 않아 새로운 데이터를 저장할 수 있는 상태
  • Valid : 이미 유효한 데이터를 저장하고 있는 상태
  • Invalid : garbage 값을 가지는 상태

valid 상태인 page는 새 데이터를 저장할 수 없다.

최근에는 flash memory에 garbage collection을 추가해 쓰레기 값을 제거하는 추세이다.

profile
Engineer가 되기 위하여

0개의 댓글