트림(컴퓨팅)

Trim (computing)

트림 명령어(ATA 명령어 세트에서는 TRIM, SCSI 명령어 세트에서는 UNMAP로 알려짐)를 사용하면 운영 체제가 더 이상 '사용 중'으로 간주되지 않으므로 내부적으로 [1]삭제할 수 있는 데이터 블록을 솔리드 스테이트 드라이브(SSD)에 알릴 수 있습니다.

트림은 SSD가 도입된 직후에 도입되었습니다.SSD의 낮은 수준의 작동은 하드 드라이브와 크게 다르기 때문에, 운영 체제가 삭제 및 포맷과 같은 작업을 처리하는 일반적인 방식은 SSD의 [2]쓰기 작업의 예상치 못한 점진적인 성능 저하를 초래했습니다.트리밍을 사용하면 SSD가 가비지 수집을 보다 효율적으로 처리할 수 있으며, 그렇지 않으면 관련 [3]블록에 대한 향후 쓰기 작업이 느려집니다.

일부 드라이브를 "새 상태로 재설정"하는 도구는 트리밍이 도입되기 전에 이미 사용 가능했지만 드라이브의 모든 데이터도 삭제되므로 지속적인 [4]최적화를 위해 사용하기에는 실용적이지 않습니다.2014년까지 많은 SSD가 트리밍과 독립적으로 작동하는 특정 파일 시스템(: FAT32, NTFS)에 대한 내부 백그라운드 가비지 수집 메커니즘을 갖추었습니다.이는 트림을 지원하지 않는 운영 체제에서도 성능을 성공적으로 유지했지만 쓰기 증폭 및 플래시 [5]셀 마모 증가라는 관련 단점이 있었습니다.

TRIM은 SMR(Shingled Magnetic Recording) 하드 [6]드라이브에서도[citation needed] 널리 사용됩니다.

배경

많은 파일 시스템이 삭제 작업을 처리하는 방식 때문에 데이터 블록을 "사용 중 아님"[7][8]으로 플래그를 지정함으로써 스토리지 미디어(SSD 및 기존 하드 드라이브)는 일반적으로 어떤 섹터/페이지가 실제로 사용되고 있는지, 어느 것이 빈 공간으로 간주되는지 알 수 없습니다.덮어쓰기 작업(예를 들어)과 달리 삭제에는 데이터를 포함하는 섹터에 대한 물리적 쓰기가 포함되지 않습니다.일반 SSD는 사용되지 않는 블록/섹터 목록을 포함하여 파일 시스템 구조에 대한 지식이 없기 때문에 저장 매체는 블록을 사용할 수 있게 된 사실을 알지 못합니다.이 종종 삭제를 취소하다 도구 전자 기계 열심히 disks,[8][9]에서 해당 파일"삭제"로 운영 체제에서 보고되고 있는에도 불구하고 파일을 복구할 수 있다면, 그것은 또한 운영 체제 그 후엔 분야들의, 그것은 자유 공간을 고려할 쓰기 작업을 수행한다는, 그것을 효과적으로 대처하는 겹쳐 쓰기 작업으로 된다는 것이다.m저장 매체의 관점.자기 디스크의 경우 기존 데이터의 덮어쓰기는 빈 섹터에 쓰는 것과 다를 바 없지만 일부 SSD는 가장 낮은 수준에서 작동하기 때문에 빈 페이지에 데이터를 쓰는 것에 비해 상당한 오버헤드가 발생하여 쓰기 [8][10]성능이 저하될 수 있습니다.

SSD는 플래시 메모리 셀에 데이터를 저장합니다. 플래시 메모리 셀은 일반적으로 4~16kiB의 페이지로 그룹화되며, 일반적으로 128~512페이지의 블록으로 그룹화됩니다.예: [7][11]각 4kiB의 128페이지를 그룹화한 512kiB 블록낸드플래시 메모리 셀은 비어 있을 때만 직접 쓸 수 있다.데이터가 포함된 경우 쓰기 작업 전에 내용을 삭제해야 합니다.SSD 쓰기 작업은 한 페이지에 대해 수행할 수 있지만 하드웨어 제한으로 인해 지우기 명령은 항상 전체 [11]블록에 영향을 미칩니다. 따라서 SSD의 빈 페이지에 데이터를 쓰는 것은 매우 빠릅니다. 그러나 이전에 쓴 페이지를 덮어쓸 필요가 있으면 상당히 느려집니다.전에 다시 쓸 수 있기 때문에 페이지에서 세포 수가 소거, 하지만 단지 전체 블록을 지워 질 수 있은게 덮어쓰:[7][12]가 그 구획 전체의 내용을 캐시에, 저장된 다음 블록 전체 SSD에서 그overwritten page(s)하면 캐시 된 블록으로 쓰여져 있은 지워진read-erase-modify-write 사이클을 시작하겠습니다.k,그래야 업데이트된 블록 전체를 플래시 미디어에 쓸 수 있습니다.이 현상을 쓰기 [13][14]증폭이라고 합니다.

