[Computer Science]/[운영체제(OS)]

[운영체제(OS)] 11-1) 대용량 저장장치 구조

극꼼 2023. 3. 29. 19:38
반응형


<대용량 저장장치 구조>

보조저장장치 : 하드 디스크 드라이브(HDD), 비휘발성 메모리(NVM) 장치에 의해 제공.

1. 하드 디스크 드라이브(HDD)

  • 디스크 암 : 읽기-쓰기 헤드가 붙어있고, 플래터 표면 위에서 움직임.
  • 플래터 : 양쪽 표면이 자기 물질로 덮여 있어서 플래터에 자기적으로 기록하고 읽어옴.
    • 플래터의 표면은 원형 트랙으로 나뉘고, 트랙은 다시 섹터로 나뉘고, 각각의 트랙은 수백 개의 섹터를 포함할 수 있습니다.
    • 동일한 암 위치에 있는 트랙의 집합은 하나의 실린더를 형성하고, 하나의 HDD에는 수천 개의 동심원 실린더가 존재할 수 있습니다.
  • 섹터 : 가장 작은 전송 단위이며, 크기가 고정되어 있음. 

디스크 드라이브 모터는 고속으로 회전하는데, 회전 속도는 전송 속도(드라이브와 컴퓨터 간의 데이터 흐름 속도)와 관련이 있습니다. 

디스크 암이 원하는 실린더로 이동하는 시간을 탐색 시간, 원하는 섹터가 디스크 헤드 위치까지 회전하는 데 걸리는 시간을 회전 지연시간이라 합니다.

일반적인 디스크는 초당 수백~수백 메가바이트의 데이터를 전송할 수 있고, 수 밀리초의 탐색 시간과 회전 지연 시간을 가집니다.

* 헤드 충돌 : 디스크 헤드가 디스크 표면에 닿아 자기 표면이 손상되는 것. 

 


2. 비휘발성 메모리 장치 : 움직이는 부품이 없어 HDD보다 안정성이 높으며, 탐색 시간이나 회전 지연시간이 없어서 더 빠를 수 있습니다. 또한 전력 소비량도 적습니다. 

플래시 메모리는 NOR 타입과 NAND 타입으로 나뉘는데, NOR형은 NAND보다 구조상 속도는 빠르지만 대용량이 어렵고 단가가 높기 때문에 대부분 NAND를 사용합니다.

NAND 반도체는 일부 특성 때문에 자체적 저장, 신뢰성 문제를 가집니다. 섹터와 유사한 페이지 단위로 읽고 쓸 수 있지만, 덮어쓰기 위해서는 삭제가 이루어져야 합니다. 삭제는 여러 페이지로 구성된 블록 단위로 이뤄지며(삭제된 영역이 재기록 불가능한 상태가 되기 때문에 블록의 지움연산이 필요함), 읽기와 쓰기보다 오래 걸립니다.

* 연산 시간 : 읽기 < 쓰기 < 삭제

 

플래시 메모리는 블록마다 사용가능한 수명이 정해져 있어서 잦은 쓰기/지움 연산을 한 블록은 사용할 수 없는 블록이 됩니다. 플래시 컨트롤러 내부에 있는 FTL(Flash Translation Layer)의 목표는 셀간의 작업을 분산시켜 각 블록이 한계에 동시에 도달(마모 평준화. wear leveling)하도록 하는 것입니다.

  • NAND Flash controller : 자료처리 순서를 정하는 등의 SSD의 두뇌 역할을 합니다. 
    • 가비지 기법 : 빈 공간으로 유효한 메모리들을 복사한 후, 블록을 삭제합니다. 이 기법을 위해 전체 용량의 20% 가량(과잉 공급 공간)을 따로 준비해둡니다. 
    • 컨트롤러는 다양한 알고리즘으로 삭제 횟수가 적은 블록에 데이터를 배치해서 전체 장치의 마모 수준을 평준화 시킵니다.
    • FTL(플래시 변환 계층) : 가상의 논리적 섹터를 생성해서 섹터 기반의 프로그램들이 실제 물리적 페이지에 데이터를 기록하도록 도움(Mapping table 참조). 

<휘발성 메모리>

RAM 드라이브를 사용하면 사용자가 표준 파일 연산을 사용하여 데이터를 메모리에 임시로 보관할 수 있으며, NVM보다 훨씬 빠릅니다.

* DRAM(Dynamic RAM) : 일정 시간이 되면 데이터가 사라지므로 다시 재생시켜야 함.

* SRAM : 전력이 공급되는 동안에는 데이터를 보관 가능.


<주소 매핑>

논리 블록 : 가장 작은 전송 단위. 각 논리 블록은 물리 섹터 또는 반도체 페이지로 매핑됩니다. 

 

 

반응형