Disk Cache

김세영·2021년 4월 22일
0

Disk Cache

  • Data Read

    CPU에서 sector number에 대해 읽기를 요청하면, Disk Controller은 먼저 Disk Cache에서 먼저 해당하는 sector number에 대한 데이터가 저장되어 있는지 확인합니다. 데이터가 존재하면, Platter에서 탐색을 하지 않고 Disk Cache에서 DRAM으로 데이터를 전달한 후, CPU가 이를 접근합니다.
  • Data Write

    CPU에서 데이터 쓰기를 요청하면, DRAM에 저장되어 있던 데이터가 Disk Cache로 이동하게 됩니다. 똑같은 데이터에 대해 쓰기 요청이 들어오면, Disk Cache에 있던 정보가 업데이트됩니다.
    • 이 때 Platter에 접근하지 않으므로, 쓰기 속도가 빨라집니다.
    • 하지만 Platter에 저장되지 않고 Disk cache에만 저장되어 있는 데이터는 전원이 나가게 되면 손실됩니다. 이를 방지하기 위해 수 초에서 수십 초에 한 번씩 Plattersync를 하여 Disk cache에 있는 정보를 Platter에 저장합니다.
profile
초보 iOS 개발자입니다ㅏ

0개의 댓글