Kirjoittaja Aihe: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)  (Luettu 7173 kertaa)

Sami Lehtinen

  • Käyttäjä
  • Viestejä: 754
  • Techie
    • Profiili
    • Sami Lehtinen
ExFAT overview - Olipa varsin mielenkiintoista luettavaa. Ei sinänsä, etteikö tuo olisi erittäin selkeä ja yksinkertainen. Mutta eniten fiksusta ajattelusta tuli pisteitä sen osalta, että FAT taulukkoa ei ole edes pakko käyttää, silloin kun fragmentoitumista ei ilmene. Eli yhtenäiset tiedot voidaan merkata suoraan hakemistoon alkuklusterilla ja datan pituudella. Sekä tietenkin päivittämällä freespace bitmap, mutta FATiin ei ole pakko koskea lainkaan.

Tuossa on haettu sitä, että ei tarvitsisi kirjoitella moneen paikkaan levylle. Varsinkin Solid State medioilla write amplification on järkyttävä pienillä kirjoituksilla. Tämä olennaisesti vähentää sitä. Pahimmillaan USB flash tikku tai SD kortti kirjoittaa 4 megatavua jokaista yhden tavun kirjoitusta kohti, kun kirjoitukset tehdään random writenä eri levyn osoitteisiin.  Tämä näkyy myös tikkujen nopeudessa, varsinkin tiedostojärjestelmillä jotka eivät osaa välttää näitä hajakirjoituksia. (NTFS on yksi pahimmista, jonka huomaa varsinkin kun kirjoittaa tikulle kasan pieniä fileitä ja sen jälkeen valitsee heti dismountin / ejectin.)

Mainio systeemi siis varsinkin USB-tikuille ja "medialevyille" joilla käsitellään suhteellisen pientä määrää isoja tiedostoja. Mitä sitten tulee noihin tiedostonkokorajoituksiin kun niistä valitetaan, niin uskoisin että tuo 16 eksatavua riittää alkuun vähän kovemmallekkin 3D HD warettelijalle.

exFAT pelaa XP:llä, käytännössä kaikilla Windowsseilla ja myös Ubuntulla ja Linuxilla.

Vanhan XP:n kanssa pitää tosin ladata päivitys.

Olen tuota exfattia käytellyt reilut pari vuotta usb-tikuilla ja hyvin on pelannut. Ainoa riesa tosissaan on tuo että joskus törmää vanhoihin XP vermeisiin joilla se ei sitten pelaa.

Ubuntulla löytyy asennettavat paketit exfat-utils ja exfat-fuse.

Edit, jatkot:

Jos aihe kiinnostaa, niin kannattaa myös lukaista ajatuksen kanssa tämä ja tämä.
« Viimeksi muokattu: 28.10.13 - klo:19.55 kirjoittanut Sami Lehtinen »

Jaer

  • Käyttäjä
  • Viestejä: 528
    • Profiili
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #1 : 28.10.13 - klo:20.11 »
Kiitti vinkistä. Pitääpä kokeilla.

Onko Käynnistyslevyn luonti ohjelmalla tuki tuohon. Ajattelin poltaa Ubuntun .iso tiedoston USB-Liveksi?

« Viimeksi muokattu: 28.10.13 - klo:20.18 kirjoittanut Jaer »
Rauta seiska: Intel Core i7 @ 920 & Nvidia
Ubuntu, Mint, Debian, Ultimate Edition
Androidina HTC Desire HD

Sami Lehtinen

  • Käyttäjä
  • Viestejä: 754
  • Techie
    • Profiili
    • Sami Lehtinen
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #2 : 28.10.13 - klo:20.26 »
Onko Käynnistyslevyn luonti ohjelmalla tuki tuohon. Ajattelin poltaa Ubuntun .iso tiedoston USB-Liveksi?

