Background - Disk structure

Jin Hur·2021년 7월 1일
0

[Linux] File system

목록 보기
2/22

reference: https://pages.cs.wisc.edu/~remzi/OSTEP/, 시스템 프로그래밍, 운영체제 수업(최종무 교수님)

1. Disk Components

  • Platter, Spindle, Surface
  • Track, Sector, Cylinder
  • Head, ARM

2. Disk access

접근 단위

  • Sector addressing: 디스크는 sector 단위로 접근(sector unit interface)
  • sector는 보통 512B, block은 보통 4KB(8개의 sector)

접근 시간

  • Seek time(탐색 시간): move head to appropriate track
    트랙을 찾아가는 시간
  • Rotational latency(회전지연 시간): wait for the sector to appear under the head
    트랙 내 찾고자하는 섹터를 기다리는 시간
  • Transmission time(전송 시간): read/write the request sector(s)
    (전자기적 단위의 시간이므로 탐색/회전지연 시간보다는 비교도 안되게 짧음)

※ 디스크 접근 시간: millisecond 단위
디스크 접근 시간은 약 10ms.
ex, 7200RPM -> 120RPS, 1/120CHDP 한번 회전 => 약 9ms.
평균적으로 반바퀴 돌 때의 시간은 4.5ms.
탐색 시간, 회전지연 시간까지 합치면 평균 디스크 접근 시간은 10ms 정도. (전송은 전자기적이므로 전송에서의 소요시간은 상대적으로 적다.)


※ How to reduce the Seek time and Rotational latency?
1) 다양한 디스크 스케줄링 활용(ex, SCAN or elevator algorithm)
2) Parallel access techniques(RAID)


3. Disk vs Flash memory

source: https://texit.tistory.com/15

  • 공통점: Non-volatile memory

flash memory 특징

  • No mechanical part -> fast, lightweight
  • Overwite limitation(덮어쓰기에 대한 제약) -> erase before write(쓰기 전에는 지워야 한다)
    -> like paper
    1) 지워야 수정할 수 있다.
    2) 큰 단위로 지워야 한다.
    3) 지울 수 있는 횟수가 제한되어 있다.
  • Read/Write vs Erase granularity
    • 빠른 처리를 위해 FTL S/W 활용
    • FTL(Flash Translation Layer): flash memory와 파일 시스템 사이에 위치하여, 플래시 메모리를 디스크처럼 사용할 수 있게 해주는 사상(mapping) 기술.
    • 필요성
      1) flash memory의 섹터들의 최대 지우기 횟수의 유한한 결점 보완.
      2) DISK I/O를 flash memory에서 동작할 수 있도록 지원.
      3) (블록)삭제 작업의 효율화.
  • 단점 Endurance, Disturbance, Retention Error
    • => wear-leveling S/W 활용
  • 다양한 유형의 flash memory: SLC, MLC, TLC

0개의 댓글