Обрезка (вычисление)

Тип компьютерной команды

Команда TRIM (известная как TRIM в наборе команд ATA и UNMAP в наборе команд SCSI ) позволяет операционной системе сообщать твердотельному накопителю (SSD), какие блоки данных больше не считаются «используемыми» и, следовательно, могут быть стерты внутренне. [1]

Trim был представлен вскоре после появления SSD. Поскольку низкоуровневые операции SSD существенно отличаются от жестких дисков, традиционный способ, которым операционные системы обрабатывают операции хранения, такие как удаление и форматирование, привел к непредвиденному прогрессирующему снижению производительности операций записи на SSD. [2] Trimming позволяет SSD более эффективно обрабатывать сборку мусора , что в противном случае замедлило бы будущие операции записи в задействованные блоки. [3]

Хотя инструменты для «сброса» некоторых дисков до нового состояния уже были доступны до введения обрезки, они также удаляют все данные на диске, что делает их непрактичными для использования для постоянной оптимизации. [4] По состоянию на 2024 год многие SSD-накопители имели внутренние механизмы сбора мусора для определенных файловых систем (таких как FAT32 , NTFS , APFS ), которые работали независимо от обрезки. Хотя это успешно поддерживало их срок службы и производительность даже в операционных системах, которые не поддерживали обрезку, это имело связанные с этим недостатки, такие как повышенное усиление записи и износ ячеек флэш-памяти. [5]

TRIM также используется на некоторых жестких дисках с черепичной магнитной записью (SMR). [6]

Фон

Из-за того, как многие файловые системы обрабатывают операции удаления, помечая блоки данных как «не используемые», [7] [8] носители данных (SSD, а также традиционные жесткие диски) обычно не знают, какие секторы/страницы действительно используются, а какие можно считать свободным пространством. В отличие от (например) операции перезаписи, удаление не будет включать в себя физическую запись в сектора, содержащие данные. Поскольку обычный SSD не имеет сведений о структурах файловой системы, включая список неиспользуемых блоков/секторов, носитель данных остается в неведении о том, что блоки стали доступны. Хотя это часто позволяет инструментам восстановления восстанавливать файлы с электромеханических жестких дисков , [8] [9] несмотря на то, что файлы сообщаются операционной системой как «удаленные», это также означает, что когда операционная система позже выполняет операцию записи в один из секторов, который она считает свободным пространством, это фактически становится операцией перезаписи с точки зрения носителя данных. Для магнитных дисков перезапись существующих данных ничем не отличается от записи в пустой сектор, но из-за особенностей работы некоторых твердотельных накопителей на самом низком уровне перезапись приводит к значительным накладным расходам по сравнению с записью данных на пустую страницу, что может привести к снижению производительности записи. [8] [10]

SSD хранят данные в ячейках флэш-памяти, которые сгруппированы в страницы, как правило, от 4 до 16 КБ , сгруппированных вместе в блоки, как правило, от 128 до 512 страниц. Пример: блоки по 512 КБ, которые группируют 128 страниц по 4 КБ каждая. [7] [11] Ячейки флэш-памяти NAND могут быть напрямую записаны только тогда, когда они пусты. Если они содержат данные, их содержимое должно быть стерто перед операцией записи. Операция записи SSD может быть выполнена на одну страницу, но из-за аппаратных ограничений команды стирания всегда затрагивают целые блоки; [11] следовательно, запись данных на пустые страницы на SSD выполняется очень быстро, но значительно замедляется, когда необходимо перезаписать ранее записанные страницы. Поскольку перед повторной записью необходимо стереть ячейки на странице, а стереть можно только целые блоки, перезапись инициирует цикл «чтение-стирание-изменение-запись»: [7] [12] содержимое всего блока сохраняется в кэше, затем весь блок стирается с SSD, затем перезаписанная страница(ы) записывается в кэшированный блок, и только после этого весь обновленный блок может быть записан на флэш-носитель. Это явление известно как усиление записи . [13] [14]

Операция

Команда TRIM позволяет операционной системе уведомлять SSD о страницах, которые больше не содержат допустимых данных. Для операции удаления файла операционная система помечает сектора файла как свободные для новых данных, а затем отправляет команду TRIM на SSD. После обрезки SSD не сохраняет содержимое блока при записи новых данных на страницу флэш-памяти, что приводит к меньшему усилению записи (меньше записей), более высокой пропускной способности записи (нет необходимости в последовательности чтение-стирание-модификация), тем самым увеличивая срок службы диска.

Различные SSD-накопители реализуют команду несколько по-разному, поэтому производительность может различаться. [3] [9]