Nyt meni vähän ohi mitä tässä ajetaan takaa? Botti tikkuhan kirjoitetaan suoraan block deviceen, eli siinä tikun imagen:n sisällä on se tiedostojärjestelmä mikä sitten ikinä kirjoitetaankin tikulle.

Toisekseen, exfat ei ole suositeltava ratkaisu käyttikselle / bootille, johtuen siitä, että se ei ole journaloiva. Vain Windows CE 6.0 käyttää TexFAT:ia joka tukee journalia. Journalointi on kuitenkin aivan olennainen ominaisuus kun puhutaan käyttiksestä, koska muuten tiedostojärjestelmä voi osittain korruptoitua tilanteissa joissa kirjoituksia ei hoideta loppuun asti.

Tämä lienee myös yksi niistä syistä miksi monet Android vermeet käyttää YAFFS2:sta. YAFFS2:n kanssa voidana myös hyvässä tilanteessa välttää tarve FTL:lle ja Wear Leveling:lle, vaikka useimmat nykyiset fash-mediat nuo implementoikin. Ehkäpä puhelimissa käytetään sisäisesti flashiä jossa luoetaan soft-pohjaiseen wear levelingiin. YAFFS2 ei kylläkään tee staattista wear levelingiä vaan ainoastaan dynaamisen. Samoin halpikset flash mediat eivät todennäköisesti käytä staattista wear levelingiä, joten ne on syytä formatoida silloin tällöin, jotta kaikki blokit medialta saa kiertoon.
« Viimeksi muokattu: 28.10.13 - klo:20.53 kirjoittanut Sami Lehtinen »

nm

  • Käyttäjä
  • Viestejä: 16429
    • Profiili
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #3 : 28.10.13 - klo:20.49 »
Boottitikuissa käytetään usein pohjana FAT32-tiedostojärjestelmää, mutta juuriosio ja muuttuva data sijaitsevat vakiokokoisessa levykuvatiedostossa, joka sisältää jonkun toisen tiedostojärjestelmän. Esimerkiksi Ubuntu-pohjaisissa livejärjestelmissä on casper-rw-niminen tiedosto, joka sisältää loopback-mountattavan ext2/3/4-osion. Tällaisessa käytössä exfatista olisi hyötyä siinä, että levykuvatiedosto voisi olla isompi kuin 4 Gt. Varsinaista suorituskykyä se ei parantaisi.

Syslinux-käynnistyslataaja ei taida tukea boottausta exfat-osiolta, joten esimerkiksi Unetbootinilla tehty asennus ei suoraan toimi. Syslinux pitäisi korvata GRUB4DOS:lla, joka ilmeisesti tukee exfat-boottausta.

Käytännössä on helpompaa tehdä tikulle ihan täysi Linux-asennus jollain sopivalla tiedostojärjestelmällä, jos FAT32:n 4 Gt:n rajoitus ahdistaa.
« Viimeksi muokattu: 28.10.13 - klo:20.51 kirjoittanut nm »

Jaer

  • Käyttäjä
  • Viestejä: 528
    • Profiili
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #4 : 28.10.13 - klo:20.54 »
Tätä vähä ounastelin, nm

Edit1:

 Villi veikkaukseni on, että jonain päivänä Syslinux tukee em. juttuja.

Edit2: Lueskelin hieman wikiä ja sieltä ilmeni, että exFAT (Extended File Allocation Table) on Microsoftin tiedostojärjestelmä, joka on optimoitu flash-asemille. Sen lisäksi se on Microsoftin oma ja patentoitu.
« Viimeksi muokattu: 28.10.13 - klo:21.06 kirjoittanut Jaer »
Rauta seiska: Intel Core i7 @ 920 & Nvidia
Ubuntu, Mint, Debian, Ultimate Edition
Androidina HTC Desire HD

Sami Lehtinen

  • Käyttäjä
  • Viestejä: 754
  • Techie
    • Profiili
    • Sami Lehtinen
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #5 : 28.10.13 - klo:21.08 »
Boottitikuissa käytetään usein pohjana FAT32-tiedostojärjestelmää, mutta juuriosio ja muuttuva data sijaitsevat vakiokokoisessa levykuvatiedostossa, joka sisältää jonkun toisen tiedostojärjestelmän.

