Kovalevy myyty todellista pienempänä? Vaiko sittenkin bugi?

  • Keskustelun aloittaja Keskustelun aloittaja Ormu
  • Aloitettu Aloitettu

Ormu

BANNATTU
BANNED
Liittynyt
17.10.2016
Viestejä
2 306
Ihan alkuun varoitus, että alla mainittuja komentoja ei pidä syöttää, jos ei tiedä ihan varmasti, mitä on tekemässä. Hdparm-työkalulla sähläämällä levyltä saa pahimmillaan tuhottua kaiken datan.

Olen poistamassa käytöstä yhtä vanhaa konetta, ja samalla kun tyhjentelen kovalevyjä, tuli huvin vuoksi tarkastettua, onko niissä Host Protected Area (wikipedia) käytössä. Ja kuinka ollakaan, 40 GB Samsungissa on:

Koodi:
# hdparm -N /dev/sda

/dev/sda:
  max sectors    = 78242976/262792352, HPA is enabled

Ensimmäinen luku on näkyvien sektoreiden määrä ja se täsmää 40 GB kokoon (512 tavun sektorit). Toinen luku on levyn raudan ilmoittama määrä/yläraja, ja tuon arvon perusteella levyltä voisi olla mahdollista saada tilaa jopa noin 134 GB.

Näkyvien sektoreiden määrän kasvattaminen ei kuitenkaan onnistu:

Koodi:
# hdparm -N 78242977 --yes-i-know-what-i-am-doing /dev/sda

/dev/sda:
  setting max visible sectors to 78242977 (temporary)
SG_IO: bad/missing sense data, sb[]:    70 00 05 00 00 00 00 0a 04 51 e4 00 21 04 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  max sectors    = 78242976/262792352, HPA is enabled


Koodi:
# hdparm -N 78242978 --yes-i-know-what-i-am-doing /dev/sda

/dev/sda:
  setting max visible sectors to 78242978 (temporary)
SG_IO: bad/missing sense data, sb[]:    70 00 05 00 00 00 00 0a 04 51 e4 00 21 04 00 00 00 a1 00 00 00 00 00 00 00 00 00 00 00 00 00 00
  max sectors    = 78242976/262792352, HPA is enabled

Tuo virheilmoitus sisältänee sektorimäärän jossain muodossaan, koska eri luvuilla se muuttuu (a0 -> a1). En selvittänyt vielä tarkemmin.

Myöskään pysyvä muutos ("p" numeron eteen) ei onnistu. Silloin tulee dmesg-lokiin tällaiset virheilmoitukset. Nämä näkyvät myös aivan koneen käynnistyksen alussa.

Koodi:
[...] ata2: nv_mode_filter: 0x3f39f&0x3f39f->0x3f39f, BIOS=0x3f000 (0xc500c6c7) ACPI=0x3f01f (20:15:0x1f)
[...] ata2: nv_mode_filter: 0x7f39f&0x7f39f->0x7f39f, BIOS=0x7f000 (0xc500c6c7) ACPI=0x7f01f (20:15:0x1f)

Piirisarja on nForce 4 ja tuo nv_mode_filter liittynee siihen. Voisiko ongelma liittyä siihen, että piirisarjan ajuri estää sektorimäärillä kikkailun?

Sektorimäärän pienentäminen sen sijaan vaikuttaisi onnistuvan, mutta se ei ole kovin hyödyllistä.


Noin paljon ylimääräistä tilaa (134 - 40 = 94 GB) tuskin on mitään käyttöjärjestelmän palautusosiota varten, joten onkohan kovalevyjä joskus myyty todellista pienemmällä kapasiteetilla niin, että ylimääräinen tila on tungettu HPA:han pois näkyvistä?

Tässä tapauksessa HPA:n poistaminen ei kuitenkaan ota onnistuakseen, eli onkohan sektoriraja asetettu myös levyn firmwareen tai johonkin? Vai onkohan kyseessä vain joku bugi/epämääräisyys siinä, miten levy ilmoittaa sektorien määrän?

BIOSista ei löytynyt mitään HPA:han viittaavaa asetusta.


