코드네임 :
⚙️ 운영체제 - SSD 저장장치 ⚙️ 본문
[ 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) 기존 데이터를 수정하는 경우 (기록된 페이지를 수정하는 경우)
- 읽기 (Read):
- SSD 제어기가 기존 데이터를 읽어 메모리로 가져옵니다.
- 수정 (Modify):
- 메모리에 있는 데이터를 수정합니다.
- 쓰기 (Write):
- 수정된 데이터를 기존 페이지가 아닌 다른 빈 페이지에 기록합니다.
- 이전 페이지 상태 업데이트:
- 수정 전의 페이지는 Dirty(사용할 수 없는 페이지) 또는 Stale(오래된 상태)로 표시됩니다.
- 이 페이지는 나중에 블록 단위로 삭제됩니다.
4. 왜 기존 페이지에 덮어쓰지 않는가?
플래시 메모리의 블록은 쓰기나 지우기가 반복될 때 수명 단축, 여러 페이지로 쓰기를 분산시킬 필요 있기 때문
'컴퓨터와 함께해요 > 운영체제' 카테고리의 다른 글
⚙️ 운영체제 - RAID (디스크들의 중복된 배열) ⚙️ (1) | 2024.12.11 |
---|---|
⚙️ 운영체제 - 하드디스크 장치 ⚙️ (이거 디스크 스케줄링 전날에 10강 확인 바람) (0) | 2024.12.11 |
⚙️ 운영체제 - Linux 파일 시스템 구현 ⚙️ (0) | 2024.12.11 |
⚙️ 운영체제 - 디바이스 드라이버 ⚙️ (0) | 2024.12.10 |
⚙️ 운영체제 - I/O 하드웨어 ⚙️ (0) | 2024.12.10 |