TRIM сообщает SSD о необходимости пометить регион LBA как недействительный, и последующие чтения в регионе не вернут никаких значимых данных. В течение очень короткого времени данные могут все еще находиться во флэш-памяти внутри. Однако после выдачи команды TRIM и выполнения сборки мусора восстановление данных может стать затруднительным или невозможным в зависимости от реализации команды в прошивке накопителя. [15]

Выполнение

Поддержка операционной системы

Команда TRIM полезна только в том случае, если диск ее реализует и операционная система ее запрашивает. В таблице ниже указаны все известные операционные системы и первая версия, поддерживающая команду. Кроме того, старые твердотельные накопители, разработанные до добавления команды TRIM в стандарт ATA, потребуют обновления прошивки, в противном случае новая команда будет игнорироваться. Однако не каждый диск можно обновить для поддержки обрезки.

Поддержка TRIM также зависит от возможностей конкретного драйвера файловой системы в операционной системе, поскольку только программа, понимающая, какие части диска являются свободным пространством, может безопасно выполнить эту команду, а на системном уровне эта возможность, как правило, заложена в самом драйвере файловой системы.

Операционная системаПоддерживается сПримечания
DragonFly BSD2011-05Май 2011 [16]
FreeBSD2010-078.1 – июль 2010 г. [17]Поддержка была добавлена ​​на уровне блочных устройств в 8.1. Поддержка файловой системы была добавлена ​​в FreeBSD 8.3 и FreeBSD 9, начиная с UFS . [18] Поддержка обрезки ZFS была добавлена ​​в FreeBSD 9.2. [19] [20] FreeBSD 10 поддерживает обрезку в конфигурациях программного RAID . [21]
NetBSD2012-10Октябрь 2012 г. [22]
линукс2008-12-252.6.28–25 декабря 2008 г. [23]Первоначальная поддержка операций сброса была добавлена ​​для флэш-устройств FTL NAND в версии 2.6.28. Поддержка команды ATA TRIM была добавлена ​​в версии 2.6.33. [24]

Не все файловые системы используют trim. Среди файловых систем, которые могут автоматически выдавать запросы на обрезку, находятся ext4 , [25] Btrfs , [26] FAT , GFS2 , JFS , [27] XFS , [28] ZFS , [29] и NTFS-3G . Однако в некоторых дистрибутивах это отключено по умолчанию из-за проблем с производительностью [30] в пользу запланированной обрезки на поддерживаемых SSD. [31] Ext3 , NILFS2 и OCFS2 предлагают ioctl для выполнения офлайн-обрезки. Спецификация TRIM требует поддержки списка диапазонов обрезки, но с версии ядра 3.0 trim вызывается только с одним диапазоном, который медленнее. [32]

Во многих новых дистрибутивах Linux systemd предоставляет единицу fstrim.timer. [33] TRIM для раздела подкачки можно включить с помощью swaponутилиты или fstab . [34]

macOS2011-06-2310.6.8–23 июня 2011 г. [35]Хотя драйвер блочного устройства AHCI получил возможность отображать, поддерживает ли устройство операцию TRIM в версии 10.6.6 (10J3210), [36] сама функциональность оставалась недоступной до версии 10.6.8, когда операция TRIM была представлена ​​через IOStorageFamily и была добавлена ​​поддержка файловой системы (HFS+). [ требуется ссылка ] До версии 10.10.4 Mac OS X изначально включала TRIM только для SSD-накопителей под брендом Apple; для других марок доступны сторонние утилиты, позволяющие включить его. Старые сторонние драйверы TRIM перестали работать с обновлением Yosemite. [37] Теперь существуют обновленные драйверы, которые работают с OS X Yosemite. [38] [39] В обновлении Mac OS X 10.10.4 Apple добавила утилиту командной строки, trimforce, которую можно использовать для включения TRIM на сторонних SSD-накопителях. [40]
Майкрософт Виндоус2009–10Windows 7 и Windows Server 2008 R2 – октябрь 2009 г. [41] [42]Windows 7 изначально поддерживала TRIM только для дисков семейства AT Attachment, включая Parallel ATA и Serial ATA , и не поддерживала эту команду для любых других устройств, включая твердотельные накопители Storport PCI-Express, даже если само устройство принимало команду. [43] Подтверждено, что с собственными драйверами Microsoft команда TRIM работает в Windows 7 в режимах AHCI и legacy IDE / ATA. [44] Windows 8 и более поздние операционные системы Windows поддерживают команду unmap для устройств, использующих стек драйверов SCSI, включая протокол USB Attached SCSI (UASP). Windows 8.1 и более поздние операционные системы Windows поддерживают команду TRIM для твердотельных накопителей NVM Express . Microsoft выпустила обновление для Windows 7, которое добавляет поддержку NVM Express, включая TRIM для твердотельных накопителей PCIe. [45] [46]