작동

TRIM 명령을 사용하면 운영 체제가 더 이상 유효한 데이터가 없는 페이지를 SSD에 알릴 수 있습니다.파일 삭제 작업의 경우 운영 체제는 파일 섹터를 새 데이터에 사용할 수 있는 빈 섹터로 표시한 다음 SSD로 TRIM 명령을 보냅니다.트리밍 후 SSD는 플래시 메모리의 페이지에 새 데이터를 쓸 때 블록의 내용을 보존하지 않기 때문에 쓰기 증폭이 적고(쓰기가 적으며), 쓰기 처리량이 높아지며(읽기-삭제-수정 시퀀스가 필요하지 않음) 드라이브 수명이 늘어납니다.

SSD에 따라 명령어가 다소 다르게 구현되므로 성능이 [3][9]달라질 수 있습니다.

TRIM은 SSD에 LBA 영역을 유효하지 않은 것으로 표시하도록 지시하며 해당 영역에 대한 후속 읽기는 의미 있는 데이터를 반환하지 않습니다.매우 짧은 시간 동안 데이터는 여전히 플래시에 내부적으로 남아 있을 수 있습니다.그러나 TRIM 명령어가 발행되고 가비지 수집이 이루어진 후에는 법의학자도 데이터를 [15]복구할 수 없을 가능성이 매우 높습니다.

실행

운영 체제 지원

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

TRIM 의 서포트는, operating system상의 특정의 파일 시스템 드라이버의 기능에 의해서도 다릅니다.이것은, 디스크의 빈 영역을 이해하는 프로그램만이 안전하게 커맨드를 발행할 수 있기 때문입니다.시스템 레벨에서는, 이 기능이 파일 시스템 드라이버 자체에 있는 경향이 있기 때문입니다.

운영 체제 이후 지원 메모들
DragonFly BSD 2011년 5월[16] 5일
FreeBSD 2010-078.1 ~2010년 7월[17] 8.1에서 블록 디바이스 계층에서 지원이 추가되었습니다.FreeBSD 8.3 및 FreeB에서 파일 시스템 지원이 추가되었습니다.SD 9는 UFS에서 [18]시작되었으며, ZFS 트리밍 지원은 FreeBSD 9.[19][20]2에서 추가되었습니다.FreeBSD 10은 소프트웨어 RAID [21]구성의 트리밍을 지원합니다.
넷BSD 2012년 10월[22] 10일
리눅스 2008-12-252.6.28~2008년 12월[23] 25일 폐기 작업에 대한 초기 지원은 2.6.28에서 FTL NAND 플래시 장치에 추가되었습니다.ATA TRIM 명령 지원이 2.6.[24]33에서 추가되었습니다.

모든 파일 시스템에서 트림을 사용하는 것은 아닙니다.트림 요청을 자동으로 실행할 수 있는 파일 시스템으로는 ext4,[25] Btrfs,[26] FAT, GFS2, JFS,[27] XFS [28]NTFS-3G가 있습니다.그러나 일부 배포에서는 지원되는 [30]SSD에서 스케줄링된 트리밍을 위해 성능 [29]문제로 인해 기본적으로 이 기능이 비활성화되어 있습니다. Ext3, NILFS2OCFS2는 오프라인 트리밍을 수행하기 위한 ioctls를 제공합니다.TRIM 사양에서는 트림 범위 목록을 지원해야 하지만 커널 3.0의 경우 느린 [31]단일 범위에서만 트림이 호출됩니다.

새로운 Linux 디스트리뷰션의 많은 경우 systemd는fstrim.timer유닛,이네이블화fstrim.timer야기하다fstrim.service매주 [32]실행할 수 있습니다.