Tässähän on se hauskuus, että normaaliin Linux tyyliin tämäkin asia voidaan tehdä lukemattomilla eri tavoilla.
Koodia: [Valitse]
dd bs=4M if=image of=/dev/sdx && sync
Tuossahan ei oteta mitään kantaa siihen, mikä tiedostojärjestelmä tikulle laitetaan. Eikä rautakaan teknisesti ota siihen mitään kantaa, miltä tiedostojärjestelmältä bootataan. Riitää kunhan vain boottiin tarvittavat bitit löytyvät, jotta bios osaa aloittaa koodin lataamisen ja suorittamisen tikulta. Noiden juttujen kanssa tuli PXEBOOT virityksiä tehdessä kyllä ihmeteltyä.

Nykyisellän SSD:llä on GPT ja EFI yhdistelmän takia FAT32 + btrfs käytössä, toimii sekin ihan hyvin. Eli teknisesti bootti nimenomaisesti lähtee käyntiin FAT32lta. Pitäisikin muuten ihan mielenkiinnon vuoksi katsoa, mitä tuolla FAT32 osiolla edes oikeasti on.

Jaer

  • Käyttäjä
  • Viestejä: 528
    • Profiili
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #6 : 28.10.13 - klo:21.36 »
SSD  filesystemssejä selatessa otti simmuun tälläinen juttu. Siinä ei kylläkään viitata millään muotoa exfattiin.

archlinux.org - Solid State Drives

Jutussa mainitaan : Btrfs, Ext4, XFS, JFS ja JFS TRIM

Lainaus

Yet another change for the Linux 3.7 kernel is that the JFS file-system now supports the SSD TRIM command.

Jphoronix.com - FS File-System Can Now Handle SSD TRIM Discard

Edit: http://en.wikipedia.org sivulla on lueteltu Flash memory / SSD formaatit:
   
FAT, exFAT, CHFS, TFAT, FFS2, F2FS, JFFS, JFFS2, LogFS, NVFS, YAFFS, UBIFS

Ugh. Olen puhunut.
« Viimeksi muokattu: 28.10.13 - klo:21.47 kirjoittanut Jaer »
Rauta seiska: Intel Core i7 @ 920 & Nvidia
Ubuntu, Mint, Debian, Ultimate Edition
Androidina HTC Desire HD

salai

  • Käyttäjä
  • Viestejä: 2126
    • Profiili
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #7 : 29.10.13 - klo:00.16 »
Boottitikuissa käytetään usein pohjana FAT32-tiedostojärjestelmää, mutta juuriosio ja muuttuva data sijaitsevat vakiokokoisessa levykuvatiedostossa, joka sisältää jonkun toisen tiedostojärjestelmän. Esimerkiksi Ubuntu-pohjaisissa livejärjestelmissä on casper-rw-niminen tiedosto, joka sisältää loopback-mountattavan ext2/3/4-osion. Tällaisessa käytössä exfatista olisi hyötyä siinä, että levykuvatiedosto voisi olla isompi kuin 4 Gt. Varsinaista suorituskykyä se ei parantaisi.

Syslinux-käynnistyslataaja ei taida tukea boottausta exfat-osiolta, joten esimerkiksi Unetbootinilla tehty asennus ei suoraan toimi. Syslinux pitäisi korvata GRUB4DOS:lla, joka ilmeisesti tukee exfat-boottausta.

Käytännössä on helpompaa tehdä tikulle ihan täysi Linux-asennus jollain sopivalla tiedostojärjestelmällä, jos FAT32:n 4 Gt:n rajoitus ahdistaa.

