본문 바로가기
카테고리 없음

보조기억장치

by cariño 2023. 6. 24.
728x90
반응형

보조기억장치: 하드디스크, 플래시 메모리

플래시메모리: SSD, USD, SD카드 

 

 

1. 하드디스크: 자기적인 방식으로 데이터 저장하는 보조기억장치이다. (자기디스크의 일종이라 불린다. )

 

마치 LP판, cd처럼 생기고 비슷하게 동작한다. 여러겹의 플래터로 겹쳐져있다. 

  • 플래터: N극과 S극으로 자기적인 물질로 덮여있다. 많은 데이터를 저장해야하기 때문에 여러겹으로 겹쳐져있고 양면을 모두 사용한다.
  • 스핀들: 플래터를 회전시키는 구성요소
  • 회전의 단위 : RPM(Revolution Per Minute):분당 회전 수
    • ex) RPM 15,000인 하드디스크 - 1분에 15,000퀴 회전
  • 헤더: 플래터를 읽고 쓸 수 있는 수단을  플래터와 아주 미세하게 떠있고 자기물질을 읽는 구성요소이다.  양면을 사용할 수 있는 플래터는 면마다 헤드가 달려 있다. 모든 헤드는 디스크암에 부착되어 일반적으로는 한번에 움직인다. 

 

[데이터 저장 방법]

플래터는 트랙과 섹터 단위로 데이터를 저장한다.

 

  • 트랙: 플래터의 동심원도 하나의 트랙  플래터를 이루고 있는 동심원을 그리는 저장단위
  • 섹터: 피자 조각처럼 나누었을 때 그중 한 조각을 섹터라고 한다.  하나 이상의 섹터를 묶어서 블록이라고 표현하기도 한다. (운영체제 파일시스템에서 해당 용어가 나옴)

여러겹의 플래터 마다 색칠 된 (같은 트랙 위치) 트랙을 실린더

  • 실린더: 여러개의 플래터가 겹쳐서 사용될 때 같은 트랙이 위치한 곳을 모아 연결한 논리적인 단위이다. 

한 플래터를 동심원으로 나눈 공간은 트랙, 같은 트랙끼리 연결한 원통 모양은 실린더이고 연속된 정보는 하나의 실린더에 저장된다. 

헤드는 디스크 암에 부착되서 다같이 움직이는데 한 실린더에 기록되면 헤드를 움직이지 않고 바로 읽을 수 있다. 

 

 

 

 

[데이터 접근 과정]

하드디스크가 저장된 데이터에 접근할때 소요되는 대표적인 시간 3가지

  • 탐색 시간(seek time): 접근하려는 데이터가 저장된 트랙까지 헤드를 이동시키는 시간

 

  • 회전 시간(rotational latency): 헤드가 있는 곳으로 플래터를 회전시키는 시간

 

  • 전송 시간(transfer time): 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간

 

jeff Dean: Numbers Every Programmer Should Know

* ns(나노초)는 10-9초

* 패킷(packet) 네크워크의 기본적인 전송 단위

하드디스크의 CPU전송 시간이 생각보다 크고 중요한 변이이다. 

https://youtu.be/3owqvmMf6No

 

 

 

 

2. 플래시 메모리

전기적으로 데이터를 읽고 쓰는 반도체 기반 저장 장치이다. 

주기억 장치인 ROM으로써도 사용되고 있기 때문에 플래시 메모리는 보조기억장치에만 속한다고 보기는 어렵다.

 

  • NAND 플래시 메모리: NAND 연산을 수행하는 회로
  • NOR 플래시 메모리 : NOR 연산을 수행하는 회로

보조기억장치는 대부분 NAND 플래시 메모리이다.

 

 

[플레시 메모리 단위]

셀(Cell)
- 플래시 메모리에서 데이터를 저장하는 가장 적은 단위
- 이 셀들이 모여서 수 MB, GB, TB 저장 장치가 된다. 
  • 한 셀에 1비트를 저장할 수 있는 플래시 메모리 : SLC
  • 한 셀에 2비트를 저장할 수 있는 플래시 메모리 : MLC
  • 한 셀에 3비트를 저장할 수 있는 플래시 메모리 : TLC
  • 한 셀에 4비트를 저장할 수 있는 플래시 메모리 : QLC