Известно, что TRIM поддерживается для ReFS и NTFS , обе из которых реализуют переключатель DisableDeleteNotify для его отключения. [47] Источники расходятся во мнениях относительно того, существует ли поддержка TRIM для других файловых систем.

OpenSolaris2010-07Июль 2010 [48]
андроид2013-74.3 [49] – 24 июля 2013 г. [50]Запускается fstrimавтоматически каждые 24 часа, если устройство не использовалось в течение как минимум часа и заряжено как минимум на 80% (30%, если подключено к зарядному устройству). [49]

Проблемы с RAID-массивом

По состоянию на январь 2017 года [обновлять]поддержка команды TRIM не реализована в большинстве аппаратных технологий RAID . Однако программные реализации RAID часто включают поддержку TRIM.

Окна

Windows 10 предлагает поддержку TRIM в томах SSD ID с помощью параметра «оптимизировать диски» при настройке тома RAID.

macOS

Драйвер RAID macOS не поддерживает TRIM. Это справедливо для всех версий Mac OS X от 10.7 до macOS 10.12.x.

TRIM поддерживается для томов RAID (0,1,4,5 и 10) при использовании стороннего приложения SoftRAID®, включая поддержку TRIM с устройствами SSD сторонних производителей. (Примечание: TRIM для устройств SSD сторонних производителей необходимо включить с помощью команды терминала «sudo trimforce enable».)

линукс

TRIM доступен с томами RAID в версиях ядра Linux dmraid , выпущенных после января 2011 года, в которых реализована поддержка «поддельного аппаратного RAID» с помощью BIOS, и которая теперь пропускает любые запросы TRIM из файловой системы, расположенной в массиве RAID. [51]

Не путать с dmraid, универсальная программная RAID-система Linux, mdraid , имеет экспериментальную поддержку пакетной (а не живой, при удалении файлов ) TRIM на массивах RAID 1, когда системы настроены на периодический запуск утилиты mdtrim на файловых системах (даже таких, как ext3 без собственной поддержки TRIM). [52] В более поздних версиях Linux, например, Red Hat Enterprise Linux 6.5 и выше, mdraid фактически поддерживает передачу команд TRIM в реальном времени, а не просто как пакетное задание. [53]

Однако Red Hat не рекомендует использовать программные уровни RAID 1, 4, 5 и 6 на SSD с большинством технологий RAID, поскольку во время инициализации большинство утилит управления RAID (например, mdadm в Linux ) записывают данные во все блоки на устройствах, чтобы гарантировать правильную работу контрольных сумм (или проверок от диска к диску в случае RAID 1 и 10), заставляя SSD полагать, что все блоки, кроме резервной области, используются, что значительно снижает производительность. [54]

С другой стороны, Red Hat рекомендует использовать RAID 1 или RAID 10 для LVM RAID на SSD, поскольку эти уровни поддерживают TRIM («discard» в терминологии Linux), а утилиты LVM не записывают данные во все блоки при создании тома RAID 1 или RAID 10. [53]

RAID на основе прошивки

В течение короткого времени в марте 2010 года пользователи были убеждены, что драйверы Intel Rapid Storage Technology (RST) 9.6 (и более поздние версии) в Windows 7 поддерживают TRIM на томах RAID, но позже Intel пояснила, что TRIM поддерживается для настроек BIOS в режиме AHCI и режиме RAID, но не в том случае, если диск является частью тома RAID. [55]

По состоянию на август 2012 года Intel подтверждает, что чипсеты 7-й серии с драйверами Rapid Storage Technology (RST) 11.2 поддерживают TRIM для RAID 0 в Microsoft Windows 7. [56] Хотя Intel не подтвердила поддержку чипсетов 6-й серии, энтузиасты оборудования продемонстрировали работу TRIM на томах RAID 0 на чипсетах Z68, P67 и X79 с модифицированным ПЗУ RAID . [57] Предполагается, что отсутствие официальной поддержки чипсетов 6-й серии связано со стоимостью проверки [58] или попыткой побудить потребителей к обновлению, [59] а не с техническими причинами.