Tuo on kyllä väärinkäsitys, että casper-rw:n pitäisi olla loopback-mountattava tiedosto, se voi aivan hyvin olla erillinen casper-rw-niminen osio, alustettuna johonkin Linuxin tuntemaan tiedostojärjestelmään. Kun katselin vanhoja viestejäni, olen sellaisia systeemeitä käyttänyt jo vuodesta 2008 lähtien ja kertonutkin sen omasta mielestäni useampaan kertaan kohtalaisen selvästi - yleensä ilman suurempaa vastakaikua.

Tikuille olen nykyisin laittanut buuttiosioksi aina Fat16, koska läheskään kaikki yhdistelmäni eivät käynnisty Fat32:lta.

nm

  • Käyttäjä
  • Viestejä: 16429
    • Profiili
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #8 : 29.10.13 - klo:09.05 »
Tuo on kyllä väärinkäsitys, että casper-rw:n pitäisi olla loopback-mountattava tiedosto, se voi aivan hyvin olla erillinen casper-rw-niminen osio, alustettuna johonkin Linuxin tuntemaan tiedostojärjestelmään.

Jep, tiedän että tämäkin onnistuu. Selitin vain miten Ubuntu-livetikut yleensä rakentuvat valmiilla työkaluilla. Muut vaihtoehdot edellyttävät pientä virittelyä.

Sami Lehtinen

  • Käyttäjä
  • Viestejä: 754
  • Techie
    • Profiili
    • Sami Lehtinen
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #9 : 31.10.13 - klo:17.41 »
Mä olen tykännyt kovasti tuosta valmiista image optiosta, ei tarvitse rakennella mitään. Riittää että pudottaa data usb-tikulle, kiintolevylle, tai mihin nyt haluaakin.

exFAT klusteri koot on myös mlkoisen vaihtelevat perinteiseen verrattuna. Yhdessä asiassa tosin MS kunnostautuu kludgettamalla kunnolla. exFAT käyttää samaa timestamppia kuin FAT32 mutta sen lisäksi on lisäkenttä joka kertoo 10millisekunnin tarkkuudella ajankohdan, sen arvo on sitten 0..199, kun normaalin timestampin tarkkuus on 2 sekuntia.

Tuo pisti vähän hymylyittämään. Mutta toki tuo mahdollistaa sen, että mikäli ajuri on laiskasti kirjoitettu niin riittää että hanskaa ton perinteisen fat time-stampin.

Noi maksimissaan 32 megaset klusterit on kanssa melkoisia. Toisaalta, nykyjään moneen paikkaan tallennetaan muutama mediatiedosto, eikä satojatuhansia pikkutiedostoja. Joten siinä mielessä iso klusterikoko ei ole ongelma.

Sami Lehtinen

  • Käyttäjä
  • Viestejä: 754
  • Techie
    • Profiili
    • Sami Lehtinen
Vs: ExFAT vaihtoehto vs FAT32 / NTFS (flash, nand, ssd)
« Vastaus #10 : 03.11.13 - klo:10.56 »
Tiedä sitten mistä johtuu, mutta tein ihan piruuttani DT101 G3 Kingstonin 8 gigasella tikulla pienet testit Win 7:n kanssa ja tulokset olivat hieman odottamattomat ja seuraavanlaiset.

Tuolla muuten aivan olennaisena pointtina on se, että käyttöjärjestelmän cachetus voi olla erilainen eri tiedostojärjestelmille. Sitä mun on vaikea analysoida, mutta uskon sen olevan merkittävä tekijä tuloksien suhteen kuitenkin.

Edit, jatkan tänne perään vaan:
Tässä myös mielenkiintoinen uusi tiedostojärjestelmä joka on suunniteltu nimenomaisesti SSD levyjä varten. https://en.m.wikipedia.org/wiki/F2FS

Mutta kuiten todettu, useimmat tiedostojärjestelmät toimii ihan kothuullisesti Flasheillä kun käytössä on FTL.
« Viimeksi muokattu: 05.11.13 - klo:19.42 kirjoittanut Sami Lehtinen »