MacOS 2011-06-2310.6.8–2011년 6월[33] 23일 AHCI 블록디바이스 드라이버는 디바이스가 10.6.6(10J3210)[34]의 TRIM 동작을 지원하는지 여부를 표시할 수 있게 되었지만 기능 자체는 IOStorageFamily 및 파일 시스템(HFS+) 지원을 통해 [citation needed]TRIM 동작이 공개될 때까지 액세스 할 수 없었습니다.10.10.4 이전까지는 Mac OS X가 기본적으로 Apple 브랜드 SSD에 대해서만 TRIM을 사용했으며, 타사 유틸리티는 다른 브랜드에 사용할 수 있습니다.이전 서드파티 TRIM 드라이버는 Yosemite 업데이트 [35]이후 작동을 중지했습니다.OS X [36][37]Yosemite에서 작동하는 업데이트된 드라이버가 존재합니다.Mac OS X 업데이트 10.10.4에서 Apple은 타사 SSD에서 [38]TRIM을 활성화하는 데 사용할 수 있는 명령줄 유틸리티인 trimforce를 추가했습니다.
Microsoft Windows 2009-10 Windows 7 및 Windows Server 2008 R2 – 2009년 10월[39][40] Windows 7은 처음에는 병렬 ATA직렬 ATA를 포함한 AT Attachment 제품군의 드라이브에만 TRIM을 지원했으며,[41] Storport PCI-Express SSD를 포함한 다른 장치에는 이 명령을 지원하지 않았습니다.Microsoft 네이티브 드라이버에서는, AHCI 와 레거시 IDE/ATA [42]모드의 Windows 7 로 TRIM 커맨드가 동작하는 것을 확인합니다.윈도우즈 8 이상의 윈도우즈 운영 체제는 NVMe 기반 PCI Express SSD의 트림을 지원하고 USB UASP(Attached SCSI Protocol)를 비롯한 SCSI 드라이버 스택을 사용하는 장치의 직렬 ATA의 TRIM 명령과 완전히 유사한 unmap 명령을 지원합니다.Microsoft는 PCIe [43][44]SSD용 TRIM을 포함한 NVM Express 지원을 추가한 Windows 7용 업데이트를 발표했습니다.

TRIM은 ReFS NTFS에서 지원되는 것으로 알려져 있으며, 둘 다 [45]ReFS를 비활성화하기 위한 DisableDeleteNotify 스위치를 구현합니다.다른 파일 시스템에 대한 TRIM 지원이 있는지 여부에 대해 소스가 일치하지 않습니다.

오픈솔라리스 2010-07 2010년[46] 7월
안드로이드 2013-74[47].3 ~2013년 7월[48] 24일 실행fstrim장치가 최소 1시간 동안 유휴 상태이고 80% 이상 충전된 경우 최대 24시간마다 한 번씩 자동으로 실행됩니다([47]충전기에 연결된 경우 30%).

RAID 문제

2017년 1월 현재 TRIM 명령 지원은 대부분의 하드웨어 기반 RAID 기술에서 구현되지 않았습니다.다만, 소프트웨어 RAID 의 실장에서는, TRIM 의 서포트가 포함되어 있는 경우가 많습니다.

창문들

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

MacOS

macOS RAID 드라이버는 TRIM을 지원하지 않습니다.이는 10.7부터 10.12.x까지의 모든 Mac OS X 버전에 적용됩니다.

