코드네임 :

⚙️ 운영체제 - SSD 저장장치 ⚙️ 본문

컴퓨터와 함께해요/운영체제

⚙️ 운영체제 - SSD 저장장치 ⚙️

비엔 Vien 2024. 12. 11. 02:09

[ SSD ]

 

 

 


 

1. 페이지 읽기 (Read)

  • 페이지 단위 읽기:
    • SSD는 데이터를 읽을 때 페이지(Page) 단위로 읽습니다.
    • 운영체제는 읽기와 쓰기 작업만 요청하지만, 내부적으로 SSD 제어기가 페이지 단위로 데이터를 처리합니다.
    • 페이지: SSD 내부에서 데이터를 저장하는 기본 단위.

2. 블록 지우기 (Erase)

  • 블록 단위로 삭제:
    • SSD는 데이터를 지울 때 블록(Block) 단위로 삭제합니다.
    • 삭제는 SSD 제어기 내부에서만 이루어지며, 운영체제는 직접 제어할 수 없습니다.
    • 블록 크기: 여러 페이지로 구성된 큰 단위.
  • 플래시 메모리의 특성:
    • SSD는 데이터를 덮어쓰기(overwrite)할 수 없습니다.
    • 데이터를 삭제하려면, **블록 전체를 삭제(erase)**해야 하며, 이후에 새로운 데이터를 기록할 수 있습니다.

3. 페이지 쓰기/프로그램 (Write/Program)

(1) 새로운 페이지에 쓰는 경우 (처음 페이지에 쓰는 경우)

  • 빈 페이지만 쓰기 가능:
    • SSD는 데이터를 쓰기(write)할 때, 반드시 **빈 페이지(empty page)**를 찾아야 합니다.
    • 기존 데이터가 있는 페이지에는 쓰기가 불가능하므로, 새로운 페이지에 데이터를 기록합니다.
  • 처음 쓰기:
    • SSD 제어기는 빈 페이지를 찾아서 데이터를 기록합니다.

(2) 기존 데이터를 수정하는 경우 (기록된 페이지를 수정하는 경우)

  1. 읽기 (Read):
    • SSD 제어기가 기존 데이터를 읽어 메모리로 가져옵니다.
  2. 수정 (Modify):
    • 메모리에 있는 데이터를 수정합니다.
  3. 쓰기 (Write):
    • 수정된 데이터를 기존 페이지가 아닌 다른 빈 페이지에 기록합니다.
  4. 이전 페이지 상태 업데이트:
    • 수정 전의 페이지는 Dirty(사용할 수 없는 페이지) 또는 Stale(오래된 상태)로 표시됩니다.
    • 이 페이지는 나중에 블록 단위로 삭제됩니다.

4. 왜 기존 페이지에 덮어쓰지 않는가?

플래시 메모리의 블록은 쓰기나 지우기가 반복될 때 수명 단축, 여러 페이지로 쓰기를 분산시킬 필요 있기 때문