비전공자를 위한 CS 지식: 4. 보조기억장치

xellos·2023년 2월 12일
0

CS

목록 보기
4/7

목표

개발자로 근무하면서 기획자나, QA, 운영하시는 분들께 종종 질문들을 받습니다.

  • 레디스랑, Kafka 랑 뭐가 다른거에요?
  • 왜 로그파일은 실시간으로 쌓이지 않고 약간의 딜레이가 있나요?
  • 이번에 문제가 발생한 서버는 왜 메모리만 더 추가하면 되나요?
  • 왜 파일로 저장하지 않고 캐시(메모리)를 쓰는건가요, 그렇게 느린가요? 왜 느린거에요?

위와 같은 다양한 질문들을 받고 설명할 때, 경력과 근무하시는 환경에 따라 CS에 대한 이해가 각각 다르시기 때문에 어떻게 설명을 드려야 하는지 가끔 막막할 때가 있었습니다.

그럴 때마다 CS에 대해 비전공자 분들도 이해하실 수 있는 문서가 있어서 이를 바탕으로 설명할 수 있었으면 좋겠다고 생각했습니다.

이 글은 이처럼, 개발자와 같이 협업하면서 일하시는 분들이 이해하시면 좋을 내용과 원활한 설명을 위한 레퍼런스로써 역할을 수행할 수 있도록 하기 위해 작성되었습니다.

대상

  • 비전공자
  • 비전공 개발자
  • 개발자와 협업하시는 다양한 직군의 많은 분들

출처

이 포스트는 강민철 님의 [혼자 공부하는 컴퓨터 구조+운영체제] 를 읽고 요약・정리한 글입니다.

내용

1. 다양한 보조기억장치

1) 하드 디스크(자기 디스크)

하드디스크는 자기적인 방식으로 데이터를 저장하는 보조기억장치입니다. 이 때문에 하드디스크를 자기디스크의 일종으로 지칭하기도 합니다.

  • 플래터: 하드디스크에서 실직적으로 데이터가 저장되는 곳. 수많은 N극과 S극을 저장합니다. N극과 S극은 각각 0과 1의 열할을 수행합니다.

  • 스핀들: 플래터를 회전시키는 구성요소. 스핀들이 플래터를 돌리는 속도는 분당 회전수를 나타내는 RPM 이라는 단위로 표현됩니다. 가령 RPM이 15,000인 하드디스크는 1분에 15,000 바퀴를 회전하는 하드디스크입니다.

  • 헤드: 플래터를 대상으로 데이터를 읽고 쓰는 구성요소

  • 암: 지원하는 위치로 헤드를 이동시킨다.

CD나 LP에 비해 하드디스크는 훨씬 더 많은 양의 데이터를 저장해야 하므로 여러 겹의 플래터로 이루어져 있두 플래터의 양면을 모두 사용할 수 있습니다. 양면 플래터를 사용하면 위아래로 플래터당 두 개의 헤드가 사용됩니다. 이때 일반적으로 모든 헤드는 암에 부착되어 다같이 이동합니다.

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

하드 디스크가 저장된 데이터에 접근하는 시간은 크게 탐색시간, 회전 지연, 전송 시간으로 나뉩니다.

  • 탐색 시간: 접근하려는 데이터가 저장된 트랙까지 해드를 이동시키는 시간
  • 회전 지연: 헤드가 있는 곳으로 플래터를 회전시키는 시간
  • 전송 시간: 하드 디스크와 컴퓨터 간에 데이터를 전송하는 시간

탐색 시간과 회전 지연을 단축시키기 위해서는 플래터를 빨리 돌려 RPM 을 높이는 것도 중요하지만, 접근하려는 데이터가 플래터 혹은 헤드를 조금만 옮겨도 접근할 수 있는 곳에 위치해 있는 것도 중요합니다.

2) 플래시 메모리

우리가 흔히 사용하는 USB 메모리, SD 카드 SSD가 모듀 플래시 메모리 기반의 보조기억장치 입니다. 플래시 메모리는 전기적으로 데이터를 읽고 쓸 수 있는 반도체 기반의 저장장치입니다.

플래시 메모리에는 셀(cell) 이라는 단위가 있습니다. 셀이란 플래시 메모리에서 데이터를 저장하는 가장 작은 단위입니다. 이때 하나의 셀에 몇 비트를 저장할 수 있느냐에 따라 플래시 메모리 종류가 나뉩니다.

한 셀에 1비트를 저장할 수 있는 플래시 메모리는 SLC(Single Level Cell) 타입, 한 셀에 2비트를 저장할 수 있는 메모리는 MLC, 3비트를 저장할 수 있는 프래시 메모리는 TLC 라고 합니다.

큰 차이가 아닌 것처럼 보여도 이는 플래시 메모리의 수명, 속도, 가격에 큰 영향을 끼칩니다.

SLC 타입

한 셀로 두 개(2¹)의 정보를 표현할 수 있습니다. 홀로 거주하는 집에 제약 없이 출입이 가능하듯 상대적으로 비트의 빠른 입출력이 가능합니다. 수명도 상대적으로 길어서 수만에서 수십 만 번 가까이 데이터를 쓰고 지우고 할 수 있지만, 가격이 비쌉니다.

MLC 타입

한 셀로 네 개(2²)의 정보를 표현할 수 있습니다. SLC 타입보다 상대적으로 속도와 수명은 떨어지지만 대용량화에 용이합니다.

TLC 타입

한 셀당 3비트씩 저장해 여덟 개(2³) 의 정보를 표현할 수 있습니다. 따라서 대용량화가 유리합니다.

0개의 댓글