TRIM은 타사 SoftRAID® 애플리케이션을 사용할 때 RAID(0,1,4,5 및 10) 볼륨에서 지원됩니다. 여기에는 Apple SSD 이외의 장치에서의 TRIM 지원이 포함됩니다.(주의: Apple SSD 이외의 디바이스의 TRIM은 terminal 명령어 "sudo trimforce enable"을 사용하여 활성화해야 합니다.

리눅스

TRIM은 2011년 1월 이후의 Linux 커널의 dmraid 릴리스에서 RAID 볼륨과 함께 사용할 수 있습니다.이것에 의해, BIOS 서포트 「짝퉁 하드웨어 RAID」가 실장되어 RAID [49]어레이상의 파일 시스템으로부터의 TRIM 요구가 모두 처리됩니다.

dmraid와 혼동하지 않도록 Linux의 범용 소프트웨어 RAID 시스템 mdraid는 파일 시스템에서 정기적으로 mdtrim 유틸리티를 실행하도록 구성된 경우(원어민 TRIM 지원 없음)[50] RAID 1 어레이에서 (라이브가 아닌) 배치 기반 TRIM을 실험적으로 지원합니다.Red Hat Enterprise Linux 6.5 이상과 같은 최신 버전의 Linux에서는 mdraid는 배치 [51]작업뿐만 아니라 실시간으로 TRIM 명령을 전달할 수 있습니다.

단, Red Hat에서는 대부분의 RAID 테크놀로지가 탑재된 SSD에서는 소프트웨어 RAID 레벨 1, 4, 5, 6을 사용하지 않는 것이 좋습니다.이는 초기화 중에 대부분의 RAID 관리 유틸리티(Linux의 mdadm 등)가 디바이스의 모든 블록에 기입되기 때문에 RAID 1 및 10의 경우 체크섬(또는 드라이브 간 검증)이 SSD를 정상적으로 동작하도록 하기 때문입니다.예비 영역 이외의 모든 블록이 사용 중이어서 [52]성능이 현저히 저하된다고 판단합니다.

한편, Red Hat에서는 SSD 상의 LVM RAID에 RAID 1 또는 RAID 10을 사용하는 것을 권장하고 있습니다.이러한 레벨은 TRIM(Linux 용어로는 폐기)을 지원하며, RAID 1 또는 RAID 10 [51]볼륨을 작성할 때 LVM 유틸리티가 모든 블록에 쓰지는 않기 때문입니다.

2010년 3월에 잠시 동안, 유저는 인텔 래피드 스토리지 테크놀로지(RST) 9.6 드라이버가 RAID 볼륨상의 TRIM을 서포트하고 있다고 생각했지만, 후에 인텔은 TRIM이 [53]RAID 볼륨의 일부인 경우는 서포트하고 있지 않다고 해명했습니다.

2012년 8월 현재 인텔은 Rapid Storage Technology (RST) 11.2 드라이버를 탑재한7 시리즈 칩셋이 Microsoft Windows [54]7 로 RAID 0 용 TRIM 를 서포트하고 있는 것을 확인했습니다.인텔은 6 시리즈 칩셋의 서포트는 확인하지 않았지만, 하드웨어 애호가들은 RAID 옵션 [55]ROM을 수정한 Z68, P67 및 X79 칩셋에서 RAID 0 볼륨의 TRIM이 동작하는 것을 확인했습니다.6시리즈 칩셋에 대한 공식적인 지원이 없는 것은 기술적 이유보다는 검증[56] 비용이나 소비자의 업그레이드를 [57]유도하려는 시도 때문일 것으로 추측된다.

X79 칩셋을 탑재한 메인보드에서 옵션 ROM을 변경해야 하는 예외는 제조원에 의해 ROM 스위치가 추가된 경우입니다.이 경우 RST와 RST-E ROM이 BIOS/UEFI에 내장되어 있어야 합니다.이것에 의해, RST-E ROM 대신에 RST ROM 를 사용할 수 있게 되어, TRIM 이 [58]기능합니다.인텔에서는, ROM 와 같은 버전의 드라이버를 사용하는 것으로 최고의 퍼포먼스를 얻을 수 있는 것에 주목하고 있습니다.예를 들어, BIOS/UEFI 에 11.0.0m 의 옵션 ROM 이 탑재되어 있는 경우는,[59] 11.x 버전의 드라이버를 사용할 필요가 있습니다.

지원되지 않는 파일 시스템 사용

파일 시스템이 TRIM을 자동으로 지원하지 않는 경우 일부 유틸리티는 트리밍 명령을 수동으로 전송할 수 있습니다.일반적으로 사용 가능한 블록을 확인한 다음 이 목록을 일련의 트리밍 명령으로 드라이브에 전달합니다.이러한 유틸리티는, 다양한 제조원(인텔,[60] G 등)으로부터 입수할 수 있습니다.스킬[61]) 또는 일반 유틸리티(예: 위에서 설명한 바와 같이 Linux의 hdparm "wiper" 또는 mdtrim)입니다.[62][63]hdparm과 mdtrim 모두 파일 시스템에서 큰 파일을 할당하고 할당된 물리적 위치를 해결하여 빈 블록을 찾습니다.

운영 체제에 관계없이 드라이브는 컴퓨터가 블록에 모두 제로를 쓰는 시기를 감지하고 블록의 0을 기록하는 대신 해당 블록의 할당을 해제할 수 있습니다.할당 해제된 블록을 읽으면 항상 0이 반환되는 경우 이 바로 가기는 사용되지 않는 영역에 더 빨리 쓰는 일반적인 이점뿐만 아니라 모두 0 블록의 더 빠른 쓰기(및 읽기)를 제외하고 사용자에게 투명합니다.operating system에서는, 파일이나 빈 영역을 「삭제」하기 위해서 모두 제로를 쓰는 것은 아닙니다만, 일부의 유틸리티에서는 쓸 수 있습니다.

하드웨어 지원

ATA

TRIM 명령 사양은[64] 국제정보기술표준위원회(INCITS)[65]의 기술위원회 T13이 주도하는 AT Attachment(ATA) 인터페이스 표준의 일부로 표준화되었습니다.TRIM은 ACS-2 규격 [66]초안의 DATA SET MANAGement 명령(opcode 06h)에 따라 구현됩니다.ATA 표준은 병렬(IDE, PATA) 및 직렬(SATA) ATA 하드웨어에서 모두 지원됩니다.