Kone ja sen kovalevythän ovat jo pitkälti kierrätyskamaa, mutta on mielenkiintoista, jos kovalevyjäkin on myyty keinotekoisesti huonompina kuin mitä ne oikeasti ovat. :smoke:
 
Viimeksi muokattu:
Eikö tuossa pitäisi käyttää tuota jälkimmäistä lukemaa?

Siis 262792352 hdparmille, kun kasvattaa näkyvien sektorien määrää? Voi sitäkin käyttää, mutta se riippuu vain siitä, paljonko HPA:ta haluaa jättää jäljelle. Kyseinen luku ei toiminut sen paremmin kuin nuo esimerkitkään.
 

Koodi:
# hdparm --dco-identify /dev/sda

/dev/sda:
SG_IO: bad/missing sense data, sb[]:   70 00 05 00 00 00 00 0a 04 51 40 01 21 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
DCO checksum verified.
DCO Revision: 0x0000 -- unknown, treating as 0002
The following features can be selectively disabled via DCO:
        Transfer modes:

        Real max sectors: 1
        ATA command/feature sets:

"Real max sectors: 1" on ainakin epäilyttävä. Täytyy huomenna jatkaa kokeiluja. :smoke:
 
Katsoitko paljastaako hdparm -I mitään jännää?

Koodi:
# hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
    Model Number:       SAMSUNG SV4002H                         
    Serial Number:      xxxxxxxxxxxxxxxxxxxxx
    Firmware Revision:  QP100-07
Standards:
    Used: ATA/ATAPI-6 T13 1410D revision 1 
    Supported: 6 5 4 
Configuration:
    Logical        max    current
    cylinders    16383    16383
    heads        16    16
    sectors/track    63    63
    --
    CHS current addressable sectors:    16514064
    LBA    user addressable sectors:    78242976
    Logical/Physical Sector size:           512 bytes
    device size with M = 1024*1024:       38204 MBytes
    device size with M = 1000*1000:       40060 MBytes (40 GB)
    cache/buffer size  = 1945 KBytes (type=DualPortCache)
Capabilities:
    LBA, IORDY(cannot be disabled)
    Standby timer values: spec'd by Standard, no device specific minimum
    R/W multiple sector transfer: Max = 16    Current = ?
    Recommended acoustic management value: 128, current value: 0
    DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 
         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
            SET_MAX security extension
            Automatic Acoustic Management feature set
       *    Mandatory FLUSH_CACHE
Security: 
    Master password revision code = 65534
        supported
    not    enabled
    not    locked
    not    frozen
    not    expired: security count
        supported: enhanced erase
    20min for SECURITY ERASE UNIT. 20min for ENHANCED SECURITY ERASE UNIT.
HW reset results:
    CBLID- above Vih
    Device num = 0 determined by the jumper
Checksum: correct

Tuossa ei mielestäni ole mitään erikoista, tai ainakaan sellaista, mitä osaisin tulkita. Näkyvien sektorien määrä on tuossakin mainittu.
 
Kokeilin vielä HDAT2-työkalulla, ja sen mukaan HPA:ta ei ole ollenkaan. Näkyvien sektorien määrä on sama kuin laitteen ilmoittama maksimimäärä. DCO-valikkoa ei myöskään ole tämän levyn kohdalla näkyvissä.

Käviköhän tässä niin, että hdparm tai Linuxin kernel bugasi ja antoi väärää tietoa.
 
Noin vanha levy, niin voi olla sisällä yksi universaali firmware eri malleille. Sitten siihen vaan laitetaan se arvo, monta kiekkoa on sisällä. Eli levy on kunnossa ja ihan speksien mukainen, mutta mallisarjassa on myös levyjä, joissa on eri määrä tallennustilaa/sektoreita (esim. 3 kiekon sijaan 5 kiekkoa), niin niille on tuki firmwaressa tehty noin.
 

Uusimmat viestit

Statistiikka

Viestiketjuista
261 598
Viestejä
4 541 361
Jäsenet
74 828
Uusin jäsen
polygonpanda

Hinta.fi

Back
Ylös Bottom