Исключением из необходимости использования модифицированного дополнительного ПЗУ на материнских платах с чипсетом X79 является случай, когда производитель добавил переключатель ПЗУ; это подразумевает, что и ПЗУ RST, и ПЗУ RST-E находятся внутри BIOS/UEFI. Это позволяет использовать ПЗУ RST вместо ПЗУ RST-E, позволяя TRIM функционировать. [60] Intel отмечает, что наилучшей производительности можно добиться, используя драйвер той же версии, что и ПЗУ; например, если в BIOS/UEFI есть дополнительное ПЗУ 11.0.0.0m, следует использовать драйвер версии 11.x. [61]

Включение неподдерживаемых файловых систем

Если файловая система автоматически не поддерживает TRIM, некоторые утилиты могут отправлять команды обрезки вручную. Обычно они определяют, какие блоки свободны, а затем передают этот список в виде серии команд обрезки на диск. Эти утилиты доступны от различных производителей (например, Intel, [62] G.Skill [63] ), или как общие утилиты (например, hdparm "wiper" Linux начиная с версии 9.17, [64] [65] или mdtrim, как упоминалось выше). И hdparm, и mdtrim находят свободные блоки, выделяя большой файл в файловой системе и решая, какому физическому расположению он был назначен.

Независимо от операционной системы, диск может определить, когда компьютер записывает все нули в блок, и освободить (обрезать) этот блок вместо записи блока нулей. Если чтение освобожденного блока всегда возвращает нули, этот ярлык прозрачен для пользователя, за исключением более быстрой записи (и чтения) блоков из всех нулей, в дополнение к обычному преимуществу более быстрой записи в неиспользуемые области. Операционные системы не записывают все нули, чтобы «стереть» файлы или освободить место, но некоторые утилиты делают это.

Поддержка оборудования

АТА

Спецификация команды TRIM [66] была стандартизирована как часть стандарта интерфейса AT Attachment (ATA), возглавляемого Техническим комитетом T13 Международного комитета по стандартам информационных технологий (INCITS). [67] TRIM реализована в команде DATA SET MANAGEMENT (код операции 06h) проекта спецификации ACS-2. [68] Стандарт ATA поддерживается как параллельным (IDE, PATA), так и последовательным (SATA) оборудованием ATA.

Недостатком оригинальной команды ATA TRIM является то, что она была определена как не подлежащая очереди команда и поэтому не могла легко смешиваться с обычной рабочей нагрузкой очередных операций чтения и записи. SATA 3.1 представила поставленную в очередь команду TRIM, чтобы исправить это. [69]

Существуют различные типы TRIM, определяемые словами SATA 69 и 169, возвращаемыми командой ATA IDENTIFY DEVICE:

  • Недетерминированный TRIM: каждая команда чтения по адресу логического блока (LBA) после TRIM может возвращать разные данные.
  • Детерминированный TRIM (DRAT): все команды чтения LBA после TRIM должны возвращать те же данные или становиться детерминированными.
  • Детерминированное чтение нуля после TRIM (RZAT): все команды чтения LBA после TRIM должны возвращать ноль.

В SATA Word 105 есть дополнительная информация, описывающая максимальное количество 512-байтовых блоков на команду DATA SET MANAGEMENT, которые может поддерживать диск. Обычно это значение по умолчанию равно 8 (или 4 кБ), но многие диски уменьшают его до 1, чтобы соответствовать аппаратным требованиям Microsoft Windows для TRIM, то есть время выполнения команды не должно превышать 20 мс или 8 мс × (количество записей диапазона LBA), в зависимости от того, что больше, и всегда должно быть меньше 600 мс. [70]

Отдельный диапазон LBA называется LBA Range Entry и представлен восемью байтами. LBA выражается первыми шестью байтами LBA Range Entry, а Range Length — это счетчик с нулевой базой (например, 0=0 и 1=1), представленный оставшимися двумя байтами. Если двухбайтовая длина диапазона равна нулю, то LBA Range Entry будет отброшена как заполнение. [71] Это означает, что для каждого 512-байтового блока диапазонов TRIM, поддерживаемых устройством, максимум составляет 64 диапазона по 32 МБ или 2 ГБ. Если устройство поддерживает SATA Word 105 на уровне 8, то оно должно иметь возможность обрезать 16 ГБ за одну команду TRIM (DATA SET MANAGEMENT).

SCSI

SCSI предоставляет команду UNMAP (полный аналог TRIM) и команду WRITE SAME (варианты 10 и 16) с установленным флагом UNMAP. [72]

SD/MMC