원래 ATA TRIM 명령어의 단점은 큐잉할 수 없는 명령어로 정의되었기 때문에 큐잉된 읽기 및 쓰기 작업의 일반 워크로드와 쉽게 혼합할 수 없다는 것입니다.SATA 3.1에서는 이 [67]문제를 해결하기 위해 큐잉된 TRIM 명령어가 도입되었습니다.

ATA IDENTIFY DEVICE 명령에서 반환되는 SATA Words 69 및 169에 의해 정의된 다양한 유형의 TRIM이 있습니다.

  • 비결정적 트림: 트림 후 논리 블록 주소(LBA)에 대한 각 읽기 명령은 서로 다른 데이터를 반환할 수 있습니다.
  • 결정론적 트림(DRAT):TRIM 후 LBA에 모든 읽기 명령은 동일한 데이터를 반환하거나 결정되어야 합니다.
  • 트림 후 결정론적 Read Zero(RZAT): 트림 후 LBA에 대한 모든 읽기 명령은 0을 반환해야 합니다.

SATA Word 105에는 드라이브가 지원할 수 있는 DATA SET MANAGEMENT 명령당 최대 512바이트 블록 수를 설명하는 추가 정보가 있습니다.통상, 디폴트는 8(또는 4 kB)이지만, 많은 드라이브는, 이 값을 1로 줄여, TRIM 의 Microsoft Windows 하드웨어 요건을 만족시킵니다.명령어 완료 시간은 20 ms 또는 8 ms × (LBA 범위 엔트리 수)를 넘지 않고, 항상 600 [68]ms 미만이어야 합니다.

개개의 LBA 범위는 LBA 범위 엔트리라고 불리며 8바이트로 표시됩니다.LBA는 LBA 범위 엔트리의 첫 번째 6바이트로 표현되며 범위 길이는 나머지 2바이트로 표현되는 제로 기반 카운터(예: 0=0 및 1=1)입니다.2바이트 범위 길이가 0인 경우 LBA 범위 엔트리는 [69]패딩으로 폐기됩니다.즉, 디바이스가 지원하는 TRIM 범위의 각 512바이트 블록에 대해 최대 범위는 32MB, 즉 2GB입니다.장치가 8에서 SATA Word 105를 지원하는 경우 단일 TRIM(DATA SET MANAGement) 명령으로 16GB를 트림할 수 있습니다.

SCSI

SCSI는 UNMAP 명령(TRIM의 전체 아날로그)과 WRITE SAME 명령(10 및 16 변형)을 UNMAP 플래그가 [70]설정된 상태로 제공합니다.

SD/MMC

MultiMediaCardSD ERASE(CMD38) 명령은 ATA TRIM 명령과 유사한 기능을 제공하지만 지워진 블록을 0 또는 1로 덮어써야 합니다.eMMC 4.5는 폐기된 블록의 내용이 확정되지 않은 것으로 간주될 수 있다는 점에서 ATA TRIM에 더 가까운 "폐기" 하위 연산을 정의합니다(즉, "상관 없음").

NVM Express

NVM Express 명령 집합에는 블록 범위 집합에서 스토리지 디바이스에 호스트의 의도를 암시하는 일반 데이터 집합 관리 명령이 있습니다.작업 중 하나인 할당 해제는 트림을 수행합니다.또한 할당 해제 힌트를 제공하고 디스크를 트리밍하여 0을 반환할 수 있는 Write Zeroes 명령도 있습니다.

단점들

  • 일부 거부 가능한 암호화 방식에는 디스크 전체를 랜덤 가비지처럼 보이게 하는 것이 포함됩니다.TRIM을 사용하면 생성된 [71]모두 0(또는 모두 1개) 블록이 사용되는 블록을 쉽게 나타내므로 이 타당한 거부 가능성이 사라집니다.TRIM을 비활성화하는 [72]것도 의심스러울 수 있다는 주장이 제기되었습니다.
  • TRIM 명령어의 원래 버전은 T13 소위원회에 의해 큐잉되지 않은 명령어로 정의되어 있기 때문에 각 파일 시스템 삭제 명령어 뒤에 전송되는 등 부주의하게 사용하면 대량의 실행 패널티가 발생할 수 있습니다.이 명령어는 큐에 포함되지 않기 때문에 운전자는 먼저 모든 미결 명령이 완료될 때까지 기다렸다가 TRIM 명령을 발행한 다음 일반 명령을 재개해야 합니다.TRIM은 SSD의 펌웨어에 따라 완료하는 데 많은 시간이 걸릴 수 있으며 가비지 수집 [citation needed]사이클을 트리거할 수도 있습니다.이러한 벌칙은 파일 삭제 시마다 트리밍하는 것이 아니라 정기적으로 일괄처리된 TRIM을 실행하는 솔루션에서 최소화할 수 있습니다.이러한 배치 작업은 시스템 사용률이 최소화된 시간에 스케줄링됩니다. TRIM 단점은 직렬 ATA 리비전 3.1에서 Queued TRIM [73][74]명령의 도입으로 해결되었습니다.
  • 대기열에 있는 TRIM에 대한 지원을 잘못 보고하거나 구현 과정에서 중대한 버그가 있는 드라이브 펌웨어 결함으로 인해 Micron과 Critical의 M500[75], 삼성의 840 및 850 시리즈 [76]등 여러 장치에서 심각한 데이터 손상이 발생했습니다.Linux 운영 체제에서 데이터 [77]손상이 확인되었습니다(2015년 7월 1일 현재 큐에 있는 트림을 지원하는 유일한 OS).

