플래시 메모리 장치 (오늘날 SSD에 사용되는 장치)는 임의의 데이터를 언제든지 쓸 수 없습니다. 셀에 쓰기 전에 (일반적으로 4KB) 먼저 지워야합니다. 불행하게도, 소거 동작은 매우 느리다; 그렇기 때문에 움직이는 부품이 없어도 플래시 장치가 자기 드라이브보다 훨씬 느립니다.
최신 SSD는 사전 삭제 된 셀 세트를 유지함으로써 소거 시간을 숨 깁니다. 즉, 쓰기 명령이 기존 데이터를 즉시 덮어 쓰지 않고 드라이브 컨트롤러가 지워진 셀을 선택하여 다시 매핑하고 새 데이터로 씁니다. 그 (여러 쓰기 생각 캐시 전략) 드라이브에게주는 거대한 크게 자기 드라이브를 능가하는 속도 향상을.
사전에 삭제 된 셀 세트가 항상 있도록하기 위해 셀이 필요하지 않을 때마다 드라이브는 백그라운드 삭제를 예약하고 요금 셀 목록에 추가합니다.
불행히도 기존 파일 시스템은 섹터가 비어있을 때 드라이브에 알리지 않았습니다. 결국이 드라이브는 단순한 비트 저장소 일뿐이었습니다. 파일 시스템의 관점에서 섹터를 자유롭게 표시하는 파일 또는 기타 작업을 삭제하는 것은 일부 메타 데이터 구조에 대한 표시 일뿐입니다. 섹터 자체는 건드리지 않았습니다. 파일 시스템에 0을 써서 파일을 지우더라도 드라이브가 섹터가 비어 있는지 또는 사용자가 파일에서 0을 원했는지 여부를 알 수 없었습니다. 얼마 후, 드라이브는 쓰기 전에 지울 수있는 빈 셀이 없습니다. 성능이 비극적으로 저하되었습니다.
TRIM 명령은 현재 유지 관리되는 대부분의 파일 시스템에서 신속하게 작성되고 채택되었습니다. 파일 시스템이 섹터의 내용이 더 이상 중요하지 않다고 드라이브에 알리는 데 사용하는 간단한 신호입니다. 셀에 매핑 된 모든 섹터가 사용 가능 해지면 SSD 컨트롤러가 셀을 매핑 해제하고 삭제하도록 예약합니다. 호스트가 해당 섹터를 읽으면 SSD가 플래시에서 가져 오는 것을 방해하지 않고 즉시 0으로 응답합니다. 그러나 가장 중요한 효과는 미리 삭제 된 셀 목록을 항상 보충하는 것입니다.
그럼에도 불구하고 대부분의 SSD는 플래시 메모리의 물리적 크기보다 작은 용량, 때로는 75 %의 낮은 용량을 제공합니다. 이를 통해 100 % 전체 시스템에서도 일부 미사용 셀을 유지할 수 있으므로 사용 된 섹터를 (초과하는) 쓰기 속도가 여전히 빠릅니다.