Trim » История » Редакция 2
Редакция 1 (Андрей Волков, 2016-03-16 16:38) → Редакция 2/3 (Андрей Волков, 2016-03-16 17:42)
h1. Trim h2. Проверка что SSD диск поддерживает TRIM hdparm -I /dev/sda {{collapse(вывод) <pre> /dev/sdc: ATA device, with non-removable media Model Number: OCZ-AGILITY3 Serial Number: OCZ-500DYX5125F39XRF Firmware Revision: 2.25 Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0 Standards: Used: unknown (minor revision code 0x0110) Supported: 8 7 6 5 Likely used: 8 Configuration: Logical max current cylinders 16383 16383 heads 16 16 sectors/track 63 63 -- CHS current addressable sectors: 16514064 LBA user addressable sectors: 234441648 LBA48 user addressable sectors: 234441648 Logical Sector size: 512 bytes Physical Sector size: 512 bytes Logical Sector-0 offset: 0 bytes device size with M = 1024*1024: 114473 MBytes device size with M = 1000*1000: 120034 MBytes (120 GB) cache/buffer size = unknown Nominal Media Rotation Rate: Solid State Device Capabilities: LBA, IORDY(can be disabled) Queue depth: 32 Standby timer values: spec'd by Standard, no device specific minimum R/W multiple sector transfer: Max = 16 Current = 16 Advanced power management level: 254 Recommended acoustic management value: 0, current value: 254 DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 Cycle time: min=120ns recommended=120ns PIO: pio0 pio1 pio2 pio3 pio4 Cycle time: no flow control=120ns IORDY flow control=120ns Commands/features: Enabled Supported: * SMART feature set Security Mode feature set * Power Management feature set * Write cache Look-ahead * Host Protected Area feature set * WRITE_BUFFER command * READ_BUFFER command * NOP cmd * DOWNLOAD_MICROCODE * Advanced Power Management feature set Power-Up In Standby feature set * SET_FEATURES required to spinup after power up * 48-bit Address feature set * Mandatory FLUSH_CACHE * FLUSH_CACHE_EXT * SMART error logging * SMART self-test * General Purpose Logging feature set * WRITE_{DMA|MULTIPLE}_FUA_EXT * 64-bit World wide name * IDLE_IMMEDIATE with UNLOAD Write-Read-Verify feature set * {READ,WRITE}_DMA_EXT_GPL commands * Segmented DOWNLOAD_MICROCODE * Gen1 signaling speed (1.5Gb/s) * Gen2 signaling speed (3.0Gb/s) * Gen3 signaling speed (6.0Gb/s) * Native Command Queueing (NCQ) * Host-initiated interface power management * Phy event counters * Device automatic Partial to Slumber transitions * READ_LOG_DMA_EXT equivalent to READ_LOG_EXT * DMA Setup Auto-Activate optimization Device-initiated interface power management * Software settings preservation * SMART Command Transport (SCT) feature set * SCT Data Tables (AC5) * SET MAX SETPASSWORD/UNLOCK DMA commands * Data Set Management TRIM supported (limit 1 block) * Deterministic read data after TRIM Security: Master password revision code = 65534 supported not enabled not locked not frozen not expired: security count not supported: enhanced erase 2min for SECURITY ERASE UNIT. Logical Unit WWN Device Identifier: 5e83a97e2d4e3c1f NAA : 5 IEEE OUI : e83a97 Unique ID : e2d4e3c1f Checksum: correct </pre> }} <pre> * Data Set Management TRIM supported (limit 1 block) * Deterministic read data after TRIM kernel </pre> Начальная поддержка discard появилась в ядре 2.6.28 Поддержка discard для swap появилась в ядре 2.6.29 Поддержка discard для btrfs появилась в ядре 2.6.32 Поддержка discard в libata (SATA driver library) появилась в ядре 2.6.33 Поддержка discard для ext4 появилась в ядре 2.6.33 Поддержка discard для vfat появилась в ядре 2.6.33 Поддержка discard для device-mapper (delay, linear, mpath, stripe) появилась в ядре 2.6.36 Поддержка discard для ext4(без журнала) появилась в ядре 2.6.36 Поддержка secure discard (1) появилась в ядре 2.6.36 Поддержка batched discard (2) для ext4 появилась в ядре 2.6.37 Поддержка batched discard (2) для ext3 появилась в ядре 2.6.38 Поддержка discard для dm-mirror появилась в ядре 2.6.38 Поддержка batched discard (2) для xfs появилась в ядре 2.6.38 Поддержка discard на уровне блочного устройства появилась в ядре 3.0 Поддержка discard для xfs появилась в ядре 3.0 Поддержка discard для loop устройств появилась в ядре 3.2 Поддержка discard для dm-thin устройств появилась в ядре 3.4 Поддержка подключения discard на лету для ext4(без журнала) появилась в ядре 3.7 Поддержка async discard для swap появилась в ядре 3.12 Поддержка discard для dm-raid (1,10,4,5,6) появилась в ядре 3.18 Поддержка batched discard (2) для f2fs появилась в ядре 3.18 Ускорение discard для dm-cache и dm-thin появилось в ядре 3.19 Источники: https://clusterbuffer.wordpress.com/2011/10/02/how-do-you-know-trim-is-working-with-your-ssd-in-your-system/ http://kernelnewbies.org/LinuxVersions (1) - фича диска, позволяющая гарантированно удалить все копии discard блока (реализуется прошивкой диска) (2) - discard выполняется одним ioctl() вызовом возвращая размер высвобожденного места. LVM 2.02.85 Утилита fstrim util-linux 2.19 Утилита blkdiscard util-linux 2.23