Chapter 11. Mass-Storage Structure

송승윤·2025년 12월 3일

운영체제 정리

목록 보기
7/10

Mass-Storage Structure

Mass Storage

컴퓨터는 영구적으로 파일, 데이터를 저장하기 위해 mass storage를 제공해야 함
보조스토리지는 HDD, SSD임

이를 위해 OS는 간단한 인터페이스와 최대의 동시성을 위한 I/O 최적화를 해야함

Hard Disk Drive

HDD는 움직이는 read-write heads 아래에서 platters를 회전시킴
platter는 원형 track으로 나뉘고 track은 고정 크기의 sector로 나뉨

Performance

Transfer Rate
드라이브와 컴퓨터 사이 전송 속도는 이론적으로 보통 6Gb/s임

Positioning Time (Random-Access Time)
디스크암을 원하는 실린더로 이동하는 시간(seek time)
sector를 회전시키는 시간(rotational latency)

Access Latency = Average Seek Time + Average Rotational Latency
Average I/O Time = Access Time + Amount to Transfer / Transfer Rate + Controller Overhead

예를 들면 일케 계산하면됨

과정은 이러함

Nonvolatile Memory Devices

Nonvolatile Memory(NVM)

Read-only memory (ROM) 실행되면서 메모리에 데이터를 기록
Programmable ROM (PROM) 한 번만 프로그래밍할 수 있음
Erasable PROM (EPROM) 대량으로 지울 수 있음
Electrically erasable PROM (EEPROM) 전자적으로 용량 삭제
Flash memory 부분적인 지우기 기능을 갖춘 EEPROMs

Flash memory-based NVM

디스크 드라이브 같은 거에 담긴 Solid-state disks (SSDs)
USB drives
Surface-mounted on motherboards(스마트폰의 메인 스토리지)

Pros

NVM은 HDD보다 더 안정적이고 빠름
움직이는 부품이 없어서 seek time이나 rotational latency가 없음

Cons

NVM은 더 비싸고 용량이 적음
수명이 짧아서 신중한 관리가 필요
마모되기 전까지 제한된 횟수만 지울 수 있음

Solid State Disk (SSD)


page: 512B~ 4KB, block: 32~128pages
page 단위로 데이터 읽기/쓰기
page는 block이 지워진 후에만 작성할 수 있음 -> overwrite 불가능

Flash Translation Layer에는 Flash Controller가 있음

NAND Flash Controller

Flash Translation Layer(FTL) 유지 관리
어떤 physical page가 logical block을 포함하는지 매핑함
어떤 logical block이 유효한지 추적함

free invalid page space를 위한 garbage collection도 함
작업 공간 제공을 위한 overprovisioning 할당
모든 셀을 공평하게 쓰기 위해 wear leveling도 제공

HDD Scheduling

프로세스가 드라이브에 I/O를 하거나 받으려면 OS에 system call을 일으킴

드라이브가 정적이고 여유있으면 바로 요청을 처리하고
드라이브가 바쁘면 요청을큐에다가 놓음

옛날에는 OS가 큐 관리하고 디스크 드라이브 헤드 스케줄링 했는데 요즘은 storage device 나 controller가 해줌
logical block address주고 요청 정렬도 해줌
Drive Controller는 I/O 요청 관리하면서 몇 가지 알고리즘을 씀

FCFS Scheduling

그냥 들어온 순서대로 처리
공평하긴한데 빠르진 않음

SCAN Algorithm

elevator algorithm이라고 불리는데 시작점에서 맨 처음이나 맨 끝 왔다갔다하면서 처리하는거임

C-SCAN Scheduling

Circular SCAN의 준말로 얘는 시작점에서 끝찍고 다시 첨으로 돌아가서 스캔하는 방식
wait time이 일정하긴한데 cylinder move가 큼

Error Detection and Correction

Parity Bit : 모든 bit의 합
0이면 1이 짝수개, 1이면 1이 홀수개임
이거로 비트 변조 여부 확인함으로써 error detection 가능

Error-Correction Code (ECC)를 통해 감지하고 약한 오류 수정가능

Storage Device Management

Low-level formatting(physical formatting)이란 디스크를 디스크 컨트롤러가 읽을 수 있도록 sector로 나누는 것
Logical formatting이란 디스크를 논리 디스크로 취급되는 하나 이상의 실린더 그룹으로 분할하는 것
효율성을 높이기 위해 대부분의 파일 시스템은 블록을 cluster로 그룹화함

Root partition은 부팅시 mount된 OS를 포함
mount time에 파일 시스템의 일관성을 확인함

bootstrap 프로그램을 포함한 Boot block은 시스템을 시작함

BIOS vs UEFI

BIOS는 옛날거 UEFI는 요즘거

RAID

RAID는 Redundant Array of Inexpensive Disks의 준말

RAID 방식은 redundant data를 저장하여 성능을 향상시키고 스토리지 시스템의 신뢰성을 높임

RAID 0

중복성 없는 striping

RAID 1

mirroring을 적용함

RAID 1+0

strip하고 mirror한 구조

RAID 0+1

mirror하고 strip한 구조

0개의 댓글