Files
chemenu/kb/concepts/protocols/SSD TRIM.md
T
torben 7f74303a00
CI / verify (push) Successful in 52s
Release / release (push) Successful in 36s
kb/concepts/ bekommt Areas: layout: fuer concept, Area-Titel aus jedem Type-Spec, Schwellen-Empfehlung im lint (schliesst #59)
Files changed:
- CHANGES.md
- README.md
- VERSION
- kb/concepts/Ambient Environment Dependency.md
- kb/concepts/Anti-Cramming Heuristic.md
- kb/concepts/Audit Trail.md
- kb/concepts/BM25.md
- kb/concepts/Bulk Operations.md
- kb/concepts/CI Integration.md
- kb/concepts/COLLECTION.md
- kb/concepts/CPPC.md
- kb/concepts/Checkpoint Audit.md
- kb/concepts/Claude Code Auto Mode.md
- kb/concepts/Command Round-Trip Integrity.md
- kb/concepts/Confidence Scoring.md
- kb/concepts/Consolidation Tiers.md
- kb/concepts/Content Quality Control.md
- kb/concepts/Context Isolation.md
- kb/concepts/Contradiction Resolution.md
- kb/concepts/Cross-platform Agent Skills.md
- kb/concepts/Crystallization.md
- kb/concepts/Delete Rather Than Anonymize.md
- kb/concepts/Denylist over Allowlist.md
- kb/concepts/Detect-Repair Asymmetry.md
- kb/concepts/Diff-Reviewable Agent Edits.md
- kb/concepts/Dual Licensing by File Plan.md
- kb/concepts/Entity Extraction.md
- kb/concepts/Episodic Memory.md
- kb/concepts/Event-Driven Automation.md
- kb/concepts/Filter on Ingest.md
- kb/concepts/Forgetting.md
- kb/concepts/Graph Traversal.md
- kb/concepts/Green Suite Blind Spot.md
- kb/concepts/Hooks.md
- kb/concepts/Hybrid Search.md
- kb/concepts/INDEX.md
- kb/concepts/Implementation Spectrum.md
- kb/concepts/Index Scaling.md
- kb/concepts/Issue Label Scheme.md
- kb/concepts/Iteration and Cost Limits.md
- kb/concepts/KB Migration.md
- kb/concepts/KB Stack Versioning.md
- kb/concepts/Knowledge Compounding.md
- kb/concepts/Knowledge Graph.md
- kb/concepts/LLM Wiki Pattern.md
- kb/concepts/Lint Workflow.md
- kb/concepts/MCP-Leseserver.md
- kb/concepts/Mass-Update Gate.md
- kb/concepts/Memory Lifecycle.md
- kb/concepts/Mesh Sync.md
- kb/concepts/Modbus.md
- kb/concepts/Multi-Agent Collaboration.md
- kb/concepts/Naming Convention Conflict.md
- kb/concepts/OKF Compatibility.md
- kb/concepts/Optional Instance Context File.md
- kb/concepts/Personalization Plane.md
- kb/concepts/Privacy and Governance.md
- kb/concepts/Procedural Memory.md
- kb/concepts/Publish-Remote Gate.md
- kb/concepts/Quality Scoring.md
- kb/concepts/Quality and Self-Correction.md
- kb/concepts/RAG.md
- kb/concepts/Reciprocal Rank Fusion.md
- kb/concepts/SSD TRIM.md
- kb/concepts/Scale Ceiling.md
- kb/concepts/Self-Healing.md
- kb/concepts/Semantic Lint Automation.md
- kb/concepts/Semantic Memory.md
- kb/concepts/Session Orientation.md
- kb/concepts/Shared vs Private.md
- kb/concepts/Split Merge Reclassify.md
- kb/concepts/Split Threshold.md
- kb/concepts/Structural Enforcement over Documented Rule.md
- kb/concepts/Stub Threshold.md
- kb/concepts/Supersession.md
- kb/concepts/Three-Layer Architecture.md
- kb/concepts/Token Economics.md
- kb/concepts/Typed Relationships.md
- kb/concepts/User Management.md
- kb/concepts/Vector Search.md
- kb/concepts/Work Coordination.md
- kb/concepts/Workflow Extraction.md
- kb/concepts/Workflow Orchestration.md
- kb/concepts/Working Memory.md
- kb/concepts/Write-Once Frontmatter Fields.md
- kb/concepts/architectures/Consolidation Tiers.md
- kb/concepts/architectures/Context Isolation.md
- kb/concepts/architectures/Cross-platform Agent Skills.md
- kb/concepts/architectures/Episodic Memory.md
- kb/concepts/architectures/Hybrid Search.md
- kb/concepts/architectures/Implementation Spectrum.md
- kb/concepts/architectures/Knowledge Graph.md
- kb/concepts/architectures/LLM Wiki Pattern.md
- kb/concepts/architectures/MCP-Leseserver.md
- kb/concepts/architectures/Memory Lifecycle.md
- kb/concepts/architectures/OKF Compatibility.md
- kb/concepts/architectures/Optional Instance Context File.md
- kb/concepts/architectures/Personalization Plane.md
- kb/concepts/architectures/Procedural Memory.md
- kb/concepts/architectures/RAG.md
- kb/concepts/architectures/Scale Ceiling.md
- kb/concepts/architectures/Semantic Memory.md
- kb/concepts/architectures/Three-Layer Architecture.md
- kb/concepts/architectures/Token Economics.md
- kb/concepts/architectures/Working Memory.md
- kb/concepts/decisions/Delete Rather Than Anonymize.md
- kb/concepts/decisions/Denylist over Allowlist.md
- kb/concepts/decisions/Diff-Reviewable Agent Edits.md
- kb/concepts/decisions/Dual Licensing by File Plan.md
- kb/concepts/decisions/Issue Label Scheme.md
- kb/concepts/decisions/KB Stack Versioning.md
- kb/concepts/decisions/Structural Enforcement over Documented Rule.md
- kb/concepts/patterns/Audit Trail.md
- kb/concepts/patterns/BM25.md
- kb/concepts/patterns/Command Round-Trip Integrity.md
- kb/concepts/patterns/Confidence Scoring.md
- kb/concepts/patterns/Contradiction Resolution.md
- kb/concepts/patterns/Entity Extraction.md
- kb/concepts/patterns/Filter on Ingest.md
- kb/concepts/patterns/Forgetting.md
- kb/concepts/patterns/Graph Traversal.md
- kb/concepts/patterns/Mesh Sync.md
- kb/concepts/patterns/Quality Scoring.md
- kb/concepts/patterns/Reciprocal Rank Fusion.md
- kb/concepts/patterns/Self-Healing.md
- kb/concepts/patterns/Shared vs Private.md
- kb/concepts/patterns/Typed Relationships.md
- kb/concepts/patterns/Vector Search.md
- kb/concepts/patterns/Work Coordination.md
- kb/concepts/problems/Ambient Environment Dependency.md
- kb/concepts/problems/Detect-Repair Asymmetry.md
- kb/concepts/problems/Green Suite Blind Spot.md
- kb/concepts/problems/Naming Convention Conflict.md
- kb/concepts/problems/Write-Once Frontmatter Fields.md
- kb/concepts/protocols/CPPC.md
- kb/concepts/protocols/Modbus.md
- kb/concepts/protocols/SSD TRIM.md
- kb/concepts/workflows/Anti-Cramming Heuristic.md
- kb/concepts/workflows/Bulk Operations.md
- kb/concepts/workflows/CI Integration.md
- kb/concepts/workflows/Checkpoint Audit.md
- kb/concepts/workflows/Claude Code Auto Mode.md
- kb/concepts/workflows/Content Quality Control.md
- kb/concepts/workflows/Crystallization.md
- kb/concepts/workflows/Event-Driven Automation.md
- kb/concepts/workflows/Hooks.md
- kb/concepts/workflows/Index Scaling.md
- kb/concepts/workflows/Iteration and Cost Limits.md
- kb/concepts/workflows/KB Migration.md
- kb/concepts/workflows/Knowledge Compounding.md
- kb/concepts/workflows/Lint Workflow.md
- kb/concepts/workflows/Mass-Update Gate.md
- kb/concepts/workflows/Multi-Agent Collaboration.md
- kb/concepts/workflows/Privacy and Governance.md
- kb/concepts/workflows/Publish-Remote Gate.md
- kb/concepts/workflows/Quality and Self-Correction.md
- kb/concepts/workflows/Semantic Lint Automation.md
- kb/concepts/workflows/Session Orientation.md
- kb/concepts/workflows/Split Merge Reclassify.md
- kb/concepts/workflows/Split Threshold.md
- kb/concepts/workflows/Stub Threshold.md
- kb/concepts/workflows/Supersession.md
- kb/concepts/workflows/User Management.md
- kb/concepts/workflows/Workflow Extraction.md
- kb/concepts/workflows/Workflow Orchestration.md
- kb/index.md
- kb/log.md
- tools/CONTRACT.md
- tools/README.md
- tools/chemenu/catalog.py
- tools/chemenu/commands/index_build.py
- tools/chemenu/lint_core.py
- tools/chemenu/tests/conftest.py
- tools/chemenu/tests/test_cite_cmd.py
- tools/chemenu/tests/test_git_publish.py
- tools/chemenu/tests/test_index_build.py
- tools/chemenu/tests/test_lint.py
- tools/chemenu/tests/test_new_page.py
- tools/chemenu/tests/test_provenance.py
- tools/chemenu/tests/test_type_resolver.py
- tools/chemenu/tests/test_xref.py
- types/concept.md
- types/type-spec.md
2026-09-08 10:07:46 +02:00

195 lines
5.3 KiB
Markdown

---
type: types/concept.md
concept_type: protocol
tags: [storage, ssd, performance, optimization, linux]
created: 2026-07-31
modified: 2026-08-29
related:
- see-also: LVM
- see-also: Arch Linux
sources: [Source - Arch Linux Cheat Sheet]
confidence: 0.90
confidence_base: 0.90
provenance: sourced
summary: Datenträgerbefehl, mit dem SSDs ungenutzte Blöcke zurückgewinnen - für gleichbleibende Leistung und längere Lebensdauer.
---
# SSD TRIM
**Typ:** protocol
## Definition
TRIM (oder Discard) ist ein Befehl, der einem Betriebssystem ermöglicht, eine Solid-State Drive (SSD) darüber zu informieren, welche Datenblöcke nicht mehr in Gebrauch sind und intern gelöscht werden können. Dies ist entscheidend für die Erhaltung der SSD-Leistung und Lebensdauer, da es der Garbage Collection der SSD ermöglicht, ungenutzte Blöcke freizugeben.
## Kernpunkte
- **Zweck:** Erhaltung der SSD-Leistung und Verlängerung der Lebensdauer
- **Mechanismus:** OS benachrichtigt SSD über ungenutzte Blöcke
- **Vorteil:** Verhindert Schreibverstärkung und Leistungsabbau
- **Protokoll:** Teil des ATA- und SCSI-Befehlssatzes
## Wie TRIM funktioniert
### Ohne TRIM
1. SSD schreibt Daten in einen Block
2. Block wird „belegt"
3. Datei wird vom OS gelöscht
4. OS markiert Block als „frei", aber SSD weiß das nicht
5. Nächster Schreibvorgang erfordert: alte Daten lesen → ändern → löschen → neue Daten schreiben
6. Leistung verschlechtert sich im Laufe der Zeit
### Mit TRIM
1. SSD schreibt Daten in einen Block
2. Block wird „belegt"
3. Datei wird vom OS gelöscht
4. **OS sendet TRIM-Befehl:** „Block X wird nicht mehr verwendet"
5. SSD markiert Block intern als „veraltet"
6. Nächster Schreibvorgang: SSD kann direkt in vorgel​öschten Block schreiben
7. Leistung bleibt konsistent
## TRIM unter Linux aktivieren
### TRIM-Unterstützung überprüfen
```bash
# Check if SSD supports TRIM
lsblk -D | grep -i discard
# Check if filesystem supports TRIM
lsblk -f | grep -i discard
```
### Manuelles TRIM
```bash
# Run TRIM manually on a mount point
fstrim /mount/point
# Run TRIM on all mounted filesystems
fstrim -a
# Verbose output
fstrim -v /mount/point
```
### Automatisches TRIM
**systemd-Timer (empfohlen):**
```bash
# Enable weekly TRIM timer
systemctl enable fstrim.timer
systemctl start fstrim.timer
# Check status
systemctl status fstrim.timer
# Manual trigger
systemctl start fstrim.service
```
**Cron-Job (Alternative):**
```bash
# Add to root's crontab
0 3 * * 0 fstrim -a
```
## TRIM mit Verschlüsselung
Beim Einsatz von Laufwerksverschlüsselung (dm-crypt/LUKS) erfordert TRIM-Unterstützung besondere Aufmerksamkeit wegen Sicherheitsauswirkungen.
### Sicherheitsaspekte
**Warnung:** Das Zulassen von Discard (TRIM) auf verschlüsselten Geräten kann Informationen offenlegen über:
- Welche Blöcke in Gebrauch sind
- Dateisystem-Nutzungsmuster
- Potenziell vertrauliche Metadaten
### Optionen für verschlüsselte SSDs
#### Option 1: Discard auf LUKS-Ebene zulassen
```bash
# For new encryption
cryptsetup luksFormat --allow-discards /dev/sdX
# For existing encryption (requires reencryption)
cryptsetup reencrypt --encrypt --reduce-device-size 16M --allow-discards /dev/sdX
```
#### Option 2: Periodisches fstrim (Empfohlen für Sicherheit)
```bash
# Disable discard in crypttab
# /dev/sdX1 /mnt/crypt ext4 defaults 0 2
# Manually run fstrim after unlocking
fstrim /mnt/crypt
# Or use systemd timer (runs after boot)
systemctl enable fstrim.timer
```
#### Option 3: Hybrid-Ansatz
- Discard für unverschlüsselte Metadatenbereiche zulassen
- Periodisches fstrim für Datenbereiche verwenden
**Referenz:** https://wiki.archlinux.org/title/Dm-crypt/Specialties#Discard/TRIM_support_for_solid_state_drives_(SSD)
## TRIM-Status überprüfen
```bash
# Check if discard is enabled for device
lsblk -D /dev/sdX
# Check mount options
mount | grep discard
# Check filesystem support
lsblk -o NAME,FSTYPE,DISC-GRAN,DISC-MAX
```
## Dateisystem-Unterstützung
| Dateisystem | TRIM-Unterstützung | Hinweise |
|------------|---------------|-------|
| ext4 | Ja | Standard in modernen Kerneln |
| XFS | Ja | Online-Discard unterstützt |
| Btrfs | Ja | Subvolume-fähig |
| NTFS | Ja | Via ntfs-3g |
| FAT32 | Nein | Keine TRIM-Unterstützung |
## Leistungsauswirkung
- **Ohne TRIM:** Leistung kann sich nach längerer Verwendung um 30-50 % verschlechtern
- **Mit TRIM:** Leistung bleibt nah bei Neu-Niveau
- **Overhead:** TRIM-Befehle verursachen minimalen Overhead (~1-2%)
## Wann zu verwenden
- **Immer:** Auf SSD-Speichergeräten
- **Empfohlen:** Auf NVMe-Laufwerken (TRIM ist noch kritischer)
- **Erwägen:** Auf Hybrid-SSHD-Laufwerken
- **Nicht nötig:** Auf HDD (rotierenden) Laufwerken
## Wann NICHT zu verwenden
- Auf HDD (rotierenden) Laufwerken - kein Nutzen
- In hochsicheren Umgebungen, in denen Informationsverlust inakzeptabel ist (Kompromisse erwägen)
- Auf Dateisystemen, die TRIM nicht unterstützen
## Beziehungen
(dm-crypt/LUKS)
- **Wirkt sich aus auf:** Speicherleistung SSD-gestützter Systeme
## Siehe auch
- [[Source - Arch Linux Cheat Sheet]]
- https://wiki.archlinux.org/title/Solid_State_Drives
- https://wiki.archlinux.org/title/Dm-crypt/Specialties#Discard/TRIM_support_for_solid_state_drives_(SSD)
<!-- wikitool:links -->
## Beziehungen
- **see-also:** [[LVM]]
- **see-also:** [[Arch Linux]]
<!-- /wikitool:links -->