내 잡다한 노트

SSD Trim 본문

DevOps/리눅스

SSD Trim

peanutwalnut 2024. 8. 13. 10:41

정의 : OS가 SSD에게 더 이상 사용되지 않는 블록을 삭제할 수 있음을 알리는 기능.

 

# Trim의 작동 원리

SSD는 데이터를 저장할 때 플래시 메모리를 사용한다. SSD의 데이터 삭제와 쓰기 작업은 HDD와 다르게 작동한다.

HDD에서는 데이터를 직접 덮어쓸 수 있지만, SSD에서는 기존 데이터를 먼저 삭제한 후 새로운 데이터를 써야 한다.

이게 SSD의 플래시 메모리 특성때문이다.

 

TRIM 명령어는 다음과 같은 단계로 작동합니다:

  1. 파일 삭제:
    • 사용자가 파일을 삭제하거나 파일 시스템에서 데이터를 비우면, 운영 체제는 해당 데이터를 더 이상 필요하지 않다고 표시합니다. 그러나 SSD는 여전히 데이터를 유지하고 있습니다.
  2. TRIM 명령어:
    • 운영 체제는 SSD에게 TRIM 명령어를 보내어, 특정 블록이 더 이상 유효하지 않다고 알립니다. 이 명령어는 SSD가 해당 블록을 가비지 컬렉션(Garbage Collection)이나 정리 작업에 사용할 수 있게 합니다.
  3. 블록 삭제 준비:
    • SSD는 TRIM된 블록을 기록해두고, 이 블록들이 나중에 재사용되거나 삭제될 때까지 기다립니다. 이 블록은 새로운 데이터를 쓰기 전에 삭제 작업이 수행됩니다. 이렇게 하면 SSD는 필요한 경우에만 데이터를 삭제하여 성능 저하를 방지할 수 있습니다.

TRIM의 중요성

TRIM은 SSD에서 여러 가지 중요한 역할을 합니다:

  1. 성능 유지:
    • TRIM이 없다면, SSD는 기존 데이터를 삭제하고 새로운 데이터를 쓰는 과정에서 성능이 저하될 수 있습니다. TRIM을 통해 미리 삭제할 블록을 정리해두면, 새로운 데이터를 쓸 때 즉시 사용할 수 있어 성능 저하를 방지할 수 있습니다.
  2. 수명 연장:
    • SSD는 특정 횟수의 쓰기 및 삭제 작업 후에 플래시 메모리 셀의 수명이 다합니다. TRIM을 사용하면 불필요한 쓰기 작업을 줄여 SSD의 수명을 연장할 수 있습니다. 불필요한 데이터가 지속적으로 SSD에 남아 있으면, 정리 과정에서 불필요한 쓰기 작업이 발생할 수 있습니다.
  3. 가비지 컬렉션 효율화:
    • SSD의 가비지 컬렉션 과정에서, TRIM된 블록은 이미 무효화된 것으로 처리되어 추가적인 데이터 이동이나 삭제 작업을 필요로 하지 않습니다. 이로 인해 가비지 컬렉션 작업이 더 효율적으로 이루어집니다.

TRIM의 한계

  • TRIM 지원 여부:
    • 모든 SSD와 모든 파일 시스템이 TRIM을 지원하는 것은 아닙니다. 따라서, TRIM 명령어가 제대로 작동하려면 SSD와 운영 체제가 모두 이를 지원해야 합니다.
  • 데이터 복구:
    • TRIM이 활성화된 경우, 삭제된 파일을 복구하는 것이 어려워질 수 있습니다. TRIM 명령어가 발행된 후에는 데이터가 실제로 SSD에서 제거되기 때문에 데이터 복구 도구를 사용해도 데이터를 복원할 수 없는 경우가 많습니다.

'DevOps > 리눅스' 카테고리의 다른 글

사용중인 FD의 개수 확인, 소켓 상태 현황  (0) 2024.09.23
LVM (Logical Volume Manager)  (0) 2024.09.08
Root reserved space  (0) 2024.08.13
/proc , /sys  (0) 2024.08.13
디스크 추가하는 법  (0) 2024.08.09