[운영체제]Storage Dvices

정태규·2023년 6월 16일
0

운영체제

목록 보기
19/20

operating system overview

Hard Disk Drives(HDDs)

자석을 이용해서 데이터를 저장한다.
자석이 붙어있는 원판이 돌아가면서 헤더가 자석의 방향을 관측하고 0과 1을 쓴다.

  • Seek time: 데이터를 찾기 위해 헤드가 디스크 표면에서 이동하는 데 걸리는 시간이다. 이동 거리가 짧을수록 seek time은 짧아진다. 하드 디스크 드라이브의 성능이 좋을수록 seek time은 낮아진다.

  • Rotational delay: 회전 지연 시간은 하드 디스크 드라이브가 데이터를 찾기 위해 디스크가 회전하는 데 걸리는 시간이다. 회전 속도가 높을수록 rotational delay는 짧아진다. 일반적으로, 하드 디스크 드라이브는 초당 5400~15000회 회전한다.
    모터를 빨리 돌린다는 것은 전기도 많이 쓰고 열도 많아지므로, 무조건 빨리 돌리는게 좋은 건 아니다.

SSD

controller도 있고 DRAM도 있다. 이거 자체가 computer라고 볼 수 있다.

NAND Flash Memory cells


평소에는 전류가 잘흐르다가 특정 전압을 주면 floating gate에 전자가 쌓인다.

이렇게 전자가 쌓인다와 안쌓인다로 0과 1을 만들 수 있다.
NAND Flash를 쭉 이어붙혀서 구조를 만들었다. 문제는, 입력할때는 하나씩 입력이 되는데, 지울때는 특정 전압을 주어서 전자를 나가게 하기 때문에 전체가 다 지워져 버리는 문제가 생겼다. 그래서 데이터를 읽고 쓰는것은 page 단위로만 할 수 있는데 지우는것은 page들이 모인 단위인 block 단위로만 할 수 있다.
contoller는 지울 메모리에 대한 판단을 한다. 사용자가 오랫동안 참조하지 않은 데이터의 주변을 싹 지울때 어떤걸 지울지 판단을 하는것이다.

FTL

  • Flash Transition layer
  • Hard disk는 특정 sector에 값을 써달라 하면 써주는데, NADN FLash는 읽고 쓰고 지우는게 너무 복잡해졌다. 그래서 file system의 근본적인걸 바꿔야 하는데 그걸 바꾸기는 너무 어려운 문제이다. 그래서 나온게 FTL 이다.
  • FTL은 flash memory의 read, write, erase 부분을 read sector, write sector로 바꿔서 file system과 매치가 될 수 있게 해준다.
  • SSD에 성능은 사실 FTL이 결정한다고 봐도 무방하다.

(secondary)storage

  • main memory가 아닌것들 HDDs,SSDs,USB 등등...
  • memory처럼 byte 단위로 읽고 쓰는게 되는게 아니라(word addressable) block단위로만 접근 가능하다.(block addresable)
  • cpu가 직접 disk로는 접근 못함. 무조건 memory로 가져와야 한다.

0개의 댓글