Команда MultiMediaCard и SD ERASE (CMD38) обеспечивает схожую функциональность с командой ATA TRIM, хотя она требует, чтобы стертые блоки были перезаписаны нулями или единицами. Подоперация DISCARD дополнительно определена в eMMC 4.5 и опционально в картах SDHC и SDXC, что более близко соответствует ATA TRIM в том, что содержимое сброшенных блоков можно считать неопределенным (т. е. «неважно»).

НВМ Экспресс

Набор команд NVM Express имеет общий набор команд Dataset Management для указания намерения хоста устройству хранения на наборе диапазонов блоков. Одна из его операций, DEALLOCATE, выполняет обрезку. Он также имеет команду WRITE ZEROES, которая предоставляет подсказку DEALLOCATE и позволяет диску обрезать и возвращать нули.

Недостатки

  • Некоторые отрицаемые схемы шифрования включают в себя создание всего диска, похожего на случайный мусор. Использование TRIM сводит на нет этот уровень правдоподобного отрицания , поскольку созданные блоки из всех нулей (или из всех единиц) легко указывают, какие блоки используются. [73] Утверждалось, что отключение TRIM также может быть подозрительным. [74]
  • Первоначальная версия команды TRIM была определена подкомитетом T13 как команда без очереди и, следовательно, может повлечь за собой огромные штрафы за выполнение, если используется неосторожно, например, если отправляется после каждой команды удаления файловой системы. Неочередная природа команды требует, чтобы драйвер сначала дождался завершения всех невыполненных команд, выдал команду TRIM, а затем возобновил обычные команды. TRIM может занять много времени для завершения, в зависимости от прошивки в SSD, и может даже запустить цикл сборки мусора . [ необходима цитата ] Этот штраф можно минимизировать в решениях, которые выполняют пакетные TRIM и/или периодические TRIM, а не обрезку при каждом удалении файла , планируя такие пакетные задания на время, когда загрузка системы низкая. Этот недостаток TRIM был преодолен в ревизии Serial ATA 3.1 с введением команды Queued TRIM. [75] [76]
  • Только некоторые гипервизоры (такие как Hyper-V , Parallels Desktop ) реализовали TRIM для гостевой ОС (по состоянию на 2023 год).
  • Неисправная прошивка накопителя, которая неверно сообщает о поддержке очереди TRIM или имеет критические ошибки в ее реализации, была связана с серьезным повреждением данных и/или серьезными ошибками, такими как частые зависания в нескольких устройствах, в частности, в M500 от Micron и Crucial [77] и сериях 840 и 850 от Samsung. [78] Повреждение данных было подтверждено в операционной системе Linux (единственная ОС с поддержкой очереди TRIM по состоянию на 1 июля 2015 года). [79]

Эти устройства занесены в черный список в libata-core.c ядра Linux для принудительной отправки на эти диски команд TRIM, не поставленных в очередь ( ATA_HORKAGE_NO_NCQ_TRIM ), вместо поставленных в очередь команд TRIM: [80]

  • Micron/Crucial M500 со всеми версиями прошивки, включая повторно сертифицированные на заводе SSD
  • Micron M510 с версией прошивки MU01
  • Micron/Crucial M550 с версией прошивки MU01
  • Crucial MX100 с версией прошивки MU01
  • SSD-накопители Samsung серий 840 и 850 со всеми версиями прошивки

Этот файл также заносит SuperSSpeed ​​S238 в черный список для TRIM в целом из-за того, что он приводит к потере данных неправильными блоками при выдаче TRIM. [80] [81]

libata-core.c также имеет белый список для перечисления SSD, которые надежно известны сопровождающим подсистемы для правильной реализации флагов DRAT и RZAT ( ATA_HORKAGE_ZERO_AFTER_TRIM), а не игнорируют их, как делают многие диски. Белый список дисков следующий: [80]

  • Решающие SSD-накопители
  • Твердотельные накопители Intel, за исключением Intel SSD 510
  • SSD-накопители Micron
  • SSD-накопители Samsung
  • Твердотельные накопители Seagate [82]

Смотрите также

