Jump to content

FAT16 vs FAT32 vs NTFS speed on USB stick


ilko_t

Recommended Posts

uf, a cluster size of 64kb that would really be a waste especially since I have lots of little files below the 64KB on the usb pen.

Have MS posted any info why FAT32 is slower on WinXP than Win2k?

That really seems counter-productive.

Edited by BigDaddy
Link to comment
Share on other sites


That really seems counter-productive.

Counter-productive to what? :unsure:

If the "base idea" from the good guys at MS is to NOT let people run NT based systems on USB flash devices, by:

  • making FAT32 slower
  • making "common" flash based devices unpartitionable (with the "Removable" vs. "Fixed" bit) in the controller
  • failing to supply a Filter Driver to workaround above
  • pushing NTFS as the preferred filesystem (and thus heightening the risk of premature wear)

it seems to me like they did a VERY good work.... :whistle:

jaclaz

Link to comment
Share on other sites

BTW you may try replacing the above mentioned driver(s) ONLY in the ~BT folder with those from 2000, keeping the originals in ~LS.

During Text mode the drivers in ~BT folder are loaded and used, but not copied to the target Windows being installed. The ones from ~LS folder are copied instead.

Will take some tests to determine the proper combination of drivers, if possible at all.

Link to comment
Share on other sites

Windows 2000 and XP use different cache behaviour.

I guess that's the main difference. I don't have a full explanation.

Uwe describes some XP USB behaviour.

http://www.uwe-sieber.de/usbstick_e.html

A average USB stick at default settings:

FAT, FAT32: no write cache

NTFS: with write cache

A USB stick is often marked removable.

As knwon a factory tool can flip this setting, e.g. Lexar BootIT.

Or a filter driver can flip this setting. Cfadisk.sys can be integrated at textmode.

http://www.msfn.org/board/index.php?s=&amp...st&p=818429

Policy 'Optimize for quick removal' is stored in registry.

That's a hardware related setting:

[HKLM\SYSTEM\CurrentControlSet\Enum\USBSTOR\#specific HardwareID#\Device Parameters\Classpnp]
"UserRemovalPolicy"=dword:00000002

Setting can be integrated at migrate.inf or setupreg.hiv.

I wonder:

Does write cache enable a read cache too?

Given a USB stick and write cache active:

What's text mode copy time for FAT, FAT32 and NTFS?

Just for the record, MS released exFAT drivers for XP SP2 or SP3:

Well, how to build a bootable exFAT USB stick at XP?

Do you update mbrbatch.cmd and mkimg.cmd?

format /FS:exFAT creates 32kb cluster at a 2gb USB stick.

At first glance cache behaviour is not changed. Writing small files is slow, no write cache by default.

Link to comment
Share on other sites

Well, how to build a bootable exFAT USB stick at XP?

Do you update mbrbatch.cmd and mkimg.cmd?

I have no idea, don't even know if it will EVER be bootable.

I mean, exFAT support needs to be integrated in NTLDR/SETUPLDR.BIN, otherwise there is no way for intial stages of booting, maybe it is possible to "enhance" current "advanced" method "Fake Signature"/"XP Kansas City Shuffle" to support using a "normal filesystem" kicker image and switch during the shuffle the filesystem?

But anyway we'll need to wait for exFAT32 support in grub4dos....

About updating the batches, as soon as I find some time to do that, I hope I will be able to :), though if the above speculation is true there would be not much of a point, would it? :unsure:

jaclaz

Link to comment
Share on other sites

I wonder:

Does write cache enable a read cache too?

Maybe it's still all about the write cache? Setup attempts to delete the compressed files while expanding them to target directory. USB devices are write protected, but maybe those attempts for deletion are still speeded up by the enabled write-cache triggered by using NTFS:

http://www.uwe-sieber.de/usbstick_e.html

Obviously Windows XP doesn't enable a write cache for USB drives that appear as 'Removable'. The settings 'Optimize for quick removal' or 'Optimize for performance' doesn't seem to make any difference then, except that the latter enables the user to format 'Removable' USB drives with NTFS. But with NTFS Windows XP enables a write cache, writing small files becomes lightning fast.
Seems using NTFS triggers use of write cache even on removable drives.

