SSD 기술의 세계에서 가비지 컬렉션과 TRIM이라는 용어가 종종 보이곤 합니다. 하지만 이 용어들이 정말로 의미하는 바는 무엇일까요? 이 기사에서는 가비지 컬렉션과 그 작동 방식, 그리고 TRIM 명령어와의 관계를 살펴볼 것입니다.
가비지 컬렉션이 무엇입니까?
가비지 컬렉션의 목적은 드라이브를 주기적으로 최적화하여 드라이브가 효율적으로 실행되고 수명 전반에 걸쳐 성능이 유지되도록 하는 것입니다. 하드 디스크 드라이브(HDD)와 달리, SSD와 그 외의 NAND 플래시 저장 장치는 기존 데이터를 덮어쓸 수 없습니다. 이 저장 장치들은 프로그래밍/삭제 사이클을 거쳐야 합니다. 플래시 메모리는 블록으로 나뉘고, 블록은 다시 페이지로 나뉩니다. 데이터는 페이지 레벨에서 쓰이고, 블록 레벨에서 삭제됩니다. 데이터를 삭제하려면 먼저 원래의 블록에서 모든 유효 데이터(페이지)를 복사한 후 새 블록의 빈 페이지에 써야 합니다. 이미 사용한 데이터 블록에 쓰는 경우, SSD 컨트롤러는 우선 모든 유효 데이터(아직 사용 중인)를 복사하여 다른 블록의 빈 페이지에 쓰고, 현재 블록에 있는 모든 셀(유효한 데이터와 유효하지 않은 데이터 모두)을 지운 다음, 새로 삭제된 블록에 새로운 데이터를 쓰기 시작합니다. 이 프로세스를 가비지 컬렉션이라 합니다. Kingston®은 가비지 컬렉션(GC)를 수행하기 위한 독점 기술을 활용한 다양한 컨트롤러를 사용하며, 그 목적은 빈 블록을 가능한 한 많이 유지하여 SSD가 데이터를 써야 할 때 블록의 삭제를 기다리지 않도록 하는 것입니다.
가비지 컬렉션 프로세스는 보통 시스템 유휴 시간 동안 자동으로 수행되며, 드라이브가 작동하는 데 중요한 부분입니다. SSD에는 NAND 플래시 스토리지를 관리하는 고급 컨트롤러가 포함되어 있습니다. Windows와 같은 운영 체제(OS)에서 파일을 삭제할 때, OS는 내부 파일 테이블에 파일이 삭제되었음을 나타내는 표시를 할 뿐입니다. 하드 디스크 드라이브(HDD)의 경우 현재 유효하지 않은 데이터가 유지되고, 새 데이터를 저장하기 위해 시스템이 직접 덮어쓸 수 있습니다. 새로운 운영 체제는 TRIM 명령어도 지원하는데, OS가 특정 파일이 삭제되었음을 SSD에 알려 SSD가 GC 프로세스를 보다 더 잘 관리함으로써 해당 공간을 더 빨리 복구하고 유효하지 않은 모든 데이터의 저장 및 이동을 방지할 수 있습니다.