Ссылки

  1. ^ "Intel High Performance Solid State Drive – Advantages of TRIM". Intel.com . Intel . 14 сентября 2010 г. . Получено 21 февраля 2012 г. .
  2. ^ Шимпи, Ананд Лал (18 марта 2009 г.). «Антология SSD: понимание SSD и новых дисков от OCZ». AnandTech.com . стр. 4. Получено 19 июня 2010 г.
  3. ^ ab Shimpi, Anand Lal. (18 марта 2009 г.). стр. 10. TRIM — это команда ATA (Advanced Technology Attachment Command), которая позволяет ОС информировать SSD о блоках данных, которые больше не используются. Затем SSD удаляет такие блоки данных, чтобы освободить место для новых блоков данных. TRIM в основном используется для повышения производительности и срока службы SSD. К сожалению, благо TRIM становится проклятием для восстановления данных с SSD. Поэтому настоятельно рекомендуется регулярно делать резервную копию ваших данных с помощью надежного инструмента (например, Disk Drill для Windows), особенно если ваша ОС предупреждает об отказе SSD.
  4. Шимпи, Ананд Лал. (18 марта 2009 г.). стр. 11.
  5. ^ "Обзор Kingston SSDNow V Plus 100". AnandTech.com . Ананд Лал Шимпи. 11 ноября 2010 г. Получено 10 декабря 2010 г.
  6. ^ "Trim Command - General Benefits for Hard disk Drives" (PDF) . Documents.westerndigital.com . Получено 7 ноября 2021 г. .
  7. ^ abc Savill, John (21 апреля 2009 г.). «Я слышал, что твердотельные диски (SSD) страдают от снижения производительности записи по мере использования. Почему?». WindowsITPro. Архивировано из оригинала 19 августа 2012 г. . Получено 19 июня 2010 г. .
  8. ^ abc Shimpi, Anand Lal. (18 марта 2009 г.). стр. 7.
  9. ^ ab Savill, John (22 апреля 2009 г.). «Что такое функция TRIM для твердотельных дисков (SSD) и почему она важна?». WindowsITPro. Архивировано из оригинала 9 февраля 2013 г. Получено 19 июня 2010 г.
  10. ^ Malventano, Allyn (13 февраля 2009 г.). «Долгосрочный анализ производительности SSD-накопителей Intel Mainstream». PC Perspective . Получено 10 февраля 2012 г.
  11. ^ аб Шимпи, Ананд Лал. (18 марта 2009 г.). п. 5.
  12. Шимпи, Ананд Лал. (18 марта 2009 г.). стр. 8.
  13. ^ Кейс, Лойд (8 сентября 2008 г.). «Усиление записи: секретный соус Intel». Extremetech . ExtremeTech.com. Архивировано из оригинала 15 ноября 2010 г. Получено 6 ноября 2010 г.
  14. ^ "Внутри контроллера X25-M: выравнивание износа, управление усилением записи". TomsHardware.com. 8 сентября 2008 г. Получено 6 ноября 2010 г.
  15. ^ "Слишком TRIM? Когда восстановление данных SSD невозможно". Forensic Focus . 23 сентября 2014 г. Получено 8 мая 2024 г.
  16. ^ "Предварительная поддержка TRIM". leaf.dragonflybsd.org .
  17. ^ "FreeBSD 8.1-RELEASE Release Notes: Disks and Storage" . Получено 1 сентября 2010 г. .
  18. ^ "Добавить поддержку ядра для BIO_DELETE/TRIM на UFS" . Получено 1 февраля 2011 г.
  19. ^ "Добавлена ​​поддержка ZFS TRIM, которая включена по умолчанию" . Получено 5 июня 2013 г.
  20. ^ "Анонс FreeBSD 9.2-RELEASE" . Получено 4 октября 2013 г. .
  21. ^ "Базовая версия 242323 – Добавлена ​​базовая поддержка BIO_DELETE в класс GEOM RAID для всех уровней RAID" . Получено 30 октября 2012 г.
  22. ^ "Поддержка TRIM в NetBSD". 19 октября 2012 г.
  23. ^ "Linux_2_6_28 - Новички в ядре Linux". kernelnewbies.org .
  24. ^ "Изменения хранилища в Linux 2.6.33". Kernel Newbies . Получено 1 сентября 2010 г.
  25. ^ "Разветвление от Nicolay - HOWTO: настройка Ext4 для включения поддержки TRIM для SSD в Ubuntu и других дистрибутивах". sites.google.com .
  26. ^ "Linux_2_6_32 - Новички в ядре Linux". kernelnewbies.org .
  27. ^ "Файловая система JFS теперь может обрабатывать обрезку" . Получено 28 марта 2012 г.
  28. ^ "Linux_3.0 - Новички в ядре Linux". kernelnewbies.org .
  29. ^ "Поддержка OpenZFS TRIM". openzfs.org .
  30. ^ Фримайер, Грег (2010). «Форум OpenSUSE – обнаружение SSD при создании fstab в первый раз».
  31. ^ "Как включить TRIM?". Ask Ubuntu . Получено 11 ноября 2015 г. .
  32. ^ "SDB:Поддержка удаления (обрезки) SSD - openSUSE Wiki". ru.opensuse.org .
  33. ^ "Changes/EnableFSTrimTimer - Fedora Project Wiki". fedoraproject.org . Получено 10 декабря 2020 г. .
  34. ^ "swapon(8) — Arch manual pages". man.archlinux.org . Получено 20 июня 2024 г. .
  35. ^ "Mac OS X 10.6.8 обеспечивает поддержку TRIM для твердотельных накопителей Apple, а также графические улучшения". 24 февраля 2012 г.
  36. ^ "Macbook Pros поставляются с активной поддержкой SSD TRIM". 4 марта 2011 г.
  37. ^ "Yosemite прекращает поддержку сторонних SSD". ZDNet .
  38. ^ "Оптимизатор SSD Chameleon". chameleon.alessandroboschini.com .
  39. ^ "Вы искали Trim enabler". Cindori.org . Архивировано из оригинала 8 ноября 2021 г. . Получено 7 ноября 2021 г. .
  40. Ли Хатчинсон (30 июня 2015 г.). «Последнее обновление OS X позволяет включить TRIM для сторонних SSD». Ars Technica . Condé Nast . Получено 1 июля 2015 г.
  41. ^ Фортин, Майкл (9 мая 2009 г.). Синофски, Стивен (ред.). "Поддержка и вопросы и ответы по твердотельным накопителям". Блог по инжинирингу Windows 7. Microsoft . Архивировано из оригинала 25 апреля 2010 г.Альтернативный URL-адрес
  42. ^ "Windows 7 Enhancements for Solid-State Drives" (PDF) . Загрузки Microsoft . Корпорация Microsoft. 12 ноября 2008 г. . Получено 8 июля 2009 г. .
  43. ^ Джефф Гасиор (2012) Твердотельный накопитель RevoDrive 3 X2 240 ГБ от OCZ
  44. ^ Коулз, Олин (15 апреля 2010 г.). «Тесты SSD Benchmark: SATA IDE против режима AHCI – Заключительные мысли об AHCI против IDE». BenchmarkReviews . Получено 20 августа 2013 г.
  45. ^ "Обновление для добавления поддержки собственного драйвера в NVM Express в Windows 7 и Windows Server 2008 R2". Поддержка . Microsoft. 8 сентября 2015 г.
  46. ^ «Что такое команда TRIM на твердотельных накопителях?». datarecovery.com . 30 января 2017 г. Microsoft добавила эту функцию в обновление Windows 7, известное как KB2990941.
  47. ^ "Fsutil behavior". Документация Microsoft . Получено 17 ноября 2019 г.
  48. ^ "Поддержка SATA TRIM в OpenSolaris". 29 июля 2010 г. Архивировано из оригинала 12 августа 2012 г. Получено 29 июля 2010 г.
  49. ^ ab "Обновление Android 4.3 приносит TRIM на все устройства Nexus". 29 июля 2013 г. Получено 30 июля 2013 г.
  50. ^ "Android 4.3 анонсирован, сегодня он выходит на устройства Nexus". The Verge . 24 июля 2013 г. Получено 24 июля 2013 г.
  51. ^ "Возможно ли заставить SSD TRIM (discard) работать на ext4 + LVM + программный RAID в Linux? – Ошибка сервера" . Получено 29 ноября 2011 г.
  52. ^ "Cyberax/mdtrim – GitHub". GitHub . Получено 29 ноября 2011 г. .
  53. ^ ab "Red Hat Enterprise Linux 6 Storage Administration Guide, Глава 21. Solid-State Disk Deployment Guidelines" . Получено 9 марта 2016 г. .
  54. ^ "Red Hat Enterprise Linux 7 Storage Administration Guide". 11 ноября 2015 г. Получено 29 февраля 2016 г.
  55. ^ "Есть ли поддержка TRIM для конфигураций RAID?". Intel . 26 марта 2010 г. Получено 6 ноября 2010 г.
  56. ^ "Intel подтверждает поддержку RAID0 TRIM на чипсетах 7-й серии". 19 августа 2012 г. Архивировано из оригинала 22 октября 2012 г. Получено 14 января 2013 г.
  57. ^ "RAID0 trim и SRT кажутся возможными на 6-й и 5-й сериях". 18 ноября 2012 г. Архивировано из оригинала 18 января 2013 г. Получено 14 января 2013 г.
  58. ^ "TRIM & RAID-0 SSD Arrays Work With Intel 6-Series Motherboards Too". 28 ноября 2012 г. Получено 14 января 2013 г.
  59. ^ "Intel внедряет TRIM в массивы SSD RAID-0 на материнских платах 7-й серии, мы тестируем это". 16 августа 2012 г. Получено 14 января 2013 г.
  60. ^ Ананд Лал Шимпи. «Intel внедряет TRIM в массивы SSD RAID-0 на материнских платах 7-й серии, мы тестируем это».
  61. ^ Doug Crowthers (17 августа 2012 г.). «Команда TRIM подтверждена с RAID 0 на Intel 7 Series». Tom's Hardware .
  62. ^ "Intel SSD Optimizer White Paper" (PDF) . Корпорация Intel. Архивировано из оригинала (PDF) 5 октября 2012 г. . Получено 23 января 2010 г. .
  63. ^ "wiper.exe для серии Falcon". XtremeSystems. Архивировано из оригинала 25 июня 2013 г. Получено 23 января 2010 г.
  64. ^ "Выпущен hdparm-9.17 с экспериментальными скриптами обрезки/очистки для SSD" . Получено 14 августа 2010 г. .
  65. ^ "Страница проекта hdparm". sourceforge.net . Получено 14 августа 2010 г. .
  66. ^ "Предложение по командам управления наборами данных для ATA8-ACS2 (редакция 6)". INCITS T13 . INCITS . 12 декабря 2007 г. Архивировано из оригинала 13 июня 2010 г. Получено 8 июля 2009 г.(проект спецификации T13/e07154r6)
  67. ^ "Документы T13, ссылающиеся на TRIM". INCITS T13 . INCITS . Архивировано из оригинала 26 мая 2010 года . Получено 8 июля 2009 года .
  68. ^ "T13 ATA8 Draft Spec 1697-D" (PDF) . INCITS . 23 июня 2010 г. Архивировано из оригинала (PDF) 22 марта 2011 г. Получено 14 августа 2010 г.
  69. ^ "SATA 6Gb/s". Serial ATA International Organization . Получено 26 сентября 2012 г.
  70. ^ "Device.Storage Requirements (Windows)" . Получено 29 февраля 2016 г. .
  71. ^ "T13/2161-D: Информационные технологии – Набор команд ATA/ATAPI – 3 (ACS-3)" (PDF) . T13.org . Архивировано из оригинала (PDF) 5 апреля 2016 г. . Получено 29 февраля 2016 г. .
  72. ^ Мотин, Александр (24 декабря 2011 г.). "RFC: SCSI UNMAP (TRIM) support". Lists.freebsd.org . Получено 7 ноября 2021 г. .
  73. ^ "Блог Милана Броза: TRIM & dm-crypt ... проблемы?". Милан Броз. 14 августа 2011 г. Получено 1 октября 2014 г.
  74. ^ "Perfectly Deniable Steganographic Disk Encryption" (PDF) . I.blackhat.com . Получено 7 ноября 2021 г. .
  75. ^ «Путь от 3 Гбит/с к SATA 6 Гбит/с: как перенести текущие разработки на спецификацию SATA Revision 3.0». Sata-io.org . 27 мая 2009 г. Получено 7 ноября 2021 г.
  76. ^ "SATA 3.1 spec приносит стандарт подкачки, улучшенный TRIM". Технический отчет . 18 июля 2011 г.
  77. ^ "71371 [PATCH]Crucial M500, сломанная поддержка "queued TRIM"". bugzilla.kernel.org .
  78. ^ "Ошибка № 1449005 trim не работает с Samsung 840 EVO после прошивки... : Ошибки : пакет fstrim : Ubuntu". Launchpad . 27 апреля 2015 г.
  79. ^ torvalds. "linux/libata-core.c в e64f638483a21105c7ce330d543fa1f1c35b5bc7 · torvalds/linux · GitHub". GitHub .
  80. ^ abc torvalds. "linux/libata-core.c в master · torvalds/linux · GitHub". GitHub .
  81. ^ torvalds. "libata: принудительное отключение обрезки для SuperSSpeed ​​S238 · torvalds/linux@cda57b1". GitHub .
  82. ^ "[1/3] libata: Белый список SSD-накопителей, которые, как известно, правильно возвращают нули после TRIM - Patchwork". patchwork.ozlabs.org .
  • От write() до флэш-чипов – объяснение того, как команда TRIM позволяет SSD-накопителям стирать данные, не используемые файловой системой
  • Белая книга команды TRIM – Белая книга, объясняющая цель и действия команды.
  • Патент Fusion-io «Устройство, система и метод избыточного кэширования записи»
Взято с "https://en.wikipedia.org/w/index.php?title=Trim_(computing)&oldid=1246886576"