On 11/25/14 13:19, Łukasz Maśko wrote:
Przepraszam za OT, ale sprawa związana jest bezpośrenio z PLD. Mam w laptopie
dysk SSD, który nie obsługuje TRIM:

$ sudo hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
         Model Number:       KingSpec KSD-ZF18.6-128MS
         Serial Number:      ZF18613110800309
         Firmware Revision:  20130619
Standards:
         Supported: 9 8 7 6 5
         Likely used: 9
Configuration:
         Logical         max     current
         cylinders       16383   16383
         heads           15      15
         sectors/track   63      63
         --
         CHS current addressable sectors:   15481935
         LBA    user addressable sectors:  247975936
         LBA48  user addressable sectors:  247975936
         Logical/Physical Sector size:           512 bytes
         device size with M = 1024*1024:      121082 MBytes
         device size with M = 1000*1000:      126963 MBytes (126 GB)
         cache/buffer size  = 1 KBytes (type=DualPort)
         Nominal Media Rotation Rate: Solid State Device
Capabilities:
         LBA, IORDY(can be disabled)
         Standby timer values: spec'd by Vendor, no device specific minimum
         R/W multiple sector transfer: Max = 1   Current = 0
         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
            *    Power Management feature set
                 Write cache
            *    Host Protected Area feature set
            *    WRITE_BUFFER command
            *    READ_BUFFER command
            *    NOP cmd
                 SET_MAX security extension
            *    48-bit Address feature set
                 Mandatory FLUSH_CACHE
                 FLUSH_CACHE_EXT
            *    SMART error logging
HW reset results:
         CBLID- above Vih
         Device num = 0
Integrity word not set (found 0x0000, expected 0x3ca5)

Jest to malutki dysk 1.8" ze złączem ZIF (nie SATA). Nie jest też szybki,
chociaż i tak 2x szybszy od tależówki (urok dość starego kompa ze złączem ZIF
do dysku i bez SATA). Użytkuję go już jakiś czas, ale ostatnio zaczęło mnie
wkurzać, że np. jak odpalę w konsoli aktualizację większych pakietów w
poldku, to cały system dostaje koszmarnej czkawki. Ponieważ dzieje się to
głównie właśnie przy zapisie, doszedłem do wniosku, że to z braku TRIM.
Zacząłem czytać o optymalizacji. Zmieniłem filesystem na ext4 (z innych
przyczyn początkowo), scheduler na NOOP. Ale tak się zacząłem zastanawiać,
czy nie ma przypadkiem jakiegoś sposobu na wykonanie TRIM mimo wszystko.
Mógłbym to zrobić offline, przejść do single i tam zapuścić. Raz na jakiś
czas. To nie serwer tylko laptop, mogę sobie na to pozwolić. Oczywiście bez
straty danych. Ale czy się da i jeśli tak, to jak?

Czy potraficie mi coś konstruktywnego poradzić?

Według mojej wiedzy jest po ptakach. W kontrolerach macierzowych (nie obsługujących TRIMu) stosuje się provisioning. Zostawia się ok 10-20% niespartycjonowanego miejsca na końcu dysku żeby miał zawsze dość wolnych komórek do podmieniania zużytych. Jeśli długo używasz i wszystkie komórki mają status "zajęta" to nawet jak zmniejszysz partycję i tak to nic nie da. Trzeba by zTRIMować cały dysk albo zapuścić security erase (którego też nie masz).
_______________________________________________
pld-users-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-users-pl

Odpowiedź listem elektroniczym