TRIM
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
TRIM은 운영 체제가 SSD(Solid State Drive)에 더 이상 사용하지 않는 데이터가 있는 페이지를 알릴 수 있도록 하는 명령어이다. 파일 삭제 시 TRIM 명령을 통해 SSD는 해당 페이지를 여유 공간으로 인지하여 쓰기 증폭을 줄이고 드라이브 수명을 연장한다. TRIM은 ATA, SCSI, NVM Express, SD/MMC 등 다양한 인터페이스에서 지원되며, 운영 체제 및 파일 시스템의 지원 여부에 따라 활용된다. 하지만, TRIM은 암호화된 디스크에서 보안 문제를 야기할 수 있으며, 일부 SSD 펌웨어의 문제로 데이터 손실을 발생시킬 수 있다는 단점도 존재한다.
더 읽어볼만한 페이지
- 직렬 ATA - M.2
M.2는 와이파이, 블루투스, SSD 등을 통합하는 폼 팩터로, SATA 3.2 사양에 따라 표준화되었으며, 다양한 크기의 모듈을 지원하고, mSATA의 후속 규격이다. - 직렬 ATA - 고급 호스트 컨트롤러 인터페이스
고급 호스트 컨트롤러 인터페이스(AHCI)는 직렬 ATA(SATA) 장치와 시스템 간 통신을 담당하는 인터페이스로, 병렬 ATA(PATA)의 한계를 극복하고 더 높은 데이터 전송 속도와 향상된 효율성, 핫 플러그 및 NCQ와 같은 고급 기능을 제공한다. - SCSI - 논리 블록 주소 지정
논리 블록 주소 지정(LBA)은 운영체제가 저장 장치의 데이터 블록에 접근하기 위해 물리적인 CHS 주소 대신 사용하는 주소 지정 방식으로, 운영체제가 하드웨어 복잡성을 추상화하고 데이터를 일관되게 관리하도록 하며, 섹터를 정수 인덱스로 관리하고, RAID나 SAN 환경에서는 복잡한 주소 변환이 발생하며, BIOS의 LBA 지원 발전과 LBA48 방식과 관련된다. - SCSI - 디스크 어레이 컨트롤러
디스크 어레이 컨트롤러는 컴퓨터 시스템에서 디스크 드라이브 어레이를 관리 및 제어하는 하드웨어 장치로, 호스트 어댑터 및 디스크 드라이브와 통신하며 RAID 구성과 같은 고급 기능을 제공하고 운영체제를 통해 관리된다. - 솔리드 스테이트 컴퓨터 저장 장치 - USB 플래시 드라이브
USB 플래시 드라이브는 USB 인터페이스를 통해 컴퓨터와 연결되는 휴대용 저장 장치로, 플래시 메모리 발명 후 상용화되어 플로피 디스크나 CD를 대체하며 데이터 저장, 운영 체제 부팅 등 다양한 용도로 사용되지만 위조 제품, 보안 위협, 제한적인 쓰기 횟수 등의 문제점도 있다. - 솔리드 스테이트 컴퓨터 저장 장치 - 솔리드 스테이트 드라이브
솔리드 스테이트 드라이브(SSD)는 반도체를 이용해 정보를 저장하는 장치로, 빠른 속도, 낮은 전력 소비, 적은 소음, 뛰어난 내구성을 특징으로 하며, 낸드 플래시 메모리를 기반으로 다양한 인터페이스를 통해 컴퓨터에 연결된다.
TRIM | |
---|---|
컴퓨터 명령어 | |
![]() | |
개요 | |
종류 | 명령어 집합 |
설계 시기 | 2007년 |
최초 출시 | 2009년 |
개발자 | 제조사 연합 |
포함 운영체제 | macOS 윈도우 리눅스 안드로이드 |
상세 정보 | |
사용 목적 | 솔리드 스테이트 드라이브에서 더 이상 사용되지 않는 데이터를 운영체제가 알려줌 |
이점 | 성능 향상 내구성 향상 |
관련 기술 | 가비지 컬렉션 |
지원 인터페이스 | ATA SATA NVMe |
관련 명령어 | UNMAP (SCSI) Deallocate (SATA) |
2. 배경
파일 시스템은 삭제 작업을 할 때 데이터 블록을 "사용하지 않음"으로 표시한다.[169][170] 이 때문에 저장 매체(SSD와 기존 하드 디스크)는 어떤 섹터/페이지가 실제로 사용 중이고 비어 있는지 알지 못한다. 삭제 작업은 덮어쓰기 작업과 달리 데이터를 포함하는 섹터에 물리적으로 쓰지 않는다. 일반 SSD는 파일 시스템 구조에 대한 정보가 없으므로 블록이 사용 가능하게 되었다는 사실을 알지 못한다. 따라서 운영 체제에서 파일이 "삭제됨"으로 표시되어도 삭제 취소 도구로 하드 디스크에서 파일을 복구할 수 있다.[170][171]
운영 체제가 나중에 여유 공간으로 간주하는 섹터에 쓰기 작업을 하면, 저장 매체 입장에서는 덮어쓰기 작업이 된다. 자기 디스크는 기존 데이터 덮어쓰기와 빈 섹터 쓰기가 동일하지만, 일부 SSD는 덮어쓰기가 빈 페이지 쓰기보다 오버헤드가 커서 쓰기 성능이 저하될 수 있다.[170][172] 이러한 작동 방식 차이로 인해 쓰기 증폭 현상이 발생하고 성능 저하가 나타난다.
2. 1. SSD의 작동 방식
SSD는 플래시 메모리 셀에 데이터를 저장하며, 이 셀들은 4~16 kiB 크기의 페이지로 그룹화된다. 페이지들은 다시 128~512개씩 묶여 블록을 형성한다. 예를 들어, 512 kiB 블록은 각각 4 kiB인 128개의 페이지로 구성된다.[169][173]NAND 플래시 메모리 셀은 비어 있을 때만 직접 쓰기가 가능하다. 데이터가 이미 있는 경우에는 쓰기 작업 전에 내용을 지워야 한다. SSD 쓰기 작업은 페이지 단위로 수행되지만, 하드웨어 제약으로 인해 지우기 명령은 항상 전체 블록에 적용된다.[173]
따라서 SSD의 빈 페이지에 데이터를 쓰는 것은 매우 빠르지만, 이전에 쓰여진 페이지를 덮어쓰는 경우에는 속도가 느려진다. 다시 쓰기 전에 페이지의 셀을 지워야 하는데, 블록 단위로만 지울 수 있기 때문이다. 이 때문에 덮어쓰기는 읽기-지우기-수정-쓰기 주기로 동작한다.[169][174] 즉, 전체 블록의 내용을 캐시에 저장한 다음, SSD에서 전체 블록을 지우고, 덮어쓴 페이지를 캐시된 블록에 기록한 후에, 업데이트된 전체 블록을 플래시 메모리에 다시 쓰는 방식이다. 이러한 현상을 쓰기 증폭이라고 한다.[175][176]
2. 2. 파일 시스템의 삭제 방식
많은 파일 시스템은 데이터 블록을 "사용하지 않음"으로 표시하는 방식으로 삭제 작업을 처리한다. 이 때문에 저장 매체(SSD와 기존 하드 드라이브)는 어떤 섹터/페이지가 실제로 사용되고 비어있는지 알지 못한다.[169][170] 덮어쓰기 작업과 달리 삭제 작업은 데이터를 포함하는 섹터에 물리적으로 쓰는 과정이 수반되지 않는다. 일반 SSD는 사용되지 않은 블록/섹터 목록을 포함하여 파일 시스템 구조에 대한 정보가 없기 때문에 저장 매체는 블록을 사용할 수 있게 되었다는 사실을 알지 못한다. 이 때문에 운영 체제에서 파일이 "삭제됨"으로 보고되었음에도 불구하고, 삭제 취소 도구를 사용하여 전자 기계식 하드 디스크에서 파일을 복구할 수 있다.[170][171] 이는 운영 체제가 나중에 여유 공간으로 간주되는 섹터 중 하나에 기록 작업을 수행할 때, 저장 매체의 관점에서 효과적인 덮어쓰기 작업이 된다는 것을 의미한다. 자기 디스크의 경우 기존 데이터 덮어쓰기는 빈 섹터에 쓰는 것과 같지만, 일부 SSD가 가장 낮은 수준에서 작동하기 때문에 덮어쓰기는 데이터를 빈 페이지에 쓰는 것과 비교하여 상당한 오버헤드가 발생하여 잠재적으로 쓰기 성능을 저하시킨다.[170][172]SSD는 일반적으로 4~16kiB의 페이지로 그룹화되고 128~512페이지의 블록으로 그룹화되는 플래시 메모리 셀에 데이터를 저장한다. 예를 들어 512 kiB 블록은 각각 4 kiB의 128 페이지를 그룹화한다.[169][173] NAND 플래시 메모리 셀은 비어 있는 경우에만 직접 쓸 수 있다. 데이터가 포함된 경우 기록 작업 전에 내용을 지워야 한다. SSD 쓰기 작업은 단일 페이지에 수행할 수 있지만 하드웨어 제약으로 인해 지우기 명령은 항상 전체 블록에 영향을 준다.[173] 결과적으로 SSD의 빈 페이지에 데이터를 쓰는 것은 매우 빠르지만 이전에 쓴 페이지를 덮어써야 한다면 속도가 상당히 느려진다. 다시 쓰기 전에 페이지의 셀을 지워야 하지만 전체 블록만 지울 수 있으므로 덮어쓰기는 읽기-지우기-수정-쓰기 주기로 동작한다.[169][174] 내용 전체 블록이 캐시에 저장된 다음 전체 블록이 SSD에서 지워지고 덮어쓴 페이지가 캐시된 블록에 기록되고 그런 다음에만 전체 업데이트된 블록이 플래시 매체에 기록될 수 있다. 이 현상을 쓰기 증폭이라고 한다.[175][176]
3. 작동 원리
TRIM 명령을 사용하면 운영 체제는 SSD에 더 이상 사용하지 않는 페이지를 알릴 수 있다. 파일 삭제 시 운영 체제는 파일의 섹터를 빈 공간으로 표시하고 TRIM 명령을 SSD에 전송한다. 이후 SSD는 플래시 메모리에 새 데이터를 쓸 때 블록 내용을 보존하지 않아 쓰기 증폭을 줄이고, 쓰기 처리량을 높여 드라이브 수명을 늘린다.
TRIM은 SSD에 LBA 영역을 무효로 표시하도록 지시하며, 이후 해당 영역을 읽어도 의미 있는 데이터를 반환하지 않는다. 데이터는 짧은 시간 동안 플래시 메모리에 남아있을 수 있지만, TRIM 명령과 가비지 컬렉션이 실행된 후에는 복구가 거의 불가능하다.[99]
SSD마다 TRIM 명령 구현 방식이 다르므로 성능은 다를 수 있다.[97] [98]
3. 1. TRIM 명령
TRIM 명령을 사용하면 운영 체제는 SSD에 더 이상 사용하지 않는 데이터 블록을 알려줄 수 있다. 파일 삭제 작업의 경우, 운영 체제는 파일의 섹터를 새 데이터를 위한 여유 공간으로 표시한 다음 TRIM 명령을 SSD로 보낸다. TRIM 이후 SSD는 플래시 메모리 페이지에 새 데이터를 쓸 때 블록의 내용을 보존하지 않으므로 쓰기 증폭이 줄어들고(쓰기 횟수 감소) 쓰기 처리량이 높아진다(읽기-지우기-수정 시퀀스가 필요 없음). 따라서 드라이브 수명이 증가한다.[177][171][178]SSD마다 명령을 약간 다르게 실행하기 때문에 성능은 다를 수 있다.[3][9]
TRIM은 SSD에 LBA 영역을 유효하지 않은 것으로 표시하도록 지시하고 해당 영역에 대한 후속 읽기는 의미 있는 데이터를 반환하지 않는다. 아주 짧은 시간 동안 데이터는 여전히 내부적으로 플래시에 머무를 수 있지만, TRIM 명령이 실행되고 가비지 수집이 수행된 후에는 데이터를 복구할 수 있을 가능성은 거의 없다.[15][99]
3. 2. 성능 향상
TRIM 명령을 사용하면 운영 체제는 더 이상 유효한 데이터를 포함하지 않는 페이지를 SSD에 알릴 수 있다. 파일 삭제 작업의 경우 운영 체제는 파일의 섹터를 새 데이터를 위한 여유 공간으로 표시한 다음 TRIM 명령을 SSD로 보낸다. TRIM 이후 SSD는 플래시 메모리 페이지에 새 데이터를 쓸 때 블록의 내용을 보존하지 않으므로 쓰기 증폭(쓰기 횟수 감소)이 줄어들고 쓰기 처리량이 높아진다(읽기-지우기-수정 시퀀스가 필요 없음). 따라서 드라이브 수명이 증가한다.[177][171]SSD마다 명령을 약간 다르게 실행하기 때문에 성능은 다를 수 있다.[3][9][97][98]
3. 3. 수명 연장
TRIM 명령을 사용하면 운영 체제는 SSD에 더 이상 유효하지 않은 데이터를 알릴 수 있다. 파일 삭제 작업 시 운영 체제는 파일의 섹터를 새 데이터를 위한 여유 공간으로 표시하고 TRIM 명령을 SSD로 보낸다. TRIM 이후 SSD는 플래시 메모리 페이지에 새 데이터를 쓸 때 블록 내용을 보존하지 않으므로 쓰기 증폭이 줄어들고 (쓰기 횟수 감소), 쓰기 처리량이 높아진다 (읽기-지우기-수정 시퀀스가 필요 없음). 따라서 드라이브 수명이 증가한다.[177][171]SSD마다 명령을 약간 다르게 실행하기 때문에 성능은 다를 수 있다.[3][9]
4. 구현
TRIM 명령은 드라이브와 운영 체제가 모두 지원해야 사용할 수 있다. 구형 솔리드 스테이트 드라이브(SSD)는 펌웨어 업데이트가 필요할 수 있으며, 모든 드라이브가 업데이트를 통해 TRIM을 지원하는 것은 아니다.
TRIM 지원은 운영 체제의 파일 시스템 드라이버에 따라 다르며, 시스템 수준에서 이러한 기능은 주로 파일 시스템 드라이버 자체에 있다.
운영 체제와 관계없이, 드라이브는 컴퓨터가 모든 0을 블록에 쓸 때 이를 감지하여 해당 블록을 할당 해제(트리밍)할 수 있다. 할당 해제된 블록을 읽으면 항상 0이 반환되므로, 이 기능은 사용자에게 투명하게 작동한다.
파일 시스템이 TRIM을 자동으로 지원하지 않는 경우, 일부 유틸리티를 통해 수동으로 TRIM 명령을 보낼 수 있다. 이러한 유틸리티는 일반적으로 비어 있는 블록을 확인한 다음, 이 목록을 드라이브에 TRIM 명령으로 전달한다. 인텔[62], G.Skill[63]과 같은 제조업체에서 제공하거나, 리눅스의 hdparm[64][65]과 같은 일반 유틸리티로 제공된다.
4. 1. 운영 체제 지원
운영 체제 | 지원 시작 | 비고 |
---|---|---|
DragonFly BSD | [179] | 2011년 5월|
FreeBSD | [180] | 8.1 (2010년 7월)8.1에서 블록 장치 계층에 지원이 추가되었다. UFS 파일 시스템 지원은 FreeBSD 8.3 및 FreeBSD 9에 추가되었다.[181] ZFS 트리밍 지원은 FreeBSD 9.2에 추가되었다.[182][183] FreeBSD 10은 소프트웨어 RAID 구성에서 트리밍을 지원한다.[184] |
NetBSD | [185] | 2012년 10월|
리눅스 | [186] | 2.6.28 (2008년 12월 25일)2.6.28에서 FTL NAND 플래시 장치에 대한 폐기 작업에 대한 초기 지원이 추가되었다. ATA TRIM 명령에 대한 지원이 2.6.33에 추가되었다.[187] 모든 파일 시스템이 트림을 사용하는 것은 아니다. 트림 요청을 자동으로 발행할 수 있는 파일 시스템 중에는 ext4,[188] Btrfs,[189] FAT, GFS2, JFS,[190] XFS,[191] 및 NTFS-3G가 있다. 그러나 일부 배포판에서는 지원되는 SSD에서 예약된 트리밍을 위해[192] 성능 문제로 인해 기본적으로 비활성화되어 있다.[193] Ext3, NILFS2 및 OCFS2는 오프라인 트리밍을 수행하기 위한 Ioctl을 제공한다. TRIM 사양은 트림 범위 목록을 지원해야 하지만 커널 3.0에서 트림은 더 느린 단일 범위에서만 호출된다.[194] |
macOS | [196] | 10.6.8 (2011년 6월 23일)AHCI 블록 장치 드라이버가 10.6.6(10J3210)에서 장치가 TRIM 작업을 지원하는지 여부를 표시하는 기능을 얻었지만[197] TRIM 작업이 IOStorageFamily 및 HFS+ 파일 시스템 지원이 추가된 10.6.8까지 기능 자체에 액세스할 수 없었다. 10.10.4까지 Mac OS X은 기본적으로 Apple 브랜드 SSD에 대해서만 TRIM을 활성화했다. 타사 유틸리티를 사용하여 다른 브랜드에서 사용할 수 있다. 이전 타사 TRIM 드라이버는 Yosemite 업데이트로 작동을 멈췄다.[198] OS X Yosemite에서 작동하는 업데이트된 드라이버가 있다.[199][200] Mac OS X [https://support.apple.com/en-us/HT204928 업데이트 10.10.4]에서 Apple은 타사 SSD에서 TRIM을 활성화하는 데 사용할 수 있는 명령줄 유틸리티인 trimforce를 추가했다.[201] |
마이크로소프트 윈도우 | [202][203] | Windows 7 및 Windows Server 2008 R2 (2009년 10월)Windows 7은 처음에 Parallel ATA 및 직렬 ATA를 포함한 AT Attachment 제품군의 드라이브에 대해서만 TRIM을 지원했으며 장치 자체에서 명령을 수락하더라도 Storport PCI-Express SSD를 포함한 다른 장치에 대해서는 이 명령을 지원하지 않았다.[204] 기본 Microsoft 드라이버를 사용하면 TRIM 명령이 AHCI 및 레거시 IDE/ATA 모드의 Windows 7에서 작동하는 것으로 확인되었다.[205] Windows 8 이상 Windows 운영 체제는 NVMe 기반 PCI Express SSD의 트림을 지원하며, UASP(USB Attached SCSI Protocol)를 포함하여 SCSI 드라이버 스택을 사용하는 장치에 대해 직렬 ATA의 TRIM 명령과 완전히 유사한 unmap 명령을 지원한다. Microsoft는 PCIe SSD용 TRIM을 포함하여 NVM Express 지원을 추가하는 Windows 7용 업데이트를 출시했다.[206][207] TRIM은 비활성화를 위해 DisableDeleteNotify 스위치를 구현하는 ReFS 및 NTFS에 대해 지원되는 것으로 알려져 있다.[208] 출처는 다른 파일 시스템에 대한 TRIM 지원이 존재하는지 여부에는 동의하지 않는다. |
오픈솔라리스 | [209] | 2010년 7월|
안드로이드 OS | [210] | 4.3 (2013년 7월 24일)장치가 최소 1시간 동안 유휴 상태이고 80% 이상 충전된 경우(충전기에 연결된 경우 30%) 최대 24시간마다 `fstrim` 자동으로 실행한다.[211] |
4. 2. 파일 시스템 지원
파일 시스템이 TRIM을 자동으로 지원하지 않는 경우, 일부 유틸리티를 통해 TRIM 명령을 수동으로 보낼 수 있다. 일반적으로 이러한 유틸리티는 어떤 블록이 비어 있는지 확인한 다음, 이 목록을 일련의 TRIM 명령으로 드라이브에 전달한다. 이러한 유틸리티는 인텔[62], G.Skill[63] 등 다양한 제조업체에서 제공되거나, 리눅스의 hdparm "wiper" v9.17 이후[64][65] 또는 위 RAID 문제에서 언급된 mdtrim과 같은 일반 유틸리티로 제공된다. hdparm과 mdtrim 모두 파일 시스템에 큰 파일을 할당하고 해당 파일이 할당된 물리적 위치를 확인하여 빈 블록을 찾는다.4. 3. RAID 문제
RAID 환경에서 TRIM을 지원하는 것은 여러 기술적인 어려움이 따른다. 2017년 1월 기준으로, 대부분의 하드웨어 기반 RAID 기술에서는 TRIM 명령을 지원하지 않았다. 이는 RAID 컨트롤러가 SSD의 내부 구조를 정확히 파악하기 어렵고, TRIM 명령이 RAID 레벨의 특성과 충돌할 수 있기 때문이다.하지만, 소프트웨어 RAID 구현에서는 TRIM을 지원하는 경우가 많다. 예를 들어, Windows 10은 "드라이브 최적화" 옵션을 통해 RAID 볼륨에서 SSD의 TRIM을 지원한다. macOS에서는 기본 RAID 드라이버가 TRIM을 지원하지 않지만, 서드파티 SoftRAID® 응용 프로그램을 사용하면 RAID (0, 1, 4, 5, 10) 볼륨에서 TRIM을 지원받을 수 있다(단, 터미널 명령어로 활성화 필요).
리눅스의 경우, dmraid는 2011년 1월 이후 릴리스부터 BIOS 보조 "가짜 하드웨어 RAID"에서 TRIM을 지원한다.[130] mdraid는 RAID 1 어레이에서 실험적으로 TRIM을 지원하며, Red Hat Enterprise Linux 6.5 이상에서는 실시간 TRIM 명령 전달도 지원한다.[132]
Red Hat은 SSD에서 소프트웨어 RAID 레벨 1, 4, 5, 6의 사용을 권장하지 않는데, 초기화 과정에서 SSD의 모든 블록에 쓰기 작업이 발생하여 성능 저하를 유발할 수 있기 때문이다.[133] 대신, LVM RAID에서 RAID 1 또는 RAID 10 사용을 권장한다.[134]
2010년 3월, Intel Rapid Storage Technology(RST) 9.6 드라이버가 RAID 볼륨에서 TRIM을 지원한다는 오해가 있었으나, Intel은 AHCI 및 RAID 모드에서는 지원되지만 RAID 볼륨 자체에서는 지원되지 않음을 밝혔다.[135] 2012년 8월, Intel은 RST 11.2 드라이버를 탑재한 7 시리즈 칩셋이 Windows 7에서 RAID 0의 TRIM을 지원함을 확인했다.[136] 6 시리즈 칩셋의 경우 공식 지원은 확인되지 않았지만, 일부 사용자들이 TRIM 작동을 보고하기도 했다.[137]
5. 하드웨어 지원
TRIM 명령은 다양한 저장 장치 인터페이스에서 지원된다.
- ATA: INCITS의 T13 기술 위원회가 주도하는 ATA 인터페이스 표준의 일부로 표준화되었다.[227][228] ACS-2 사양 초안의 DATA SET MANAGEMENT 명령(opcode 06h)에 따라 구현되며,[229] 병렬(IDE, PATA) 및 직렬(SATA) ATA 하드웨어에서 모두 지원된다. SATA 3.1은 대기 중인 TRIM 명령을 도입하여 대기열에 있는 읽기 및 쓰기 작업과의 충돌 문제를 해결했다.[230] ATA IDENTIFY DEVICE 명령에서 반환된 SATA 워드 69 및 169에는 다음과 같은 다양한 유형의 TRIM이 정의되어 있다.
- 비결정적 TRIM: TRIM 후 LBA에 대한 각 읽기 명령은 다른 데이터를 반환할 수 있다.
- 결정적 TRIM (DRAT): TRIM 이후 LBA에 대한 모든 읽기 명령은 동일한 데이터를 반환하거나 결정적이 된다.
- TRIM 후 결정적 읽기 0 (RZAT): TRIM 후 LBA에 대한 모든 읽기 명령은 0을 반환해야 한다.
- SCSI: UNMAP 명령(TRIM의 완전한 아날로그) 및 UNMAP 플래그가 설정된 WRITE SAME 명령(10 및 16 변형)을 제공한다.[233]
- NVM Express: 호스트의 의도를 일련의 블록 범위의 스토리지 장치에 나타내기 위한 범용 "데이터 세트 관리" 명령이 있다. 이 명령 세트의 작업 중 하나인 ''deallocate''는 TRIM을 실행한다. 또한 ''deallocate'' 힌트를 제공하고 디스크가 TRIM을 수행하고 0을 반환하도록 하는 ''Write Zeroes'' 명령도 있다.[55]
- SD/MMC: MultiMediaCard 및 SD ERASE(CMD38) 명령은 ATA TRIM 명령과 유사한 기능을 제공하지만, 지워진 블록을 0 또는 1로 덮어써야 한다. eMMC 4.5는 추가로 "폐기" 하위 작업을 정의하는데, 이는 폐기된 블록의 내용이 불확실한 것으로 간주될 수 있다는 점에서 ATA TRIM과 더 밀접하게 일치한다.[55]
5. 1. ATA
TRIM 명령은 INCITS(국제 정보 기술 표준 위원회)의 T13 기술 위원회가 주도하는 ATA(AT 어태치먼트) 인터페이스 표준의 일부로 표준화되었다.[227][228] TRIM은 ACS-2 사양 초안의 DATA SET MANAGEMENT 명령(opcode 06h)에 따라 구현된다.[229] ATA 표준은 병렬(IDE, PATA) 및 직렬(SATA) ATA 하드웨어에서 모두 지원된다.원래 ATA TRIM 명령은 대기열에 넣을 수 없는 명령으로 정의되어 있어 대기열에 있는 읽기 및 쓰기 작업과 섞이기 어려웠다. SATA 3.1은 이 문제를 해결하기 위해 대기 중인 TRIM 명령을 도입했다.[230]
ATA IDENTIFY DEVICE 명령에서 반환된 SATA 워드 69 및 169에 의해 정의된 다양한 유형의 TRIM이 있다.
- 비결정적 TRIM: TRIM 후 논리 블록 주소(LBA)에 대한 각 읽기 명령은 다른 데이터를 반환할 수 있다.
- 결정적 TRIM(DRAT): TRIM 이후 LBA에 대한 모든 읽기 명령은 동일한 데이터를 반환하거나 결정적이 된다.
- TRIM 후 결정적 읽기 0(RZAT): TRIM 후 LBA에 대한 모든 읽기 명령은 0을 반환해야 한다.
드라이브가 지원할 수 있는 DATA SET MANAGEMENT 명령당 최대 512바이트 블록 수를 설명하는 SATA Word 105에 추가 정보가 있다. 일반적으로 기본값은 8(또는 4kB)이지만 많은 드라이브는 TRIM에 대한 Microsoft Windows 하드웨어 요구 사항을 충족하기 위해 이 값을 1로 줄인다. 해당 명령 완료 시간은 20ms 또는 8ms ×(LBA 범위 항목 수)를 초과하지 않고 항상 600ms 미만이어야 한다.[231]
개별 LBA 범위를 LBA 범위 항목이라고 하며 8바이트로 표시된다. LBA는 LBA 범위 항목의 처음 6바이트로 표시되고 범위 길이는 나머지 2바이트로 표시되며 0부터 시작한다(예: 0=0 및 1=1). 2바이트 범위 길이가 0이면 LBA 범위 항목이 패딩으로 삭제된다.[232] 즉, 장치가 지원하는 TRIM 범위의 각 512바이트 블록에 대해 최대값은 64개 범위의 32MB 또는 2GB이다. 장치가 8에서 SATA Word 105를 지원하는 경우 단일 TRIM(DATA SET MANAGEMENT) 명령으로 16GB를 트리밍할 수 있어야 한다.
5. 2. SCSI
SCSI는 UNMAP 플래그가 설정된 UNMAP 명령(TRIM의 완전한 아날로그) 및 WRITE SAME 명령(10 및 16 변형)을 제공한다.[233] SCSI에서는 TRIM과 동일한 UNMAP 명령과 UNMAP 플래그가 설정된 WRITE SAME 명령(10 및 16 변형)이 존재한다.[152]5. 3. NVM Express
NVM Express 명령 세트에는 호스트의 의도를 일련의 블록 범위의 스토리지 장치에 나타내기 위한 범용 "데이터 세트 관리" 명령이 있다. 이 명령 세트의 작업 중 하나인 ''deallocate''는 TRIM을 실행한다. 또한 ''deallocate'' 힌트를 제공하고 디스크가 TRIM을 수행하고 0을 반환하도록 하는 ''Write Zeroes'' 명령도 있다.[55]5. 4. SD/MMC
MultiMediaCard 및 SD ERASE(CMD38) 명령은 ATA TRIM 명령과 유사한 기능을 제공하지만, 지워진 블록을 0 또는 1로 덮어써야 한다. eMMC 4.5는 추가로 "폐기" 하위 작업을 정의하는데, 이는 폐기된 블록의 내용이 불확실한 것으로 간주될 수 있다는 점에서 ATA TRIM과 더 밀접하게 일치한다.[55]6. 단점
TRIM 기술은 다음과 같은 잠재적인 문제점을 가지고 있다.
- 보안 문제: 부인 가능한 암호화를 사용하는 경우, TRIM 명령이 사용된 블록과 사용되지 않은 블록에 대한 정보를 노출시켜 보안을 약화시킬 수 있다.[234]
- 성능 저하: 초기 TRIM 명령은 대기열을 지원하지 않아 파일 삭제 시마다 TRIM 명령을 실행하면 성능 저하가 발생할 수 있었다. 이는 직렬 ATA 개정판 3.1에서 큐잉된 TRIM 명령이 도입되면서 개선되었다.[236][237]
- 데이터 손상: 일부 SSD, 특히 Micron 및 Crucial의 M500[238], Samsung의 840 및 850 시리즈[239]에서 펌웨어 결함으로 인해 TRIM 명령 실행 시 데이터 손상이 발생하는 경우가 보고되었다.
이러한 문제를 방지하기 위해, 리눅스 커널에서는 문제가 있는 SSD를 블랙리스트에 등록하여 관리하고, DRAT 및 RZAT 플래그를 올바르게 구현하는 SSD는 화이트리스트에 등록하여 관리한다.[241]
6. 1. 암호화 및 보안 문제
- 일부 부인 가능한 암호화 체계는 전체 디스크를 임의의 쓰레기처럼 보이게 만든다. TRIM을 사용하면 0 또는 1로 채워진 블록이 어떤 블록이 사용 중인지 쉽게 나타내므로 이러한 그럴듯한 부인 가능성 계층을 무효화한다.[234] TRIM을 비활성화하는 것도 의심스러울 수 있다는 주장이 있다.[235] 암호화가 사용되는 경우 TRIM 명령을 사용하면 사용된 블록과 사용되지 않은 블록에 대한 정보가 드러날 수 있다.[153]
- TRIM 명령의 원래 버전은 T13 소위원회에 의해 대기열에 없는 명령으로 정의되었으며, 부주의하게 사용될 경우, 예를 들어 각 파일 시스템 삭제 명령 후에 전송되는 경우 막대한 실행 페널티를 발생시킬 수 있다. 대기열에 없는 명령의 특성으로 인해 드라이버는 먼저 모든 미해결 명령이 완료될 때까지 기다렸다가 TRIM 명령을 실행한 다음 일반 명령을 재개해야 한다. TRIM은 SSD의 펌웨어에 따라 완료하는 데 많은 시간이 걸릴 수 있으며, 가비지 컬렉션 주기를 유발할 수도 있다. 이 페널티는 시스템 사용률이 최소인 시간에 이러한 일괄 작업을 예약 하여 모든 파일 삭제 시 트리밍하는 대신 정기적으로 일괄 처리 TRIM을 수행하는 솔루션에서 최소화할 수 있다. 이 TRIM 단점은 직렬 ATA 개정판 3.1에서 큐에 대기된 TRIM 명령이 도입되면서 극복되었다.[236][237]
- 대기 중인 TRIM에 대한 지원을 잘못 보고하거나 구현에 심각한 버그가 있는 결함이 있는 드라이브 펌웨어는 여러 장치, 특히 Micron 및 Crucial의 M500[238] 및 Samsung의 840 및 850 시리즈에서 심각한 데이터 손상과 관련이 있다.[239] 데이터 손상은 Linux 운영 체제(2015년 7월 1일 현재 대기열 트림 지원이 있는 유일한 OS)에서 확인되었다.[240]
이러한 장치는 Linux 커널에서 블랙리스트에 등록되어 대기열에 포함되지 않은 TRIM 명령을 대신 보내도록 강제하고 있다.[241]
제조사 | 제품 | 펌웨어 버전 |
---|---|---|
Micron/Crucial | M500 | 모든 펌웨어 버전 (공장에서 재인증된 SSD 포함) |
Micron | M510 | MU01 |
Micron/Crucial | M550 | MU01 |
Crucial | MX100 | MU01 |
Samsung | 840 및 850 시리즈 | 모든 펌웨어 버전 |
TRIM이 발행될 때 잘못된 블록이 데이터를 잃게 하기 때문에 SuperSSpeed S238도 일반적으로 TRIM에 대해 블랙리스트에 추가된다.[241][242]
DRAT 및 RZAT 플래그( `ATA_HORKAGE_ZERO_AFTER_TRIM` )를 올바르게 구현하는 것으로 알려진 SSD는 다음과 같이 화이트리스트에 등록되어 있다.[241]
6. 2. 성능 문제
TRIM 명령의 초기 버전은 T13 소위원회에서 대기열을 사용하지 않는 명령으로 정의했다. 이 때문에 각 파일 시스템 삭제 명령 후에 TRIM 명령을 보내는 등 부주의하게 사용할 경우 실행에 큰 불이익이 발생할 수 있었다. 대기열을 사용하지 않는 명령은 드라이버가 먼저 처리되지 않은 모든 명령을 완료할 때까지 기다린 다음 TRIM 명령을 실행하고 나서야 일반적인 명령을 다시 시작해야 했다.[236] TRIM은 SSD의 펌웨어에 따라 완료하는 데 시간이 오래 걸릴 수 있으며, 가비지 수집 주기를 유발할 수도 있다. 이러한 문제는 시스템 사용량이 적을 때 이러한 작업을 일괄적으로 예약하여, 파일을 삭제할 때마다 TRIM을 실행하는 대신 주기적으로 일괄 TRIM을 수행하는 방식으로 최소화할 수 있다. 이러한 TRIM의 단점은 직렬 ATA 개정판 3.1에서 큐에 대기하는 TRIM 명령이 도입되면서 해결되었다.[236][237]일부 SSD, 특히 Micron 및 Crucial의 M500[238], Samsung의 840 및 850 시리즈[239]에서는 큐에 대기하는 TRIM 지원을 잘못 보고하거나 구현에 심각한 버그가 있는 펌웨어로 인해 심각한 데이터 손상이 발생하기도 했다.[239]
이러한 장치들은 리눅스 커널의 `libata-core.c` 파일에 블랙리스트로 등록되어 큐에 대기하지 않는 TRIM 명령을 대신 보내도록 강제되었다.[241] 블랙리스트에 등록된 드라이브는 다음과 같다.[241]
제조사 | 제품명 | 펌웨어 버전 |
---|---|---|
Micron/Crucial | M500 | 모든 버전 (공장 재인증 SSD 포함) |
Micron | M510 | MU01 |
Micron/Crucial | M550 | MU01 |
Crucial | MX100 | MU01 |
Samsung | 840 및 850 시리즈 | 모든 버전 |
`libata-core.c` 파일에는 DRAT 및 RZAT 플래그를 올바르게 구현하는 것으로 알려진 SSD를 나열하는 화이트리스트도 있다.[241] 화이트리스트에 등록된 드라이브는 다음과 같다.[241]
6. 3. 데이터 손상
일부 SSD 펌웨어는 TRIM 명령 처리 과정에서 심각한 데이터 손상을 일으키는 문제가 있다. 특히 Micron 및 Crucial의 M500[238], 삼성의 840 및 850 시리즈[239]에서 이러한 문제가 보고되었다. 이러한 문제는 리눅스 운영 체제에서 확인되었다.[240]이러한 문제를 해결하기 위해 리눅스 커널은 문제가 있는 SSD를 블랙리스트에 등록하여 큐에 대기되지 않은 TRIM 명령을 사용하도록 강제한다.[241] 블랙리스트에 등록된 SSD는 다음과 같다.
제조사 | 제품명 | 펌웨어 버전 |
---|---|---|
Micron/Crucial | M500 | 모든 펌웨어 버전 (공장에서 재인증된 SSD 포함) |
Micron | M510 | MU01 |
Micron/Crucial | M550 | MU01 |
Crucial | MX100 | MU01 |
삼성 | 840 및 850 시리즈 | 모든 펌웨어 버전 |
또한, SuperSSpeed S238도 TRIM 실행 시 데이터 손실을 유발하기 때문에 블랙리스트에 추가되었다.[241][242]
반대로, DRAT 및 RZAT 플래그를 올바르게 구현하는 것으로 알려진 SSD는 화이트리스트에 등록되어 있다.[241] 화이트리스트에 등록된 SSD는 다음과 같다.
TRIM 명령은 원래 대기열이 없는 명령으로 정의되어, 부주의하게 사용하면 성능 저하를 유발할 수 있었다.[236][237] 하지만, 직렬 ATA 개정판 3.1에서 큐에 대기된 TRIM 명령이 도입되면서 이 문제는 해결되었다.
참조
[1]
웹사이트
Intel High Performance Solid State Drive – Advantages of TRIM
http://www.intel.com[...]
Intel
2012-02-21
[2]
웹사이트
The SSD Anthology: Understanding SSDs and New Drives from OCZ
https://www.anandtec[...]
2010-06-19
[3]
문서
Shimpi, Anand Lal. (18 March 2009). p. 10.
[4]
문서
Shimpi, Anand Lal. (18 March 2009). p. 11.
[5]
웹사이트
Kingston SSDNow V Plus 100 Review
http://www.anandtech[...]
Anand Lal Shimpi
2010-12-10
[6]
웹사이트
Trim Command - General Benefits for Hard disk Drives
https://documents.we[...]
2021-11-07
[7]
웹사이트
I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?
http://www.windowsit[...]
WindowsITPro
2010-06-19
[8]
문서
Shimpi, Anand Lal. (18 March 2009). p. 7.
[9]
웹사이트
What is the TRIM function for solid-state disks (SSDs) and why is it important?
http://www.windowsit[...]
WindowsITPro
2010-06-19
[10]
웹사이트
Long-term performance analysis of Intel Mainstream SSDs
http://www.pcper.com[...]
2012-02-10
[11]
문서
Shimpi, Anand Lal. (18 March 2009). p. 5.
[12]
문서
Shimpi, Anand Lal. (18 March 2009). p. 8.
[13]
뉴스
Write Amplification: Intel's Secret Sauce
http://www.extremete[...]
ExtremeTech.com
2010-11-06
[14]
웹사이트
Inside the X25-M Controller: Wear Leveling, Write Amplification Control
http://www.tomshardw[...]
TomsHardware.com
2010-11-06
[15]
웹사이트
Too TRIM? When SSD Data Recovery is Impossible
https://www.forensic[...]
2024-05-08
[16]
웹사이트
Preliminary TRIM support
https://leaf.dragonf[...]
[17]
웹사이트
FreeBSD 8.1-RELEASE Release Notes: Disks and Storage
http://www.freebsd.o[...]
2010-09-01
[18]
웹사이트
Add kernel side support for BIO_DELETE/TRIM on UFS
http://www.freebsd.o[...]
2011-02-01
[19]
웹사이트
Added ZFS TRIM support which is enabled by default.
http://svnweb.freebs[...]
2013-06-05
[20]
웹사이트
FreeBSD 9.2-RELEASE Announcement
http://www.freebsd.o[...]
2013-10-04
[21]
웹사이트
Base revision 242323 – Add basic BIO_DELETE support to GEOM RAID class for all RAID levels
http://svnweb.freebs[...]
2012-10-30
[22]
웹사이트
TRIM support in NetBSD
http://mail-index.ne[...]
2012-10-19
[23]
웹사이트
Linux_2_6_28 - Linux Kernel Newbies
https://kernelnewbie[...]
[24]
웹사이트
Storage changes in Linux 2.6.33
http://kernelnewbies[...]
Kernel Newbies
2010-09-01
[25]
웹사이트
Forked by Nicolay - HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions
https://sites.google[...]
[26]
웹사이트
Linux_2_6_32 - Linux Kernel Newbies
https://kernelnewbie[...]
[27]
웹사이트
JFS Filesystem can now handle trim
https://www.phoronix[...]
2012-03-28
[28]
웹사이트
Linux_3.0 - Linux Kernel Newbies
https://kernelnewbie[...]
[29]
웹사이트
OpenZFS TRIM Support
https://openzfs.org/[...]
[30]
웹사이트
OpenSUSE forum – SSD detection when creating first time fstab
http://opensuse.14.n[...]
2010-01-01
[31]
웹사이트
How to enable TRIM?
http://askubuntu.com[...]
2015-11-11
[32]
웹사이트
SDB:SSD discard (trim) support - openSUSE Wiki
https://en.opensuse.[...]
[33]
웹사이트
Changes/EnableFSTrimTimer - Fedora Project Wiki
https://fedoraprojec[...]
2020-12-10
[34]
웹사이트
swapon(8) — Arch manual pages
https://man.archlinu[...]
2024-06-20
[35]
웹사이트
Mac OS X 10.6.8 Brings TRIM Support for Apple SSDs, Graphics Improvements
http://www.macrumors[...]
2012-02-24
[36]
웹사이트
Macbook Pros ship with active SSD TRIM support
http://www.appleinsi[...]
2011-03-04
[37]
웹사이트
Yosemite kills third-party SSD support
https://www.zdnet.co[...]
[38]
웹사이트
Chameleon SSD Optimizer
http://chameleon.ale[...]
[39]
웹사이트
You searched for Trim enabler
https://web.archive.[...]
2021-11-07
[40]
웹사이트
Latest OS X update allows you to enable TRIM for third-party SSDs
https://arstechnica.[...]
Condé Nast
2015-06-30
[41]
웹사이트
Support and Q&A for Solid-State Drives
http://blogs.msdn.co[...]
Microsoft
2009-05-09
[42]
웹사이트
Windows 7 Enhancements for Solid-State Drives
http://download.micr[...]
Microsoft Corporation
2009-07-08
[43]
뉴스
OCZ's RevoDrive 3 X2 240GB solid-state drive
http://techreport.co[...]
Geoff Gasior
2012
[44]
웹사이트
SSD Benchmark Tests: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts
http://archive.bench[...]
2013-08-20
[45]
웹사이트
Update to add native driver support in NVM Express in Windows 7 and Windows Server 2008 R2
https://support.micr[...]
Microsoft
2015-09-08
[46]
웹사이트
What is the TRIM Command on Solid State Drives?
https://datarecovery[...]
2017-01-30
[47]
웹사이트
Fsutil behavior
https://docs.microso[...]
2019-11-17
[48]
웹사이트
SATA TRIM support in OpenSolaris
https://web.archive.[...]
2010-07-29
[49]
웹사이트
Android 4.3 Update Brings TRIM to All Nexus Devices
http://www.anandtech[...]
2013-07-30
[50]
뉴스
Android 4.3 announced, rolling out to Nexus devices today
The Verge
2013-07-24
[51]
웹사이트
Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault
http://serverfault.c[...]
2011-11-29
[52]
웹사이트
Cyberax/mdtrim – GitHub
https://github.com/C[...]
2011-11-29
[53]
웹사이트
Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines
https://access.redha[...]
2016-03-09
[54]
웹사이트
Red Hat Enterprise Linux 7 Storage Administration Guide
http://docs.redhat.c[...]
2016-02-29
[55]
웹사이트
Is there TRIM support for RAID configurations?
http://www.intel.com[...]
Intel
2010-11-06
[56]
웹사이트
Intel Confirms RAID0 TRIM Support on 7-Series Chipsets
https://web.archive.[...]
2013-01-14
[57]
웹사이트
RAID0 trim and SRT seems possible on 6-series and 5-Series
https://web.archive.[...]
2013-01-14
[58]
웹사이트
TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too
http://www.anandtech[...]
2013-01-14
[59]
웹사이트
Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It
https://www.anandtec[...]
2013-01-14
[60]
웹사이트
Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It
http://www.anandtech[...]
[61]
웹사이트
TRIM Command Confirmed With RAID 0 on Intel 7 Series
http://www.tomshardw[...]
2012-08-17
[62]
웹사이트
Intel SSD Optimizer White Paper
https://web.archive.[...]
Intel Corporation
2010-01-23
[63]
웹사이트
wiper.exe for Falcon Series
https://web.archive.[...]
XtremeSystems
2010-01-23
[64]
웹사이트
hdparm-9.17 released, with experimental trim/wiper scripts for SSDs
https://lwn.net/Arti[...]
2010-08-14
[65]
웹사이트
hdparm project page
http://sourceforge.n[...]
sourceforge.net
2010-08-14
[66]
웹사이트
Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)
https://web.archive.[...]
INCITS
2009-07-08
[67]
웹사이트
T13 documents referring to TRIM
https://web.archive.[...]
INCITS
2009-07-08
[68]
웹사이트
T13 ATA8 Draft Spec 1697-D
https://web.archive.[...]
INCITS
2010-08-14
[69]
웹사이트
SATA 6Gb/s
https://www.sata-io.[...]
Serial ATA International Organization
2012-09-26
[70]
웹사이트
Device.Storage Requirements (Windows)
http://msdn.microsof[...]
2016-02-29
[71]
웹사이트
T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)
http://www.t13.org/D[...]
2016-02-29
[72]
웹사이트
RFC: SCSI UNMAP (TRIM) support
https://lists.freebs[...]
2011-12-24
[73]
웹사이트
Milan Broz's blog: TRIM & dm-crypt ... problems?
http://asalor.blogsp[...]
Milan Broz
2011-08-14
[74]
웹사이트
Perfectly Deniable Steganographic Disk Encryption
https://i.blackhat.c[...]
[75]
웹사이트
The Path from 3Gb/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA Revision 3.0 Specification
http://www.sata-io.o[...]
2009-05-27
[76]
웹사이트
SATA 3.1 spec brings swap standard, improved TRIM
http://techreport.co[...]
2011-07-18
[77]
웹사이트
71371 [PATCH]Crucial M500, broken "queued TRIM" support
https://bugzilla.ker[...]
[78]
웹사이트
'Bug #1449005 trim does not work with Samsung 840 EVO after firm... : Bugs : fstrim package : Ubuntu'
https://bugs.launchp[...]
2015-04-27
[79]
웹사이트
linux/libata-core.c at e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub
https://github.com/t[...]
[80]
웹사이트
linux/libata-core.c at master · torvalds/linux · GitHub
https://github.com/t[...]
[81]
웹사이트
libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1
https://github.com/t[...]
[82]
웹사이트
'[1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM - Patchwork'
http://patchwork.ozl[...]
[83]
웹사이트
TRIM Overview
https://www.intel.co[...]
2020-06-09
[84]
웹사이트
The SSD Anthology
http://www.anandtech[...]
2010-06-19
[85]
문서
Shimpi, Anand Lal.
2009-03-18
[86]
문서
Shimpi, Anand Lal.
2009-03-18
[87]
웹사이트
Kingston SSDNow V Plus 100 Review
http://www.anandtech[...]
Anand Lal Shimpi
2010-12-10
[88]
웹사이트
I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?
http://www.windowsit[...]
WindowsITPro
2010-06-19
[89]
문서
Shimpi, Anand Lal.
2009-03-18
[90]
웹사이트
What is the TRIM function for solid-state disks (SSDs) and why is it important?
http://www.windowsit[...]
WindowsITPro
2010-06-19
[91]
웹사이트
Long-term performance analysis of Intel Mainstream SSDs
http://www.pcper.com[...]
2012-02-10
[92]
웹사이트
I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?
http://www.windowsit[...]
WindowsITPro
2010-06-19
[93]
문서
Shimpi, Anand Lal.
2009-03-18
[94]
문서
Shimpi, Anand Lal.
2009-03-18
[95]
웹사이트
Write Amplification: Intel's Secret Sauce
http://www.extremete[...]
ExtremeTech.com
2010-11-06
[96]
웹사이트
Inside the X25-M Controller: Wear Leveling, Write Amplification Control
http://www.tomshardw[...]
TomsHardware.com
2010-11-06
[97]
문서
Shimpi, Anand Lal.
2009-03-18
[98]
웹사이트
What is the TRIM function for solid-state disks (SSDs) and why is it important?
http://www.windowsit[...]
WindowsITPro
2010-06-19
[99]
웹사이트
Too TRIM? When SSD Data Recovery is Impossible
http://techgage.com/[...]
TechGage
2018-08-21
[100]
웹사이트
Preliminary TRIM support
http://leaf.dragonfl[...]
2020-07-06
[101]
웹사이트
FreeBSD 8.1-RELEASE Release Notes: Disks and Storage
http://www.freebsd.o[...]
2010-09-01
[102]
웹사이트
Add kernel side support for BIO_DELETE/TRIM on UFS
http://www.freebsd.o[...]
2011-02-01
[103]
웹사이트
Added ZFS TRIM support which is enabled by default.
http://svnweb.freebs[...]
2013-06-05
[104]
웹사이트
FreeBSD 9.2-RELEASE Announcement
http://www.freebsd.o[...]
2013-10-04
[105]
웹사이트
Base revision 242323 – Add basic BIO_DELETE support to GEOM RAID class for all RAID levels
http://svnweb.freebs[...]
2012-10-30
[106]
웹사이트
TRIM support in NetBSD
http://mail-index.ne[...]
2012-10-19
[107]
웹사이트
Block device changes in Linux 2.6.28
http://kernelnewbies[...]
2020-07-06
[108]
웹사이트
Storage changes in Linux 2.6.33
http://kernelnewbies[...]
Kernel Newbies
2010-09-01
[109]
웹사이트
HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions – Forked by Nicolay
https://sites.google[...]
2020-07-06
[110]
웹사이트
Btrfs improvements in Linux 2.6.32
http://kernelnewbies[...]
2020-07-06
[111]
웹사이트
JFS Filesystem can now handle trim
https://www.phoronix[...]
2012-03-28
[112]
웹사이트
Filesystem changes in Linux 3.0
http://kernelnewbies[...]
2020-07-06
[113]
웹사이트
OpenSUSE forum – SSD detection when creating first time fstab
http://opensuse.14.n[...]
2010-01-01
[114]
웹사이트
How to enable TRIM?
http://askubuntu.com[...]
2015-11-11
[115]
웹사이트
SDB:SSD discard (trim) support
http://en.opensuse.o[...]
2020-07-06
[116]
웹사이트
Mac OS X 10.6.8 Brings TRIM Support for Apple SSDs, Graphics Improvements
http://www.macrumors[...]
2012-02-24
[117]
웹사이트
Macbook Pros ship with active SSD TRIM support
http://www.appleinsi[...]
2011-03-04
[118]
웹사이트
Yosemite kills third-party SSD support
http://www.zdnet.com[...]
2020-07-06
[119]
웹사이트
Chameleon SSD Optimizer
http://chameleon.ale[...]
2020-07-06
[120]
웹사이트
Cindori Software
http://www.cindori.o[...]
2020-07-06
[121]
웹사이트
Latest OS X update allows you to enable TRIM for third-party SSDs
https://arstechnica.[...]
Condé Nast
2015-06-30
[122]
웹사이트
Support and Q&A for Solid-State Drives
http://blogs.msdn.co[...]
MSDN
2009-05-09
[123]
웹사이트
Windows 7 Enhancements for Solid-State Drives
http://download.micr[...]
Microsoft Corporation
2008-11-12
[124]
문서
OCZ's RevoDrive 3 X2 240GB solid-state drive
http://techreport.co[...]
Geoff Gasior
2012-01-01
[125]
웹사이트
SSD Benchmark Tests: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts
http://archive.bench[...]
2010-04-15
[126]
웹사이트
Fsutil behavior
https://docs.microso[...]
2019-11-17
[127]
웹사이트
SATA TRIM support in OpenSolaris
http://www.c0t0d0s0.[...]
2010-07-29
[128]
웹사이트
Android 4.3 Update Brings TRIM to All Nexus Devices
http://www.anandtech[...]
2013-07-29
[129]
뉴스
Android 4.3 announced, rolling out to Nexus devices today
https://www.theverge[...]
The Verge
2013-07-24
[130]
웹사이트
Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault
http://serverfault.c[...]
2011-11-29
[131]
웹사이트
Cyberax/mdtrim – GitHub
https://github.com/C[...]
2011-11-29
[132]
웹사이트
Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines
https://access.redha[...]
2016-03-09
[133]
웹사이트
Red Hat Enterprise Linux 7 Storage Administration Guide
http://docs.redhat.c[...]
2015-11-11
[134]
웹사이트
Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines
https://access.redha[...]
2016-03-09
[135]
웹사이트
Is there TRIM support for RAID configurations?
http://www.intel.com[...]
Intel
2010-03-26
[136]
웹사이트
Intel Confirms RAID0 TRIM Support on 7-Series Chipsets
http://www.storagere[...]
2012-08-19
[137]
웹사이트
RAID0 trim and SRT seems possible on 6-series and 5-Series
http://forums.anandt[...]
2012-11-18
[138]
웹사이트
TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too
http://www.anandtech[...]
2012-11-28
[139]
웹사이트
Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It
http://www.anandtech[...]
2012-08-16
[140]
웹사이트
Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It
http://www.anandtech[...]
2020-07-06
[141]
웹사이트
TRIM Command Confirmed With RAID 0 on Intel 7 Series
http://www.tomshardw[...]
2020-07-06
[142]
웹사이트
Intel SSD Optimizer White Paper
http://download.inte[...]
Intel Corporation
2010-01-23
[143]
웹사이트
wiper.exe for Falcon Series
http://www.xtremesys[...]
XtremeSystems
2010-01-23
[144]
웹사이트
hdparm-9.17 released, with experimental trim/wiper scripts for SSDs
https://lwn.net/Arti[...]
2010-08-14
[145]
웹사이트
hdparm project page
http://sourceforge.n[...]
sourceforge.net
2010-08-14
[146]
웹사이트
Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)
http://t13.org/Docum[...]
INCITS
2007-12-12
[147]
웹사이트
T13 documents referring to TRIM
http://t13.org/Docum[...]
INCITS
2009-07-08
[148]
웹사이트
T13 ATA8 Draft Spec 1697-D
http://www.t13.org/D[...]
INCITS
2010-06-23
[149]
웹사이트
SATA 6Gb/s
http://www.sata-io.o[...]
Serial ATA International Organization
2012-09-26
[150]
웹사이트
Device.Storage Requirements (Windows)
http://msdn.microsof[...]
2016-02-29
[151]
웹사이트
T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)
http://www.t13.org/D[...]
2016-02-29
[152]
웹사이트
Note for SCSI UNMAP support in FreeBSD mailing list
http://lists.freebsd[...]
2020-07-06
[153]
웹사이트
Milan Broz's blog: TRIM & dm-crypt ... problems?
http://asalor.blogsp[...]
Milan Broz
2014-10-01
[154]
웹사이트
http://www.sata-io.o[...]
[155]
웹사이트
SATA 3.1 spec brings swap standard, improved TRIM
http://techreport.co[...]
2020-07-06
[156]
웹사이트
'Bug 71371 –
[157]
웹사이트
'Bug #1449005 "trim does not work with Samsung 840 EVO after firm..." : Bugs : fstrim package : Ubuntu||'
https://bugs.launchp[...]
2020-07-06
[158]
웹사이트
linux/libata-core.c at master · torvalds/linux · GitHub
https://github.com/t[...]
2020-07-06
[159]
웹사이트
linux/libata-core.c at master · torvalds/linux · GitHub
https://github.com/t[...]
2020-07-06
[160]
웹사이트
libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1
https://github.com/t[...]
2020-07-06
[161]
웹사이트
linux/libata-core.c at master · torvalds/linux · GitHub
https://github.com/t[...]
2020-07-06
[162]
웹사이트
'
[163]
웹인용
Intel High Performance Solid State Drive – Advantages of TRIM
http://www.intel.com[...]
Intel
2010-09-14
[164]
웹인용
The SSD Anthology: Understanding SSDs and New Drives from OCZ
https://www.anandtec[...]
2009-03-18
[165]
문서
Shimpi, Anand Lal. (18 March 2009). p. 10.
[166]
문서
Shimpi, Anand Lal. (18 March 2009). p. 11.
[167]
웹인용
Kingston SSDNow V Plus 100 Review
http://www.anandtech[...]
Anand Lal Shimpi
2010-11-11
[168]
웹인용
Trim Command - General Benefits for Hard disk Drives
https://documents.we[...]
[169]
웹인용
I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?
http://www.windowsit[...]
WindowsITPro
2009-04-21
[170]
문서
Shimpi, Anand Lal. (18 March 2009). p. 7.
[171]
웹인용
What is the TRIM function for solid-state disks (SSDs) and why is it important?
http://www.windowsit[...]
WindowsITPro
2009-04-22
[172]
웹인용
Long-term performance analysis of Intel Mainstream SSDs
http://www.pcper.com[...]
2009-02-13
[173]
문서
Shimpi, Anand Lal. (18 March 2009). p. 5.
[174]
문서
Shimpi, Anand Lal. (18 March 2009). p. 8.
[175]
웹인용
Write Amplification: Intel's Secret Sauce
http://www.extremete[...]
ExtremeTech.com
[176]
웹인용
Inside the X25-M Controller: Wear Leveling, Write Amplification Control
http://www.tomshardw[...]
TomsHardware.com
2010-11-06
[177]
문서
Anand Lal Shimpi
2009-03-18
[178]
웹인용
Too TRIM? When SSD Data Recovery is Impossible
http://techgage.com/[...]
TechGage
2018-08-21
[179]
웹인용
Preliminary TRIM support
https://leaf.dragonf[...]
[180]
웹인용
FreeBSD 8.1-RELEASE Release Notes: Disks and Storage
http://www.freebsd.o[...]
2010-09-01
[181]
웹인용
Add kernel side support for BIO_DELETE/TRIM on UFS
http://www.freebsd.o[...]
2011-02-01
[182]
웹인용
Added ZFS TRIM support which is enabled by default.
http://svnweb.freebs[...]
2013-06-05
[183]
웹인용
FreeBSD 9.2-RELEASE Announcement
http://www.freebsd.o[...]
2013-10-04
[184]
웹인용
Base revision 242323 – Add basic BIO_DELETE support to GEOM RAID class for all RAID levels
http://svnweb.freebs[...]
2012-10-30
[185]
웹인용
TRIM support in NetBSD
http://mail-index.ne[...]
2012-10-19
[186]
웹인용
Linux_2_6_28 - Linux Kernel Newbies
https://kernelnewbie[...]
[187]
웹인용
Storage changes in Linux 2.6.33
http://kernelnewbies[...]
Kernel Newbies
2010-09-01
[188]
웹인용
Forked by Nicolay - HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions
https://sites.google[...]
[189]
웹인용
Linux_2_6_32 - Linux Kernel Newbies
https://kernelnewbie[...]
[190]
웹인용
JFS Filesystem can now handle trim
https://www.phoronix[...]
2012-03-28
[191]
웹인용
Linux_3.0 - Linux Kernel Newbies
https://kernelnewbie[...]
[192]
웹인용
OpenSUSE forum – SSD detection when creating first time fstab
http://opensuse.14.n[...]
2022-01-02
[193]
웹인용
How to enable TRIM?
http://askubuntu.com[...]
2015-11-11
[194]
웹인용
SDB:SSD discard (trim) support - openSUSE Wiki
https://en.opensuse.[...]
[195]
웹인용
Changes/EnableFSTrimTimer - Fedora Project Wiki
https://fedoraprojec[...]
2020-12-10
[196]
웹인용
Mac OS X 10.6.8 Brings TRIM Support for Apple SSDs, Graphics Improvements
http://www.macrumors[...]
2012-02-24
[197]
웹인용
Macbook Pros ship with active SSD TRIM support
http://www.appleinsi[...]
2011-03-04
[198]
웹인용
Yosemite kills third-party SSD support
http://www.zdnet.com[...]
[199]
웹인용
Chameleon SSD Optimizer
http://chameleon.ale[...]
[200]
웹인용
You searched for Trim enabler
https://cindori.org/[...]
2021-11-07
[201]
웹인용
Latest OS X update allows you to enable TRIM for third-party SSDs
https://arstechnica.[...]
Condé Nast
2015-07-01
[202]
웹인용
Support and Q&A for Solid-State Drives
http://blogs.msdn.co[...]
마이크로소프트
2019-02-17
[203]
웹인용
Windows 7 Enhancements for Solid-State Drives
http://download.micr[...]
Microsoft Corporation
2009-07-08
[204]
뉴스
OCZ's RevoDrive 3 X2 240GB solid-state drive
http://techreport.co[...]
Geoff Gasior
2012
[205]
웹인용
SSD Benchmark Tests: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts
http://archive.bench[...]
2013-08-20
[206]
웹인용
Update to add native driver support in NVM Express in Windows 7 and Windows Server 2008 R2
https://support.micr[...]
Microsoft
2015-09-08
[207]
웹인용
What is the TRIM Command on Solid State Drives?
https://datarecovery[...]
2017-01-30
[208]
웹인용
Fsutil behavior
https://docs.microso[...]
2019-11-17
[209]
웹인용
SATA TRIM support in OpenSolaris
http://www.c0t0d0s0.[...]
2022-01-02
[210]
웹인용
Android 4.3 Update Brings TRIM to All Nexus Devices
http://www.anandtech[...]
2013-07-30
[211]
뉴스
Android 4.3 announced, rolling out to Nexus devices today
https://www.theverge[...]
The Verge
2013-07-24
[212]
웹인용
Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault
http://serverfault.c[...]
2011-11-29
[213]
웹인용
Cyberax/mdtrim – GitHub
https://github.com/C[...]
2011-11-29
[214]
웹인용
Red Hat Enterprise Linux 7 Storage Administration Guide
http://docs.redhat.c[...]
2016-02-29
[215]
웹인용
Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines
https://access.redha[...]
2016-03-09
[216]
웹인용
Is there TRIM support for RAID configurations?
http://www.intel.com[...]
Intel
2010-11-06
[217]
웹인용
Intel Confirms RAID0 TRIM Support on 7-Series Chipsets
https://web.archive.[...]
2013-01-14
[218]
웹인용
RAID0 trim and SRT seems possible on 6-series and 5-Series
https://web.archive.[...]
2013-01-14
[219]
웹인용
TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too
http://www.anandtech[...]
2013-01-14
[220]
웹인용
Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It
https://www.anandtec[...]
2013-01-14
[221]
웹인용
Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It
http://www.anandtech[...]
[222]
웹인용
TRIM Command Confirmed With RAID 0 on Intel 7 Series
http://www.tomshardw[...]
2012-08-17
[223]
웹인용
Intel SSD Optimizer White Paper
https://www.webcitat[...]
Intel Corporation
2010-01-23
[224]
웹인용
wiper.exe for Falcon Series
http://www.xtremesys[...]
XtremeSystems
2010-01-23
[225]
웹인용
hdparm-9.17 released, with experimental trim/wiper scripts for SSDs
https://lwn.net/Arti[...]
2010-08-14
[226]
웹인용
hdparm project page
http://sourceforge.n[...]
sourceforge.net
2010-08-14
[227]
웹인용
Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)
https://web.archive.[...]
INCITS
2009-07-08
[228]
웹인용
T13 documents referring to TRIM
https://web.archive.[...]
INCITS
2009-07-08
[229]
웹인용
T13 ATA8 Draft Spec 1697-D
https://web.archive.[...]
INCITS
2010-08-14
[230]
웹인용
SATA 6Gb/s
https://www.sata-io.[...]
Serial ATA International Organization
2012-09-26
[231]
웹인용
Device.Storage Requirements (Windows)
http://msdn.microsof[...]
2016-02-29
[232]
웹인용
T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)
https://web.archive.[...]
2016-02-29
[233]
웹인용
RFC: SCSI UNMAP (TRIM) support
https://lists.freebs[...]
2021-11-07
[234]
웹인용
Milan Broz's blog: TRIM & dm-crypt ... problems?
http://asalor.blogsp[...]
Milan Broz
2014-10-01
[235]
웹인용
Perfectly Deniable Steganographic Disk Encryption
https://i.blackhat.c[...]
2021-11-07
[236]
웹인용
The Path from 3Gb/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA Revision 3.0 Specification
http://www.sata-io.o[...]
2021-11-07
[237]
웹인용
SATA 3.1 spec brings swap standard, improved TRIM
http://techreport.co[...]
[238]
웹인용
71371 [PATCH]Crucial M500, broken "queued TRIM" support
https://bugzilla.ker[...]
[239]
웹인용
Bug #1449005 trim does not work with Samsung 840 EVO after firm... : Bugs : fstrim package : Ubuntu
https://bugs.launchp[...]
[240]
웹인용
linux/libata-core.c at e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub
https://github.com/t[...]
[241]
웹인용
linux/libata-core.c at master · torvalds/linux · GitHub
https://github.com/t[...]
[242]
웹인용
libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1
https://github.com/t[...]
[243]
웹인용
'[1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM - Patchwork'
http://patchwork.ozl[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com