{{위키데이터 속성 추적}}
'''트림 명령'''(ATA 커맨드에서는 '''TRIM''', SCSI 커맨드에서는 '''UNMAP'''이라고 함)을 사용하면 [[운영 체제]]에서 데이터 블록을 더 이상 사용하지 않는다는 것을 [[솔리드 스테이트 드라이브]] (SSD)에 알릴 수 있으므로 내부적으로 데이터를 지우는 것이 가능하다.<ref name="Intel Knowledgebase">{{웹 인용|url=http://www.intel.com/content/www/us/en/support/solid-state-drives/000016148.html?wapkw=trim|제목=Intel High Performance Solid State Drive – Advantages of TRIM|날짜=14 September 2010|웹사이트=Intel.com|출판사=[[Intel]]|확인날짜=2012-02-21}}</ref>

TRIM은 SSD가 처음으로 고안된 직후에 도입되었다. SSD가 수행하는 낮은 수준의 작업은 하드 드라이브와 크게 다르기 때문에 운영 체제가 삭제 및 포맷과 같은 작업을 수행하는 일반적인 방식은 예상과는 달리 SSD의 기록 성능이 점진적으로 저하되었다.<ref name="SSD_Anthology_4">{{웹 인용|url=https://www.anandtech.com/show/2738|제목=The SSD Anthology: Understanding SSDs and New Drives from OCZ|성=Shimpi, Anand Lal|날짜=2009-03-18|웹사이트=AnandTech.com|쪽=4|확인날짜=2010-06-19}}</ref> TRIM을 수행하면 SSD는 [[가비지]] 컬렉션을 보다 효율적으로 처리할 수 있다. 그렇지 않다면 향후 관련 블록에 대한 기록 동작이 느려질 수 있다.<ref name="SSD_Anthology_10">Shimpi, Anand Lal. (18 March 2009). p. 10.</ref>

TRIM이 도입되기 전에도 이미 일부 드라이브를 초기 상태로 "재설정"하는 도구를 사용할 수 있었지만 드라이브의 모든 데이터를 삭제하기 때문에 최적화 상태를 지속하기에는 실용적이지 않았다.<ref name="SSD_Anthology_11">Shimpi, Anand Lal. (18 March 2009). p. 11.</ref> 2014년까지 많은 SSD는 TRIM과 독립적으로 작동하는 내부적인 [[가비지]] 컬렉션 메커니즘을 가지고 있었다. 이 매커니즘은 트림을 지원하지 않은 운영 체제에서 성공적으로 성능을 유지했지만, 쓰기 증폭(WAF)의 증가와 플래시 셀의 마모<ref>{{웹 인용|url=http://www.anandtech.com/show/4010/kingston-ssdnow-v-plus-100-review|제목=Kingston SSDNow V Plus 100 Review|날짜=2010-11-11|웹사이트=AnandTech.com|출판사=Anand Lal Shimpi|확인날짜=2010-12-10}}</ref>와 연관된 단점이 있었다.

TRIM은 SMR(Shingled Magnetic Recording) 하드 드라이브에도 널리 사용된다.<ref>{{웹 인용|url=https://documents.westerndigital.com/content/dam/doc-library/en_us/assets/public/western-digital/product/internal-drives/wd-purple-hdd/whitepaper-generic-benefit-for-hard-disk-drive.pdf|제목=Trim Command - General Benefits for Hard disk Drives|웹사이트=Documents.westerndigital.com|형식=PDF|확인날짜=November 7, 2021}}</ref>

== 배경 ==
많은 [[파일 시스템]]이 데이터 블록을 "사용하지 않음"<ref name="WindowsITPro">{{웹 인용|url=http://www.windowsitpro.com/article/john-savills-windows-faqs/q-i-heard-solid-state-disks-ssds-suffer-from-a-decline-in-write-performance-as-they-re-used-why-.aspx|제목=I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?|성=Savill, John|날짜=2009-04-21|출판사=WindowsITPro|보존url=https://www.webcitation.org/68ojwt3Bp?url=http://www.windowsitpro.com/article/john-savills-windows-faqs/q-i-heard-solid-state-disks-ssds-suffer-from-a-decline-in-write-performance-as-they-re-used-why-|보존날짜=30 June 2012|url-status=dead|확인날짜=2010-06-19}}</ref><ref name="SSD_Anthology_7">Shimpi, Anand Lal. (18 March 2009). p. 7.</ref>으로 표시해 두는 방식으로 삭제 작업을 처리하기 때문에 저장 미디어(SSD와 기존 하드 드라이브)는 일반적으로 어떤 섹터/페이지가 실제로 사용되고 비어있는지 알지 못한다. 예를 들어 덮어쓰기 작업과 달리 삭제 작업을 할 때는 데이터를 포함하고 있는 섹터를 물리적으로 쓰는 과정이 수반되지 않는다. 일반 SSD는 사용되지않은 블록/섹터 목록을 포함하여 파일 시스템 구조에 대한 정보가 없기 때문에 저장 매체는 블록을 사용할 수 있게 되었다는 사실을 알지 못한다. 이것은 운영 체제에서 파일이 "삭제됨"으로 보고 되었음에도 불구하고 종종 [[삭제 복구|삭제 취소]] 도구를 사용하여 전자 기계식 [[하드 디스크 드라이브|하드 디스크]]<ref name="SSD_Anthology_7" /><ref name="WindowsITPro_Trim">{{웹 인용|url=http://www.windowsitpro.com/article/file-systems/q-what-is-the-trim-function-for-solid-state-disks-ssds-and-why-is-it-important-.aspx|제목=What is the TRIM function for solid-state disks (SSDs) and why is it important?|성=Savill, John|날짜=2009-04-22|출판사=WindowsITPro|보존url=https://archive.today/20130209233800/http://www.windowsitpro.com/article/file-systems/q-what-is-the-trim-function-for-solid-state-disks-ssds-and-why-is-it-important-.aspx|보존날짜=2013-02-09|url-status=dead|확인날짜=2010-06-19}}</ref>에서 파일을 복구할 수 있도록 한다. 이는 또한 운영 체제가 나중에 여유 공간으로 간주되는 섹터 중의 하나에 기록 작업을 수행할 때 저장 매체의 관점에서 효과적인 덮어 쓰기 작업이 된다는 것을 의미한다. 자기 디스크의 경우 기존 데이터 덮어쓰기는 빈 섹터에 쓰는 것과 같지만, 일부 SSD가 가장 낮은 수준에서 작동하기 때문에 덮어쓰기는 데이터를 빈 페이지에 쓰는 것과 비교하여 상당한 오버헤드가 발생하여 잠재적으로 쓰기 성능을 저하시킨다.<ref name="SSD_Anthology_7" /><ref name="PC Per Malventano">{{웹 인용|url=http://www.pcper.com/reviews/Storage/Long-term-performance-analysis-Intel-Mainstream-SSDs/Intel-Option-1-Write-Big|제목=Long-term performance analysis of Intel Mainstream SSDs|성=Malventano|이름=Allyn|날짜=13 February 2009|웹사이트=PC Perspective|확인날짜=10 February 2012}}</ref>

[[바이트|SSD는 일반적으로 4~16kiB]]의 페이지로 그룹화되고 128~512페이지의 블록으로 그룹화되는 플래시 메모리 셀에 데이터를 저장한다. 예: 512 kiB 블록은 각각 4 kiB의 128 페이지를 그룹화한다.<ref name="WindowsITPro"/><ref name="SSD_Anthology_5" /> [[플래시 메모리|NAND 플래시 메모리]] 셀은 비어 있는 경우에만 직접 쓸 수 있다. 데이터가 포함된 경우 기록 작업 전에 내용을 지워야 한다. SSD 쓰기 작업은 단일 페이지에 수행할 수 있지만 하드웨어 의 제약으로 인해 지우기 명령은 항상 전체 블록에 영향을 준다.<ref name="SSD_Anthology_5">Shimpi, Anand Lal. (18 March 2009). p. 5.</ref> 결과적으로 SSD의 빈 페이지에 데이터를 쓰는 것은 매우 빠르지만 이전에 쓴 페이지를 덮어써야 한다면 속도가 상당히 느려진다. 다시 쓰기 전에 페이지의 셀을 지워야 하지만 전체 블록만 지울 수 있으므로 덮어쓰기는 읽기-지우기-수정-쓰기 주기로 동작한다.<ref name="WindowsITPro" /><ref name="SSD_Anthology_8">Shimpi, Anand Lal. (18 March 2009). p. 8.</ref> 내용 전체 블록이 캐시에 저장된 다음 전체 블록이 SSD에서 지워지고 덮어쓴 페이지가 캐시된 블록에 기록되고 그런 다음에만 전체 업데이트된 블록이 플래시 매체에 기록될 수 있다. 이 현상을 쓰기 증폭이라고 한다.<ref>{{웹 인용|url=http://www.extremetech.com/article2/0,2845,2329594,00.asp|제목=Write Amplification: Intel's Secret Sauce|출판사=ExtremeTech.com|확인날짜=2010-11-06|archive-date=2010-11-15|archive-url=https://web.archive.org/web/20101115074120/http://www.extremetech.com/article2/0%2C2845%2C2329594%2C00.asp|url-status=}}</ref><ref>{{웹 인용|url=http://www.tomshardware.com/reviews/Intel-x25-m-SSD,2012-5.html|제목=Inside the X25-M Controller: Wear Leveling, Write Amplification Control|날짜=2008-09-08|출판사=TomsHardware.com|확인날짜=2010-11-06}}</ref>

== 작업 ==
TRIM 명령을 사용하면 운영 체제는 더 이상 유효한 데이터를 포함하지 않는 페이지를 SSD에 알릴 수 있다. [[파일 삭제]] 작업의 경우 운영 체제는 파일의 섹터를 새 데이터를 위한 여유 공간이라 표기한 다음 TRIM 명령을 SSD로 보낸다. TRIM이후 SSD는 플래시 메모리 페이지에 새 데이터를 쓸 때 블록의 내용을 보존하지 않으므로 쓰기 증폭이 줄어들고(쓰기 횟수 감소) 쓰기 처리량이 높아진다(읽기-지우기-수정 시퀀스가 필요 없음). 따라서 드라이브 수명이 증가한다.

SSD마다 명령을 약간 다르게 실행하기 때문에 성능은 다를 수 있다.<ref name="SSD_Anthology_10">Shimpi, Anand Lal. (18 March 2009). p. 10.</ref><ref name="WindowsITPro_Trim"/>

[[논리 블록 주소 지정|TRIM은 SSD에 LBA]] 영역을 유효하지 않은 것으로 표시하도록 지시하고 해당 영역에 대한 후속 읽기는 의미 있는 데이터를 반환하지 않는다. 아주 짧은 시간 동안 데이터는 여전히 내부적으로 플래시에 머무를 수 있다. 그러나 TRIM 명령이 실행되고 가비지 수집이 수행된 후에는 데이터를 복구할 수 있을 가능성은 거의 없다.<ref>{{웹 인용|url=http://techgage.com/article/too_trim_when_ssd_data_recovery_is_impossible|제목=Too TRIM? When SSD Data Recovery is Impossible|날짜=2010-03-05|웹사이트=TechGage|출판사=TechGage|확인날짜=2018-08-21}}</ref>

== 실행 ==
=== 운영 체제 지원 ===
TRIM 명령은 드라이브에서 수행하고 운영 체제에서 요청하는 경우에만 유용하다. 아래 표는 각 주목할만한 운영 체제와 명령을 지원하는 첫 번째 버전을 나타낸다. 또한 ATA 표준에 TRIM 명령을 추가하기 전에 설계된 이전 솔리드 스테이트 드라이브에는 펌웨어 업데이트가 필요하다. 그렇지 않으면 새로 내리는 명령이 무시된다. 하지만 TRIM을 지원하도록 모든 드라이브를 업그레이드할 수 있는 것은 아니다.

TRIM 기능의 지원은 운영 체제의 특정 파일 시스템 드라이버가 수행할 수 있는 기능에 따라 달라진다. 디스크의 어느 부분이 여유 공간인지 알고 있는 프로그램만이 안전하게 명령을 실행할 수 있고 시스템 수준에서는 파일 시스템 드라이버 자체에서 오작동 하는 경향이 있다.
{| class="wikitable sortable"
! width="15%" |운영 체제
! width="15%" | 지원시작일
! 설명
|-
| [[DragonFly BSD|드래곤플라이 BSD]]
| <span style="display:none">2011-05</span> 2011년 5월<ref>{{웹 인용|url=https://leaf.dragonflybsd.org/mailarchive/kernel/2011-05/msg00002.html|제목=Preliminary TRIM support|웹사이트=leaf.dragonflybsd.org}}</ref>
|
|-
|[[FreeBSD|프리BSD]]
| <span style="display:none">2010-07</span> 8.1 – 2010년 7월<ref>{{웹 인용|url=http://www.freebsd.org/releases/8.1R/relnotes-detailed.html#DISKS|제목=FreeBSD 8.1-RELEASE Release Notes: Disks and Storage|확인날짜=2010-09-01}}</ref>
| 8.1에서 블록 장치 계층에 지원이 추가되었다. [[유닉스 파일 시스템|파일 시스템 지원은 UFS로]] 시작하여 FreeBSD 8.3 및 FreeBSD 9에 추가되었다.<ref>{{웹 인용|url=http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/ufs/ffs/ffs_alloc.c#rev1.153.2.4|제목=Add kernel side support for BIO_DELETE/TRIM on UFS|확인날짜=2011-02-01}}</ref> [[ZFS]] 트리밍 지원이 FreeBSD 9.2에 추가되었다.<ref>{{웹 인용|url=http://svnweb.freebsd.org/base?view=revision&revision=251419|제목=Added ZFS TRIM support which is enabled by default.|확인날짜=2013-06-05}}</ref><ref>{{웹 인용|url=http://www.freebsd.org/releases/9.2R/announce.html|제목=FreeBSD 9.2-RELEASE Announcement|확인날짜=2013-10-04}}</ref> FreeBSD 10은 소프트웨어 [[RAID]] 구성에서 트리밍을 지원한다.<ref>{{웹 인용|url=http://svnweb.freebsd.org/base?view=revision&revision=242323|제목=Base revision 242323 – Add basic BIO_DELETE support to GEOM RAID class for all RAID levels|확인날짜=2012-10-30}}</ref>
|-
| [[NetBSD]]
| <span style="display:none">2012-10</span> 2012년 10월<ref>{{웹 인용|url=http://mail-index.netbsd.org/source-changes/2012/10/19/msg038047.html|제목=TRIM support in NetBSD|날짜=2012-10-19}}</ref>
|
|-
|[[리눅스]]
| <span style="display:none">2008-12-25</span> 2.6.28–25 2008년 12월<ref>{{웹 인용|url=https://kernelnewbies.org/Linux_2_6_28|제목=Linux_2_6_28 - Linux Kernel Newbies|웹사이트=kernelnewbies.org}}</ref>
| 2.6.28에서 [[플래시 메모리|FTL NAND 플래시]] 장치에 대한 폐기 작업에 대한 초기 지원이 추가되었다. ATA TRIM 명령에 대한 지원이 2.6.33에 추가되었다.<ref>{{웹 인용|url=http://kernelnewbies.org/Linux_2_6_33#head-b9b8a40358aaef60a61fcf12e9055900709a1cfb|제목=Storage changes in Linux 2.6.33|출판사=Kernel Newbies|확인날짜=2010-09-01}}</ref> 모든 파일 시스템이 트림을 사용하는 것은 아니다. 트림 요청을 자동으로 발행할 수 있는 파일 시스템 중에는 [[ext4]],<ref>{{웹 인용|url=https://sites.google.com/site/lightrush/random-1/howtoconfigureext4toenabletrimforssdsonubuntu|제목=Forked by Nicolay - HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions|웹사이트=sites.google.com}}</ref> [[Btrfs]],<ref>{{웹 인용|url=https://kernelnewbies.org/Linux_2_6_32|제목=Linux_2_6_32 - Linux Kernel Newbies|웹사이트=kernelnewbies.org}}</ref> [[파일 할당 테이블|FAT]], GFS2, [[저널링 파일 시스템|JFS]],<ref>{{웹 인용|url=https://www.phoronix.com/scan.php?page=news_item&px=MTE5ODY|제목=JFS Filesystem can now handle trim|확인날짜=2012-03-28}}</ref> [[XFS]],<ref name="Filesystem changes in Linux 3.0">{{웹 인용|url=https://kernelnewbies.org/Linux_3.0|제목=Linux_3.0 - Linux Kernel Newbies|웹사이트=kernelnewbies.org}}</ref> 및 [[NTFS-3G]]가 있다. 그러나 일부 배포판에서는 지원되는 SSD에서 예약된 트리밍을 위해<ref>{{웹 인용|url=http://opensuse.14.n6.nabble.com/SSD-detection-when-creating-first-time-fstab-td3313048.html|제목=OpenSUSE forum – SSD detection when creating first time fstab|성=Freemyer|이름=Greg|날짜=2010|확인날짜=2022-01-02|archive-date=2013-01-27|archive-url=https://web.archive.org/web/20130127160309/http://opensuse.14.n6.nabble.com/SSD-detection-when-creating-first-time-fstab-td3313048.html|url-status=dead}}</ref> 성능 문제로 인해 기본적으로 비활성화되어 있다.<ref>{{웹 인용|url=http://askubuntu.com/questions/18903/how-to-enable-trim/19480#19480|제목=How to enable TRIM?|웹사이트=Ask Ubuntu|확인날짜=11 November 2015}}</ref> [[Ext3]], NILFS2 및 OCFS2는 오프라인 트리밍을 수행하기 위한 [[Ioctl]]을 제공한다. TRIM 사양은 트림 범위 목록을 지원해야 하지만 커널 3.0에서 트림은 더 느린 단일 범위에서만 호출된다.<ref>{{웹 인용|url=https://en.opensuse.org/SDB:SSD_discard_(trim)_support|제목=SDB:SSD discard (trim) support - openSUSE Wiki|웹사이트=en.opensuse.org}}</ref>

많은 최신 [[리눅스 배포판|Linux 배포판]]에서 [[systemd]]는 <code>fstrim.timer</code> 단위를 제공하므로 <code>fstrim.timer</code>를 <code>fstrim.service</code>가 매주 실행된다.<ref>{{웹 인용|url=https://fedoraproject.org/wiki/Changes/EnableFSTrimTimer|제목=Changes/EnableFSTrimTimer - Fedora Project Wiki|웹사이트=fedoraproject.org|확인날짜=2020-12-10}}</ref>
|-
| [[macOS|맥 OS]]
| <span style="display:none">2011-06-23</span> 10.6.8–23 2011년 6월<ref>{{웹 인용|url=http://www.macrumors.com/2011/06/27/mac-os-x-10-6-8-brings-trim-support-for-apple-ssds-graphics-improvements/|제목=Mac OS X 10.6.8 Brings TRIM Support for Apple SSDs, Graphics Improvements|날짜=2012-02-24}}</ref>
| [[고급 호스트 컨트롤러 인터페이스|AHCI]] 블록 장치 드라이버가 10.6.6(10J3210)에서 장치가 TRIM 작업을 지원하는지 여부를 표시하는 기능을 얻었지만<ref>{{웹 인용|url=http://www.appleinsider.com/articles/11/03/04/apples_macbook_pros_ship_with_active_ssd_trim_support_in_snow_leopard.html|제목=Macbook Pros ship with active SSD TRIM support|날짜=2011-03-04}}</ref> TRIM 작업이 IOStorageFamily 및 파일 시스템을 통해 노출된 10.6.8까지 기능 자체에 액세스할 수 없었다. (HFS+) 지원이 추가되었다.  10.10.4까지 Mac OS X은 기본적으로 Apple 브랜드 SSD에 대해서만 TRIM을 활성화했다. 타사 유틸리티를 사용하여 다른 브랜드에서 사용할 수 있다. 이전 타사 TRIM 드라이버는 Yosemite 업데이트로 작동을 멈췄다.<ref>{{웹 인용|url=http://www.zdnet.com/yosemite-kills-third-party-ssd-support-7000035765/|제목=Yosemite kills third-party SSD support|웹사이트=[[ZDNet]]}}</ref> 이제 OS X Yosemite에서 작동하는 업데이트된 드라이버가 있다.<ref>{{웹 인용|url=http://chameleon.alessandroboschini.com/|제목=Chameleon SSD Optimizer|웹사이트=chameleon.alessandroboschini.com}}</ref><ref>{{웹 인용|url=https://cindori.org/search/Trim+enabler/|제목=You searched for Trim enabler|웹사이트=Cindori.org|확인날짜=7 November 2021|archive-date=2021-11-08|archive-url=https://web.archive.org/web/20211108084427/https://cindori.org/search/Trim+enabler/|url-status=}}</ref> Mac OS X [https://support.apple.com/en-us/HT204928 업데이트 10.10.4]에서 Apple은 타사 SSD에서 TRIM을 활성화하는 데 사용할 수 있는 명령줄 유틸리티인 trimforce를 추가했다.<ref>{{웹 인용|url=https://arstechnica.com/apple/2015/06/latest-os-x-update-allows-you-to-enable-trim-for-third-party-ssds/|제목=Latest OS X update allows you to enable TRIM for third-party SSDs|성=Lee Hutchinson|날짜=30 June 2015<!-- 11:36am PDT-->|웹사이트=Ars Technica|출판사=Condé Nast|확인날짜=2015-07-01}}</ref>
|-
| [[마이크로소프트 윈도우]]
| <span style="display:none">2009–10</span> Windows 7 및 Windows Server 2008 R2 – 2009년 10월<ref>{{웹 인용|url=http://blogs.msdn.com/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx|제목=Support and Q&A for Solid-State Drives|성=Fortin|이름=Michael|날짜=2009-05-09|편집자-성=Sinofsky|편집자-이름=Steven|웹사이트=Engineering Windows 7 blog|출판사=[[마이크로소프트]]|보존url=https://web.archive.org/web/20100529211357/http://blogs.msdn.com/b/e7/archive/2009/05/05/support-and-q-a-for-solid-state-drives-and.aspx|보존날짜=2010-05-29|확인날짜=2019-02-17|url-status=}}</ref><ref>{{웹 인용|url=http://download.microsoft.com/download/F/A/7/FA70E919-8F82-4C4E-8D02-97DB3CF79AD5/COR-T558_Shu_Taiwan.pdf|제목=Windows 7 Enhancements for Solid-State Drives|날짜=2008-11-12|웹사이트=Microsoft downloads|출판사=Microsoft Corporation|확인날짜=2009-07-08}}</ref>
| [[병렬 ATA|Windows 7은 처음에 Parallel ATA]] 및 [[직렬 ATA]]를 포함한 AT Attachment 제품군의 드라이브에 대해서만 TRIM을 지원했으며 장치 자체에서 명령을 수락하더라도 Storport PCI-Express SSD를 포함한 다른 장치에 대해서는 이 명령을 지원하지 않았다.<ref>[http://techreport.com/articles.x/22663 Geoff Gasior (2012)] OCZ's RevoDrive 3 X2 240GB solid-state drive</ref> 기본 Microsoft 드라이버를 사용하면 TRIM 명령이 [[고급 호스트 컨트롤러 인터페이스|AHCI]] 및 레거시 IDE/ATA 모드의 Windows 7에서 작동하는 것으로 확인되었다.<ref>{{웹 인용|url=http://archive.benchmarkreviews.com/index.php?option=com_content&task=view&id=505&Itemid=38&limit=1&limitstart=12|제목=SSD Benchmark Tests: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts|성=Coles|이름=Olin|날짜=15 April 2010|웹사이트=BenchmarkReviews|확인날짜=20 August 2013|archive-date=2013-12-03|archive-url=https://web.archive.org/web/20131203010918/http://archive.benchmarkreviews.com/index.php?option=com_content&task=view&id=505&Itemid=38&limit=1&limitstart=12|url-status=}}</ref> [[NVM 익스프레스|Windows 8 이상 Windows 운영 체제는 NVMe]] 기반 PCI Express SSD의 트림을 지원하며, UASP(USB Attached SCSI Protocol)를 포함하여 SCSI 드라이버 스택을 사용하는 장치에 대해 직렬 ATA의 TRIM 명령과 완전히 유사한 unmap 명령을 지원한다. Microsoft는 PCIe SSD용 TRIM을 포함하여 NVM Express 지원을 추가하는 Windows 7용 업데이트를 출시했다.<ref>{{웹 인용|url=https://support.microsoft.com/en-us/help/2990941/update-to-add-native-driver-support-in-nvm-express-in-windows-7-and-wi|제목=Update to add native driver support in NVM Express in Windows 7 and Windows Server 2008 R2|날짜=8 September 2015|웹사이트=Support|출판사=Microsoft}}</ref><ref>{{웹 인용|url=https://datarecovery.com/rd/trim-command-solid-state-drives/|제목=What is the TRIM Command on Solid State Drives?|날짜=30 January 2017|웹사이트=datarecovery.com|인용문=Microsoft added the feature in a Windows 7 update known as KB2990941}}</ref> TRIM은 비활성화를 위해 DisableDeleteNotify 스위치를 구현하는 [[ReFS]] 및 [[NTFS|NTFS에]] 대해 지원되는 것으로 알려져 있다.<ref>{{웹 인용|url=https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-behavior|제목=Fsutil behavior|웹사이트=Microsoft Documentation|언어=en-us|확인날짜=17 November 2019}}</ref> 출처는 다른 파일 시스템에 대한 TRIM 지원이 존재하는지 여부에는 동의하지 않는다.
|-
| [[오픈솔라리스]]
| <span style="display:none">2010-07</span> 2010년 7월<ref>{{웹 인용|url=http://www.c0t0d0s0.org/archives/6792-SATA-TRIM-support-in-Opensolaris.html|제목=SATA TRIM support in OpenSolaris|날짜=2010-07-29|확인날짜=2022-01-02|archive-date=2012-06-30|archive-url=https://www.webcitation.org/68ok1OipR?url=http://www.c0t0d0s0.org/archives/6792-SATA-TRIM-support-in-Opensolaris.html|url-status=dead}}</ref>
|
|-
| [[안드로이드 (운영 체제)|안드로이드 OS]]
| <span style="display:none">2013-7</span> 4.3<ref name="AnandTech Android 4.3">{{웹 인용|url=http://www.anandtech.com/show/7185/android-43-update-brings-trim-to-all-nexus-devices|제목=Android 4.3 Update Brings TRIM to All Nexus Devices|날짜=2013-07-29|확인날짜=2013-07-30}}</ref> – 2013년 7월 24일<ref name="Jelly Bean 4.3">[https://www.theverge.com/2013/7/24/4550234/android-4-3-announcement "Android 4.3 announced, rolling out to Nexus devices today"].''[[The Verge]]''. 24 July 2013. Retrieved 24 July 2013.</ref>
| 장치가 최소 1시간 동안 유휴 상태이고 80% 이상 충전된 경우(충전기에 연결된 경우 30%) 최대 24시간마다 <code>fstrim</code> 자동으로 실행한다.<ref name="AnandTech Android 4.3" />
|}

=== RAID 문제 ===
2017년 1월자로 대부분의 하드웨어 기반의 RAID 기술에서는 트림 TRIM 지원이 되지 않는다. 하지만, RAID 실행 소프트웨어에서 TRIM을 지원한다.

==== Windows ====
Windows 10은 RAID 볼륨을 구성할 때 "드라이브 최적화" 옵션을 사용하여 SSD RAID 볼륨에서 TRIM을 지원한다.

==== 맥 OS 운영체제 ====
macOS RAID 드라이버는 TRIM을 지원하지 않는다. 이것은 10.7부터 macOS 10.12.x까지의 모든 Mac OS X 버전에 해당된다.

타사 SoftRAID® 애플리케이션을 사용할 때 타사 SSD 장치에 대한 TRIM 지원을 포함하여 RAID(0,1,4,5 & 10) 볼륨에 대해 TRIM이 지원된다. (참고: 비 Apple SSD 장치용 TRIM은 터미널 명령 "sudo trimforce enable"을 사용하여 구체적으로 활성화해야 함)

==== 리눅스 ====
TRIM은 BIOS 지원 "가짜 하드웨어 RAID" 지원을 구현하고 이제 RAID 어레이에 있는 파일 시스템의 모든 TRIM 요청을 통과 하는 Linux 커널 dmraid의 2011년 1월 이후 릴리스에서 RAID 볼륨과 함께 사용할 수 있다.<ref>{{웹 인용|url=http://serverfault.com/questions/227918/possible-to-get-ssd-trim-discard-working-on-ext4-lvm-software-raid-in-linu|제목=Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault|확인날짜=2011-11-29}}</ref>

dmraid와 혼동될 수 있지만 둘은 엄연히 다른 것이다. Linux의 범용 소프트웨어 RAID 시스템인 [[Mdadm|mdraid]]는 시스템이 파일 시스템에서 mdtrim 유틸리티를 주기적으로 실행하도록 구성된 경우 RAID 1 어레이에서 배치 기반(라이브가 아닌 [[파일 삭제|파일 삭제 시)]] TRIM을 실험적으로 지원한다. (네이티브 TRIM 지원이 없는 ext3과 같은 것들도).<ref>{{웹 인용|url=https://github.com/Cyberax/mdtrim|제목=Cyberax/mdtrim – GitHub|웹사이트=[[GitHub]]|확인날짜=2011-11-29}}</ref> Red Hat Enterprise Linux 6.5 이상에서 mdraid와 같은 후기 버전의 Linux에서는 단순한 일괄 작업이 아닌 실시간 TRIM 명령을 통해 전달하는 것을 지원한다.<ref name="RHEL 6 Storage Admin. Chap. 21"/>

그러나 [[레드햇]]은 대부분의 RAID 사용 시 SSD에서 RAID 레벨 1,4,5 그리고 6를 채택한 소프트웨어를 사용하지 않는 것을 권장한다. 왜냐하면 초기화 중에 대부분의 RAID 관리 유틸리티(예: Linux의 [[mdadm]] ) 체크섬(또는 RAID 1 및 10의 경우 드라이브 대 드라이브 확인)이 제대로 작동하는지 확인하기 위해 장치의 모든 블록에 기록하여 SSD가 예비 영역 이외의 모든 블록이 사용 시 성능이 크게 저하된다.<ref>{{웹 인용|url=http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/7/html-single/Storage_Administration_Guide/index.html#ssddeploy|제목=Red Hat Enterprise Linux 7 Storage Administration Guide|날짜=2015-11-11|확인날짜=2016-02-29}}</ref>

[[논리 볼륨 관리자|반면에 Red Hat은 SSD의 LVM]] RAID에 대해 RAID 1 또는 RAID 10의 사용을 권장한다. 이러한 레벨은 TRIM(Linux 용어로 "폐기")을 지원하고 LVM 유틸리티는 RAID 1 또는 RAID 10 볼륨을 생성할 때 모든 블록에 쓰지 않기 때문이다.<ref name="RHEL 6 Storage Admin. Chap. 21">{{웹 인용|url=https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Storage_Administration_Guide/ch-ssd.html|제목=Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines|확인날짜=2016-03-09}}</ref>

2010년 3월의 짧은 기간 동안 사용자들은 Intel Rapid Storage Technology(RST) 9.6 드라이버가 RAID 볼륨에서 TRIM을 지원한다고 믿었지만 인텔은 나중에 [[고급 호스트 컨트롤러 인터페이스|AHCI]] 모드 및 RAID 모드의 BIOS 설정에 대해 TRIM이 지원된다고 밝혔다. 하지만 드라이브가 RAID 볼륨의 일부인 경우에는 그렇지 않다.<ref>{{웹 인용|url=http://www.intel.com/support/chipsets/imsm/sb/CS-031491.htm|제목=Is there TRIM support for RAID configurations?|날짜=2010-03-26|출판사=[[Intel]]|확인날짜=2010-11-06}}</ref>

2012년 8월 현재 Intel은 RST(Rapid Storage Technology) 11.2 드라이버가 포함된 7 시리즈 칩셋이 Microsoft Windows 7에서 RAID 0용 TRIM을 지원함을 확인했다.<ref>{{웹 인용|url=http://www.storagereview.com/intel_confirms_raid0_trim_support_on_7series_chipsets|제목=Intel Confirms RAID0 TRIM Support on 7-Series Chipsets|날짜=2012-08-19|확인날짜=2013-01-14|archive-date=2012-10-22|archive-url=https://web.archive.org/web/20121022095157/http://www.storagereview.com/intel_confirms_raid0_trim_support_on_7series_chipsets|url-status=dead}}</ref> 인텔은 6 시리즈 칩셋에 대한 지원을 확인하지 않았지만 RAID 0 볼륨의 TRIM은 수정된 RAID 옵션 ROM 이 있는 하드웨어 지지자에 의해 Z68, P67 및 X79 칩셋에서 작동하는 것으로 나타났다.<ref>{{웹 인용|url=http://forums.anandtech.com/showthread.php?t=2281849|제목=RAID0 trim and SRT seems possible on 6-series and 5-Series|날짜=2012-11-18|확인날짜=2013-01-14|archive-date=2013-01-18|archive-url=https://web.archive.org/web/20130118035253/http://forums.anandtech.com/showthread.php?t=2281849|url-status=dead}}</ref> 6 시리즈 칩셋에 대한 공식 지원이 부족한 것은 기술적인 이유가 아니라<ref>{{웹 인용|url=http://www.anandtech.com/show/6477/trim-raid0-ssd-arrays-work-with-intel-6series-motherboards-too|제목=TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too|날짜=2012-11-28|확인날짜=2013-01-14}}</ref> 이나 소비자의 업그레이드를 유도하려는 시도<ref>{{웹 인용|url=https://www.anandtech.com/show/6161/intel-brings-trim-to-raid0-ssd-arrays-on-7series-motherboards-we-test-it|제목=Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It|날짜=2012-08-16|확인날짜=2013-01-14}}</ref>나 승인 비용 때문이라고 추정된다.

X79 칩셋이 있는 마더보드에서 수정된 옵션 ROM이 필요한 예외는 제조업체가 ROM 스위치를 추가한 경우이다. 이것은 BIOS/UEFI 내부에 있는 RST 및 RST-E ROM을 모두 수반한다. 이를 통해 RST-E ROM 대신 RST ROM을 사용할 수 있으므로 TRIM이 작동할 수 있다.<ref>{{웹 인용|url=http://www.anandtech.com/show/6161/intel-brings-trim-to-raid0-ssd-arrays-on-7series-motherboards-we-test-it|제목=Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It|성=Anand Lal Shimpi}}</ref> [[인텔]]은 ROM과 동일한 버전의 드라이버를 사용하여 최상의 성능을 얻을 수 있다고 말한다. 예를 들어 BIOS/UEFI에 11.0.0.0m 옵션 ROM이 있는 경우 11.x 버전 드라이버를 사용해야 한다.<ref>{{웹 인용|url=http://www.tomshardware.com/news/TRIM-RST-RAID-0-SSD-7-series,16898.html|제목=TRIM Command Confirmed With RAID 0 on Intel 7 Series|성=Doug Crowthers|날짜=17 August 2012|웹사이트=Tom's Hardware}}</ref>

=== 지원되지 않는 파일 시스템 활성화 ===
파일 시스템이 자동으로 TRIM을 지원하지 않는 경우 일부 유틸리티는 수동으로 TRIM명령을 보낼 수 있다. 일반적으로 사용 가능한 블록을 결정한 다음 이 목록을 일련의 TRIM명령으로 드라이브에 전달한다. 이러한 유틸리티는 다양한 제조업체(예: Intel,<ref name="Intel_SSD_Opt">{{웹 인용|url=http://download.intel.com/design/flash/nand/mainstream/Intel_SSD_Optimizer_White_Paper.pdf|제목=Intel SSD Optimizer White Paper|출판사=Intel Corporation|보존url=https://www.webcitation.org/68ok472Dk?url=http://download.intel.com/design/flash/nand/mainstream/Intel_SSD_Optimizer_White_Paper.pdf|보존날짜=30 June 2012|url-status=dead|확인날짜=23 January 2010}}</ref> G.Skill<ref>{{웹 인용|url=http://www.xtremesystems.org/forums/showthread.php?p=3784347|제목=wiper.exe for Falcon Series|출판사=XtremeSystems|확인날짜=23 January 2010|archive-date=2013-06-25|archive-url=https://web.archive.org/web/20130625015930/http://www.xtremesystems.org/forums/showthread.php?224356-only-for-Falcon-Series-wiper.exe-TRIM-COMMAND-for-Falcon-Series-SSD|url-status=}}</ref> ) 또는 일반 유틸리티(예: v9.17 이후 Linux의 hdparm "wiper",<ref>{{웹 인용|url=https://lwn.net/Articles/345020/|제목=hdparm-9.17 released, with experimental trim/wiper scripts for SSDs|확인날짜=14 August 2010}}</ref><ref>{{웹 인용|url=http://sourceforge.net/projects/hdparm|제목=hdparm project page|출판사=sourceforge.net|확인날짜=14 August 2010}}
</ref> 또는 [[TRIM|위에서]] 언급한 mdtrim). hdparm과 mdtrim은 모두 파일 시스템에 큰 파일을 할당하고 할당된 위치를 확인하여 여유 블록을 찾는다.

모든 운영 체제에서 드라이브는 컴퓨터가 블록에 모두 0을 기록할 때를 감지하고 0 블록을 기록하는 대신 해당 블록을 할당 해제(트림)할 수 있다. 할당 해제된 블록을 읽을 때 항상 0이 반환되는 경우 이 단축키는 모두 0인 블록의 더 빠른 쓰기(및 읽기)의 경우를 제외하고 사용자에게 투명하게 공개된다. 이에 더하여 사용되지 않는 영역에 더 빠르게 쓰는 일반적인 이점도 있다. [[데이터 소거|운영 체제는 파일이나 여유 공간을 "삭제"]] 하기 위해 모두 0을 쓰지 않지만 일부 유틸리티는 그렇게 한다.

== 하드웨어 지원 ==
=== ATA ===
TRIM 명령 사양<ref>{{웹 인용|url=http://t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc|제목=Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)|날짜=2007-12-12|웹사이트=INCITS T13|출판사=[[INCITS]]|확인날짜=2009-07-08|archive-date=2010-06-13|archive-url=https://web.archive.org/web/20100613085651/http://t13.org/Documents/UploadedDocuments/docs2008/e07154r6-Data_Set_Management_Proposal_for_ATA-ACS2.doc|url-status=dead}} (draft specification T13/e07154r6)</ref> 은 INCITS( International Committee for Information Technology Standards )의 T13 기술 위원회가 주도하는 ATA( [[병렬 ATA|AT Attachment]] ) 인터페이스 표준의 일부로 표준화되었다.<ref>{{웹 인용|url=http://t13.org/Documents/MinutesDefault.aspx?keyword=trim|제목=T13 documents referring to TRIM|웹사이트=INCITS T13|출판사=[[INCITS]]|확인날짜=2009-07-08|archive-date=2010-05-26|archive-url=https://web.archive.org/web/20100526115741/http://t13.org/Documents/MinutesDefault.aspx?keyword=trim|url-status=dead}}</ref> TRIM은 ACS-2 사양 초안의 DATA SET MANAGEMENT 명령(opcode 06h)에 따라 구현된다.<ref>{{웹 인용|url=http://www.t13.org/Documents/UploadedDocuments/docs2010/d1697r4-1697D_AT_Attachment-8_-_Serial_Transport_ATA8-AST.pdf|제목=T13 ATA8 Draft Spec 1697-D|날짜=2010-06-23|출판사=[[INCITS]]|확인날짜=2010-08-14|archive-date=2011-03-22|archive-url=https://web.archive.org/web/20110322062157/http://www.t13.org/Documents/UploadedDocuments/docs2010/d1697r4-1697D_AT_Attachment-8_-_Serial_Transport_ATA8-AST.pdf|url-status=dead}}</ref> ATA 표준은 병렬(IDE, PATA) 및 직렬(SATA) ATA 하드웨어에서 모두 지원된다.

원래 ATA TRIM 명령의 단점은 대기열에 넣을 수 없는 명령으로 정의되어있기 때문에 대기열에 있는 읽기 및 쓰기 작업의 일반 작업 부하와 쉽게 섞일 수 없다는 것이다. SATA 3.1은 이 문제를 해결하기 위해 대기 중인 TRIM 명령을 도입했다.<ref>{{웹 인용|url=https://www.sata-io.org/technology/6Gbdetails.asp|제목=SATA 6Gb/s|출판사=Serial ATA International Organization|확인날짜=2012-09-26}}</ref>

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 미만이어야 한다.<ref>{{웹 인용|url=http://msdn.microsoft.com/en-us/library/windows/hardware/jj134356.aspx|제목=Device.Storage Requirements (Windows)|확인날짜=2016-02-29}}</ref>

개별 LBA 범위를 LBA 범위 항목이라고 하며 8바이트로 표시된다. LBA는 LBA 범위 항목의 처음 6바이트로 표시되고 범위 길이는 나머지 2바이트로 표시되며 0부터 시작한다(예: 0=0 및 1=1)이다. 2바이트 범위 길이가 0이면 LBA 범위 항목이 패딩으로 삭제된다.<ref>{{웹 인용|url=http://www.t13.org/Documents/UploadedDocuments/docs2013/d2161r5-ATAATAPI_Command_Set_-_3.pdf|제목=T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)|웹사이트=T13.org|형식=PDF|확인날짜=2016-02-29|archive-date=2016-04-05|archive-url=https://web.archive.org/web/20160405130623/http://www.t13.org/Documents/UploadedDocuments/docs2013/d2161r5-ATAATAPI_Command_Set_-_3.pdf|url-status=dead}}</ref> 즉, 장치가 지원하는 TRIM 범위의 각 512바이트 블록에 대해 최대값은 32MB 또는 2GB의 64개 범위이다. 장치가 8에서 SATA Word 105를 지원하는 경우 단일 TRIM(DATA SET MANAGEMENT) 명령으로 16GB를 트리밍할 수 있어야 한다.

=== SCSI ===
[[SCSI]]는 UNMAP 플래그 세트와 함께 UNMAP 명령(TRIM의 전체 아날로그) 및 WRITE SAME 명령(10 및 16 변형)을 제공한다.<ref>{{웹 인용|url=https://lists.freebsd.org/pipermail/freebsd-current/2011-December/030714.html|제목=RFC: SCSI UNMAP (TRIM) support|성=Motin|이름=Alexander|날짜=24 December 2011|웹사이트=Lists.freebsd.org|확인날짜=7 November 2021}}</ref>

=== SD/MMC ===
[[멀티미디어카드|MultiMediaCard]] 및 [[SD 카드|SD]] ERASE(CMD38) 명령은 ATA TRIM 명령과 유사한 기능을 제공하지만 지워진 블록을 0 또는 1로 덮어써야 한다. eMMC 4.5는 폐기된 블록의 내용이 불확실한 것으로 간주될 수 있다는 점에서 ATA TRIM과 보다 밀접하게 일치하는 "폐기" 하위 작업을 추가로 정의한다(즉, "상관하지 않는다").

=== NVM Express ===
[[NVM 익스프레스|NVM Express]] 명령 세트에는 블록 범위 세트의 스토리지 장치에 호스트의 의도를 암시하기 위한 ''일반 데이터 세트 관리 명령이 있다.'' 작업 중 하나인 ''deallocate는'' 트림을 수행한다. 또한 ''할당 해제'' 힌트를 제공하고 디스크가 TRIM을 수행하고 0을 반환할 수 있도록 ''하는 Write Zeroes 명령이 있다.''

== 단점 ==
* 일부 거부 가능한 암호화 체계에는 전체 디스크를 임의의 쓰레기처럼 보이게 만드는 것이 포함된다. TRIM을 사용하면 생성된 all-zero(또는 all-one) 블록이 어떤 블록이 사용되는지 쉽게 나타내므로 이 그럴듯한 거부 가능성 계층을 무효화한다.<ref>{{웹 인용|url=http://asalor.blogspot.com/2011/08/trim-dm-crypt-problems.html|제목=Milan Broz's blog: TRIM & dm-crypt ... problems?|날짜=14 August 2011|출판사=Milan Broz|확인날짜=2014-10-01}}</ref> TRIM을 비활성화하는 것도 의심스러울 수 있다는 주장이 있다.<ref>{{웹 인용|url=https://i.blackhat.com/eu-18/Thu-Dec-6/eu-18-Schaub-Perfectly-Deniable-Steganographic-Disk-Encryption.pdf|제목=Perfectly Deniable Steganographic Disk Encryption|웹사이트=I.blackhat.com|형식=PDF|확인날짜=7 November 2021}}</ref>
* TRIM 명령의 원래 버전은 T13 소위원회에 의해 대기열에 없는 명령으로 정의되었으며, 따라서 예를 들어 각 파일 시스템 삭제 명령 후에 전송되는 경우 부주의하게 사용하면 엄청난 실행 페널티가 발생할 수 있다. 대기열에 없는 명령의 특성으로 인해 드라이버는 먼저 모든 미해결 명령이 완료될 때까지 기다렸다가 TRIM 명령을 실행한 다음 일반 명령을 재개해야 한다. TRIM은 SSD의 펌웨어에 따라 완료하는 데 많은 시간이 걸릴 수 있으며 가비지 수집 주기를 유발할 수도 있다. 이 페널티는 시스템 사용률이 최소인 시간에 이러한 일괄 작업을 예약 [[파일 삭제|하여 모든 파일 삭제]] 시 트리밍하는 대신 정기적으로 일괄 처리 TRIM을 수행하는 솔루션에서 최소화할 수 있다. 이 TRIM 단점은 Queued TRIM 명령의 도입으로 [[직렬 ATA|직렬 ATA 개정판 3.1에서 극복되었다.]]<ref>{{웹 인용|url=http://www.sata-io.org/technology/6Gbdetails.asp|제목=The Path from 3Gb/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA Revision 3.0 Specification|날짜=May 27, 2009|웹사이트=Sata-io.org|확인날짜=November 7, 2021}}</ref><ref>{{웹 인용|url=http://techreport.com/news/21311/sata-3-1-spec-brings-swap-standard-improved-trim|제목=SATA 3.1 spec brings swap standard, improved TRIM|웹사이트=The Tech Report}}</ref>
* 대기 중인 TRIM에 대한 지원을 잘못 보고하거나 구현에 심각한 버그가 있는 결함이 있는 드라이브 펌웨어는 여러 장치, 특히 Micron 및 Crucial의 M500<ref name="M500">{{웹 인용|url=https://bugzilla.kernel.org/show_bug.cgi?id=71371|제목=71371 [PATCH]Crucial M500, broken "queued TRIM" support|웹사이트=bugzilla.kernel.org}}</ref> 및 Samsung의 840 및 850 시리즈에서 심각한 데이터 손상과 관련이 있다.<ref>{{웹 인용|url=https://bugs.launchpad.net/bugs/1449005|제목=Bug #1449005 trim does not work with Samsung 840 EVO after firm... : Bugs : fstrim package : Ubuntu|웹사이트=Launchpad}}</ref> 데이터 손상은 Linux 운영 체제(2015년 7월 1일 현재 대기열 트림 지원이 있는 유일한 OS)에서 확인되었다.<ref>{{웹 인용|url=https://github.com/torvalds/linux/blob/e64f638483a21105c7ce330d543fa1f1c35b5bc7/drivers/ata/libata-core.c#L4109-L4286|제목=linux/libata-core.c at e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub|성=torvalds|웹사이트=GitHub}}</ref>

이러한 장치는 Linux 커널의 블랙리스트에 있다.{{모노|libata-core.c}}대기열에 포함되지 않은 TRIM 명령을 강제로 보내는 {{모노|ATA_HORKAGE_NO_NCQ_TRIM}}대기 중인 TRIM 명령 대신 다음 드라이브에<ref name="libata-core.c">{{웹 인용|url=https://github.com/torvalds/linux/blob/master/drivers/ata/libata-core.c|제목=linux/libata-core.c at master · torvalds/linux · GitHub|성=torvalds|웹사이트=GitHub}}</ref>

* 공장에서 재인증된 SSD를 포함한 모든 펌웨어 버전을 사용하는 Micron/Crucial M500
* 펌웨어 버전 MU01을 사용하는 Micron M510
* 펌웨어 버전 MU01을 사용하는 Micron/Crucial M550
* 펌웨어 버전 MU01을 사용하는 Crucial MX100
* 모든 펌웨어 버전을 사용하는 Samsung 840 및 850 시리즈 SSD

이 파일은 또한 TRIM이 발행될 때 잘못된 블록이 데이터를 잃게 하기 때문에 일반적으로 TRIM에 대해 SuperSSpeed S238을 블랙리스트에 추가한다.<ref name="libata-core.c"/><ref>{{웹 인용|url=https://github.com/torvalds/linux/commit/cda57b1b05cf7b8b99ab4b732bea0b05b6c015cc|제목=libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1|성=torvalds|웹사이트=GitHub}}</ref>

{{모노|libata-core.c}} also has a whitelist to list SSDs that are reliably known to the subsystem's maintainers to correctly implement the DRAT and RZAT flags (<tt>ATA_HORKAGE_ZERO_AFTER_TRIM</tt>), rather than ignoring them, as many drives do. The whitelisted drives are as follows:<ref name="libata-core.c"/>

* 크루셜(Crucial) SSD
* Intel SSD 510을 제외한 Intel SSD
* 마이크론(Micron) SSD
* 삼성(Samsung) SSD
* 씨게이트(Seagate) SSD<ref>{{웹 인용|url=http://patchwork.ozlabs.org/project/linux-ide/patch/1415336894-15327-2-git-send-email-martin.petersen@oracle.com/|제목=[1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM - Patchwork|웹사이트=patchwork.ozlabs.org}}</ref>

== 각주 ==
{{각주|30em}}

== 외부 링크 ==
* [https://web.archive.org/web/20100227234254/http://www.devwhy.com/blog/2009/8/4/from-write-down-to-the-flash-chips.html ''From write() down to flash chips''] – TRIM 명령으로 SSD가 파일 시스템에서 사용하지 않는 데이터를 지우는 방법에 대한 설명
* [http://www.maximumpc.com/article/features/white_paper_trim_command ''TRIM Command White Paper''] – 명령의 목적과 동작을 설명하는 백서
* Fusion-io 특허 [https://www.google.com/patents/US8706968?dq=%22Fusion-io%22+trim&hl=en&sa=X&ei=ZNWlU4ugOc_doAShvoHwCQ&ved=0CCsQ6AEwAjgU "Apparatus, system, and method for redundant write caching"]

[[분류:직렬 ATA]]
[[분류:SCSI]]
[[분류:솔리드 스테이트 컴퓨터 저장 장치]]