한 셀에 저장되는 비트수는 플래시 메모리의 성능, 가격, 수명을 결정하는 요소이다. 

이를 통해 알 수 있는 점은 같은 플래시 메모리라도 수명, 가격 성능이 모두 다르다. 

 

 

 

사람 한 명 === 1비트

셀 === 집

SLC === 한 집에 한 명

  • 한 셀이 1비트이기에 두 개의 정보를 표현한다. 
  • 비트의 빠른 입 출력
  • 긴 수명을 갖고 있다. 
  • 용량 대비 고가격이다. 

혼자서 집에 살 때, 여러명이 한 집에서 살 때를 비교해보면 월세, 준비하는 시간등을 생각하면 된다.

일정횟수 이상을 사용하고 지우고 하면 종이에 연필사용 지우개 사용을 한 흔적이 계속 남는 것처럼 종이는 낡게 된다. 마치 플래시 메모리도 닳게 된다는 점을 갖고 있다. 

 

MLC === 한 집에 두 명

  • 한 셀에 2 비트를 저장할 수 있기에 네 개의 정보 표현이 가능하다. 
  • 같은 셀이 주어졌을 때 더 많은 비트를 주어질 수 있기에 대용량화에 유리하다. 
  • SLC보다 느린 입 출력
  • SLC보다 짧은 수명
  • SLC보다 저렴
  • 시중에서 많이 사용(MLC, TLC, QLC)

SLC타입의 썼다 지웠다 하는 횟수에 비해  MLC타입은 그보다 적은 횟수로 썼다 지웠다 할 수 있다. 

낮은 가격으로 조금 더 고용량 장치를 사용 할 수 있다는 장점

 

 

TLC === 한 집에 세명

  • 한 셀당 3비트를 갖기에  여덟개의 정보를 표현한다. (대용량화 유리)
  • 여러명이 한꺼번에 외출 준비를 하기 때문에 입출력 속도가 MLC보다 느리다. 
  • MLC 보다 짧은 수명
  • MLC보다 저렴
  • 시중에서 많이 사용

 

셀이라는 단위가 모이고 모여서 MB, GB, TG 저장 장치가 된다. 

플래시 메모리 단위

  • 셀들이 모여서 page
  • 페이지들이 모여서 block
  • 블록이 모여서 plane
  • 플레인이 모여서 die

플래시 메모리는 읽기 / 쓰기 단위와 삭제 단위가 다르다. 

읽기/쓰기는 page 단위로 이루어지고, 삭제는 페이지보다 큰 block 단위로 이루어진다. 

이 중 읽기/쓰기로 사용되는 page는 플래시 메모리의 때 가장 큰 내부적인 특성이다.

page 또한 상태 값을 가지고 있다.

 

페이지의 상태

  • free 상태: 어떠한 데이터도 저장하고 있지 않아 새로운 데이터를 저장할 수 있는 상태
  • valid 상태: 이미 유효한 데이터를 저장하고 있는 상태
  • invalid상태: 유효하지 않은 데이터(쓰레기 값)을 저장하고 있는 상태 (플래시 메모리는 하드디스크와 달리 덮어쓰기가 불가능하다. )

 

 

삭제는 block 단위로만 이루어지기 때문에 A 페이지만은 삭제할 수 없다. 

새롭게 저장된 C와 기존에 저장되어 있던 B를 그대로 둔 체 기존의 A만을 A'로 수정하고 싶다면,

A를 invalid 페이지로 만든 후 A`라는 valid 페이지가 담긴 생성 새로운 block을 만든다. 

용량의 낭비를 방지하기 위해서 기존 블록을 삭제한 후 공간을 정리하는 기능을 갖기 위해 가비지 컬렉션을 사용한다. 

 

 

[가비지 컬렉션]

1. 유효한 페이지들만을 새로운 블록에 복사 한다. 

2. 기존의 쓰레기 값이 있는 블록을 삭제한다. 

 

 

728x90

댓글