Removing write-protection gives no speed difference in the tests above, write cache still matters.

Could this be the explanation?

A quick test using this approach (no deleted files during Text mode), may reveal if that's the case:

http://www.msfn.org/board/index.php?showtopic=119742

I'll have no test rig around for some weeks, any taker?

Edited by ilko_t
Link to comment
Share on other sites

I mean, exFAT support needs to be integrated in NTLDR/SETUPLDR.BIN, otherwise there is no way for intial stages of booting
Yes, that's true.
maybe it is possible to "enhance" current "advanced" method "Fake Signature"/"XP Kansas City Shuffle" to support using a "normal filesystem" kicker image and switch during the shuffle the filesystem?
Yes, that's possible. I'm chainbooting exFAT at XP already. Did worked at first trial.

BTW: chainboot works at Windows 2000 and XP64 too, should work at all ntldr or setupldr.bin. Most likely at bootmgr too.

But anyway we'll need to wait for exFAT32 support in grub4dos....
Yes, current grub4dos at MBR: dosn't find grldr at exFAT.

@ilko_t

Yes, write cache maybe the main difference.

As for SetupSourceDevice harddisk:

I dislike this because BIOS may change harddisk number. That's not a universal solution.

Maybe use new grub4dos write: boot grub4dos, write txtsetup.sif, set SetupSourceDevice harddisk

Link to comment
Share on other sites

@ilko_t

Yes, write cache maybe the main difference.

As for SetupSourceDevice harddisk:

I dislike this because BIOS may change harddisk number. That's not a universal solution.

Maybe use new grub4dos write: boot grub4dos, write txtsetup.sif, set SetupSourceDevice harddisk

Yep, not universal, but should do the trick just to reveal if the write cache makes the difference, since there are no write attempts when using it.

As for the grub4dos write- I doubt, grub4dos uses BIOS disk numbering, boot disk is hd0. At partition screen the same disk is harddisk1, internal one is harddisk0, even though it's not the first in BIOS boot order.

The only semi-logical explanation I found was that disks numbering is in alphabetical order, as per driver name. I.e. disks on ATAPI.SYS get the first numbers, then on DISK.SYS, then SIL3112.SYS for example. Drive letter assignment still depends on BIOS numbering, fixed/removable is taken into account.

Compare:

http://www.msfn.org/board/index.php?showto...st&p=705697

http://www.msfn.org/board/index.php?showto...st&p=647581

img1516ml1.th.jpg

USB disks are at DISK.SYS. I tried to rename it to _isk.sys and amend txtsetup.sif accordingly. This failed, disk.sys is hardcoded and used in other drivers, I did not go further.

Thanks for your input, as always you trigger a little brainstorm.

Link to comment
Share on other sites

USB disks are at DISK.SYS. I tried to rename it to _isk.sys and amend txtsetup.sif accordingly. This failed, disk.sys is hardcoded and used in other drivers, I did not go further.

Probably also setup.hiv and .inf files need to be amended...:unsure:

You can try renaming other drivers, i.e. ATAPI.SYS->ZTAPI.SYS, just for the sake of checking? :blink:

I don't think it will work, as an ATA/IDE drive will be both under ATAPI.SYS and DISK.SYS.....:(

jaclaz

Link to comment
Share on other sites

  • 2 weeks later...

as long as this update will not be automatically delivered through WU the majority of WinXP users will not have support for exFAT and thus my USB drive becomes much less portable if exFAT is used.

Edited by BigDaddy
Link to comment
Share on other sites

The answer to the speed issue on Usb sticks between W2k, Xp, Fat, Ntfs seems well explained here:

http://www.uwe-sieber.de/usbstick_e.html under "Cache or not"

[EDIT: oops, sorry, already mentioned in a post above]

The whole site is very interesting:

http://www.uwe-sieber.de/english.html

Edited by pointertovoid
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...