이러한 디바이스는 Linux 커널에 블랙리스트에 있습니다.libata-core.c를 사용하면 큐잉된 TRIM [78]명령 대신 큐잉되지 않은 TRIM 명령(ATA_HORKAGE_NO_NCQ_TRIM)을 다음 드라이브에 강제로 전송할 수 있습니다.

  • 마이크론/크루셜 M500 (공장 출하 시 재인증 완료 SSD를 포함한 모든 펌웨어 버전 사용)
  • 펌웨어 버전 MU01을 사용하는 Micron M510
  • 마이크론/크루셜 M550 (펌웨어 버전 MU01
  • 펌웨어 버전 MU01을 사용하는 중요한 MX100
  • 모든 펌웨어 버전을 사용하는 Samsung 840 및 850 시리즈 SSD

이 파일에는 슈퍼 리스트도 포함되어 있습니다.일반적으로 TRIM을 [78][79]발행할 때 잘못된 블록이 손실되므로 S238과 TRIM을 비교합니다.

libata-core.c에는 DRAT 및 RZAT 플래그를 올바르게 구현하기 위해 서브시스템 유지보수가 신뢰할 수 있는 SSD를 나열하는 화이트리스트도 있습니다.ATA_HORKAGE_ZERO_AFTER_TRIM다른 많은 드라이브와 마찬가지로 이를 무시하지 않습니다.화이트리스트에 있는 드라이브는 다음과 같습니다.[78]

  • 중요한 SSD
  • 인텔 SSD 510을 제외한 인텔 SSD
  • 마이크론 SSD
  • 삼성 SSD
  • Seagate SSD[80]

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Intel High Performance Solid State Drive – Advantages of TRIM". Intel.com. Intel. 14 September 2010. Retrieved 21 February 2012.
  2. ^ Shimpi, Anand Lal (18 March 2009). "The SSD Anthology: Understanding SSDs and New Drives from OCZ". AnandTech.com. p. 4. Retrieved 19 June 2010.
  3. ^ a b Shimpi, Anand Lal. (2009년 3월 18일).페이지 10. TRIM은 ATA 명령어(Advanced Technology Attachment Command)로 OS가 더 이상 사용되지 않는 데이터 블록을 SSD에 알릴 수 있습니다.그런 다음 SSD는 이러한 데이터 블록을 삭제하여 새로운 데이터 블록을 만듭니다.TRIM은 기본적으로 SSD의 성능과 수명을 향상시키기 위해 사용됩니다.안타깝게도 TRIM의 이점은 SSD에서 데이터를 복구하는 데 큰 부담이 됩니다.따라서 신뢰할 수 있는 도구(예: 윈도우즈용 Disk Drill)를 사용하여 정기적으로 데이터의 백업 복사본을 만드는 것이 좋습니다. 특히 OS가 SSD 장애에 대해 경고하는 경우입니다.
  4. ^ Shimpi, Anand Lal. (2009년 3월 18일).페이지 11.
  5. ^ "Kingston SSDNow V Plus 100 Review". AnandTech.com. Anand Lal Shimpi. 11 November 2010. Retrieved 10 December 2010.
  6. ^ "Trim Command - General Benefits for Hard disk Drives" (PDF). Documents.westerndigital.com. Retrieved 7 November 2021.
  7. ^ a b c Savill, John (21 April 2009). "I heard solid-state disks (SSDs) suffer from a decline in write performance as they're used. Why?". WindowsITPro. Archived from the original on 19 August 2012. Retrieved 19 June 2010.
  8. ^ a b c Shimpi, Anand Lal. (2009년 3월 18일).페이지 7
  9. ^ a b Savill, John (22 April 2009). "What is the TRIM function for solid-state disks (SSDs) and why is it important?". WindowsITPro. Archived from the original on 9 February 2013. Retrieved 19 June 2010.
  10. ^ Malventano, Allyn (13 February 2009). "Long-term performance analysis of Intel Mainstream SSDs". PC Perspective. Retrieved 10 February 2012.
  11. ^ a b Shimpi, Anand Lal. (2009년 3월 18일).페이지 5
  12. ^ Shimpi, Anand Lal. (2009년 3월 18일).8페이지.
  13. ^ "Write Amplification: Intel's Secret Sauce". ExtremeTech.com. Retrieved 6 November 2010.
  14. ^ "Inside the X25-M Controller: Wear Leveling, Write Amplification Control". TomsHardware.com. 8 September 2008. Retrieved 6 November 2010.
  15. ^ "Too TRIM? When SSD Data Recovery is Impossible". TechGage. TechGage. 5 March 2010. Retrieved 21 August 2018.
  16. ^ "Preliminary TRIM support". leaf.dragonflybsd.org.
  17. ^ "FreeBSD 8.1-RELEASE Release Notes: Disks and Storage". Retrieved 1 September 2010.
  18. ^ "Add kernel side support for BIO_DELETE/TRIM on UFS". Retrieved 1 February 2011.
  19. ^ "Added ZFS TRIM support which is enabled by default". Retrieved 5 June 2013.
  20. ^ "FreeBSD 9.2-RELEASE Announcement". Retrieved 4 October 2013.
  21. ^ "Base revision 242323 – Add basic BIO_DELETE support to GEOM RAID class for all RAID levels". Retrieved 30 October 2012.
  22. ^ "TRIM support in NetBSD". 19 October 2012.
  23. ^ "Linux_2_6_28 - Linux Kernel Newbies". kernelnewbies.org.
  24. ^ "Storage changes in Linux 2.6.33". Kernel Newbies. Retrieved 1 September 2010.
  25. ^ "Forked by Nicolay - HOWTO: Configure Ext4 to Enable TRIM Support for SSDs on Ubuntu and Other Distributions". sites.google.com.
  26. ^ "Linux_2_6_32 - Linux Kernel Newbies". kernelnewbies.org.
  27. ^ "JFS Filesystem can now handle trim". Retrieved 28 March 2012.
  28. ^ "Linux_3.0 - Linux Kernel Newbies". kernelnewbies.org.
  29. ^ Freemyer, Greg (2010). "OpenSUSE forum – SSD detection when creating first time fstab".
  30. ^ "How to enable TRIM?". Ask Ubuntu. Retrieved 11 November 2015.
  31. ^ "SDB:SSD discard (trim) support - openSUSE Wiki". en.opensuse.org.
  32. ^ "Changes/EnableFSTrimTimer - Fedora Project Wiki". fedoraproject.org. Retrieved 10 December 2020.
  33. ^ "Mac OS X 10.6.8 Brings TRIM Support for Apple SSDs, Graphics Improvements". 24 February 2012.
  34. ^ "Macbook Pros ship with active SSD TRIM support". 4 March 2011.
  35. ^ "Yosemite kills third-party SSD support". ZDNet.
  36. ^ "Chameleon SSD Optimizer". chameleon.alessandroboschini.com.
  37. ^ "You searched for Trim enabler". Cindori.org. Retrieved 7 November 2021.
  38. ^ Lee Hutchinson (30 June 2015). "Latest OS X update allows you to enable TRIM for third-party SSDs". Ars Technica. Condé Nast. Retrieved 1 July 2015.
  39. ^ Fortin, Michael (9 May 2009). Sinofsky, Steven (ed.). "Support and Q&A for Solid-State Drives". Engineering Windows 7 blog. Microsoft. Archived from the original on 25 April 2010. Alt URL
  40. ^ "Windows 7 Enhancements for Solid-State Drives" (PDF). Microsoft downloads. Microsoft Corporation. 12 November 2008. Retrieved 8 July 2009.
  41. ^ Geoff Gasior (2012) OCZ의 RevoDrive 3 X2 240GB 솔리드 스테이트 드라이브
  42. ^ Coles, Olin (15 April 2010). "SSD Benchmark Tests: SATA IDE vs AHCI Mode – AHCI vs IDE Final Thoughts". BenchmarkReviews. Retrieved 20 August 2013.
  43. ^ "Update to add native driver support in NVM Express in Windows 7 and Windows Server 2008 R2". Support. Microsoft. 8 September 2015.
  44. ^ "What is the TRIM Command on Solid State Drives?". datarecovery.com. 30 January 2017. Microsoft added the feature in a Windows 7 update known as KB2990941
  45. ^ "Fsutil behavior". Microsoft Documentation. Retrieved 17 November 2019.
  46. ^ "SATA TRIM support in OpenSolaris". 29 July 2010.
  47. ^ a b "Android 4.3 Update Brings TRIM to All Nexus Devices". 29 July 2013. Retrieved 30 July 2013.
  48. ^ "안드로이드 4.3이 발표되어 오늘 Nexus 기기에 출시됩니다."The Verge. 2013년 7월 24일.2013년 7월 24일 취득.
  49. ^ "Possible to get SSD TRIM (discard) working on ext4 + LVM + software RAID in Linux? – Server Fault". Retrieved 29 November 2011.
  50. ^ "Cyberax/mdtrim – GitHub". GitHub. Retrieved 29 November 2011.
  51. ^ a b "Red Hat Enterprise Linux 6 Storage Administration Guide, Chapter 21. Solid-State Disk Deployment Guidelines". Retrieved 9 March 2016.
  52. ^ "Red Hat Enterprise Linux 7 Storage Administration Guide". 11 November 2015. Retrieved 29 February 2016.
  53. ^ "Is there TRIM support for RAID configurations?". Intel. 26 March 2010. Retrieved 6 November 2010.
  54. ^ "Intel Confirms RAID0 TRIM Support on 7-Series Chipsets". 19 August 2012. Retrieved 14 January 2013.
  55. ^ "RAID0 trim and SRT seems possible on 6-series and 5-Series". 18 November 2012. Retrieved 14 January 2013.
  56. ^ "TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too". 28 November 2012. Retrieved 14 January 2013.
  57. ^ "Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It". 16 August 2012. Retrieved 14 January 2013.
  58. ^ Anand Lal Shimpi. "Intel Brings TRIM to RAID-0 SSD Arrays on 7-Series Motherboards, We Test It".
  59. ^ Doug Crowthers (17 August 2012). "TRIM Command Confirmed With RAID 0 on Intel 7 Series". Tom's Hardware.
  60. ^ "Intel SSD Optimizer White Paper" (PDF). Intel Corporation. Archived from the original (PDF) on 5 October 2012. Retrieved 23 January 2010.
  61. ^ "wiper.exe for Falcon Series". XtremeSystems. Retrieved 23 January 2010.
  62. ^ "hdparm-9.17 released, with experimental trim/wiper scripts for SSDs". Retrieved 14 August 2010.
  63. ^ "hdparm project page". sourceforge.net. Retrieved 14 August 2010.
  64. ^ "Data Set Management Commands Proposal for ATA8-ACS2 (revision 6)". INCITS T13. INCITS. 12 December 2007. Retrieved 8 July 2009. (시방서 초안 T13/e07154r6)
  65. ^ "T13 documents referring to TRIM". INCITS T13. INCITS. Retrieved 8 July 2009.
  66. ^ "T13 ATA8 Draft Spec 1697-D" (PDF). INCITS. 23 June 2010. Retrieved 14 August 2010.
  67. ^ "SATA 6Gb/s". Serial ATA International Organization. Retrieved 26 September 2012.
  68. ^ "Device.Storage Requirements (Windows)". Retrieved 29 February 2016.
  69. ^ "T13/2161-D: Information technology – ATA/ATAPI Command Set – 3 (ACS-3)" (PDF). T13.org. Retrieved 29 February 2016.
  70. ^ Motin, Alexander (24 December 2011). "RFC: SCSI UNMAP (TRIM) support". Lists.freebsd.org. Retrieved 7 November 2021.
  71. ^ "Milan Broz's blog: TRIM & dm-crypt ... problems?". Milan Broz. 14 August 2011. Retrieved 1 October 2014.
  72. ^ "Perfectly Deniable Steganographic Disk Encryption" (PDF). I.blackhat.com. Retrieved 7 November 2021.
  73. ^ "The Path from 3Gb/s to SATA 6Gb/s: How to Migrate Current Designs to the SATA Revision 3.0 Specification". Sata-io.org. 27 May 2009. Retrieved 7 November 2021.
  74. ^ "SATA 3.1 spec brings swap standard, improved TRIM". The Tech Report.
  75. ^ "71371 [PATCH]Crucial M500, broken "queued TRIM" support". bugzilla.kernel.org.
  76. ^ "Bug #1449005 trim does not work with Samsung 840 EVO after firm... : Bugs : fstrim package : Ubuntu". Launchpad.
  77. ^ torvalds. "linux/libata-core.c at e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub". GitHub.
  78. ^ a b c torvalds. "linux/libata-core.c at master · torvalds/linux · GitHub". GitHub.
  79. ^ torvalds. "libata: force disable trim for SuperSSpeed S238 · torvalds/linux@cda57b1". GitHub.
  80. ^ "[1/3] libata: Whitelist SSDs that are known to properly return zeroes after TRIM - Patchwork". patchwork.ozlabs.org.

외부 링크