VOGONS


First post, by dragonkn

User metadata
Rank Newbie
Rank
Newbie

There is a lot of contradictory information about Compact Flash to IDE storage.
Some people say that the cf card is not usable for windows 9x with swap file. On the other hand, there is information that write cycles number is enough to use with windows 9x systems
I would like to test it!

My PC:
Pentium 2 @100 - 333mhz
Gigabyte ga686lx4
128 MB Ram
Sound Blaster Pro compatible sound card
Windows 95 with default settings (swap file: on - for example)

IDE to CF Adapter connected to floppy power connector:
3.3/5v - I set it to 5v - let's test it!

New old stock Kingston 1gb 33x speed

Types of tests:
I will be using this computer 4-5 days a week at least 1-2 hours a day
I will be playing games from 1992 to 1997 using windows 95 (not dos)
I will restore a fresh system backup from time to time

Known:
There is no problem with 33x CF speed- read/write speed are enough. Windows 95 is fast and the games run without hiccups
If something unexpected happens, I will let you know!
Edit:
I'm using PIO4 120 ns cycle time - this mode is autodetect via bios / system
benchmark show 4MB/s read and write speed and 1.79ms random acces time

Attachments

Last edited by dragonkn on 2022-01-27, 23:34. Edited 5 times in total.

Reply 2 of 16, by Datadrainer

User metadata
Rank Member
Rank
Member

For my part, I'm using the same SandDisk CF cards for years on different computers (PCs from MS-DOS 3.0 to Windows 2000 and with CF capacity from 512 MB to 128 GB). I'm using the machines some time a week I regularly check SMART info before to do a backup and everything is good for now. For Windows 98SE (CF 16 GB, RAM 64 MB), ME (CF 32 GB, RAM 128 MB) and 2K (CF 128 GB, RAM 512 MB) the cache file is rarely used. When Windows reach the RAM limit, it begins to heavily swap data between RAM and the WIN386.SWP (9x) or PAGEFILE.SYS (NT) cache file. And that is exactly what is dangerous for the memory cells on the CF card, so it requires some attention. But it is also not very good for a mechanical hard drive from the mechanical point of view. Solution is to increase the RAM size or to use the software on a more capable machine. Otherwise it is totally safe to uses CF cards from my experience.
The pros largely balance the cons:

  • lower power consumption
  • faster access-read-write time
  • easy to manage

But let you know your feedback, it is always welcome 😀

Knowing things is great. Understanding things is better. Creating things is even better.

Reply 3 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++

+1

Thanks for the information.

It's always refreshing to learn something new.
Especially if it involves gaining base knowledge, learning how things work.

That's something that's special. It's not unusual that people skip the "lame" low-level stuff and start on a higher level first.

For example, learning about Ohm's Law, how transistors/diodes/resistors/coils/relays operate. Or by what principle a thermionic valve works.
Or how watt/voltage/current relate to each other. Or how AC distinguishs from DC.
How switching PSUs actually work and how by design they do pollute the ether.
What RFI, sheet waves and ripple are. Why harmonics cause trouble and filters are useful.
That AF and RF are different, but sometimes the same.
Or what Thompson's theory of vibration means (useful for resonant circuits).
All these things can assist in trouble shooting.
Unfortunately, most programmers don't know them too well.

Edit: Despite the risk of sounding like a know-it-all (I'm not, don't worry), I'd like to also mention that
base knowledge of digital circuits (shift register, inverter, OR gate, AND gate etc; 4000 and 7400 series, 555 timer, 741 opamp) and using an oscilloscope is really worth it! ^^
These things make life so much easier.
They als help understanding why some things are the way are.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 4 of 16, by douglar

User metadata
Rank Oldbie
Rank
Oldbie

What PATA transfer mode is your CF negotiating with the IDE controller? Speedsys or Sysinfo should be able to tell you that.

I imagine running the CF data transfers at UDMA-6 (30ns cycles) instead of PIO-0 (600ns cycles) might impact the durability of your device.

p.s. Your CF adapter won't run faster than UDMA2 unless you ground pin 34 or connect it via an 80 conductor cable.

Last edited by douglar on 2022-01-27, 20:46. Edited 1 time in total.

Reply 5 of 16, by Datadrainer

User metadata
Rank Member
Rank
Member

@Jo22
That is science. To understand how things works. It requires curiosity, courage, method and time. But it is really complicated today to have global knowledge of a domain.
Da Vinci, by example, was a genius and he lived at the right time at the right place. So he was able do and try many things as everything had to be discovered (or rediscovered). But the more you dig into a subject, the more choices you have to make to continue digging because you discover multiple fields of research and you have to chose only some, most of the time one.
And even one requires a lot of time and comprehension ability (finding the keys to understanding). Some people try to understand things their whole life, ultimately failing. Some, for one reason (their approach, their experience, ...) will succeed quickly. Then passing the rest of their life trying to explain it.
Here is my vision of things. Because one does not (and cannot) know everything, he have to specialize. That is why physicists, chemists, electronics engineers, software engineers, IT Technicians and so on can build a computer together, but cannot individually. The software engineer does not need to know how the software he uses is made, just how to use it. The electronic engineer does not need to know how to create transistor, the physicist does not need to know what can be done with a transistor. Etc. Etc.
Hobbyists like us come from very different backgrounds with different knowledge, that is what makes Vogons a nice place to compare points of view, experience or share what you have made with the community. I totally agree with you about understanding (and not knowing, that's different) the "low level" of things. In computer science, everything is about layers. Understanding, at least superficially, how things works in the sub layers greatly help to understand the layer posing problem. This way you can try new things and gain experience (bad or good). And at your level, share it with the others. But that will always be a partial truth. About my examples of CF cards and HDD, that is just my personal experience and knowledge . There is people with a different experience and knowledge that will says something else. And they will not be wrong neither I'm right. Because there is a huge number of factors to take into consideration that require a very good knowledge of things impossible for one person to have.
For a CF card, factors are: the ambient working temperature, the flash technology technology used, the stability of the power delivered, potential manufacturing defects in the series, etc. So there will always be a bad quality CF that can sustain a huge number of erase/write cycles by cell (far beyond what it is made for) without failing and a high quality industrial MLC one failing after only a limited number of cycles.
Its impossible to know each and every factor to be affirmative. But it is possible to compile different experiences of people with different knowledge to have a general idea of the subject.
I hope this little digression was understandable.

Knowing things is great. Understanding things is better. Creating things is even better.

Reply 6 of 16, by Datadrainer

User metadata
Rank Member
Rank
Member
douglar wrote on 2022-01-27, 20:41:

What PATA transfer mode is your CF negotiating with the IDE controller? Speedsys or Sysinfo should be able to tell you that.

I imagine running the CF data transfers at UDMA-6 instead of PIO-0 might impact the durability because of the clock speed alone.

p.s. Your CF adapter won't run faster than UDMA2 unless you ground pin 34 or connect it via an 80 conductor cable.

I don't know that. ATA protocol allow the device to tell what mode it support. A CF card of good quality match the NAND type to what the controller is able to handle, so it should not be a problem. But ... most of the card are made for punctual use, not for continual use. But I think most retro PCs are used for games in a spare time, so not to be used every day the whole day. If an operating mode can be forced, like UDMA 6, I think it is comparable to an overclocking keeping the same input voltage. Two possibilities: the NANDs can handle it or they cannot. But I don't see why that can impact the durability. If they cannot it is just because the clock is faster than what they can "see" and will drop 0 and 1 but the electronic itself will be fine. Of course, I may be wrong...

Knowing things is great. Understanding things is better. Creating things is even better.

Reply 7 of 16, by TrashPanda

User metadata
Rank l33t
Rank
l33t
Datadrainer wrote on 2022-01-27, 14:26:
For my part, I'm using the same SandDisk CF cards for years on different computers (PCs from MS-DOS 3.0 to Windows 2000 and with […]
Show full quote

For my part, I'm using the same SandDisk CF cards for years on different computers (PCs from MS-DOS 3.0 to Windows 2000 and with CF capacity from 512 MB to 128 GB). I'm using the machines some time a week I regularly check SMART info before to do a backup and everything is good for now. For Windows 98SE (CF 16 GB, RAM 64 MB), ME (CF 32 GB, RAM 128 MB) and 2K (CF 128 GB, RAM 512 MB) the cache file is rarely used. When Windows reach the RAM limit, it begins to heavily swap data between RAM and the WIN386.SWP (9x) or PAGEFILE.SYS (NT) cache file. And that is exactly what is dangerous for the memory cells on the CF card, so it requires some attention. But it is also not very good for a mechanical hard drive from the mechanical point of view. Solution is to increase the RAM size or to use the software on a more capable machine. Otherwise it is totally safe to uses CF cards from my experience.
The pros largely balance the cons:

  • lower power consumption
  • faster access-read-write time
  • easy to manage

But let you know your feedback, it is always welcome 😀

The nand in modern CF is the same as in SSDs so in theory it should last a considerably long time with normal use under windows 9x, assuming you do the right thing and run the machine with more ram than it needs to avoid hitting swap file usage and turn the swap file off totally or move the swap file to a secondary mechanical HDD. I can see why people might want to test longevity but it'll be measured in years or possibly tens of years for high quality nand in larger CF cards. Even with swap file usage the wear levelling controller will handle it in such a way that killing the CF card early is highly unlikely.

You only have too look at the huge number of old SSD drives and CF cards on eBay that still work just fine many years after their use by date has come and gone, modern nand is far more durable than many people realise and unless you go out of your way in abusing (mining) it you really dont need to worry about it failing from being used as a HDD replacement.

With all this said .. you do get what you pay for and using cheap tiny CF cards as HDD replacements is likely not a great idea as they are better suited for testing purposes or for short term periodic usage, remember the more nand you have on a CF the better it will perform and the longer it will last, this applies to SSDs too.

I personally dont go below 16gb for most of my CF cards for win9x machines and for 286/386/486 machines 2-5gb is my lowest limit, even partitioned to 512mb having the free unpartitioned nand will help the wear levelling. As for cost . .I can buy 64gb 150/sec Sandisk CF cards for 20 AUD by just waiting for a sale or I can buy them for 40 AUD when not on sale, they are not expensive, the expensive ones are the smaller ones weirdly but they are also much faster and really designed for camers.

Reply 8 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++

@Datadrainer Thank you for writing back. I understand what you mean to say.
It's how things have become, but in my father's youth it wasn't like that.
Homebrew enthusiasts from the late 1970s did know this stuff.
People like Wozniak had to know these basics due to their amateur radio hobby, among due to other things.

http://www.cqdx.ru/ham/ham_radio/apple-co-fou … d-as-radio-ham/

They were no scientists per se, just tinkerers and computer enthusiasts, the majority without any degrees at the time.
In the 8/16-Bit home computer (C64, Apple 2, Atari ST etc) and CB radio days, many users knew how to operate a soldering iron or a multimeter (digital multimeters were new, analogue instruments were still popular).

And magazines like Elector or Happy Computer were full of schematics and expansions for micros (=microcomputers).
Their audience were normal people, no highly educated academic persons.

https://www.quora.com/When-hobbyists-built-th … -did-they-write

https://arstechnica.com/information-technolog … er-user-groups/

The more advanced users had a modest little 5 Mhz oscilloscope at home (!) or at school, maybe a 30MHz model, too.
Things like Ohm's law (U=R*I), speed of light (circa 300 000 km/s or 186 000 mi/s), E=MC² or the power equation (P=U*I) should be known to kids from 5th class (school) onwards.
Because, realizing how much currents and voltages flow can be a life saver at some point.

Likewise, the basics of a radio tube, a crystal diode or a bipolar transistor used to be shown in kid's book for kids age 6 and up (manuals of radio construction kits etc). And it had been like this since 1950's, at least.
It's not hard, just a bit unfamiliar at first, but makes things so much easier! 🙂

Edit: For example, the lenght or thickness of data lanes on a printed circuit board..
They correlate with the frequency of signals.
That's why, for example, a 4,77 MHz bus of a PC/XT can handle longer cable connections (bus extender) than a faster bus.
Impedance and bus noise are also a factor.
Wires act as antennas, too, which can be resonant and pick up noise.
That's why (among other things maybe) the Vesa Local Bus (VLB) at high frequency has stability issue and the limitation of 2-3 cards maximum.
Or, if you wind up a powered extension cord to a ring, it becomes a coil (cable drum..), heating up.. That's dangerous at 120v/240v AC, it might start a fire.
Such basic knowledge about electronics/physics here can help to understand or troubleshoot.

Sadly, things like ECDL (ex European Computer Driving License) don't cover these fundamental things, but merely popular end-user software.
Anyhow, I don't mean to judge. People not knowing these things are no less smart than those who know, they merely miss out a great opportunity.
Because, in our days knowledge is free and accessible.
Though to be honest, I'm not a fan of formulars or mathematics, either.
I used to think of math, -except fractals-, as a rusty wrench that's needed from time to time.. 😉

Edit: Speaking of Compact Flash cards, they all seem to contain some form of wear-level mechanism.
But the details, the secret sauce, seems to vary among different models and manufacturers. Or at least not easy to spot via search engines.
Maybe CF cards just aren't as cool anymore and the focus is more on SSDs? 🤷‍♂️

https://pcengines.ch/cfwear.htm

Edit: Programmes for children, like Curiosity Show or this one, also explained technology and physics to kids.
And they were honest, not oversimplifying things. They may used analogies for demonstration, but also explained what's really going on.
I wished more children of any age (4 to 99+) would still watch those shows. *sigh* 😢

Example :
https://www.youtube.com/watch?v=NCYRFpngZCU

Edit: Edited.

Attachments

  • childbook1.jpg
    Filename
    childbook1.jpg
    File size
    72.34 KiB
    Views
    1085 views
    File comment
    Electronic symbols in a children's book
    File license
    Fair use/fair dealing exception
  • childbook2.jpg
    Filename
    childbook2.jpg
    File size
    68.81 KiB
    Views
    1085 views
    File comment
    Electronic symbols in a children's book
    File license
    Fair use/fair dealing exception
  • childbook3.jpg
    Filename
    childbook3.jpg
    File size
    66.51 KiB
    Views
    1085 views
    File comment
    Electronic symbols in a children's book
    File license
    Fair use/fair dealing exception

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 9 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I forgot to mention something else. Alignment.

NTFS has a well structured design. If we align the NTFS partition, the data will be usually saved in an aligned fashion, too.
FAT or FAT32 is not like that. Due to its nature, the files can be misaligned, even though the partition itself is well aligned to 4k sectors.

(That might result in a performance problem, if SSD technology is applied to modern CD cards.
With older CF card generations, that might not have been an issue so much. Not sure. Also, several different sector sizes were physically used over time.)

Here's what I'm referring to.

https://msfn.org/board/topic/151798-does-fat3 … &comment=968582

To understand why, we need that low-level knowledge again.
We need to know how FAT32 stores long filenames, what directory entries have to do with it, what flash cells are and how they are being addressed (and cleared).

Just a quick explanation: Read(-Erase)-Modify-Write cycles are performance killers.
These cycles happen if logical sectors doesn't fit in physical sectors.
The flash medium then has to do some extra work.
If that happens, a less powerful flash medium struggles to perform tasks in time.
This can result to impaired performance, quicker wear outs and laggy response of the medium.

See
https://en.wikipedia.org/wiki/Read%E2%80%93mo … y%E2%80%93write

https://en.wikipedia.org/wiki/Write_amplification#REMF

https://www.ntfs.com/fat-filenames.htm
https://www.pjrc.com/tech/8051/ide/fat32.html

https://www.reneelab.com/4k-alignment-introduction.html
https://www.storagereview.com/news/the-impact … of-misalignment

Edit: Kind of related to this is virttual memory.
Windows XP, for example, uses 4k chunks for virtual memory (swap file) which in turn fit nicely into NTFS's 4K clusters (default size) and SSD's 4K sectors.
Or Windows 98SE..It has the ability to run EXE files directly from VCACHE (swap file) - if they are properly aligned (again, 4K chunks).

https://www.techrepublic.com/article/speed-up … -with-winalign/

Edit: This is also helpful. It's about swap partitions and showing things from a Linux/*nix perspective.

"386 MMU --> 4K swap pages

Inside the intel 386, is a builtin MMU with mappable 4K pages. The 486 and Pentium chips are just 386 chips with go-faster-stripes, and occasional new op-codes. (You can agrue that the 'go-faster-stripes' are actually significant internal structural changes, but the result is much the same).

In 386 mode, every process gets a virtual memory space of 4 G (addressed with a 32 bit pointer). Most of these pages do not exist. Attempting to read from or write to any of them would cause a MMU-CPU exception, or 'page fault'.

If that page fault was you, trying to use a page of memory that has been swapped out, Linux will reload that page from disk, and rerun the instruction that generated the page-fault, as though there never was a problem (just an unexplained delay). In this way, a 16 MB machine can have a 64 M footprint (or more).

The ISA bus, is not inside the CPU, so DMA may be limited to the first 16 M of RAM. Other constraints might effect how much of the 4 G space, you are actually allowed to control.

Any page can be moved (mapped) to any page location - instantly - and can appear in several places. Pages can be marked for read / write / execute, and all page faults get trapped and interpreted.

Program text and data files get reloaded from their original files (usually 😀, but data in memory doesn't have an original file, so it gets written to the swap file. This happens in units of 4K pages. [..] "

Source: https://www.ibiblio.org/pub/Linux/docs/Raven/ … 02/SSR02-04.htm

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 10 of 16, by dragonkn

User metadata
Rank Newbie
Rank
Newbie

CF card still works very well! (since 25.01)
Thank you for helpful and interesting informations

I did routine check-up today:
1) h2testw (full write and read test)
2) low level format
3)restore system backup and full scandisk
Every test was OK, no single error

Reply 11 of 16, by douglar

User metadata
Rank Oldbie
Rank
Oldbie
TrashPanda wrote on 2022-01-28, 02:16:

The nand in modern CF is the same as in SSDs so in theory it should last a considerably long time with normal use under windows 9x, assuming you do the right thing and run the machine with more ram than it needs to avoid hitting swap file usage and turn the swap file off totally or move the swap file to a secondary mechanical HDD. I can see why people might want to test longevity but it'll be measured in years or possibly tens of years for high quality nand in larger CF cards. Even with swap file usage the wear levelling controller will handle it in such a way that killing the CF card early is highly unlikely.

I agree. It's going to take a very long time on a win 98 vintage computer to roast a compact flash device, even if you are running the device at 5v, have a poorly configured swap file, and are runninging it at the fastest transfer mode that your IDE controller supports.

It would be more interesting to see if the wear leveling and lack of trim support causes performance degredation from write ampliciation over time. Maybe you could do it for a specific device, but it is hard to say how applicable it would be to the entire compact flash environment because, as someone pointed out, wear leveling is proprietary secret sauce that is potentially very different from manuacturer to manufacturer, flash controller to flash controller, and firmware version to firmware version. This is before you even start to take into account the grey market / relabeled devices that show up on ebay and amazon.

Perhaps we could try this test:
1) Get a new 512MB CF device and make a single partition, mount as D:
2) Benchmark with speedsys with writes enabled. Run speedsys HD1 WT PCX:testrpt.pcx REP:testrpt.txt to do it automatically
3) Write 5 GB of random stuff to the drive to make sure you fill any over provisioning and garbage collection is in full effect
4) Benchmark a second time with speedsys (HD1 WT) and see if things have changed
5) Issue an ATA secure erase command using HDDErase to factory reset the drive
6) Repartition and re-benchmark

!!! Be careful using HDDErase. It can damage the drive. !!! I think I accidentally erased the CF over provisioning on a drive once and the performance was never the same after that.

But I'm willing to sacrifice some more CF's to the volcano of knowIedge. Should be a good February project.

Reply 12 of 16, by TrashPanda

User metadata
Rank l33t
Rank
l33t
douglar wrote on 2022-01-29, 15:01:
I agree. It's going to take a very long time on a win 98 vintage computer to roast a compact flash device, even if you are runn […]
Show full quote
TrashPanda wrote on 2022-01-28, 02:16:

The nand in modern CF is the same as in SSDs so in theory it should last a considerably long time with normal use under windows 9x, assuming you do the right thing and run the machine with more ram than it needs to avoid hitting swap file usage and turn the swap file off totally or move the swap file to a secondary mechanical HDD. I can see why people might want to test longevity but it'll be measured in years or possibly tens of years for high quality nand in larger CF cards. Even with swap file usage the wear levelling controller will handle it in such a way that killing the CF card early is highly unlikely.

I agree. It's going to take a very long time on a win 98 vintage computer to roast a compact flash device, even if you are running the device at 5v, have a poorly configured swap file, and are runninging it at the fastest transfer mode that your IDE controller supports.

It would be more interesting to see if the wear leveling and lack of trim support causes performance degredation from write ampliciation over time. Maybe you could do it for a specific device, but it is hard to say how applicable it would be to the entire compact flash environment because, as someone pointed out, wear leveling is proprietary secret sauce that is potentially very different from manuacturer to manufacturer, flash controller to flash controller, and firmware version to firmware version. This is before you even start to take into account the grey market / relabeled devices that show up on ebay and amazon.

Perhaps we could try this test:
1) Get a new 512MB CF device and make a single partition, mount as D:
2) Benchmark with speedsys with writes enabled. Run speedsys HD1 WT PCX:testrpt.pcx REP:testrpt.txt to do it automatically
3) Write 5 GB of random stuff to the drive to make sure you fill any over provisioning and garbage collection is in full effect
4) Benchmark a second time with speedsys (HD1 WT) and see if things have changed
5) Issue an ATA secure erase command using HDDErase to factory reset the drive
6) Repartition and re-benchmark

!!! Be careful using HDDErase. It can damage the drive. !!! I think I accidentally erased the CF over provisioning on a drive once and the performance was never the same after that.

But I'm willing to sacrifice some more CF's to the volcano of knowIedge. Should be a good February project.

Lack of trim might be an issue but I've been using SSDs on windows 98/XP for years and its never been a issue there, that said SSDs generally have their own garbage collection built into the controller so lack of OS based Trim support isn't a problem, I doubt CF has robust garbage collection since its not designed to be used as a SSD and CF doesnt have a storage focused drive controller like SSDs do.

Not even sure you could use a manual Trim program on a CF either ..so it would be interesting to find out how a CF handles deliberate abuse and how long it lasts under such conditions.

Reply 13 of 16, by dragonkn

User metadata
Rank Newbie
Rank
Newbie

I have fully filled my CF card twice today
Once with h2testw and second time with low level format
I did benchmark tests after and read / write speeds are the same (4mb/s) but random acces time is a lot faster - dunno why it's 1.49ms instead of 1.79 - i repeat tests few times
Edit - now it shows 1.90 so probably test isn't accurate, but in conclusion CF card speed is similar as new

Reply 14 of 16, by Datadrainer

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2022-01-28, 14:38:
I forgot to mention something else. Alignment. […]
Show full quote

I forgot to mention something else. Alignment.

NTFS has a well structured design. If we align the NTFS partition, the data will be usually saved in an aligned fashion, too.
FAT or FAT32 is not like that. Due to its nature, the files can be misaligned, even though the partition itself is well aligned to 4k sectors.

(That might result in a performance problem, if SSD technology is applied to modern CD cards.
With older CF card generations, that might not have been an issue so much. Not sure. Also, several different sector sizes were physically used over time.)

Here's what I'm referring to.

https://msfn.org/board/topic/151798-does-fat3 … &comment=968582

To understand why, we need that low-level knowledge again.
We need to know how FAT32 stores long filenames, what directory entries have to do with it, what flash cells are and how they are being addressed (and cleared).

Just a quick explanation: Read(-Erase)-Modify-Write cycles are performance killers.
These cycles happen if logical sectors doesn't fit in physical sectors.
The flash medium then has to do some extra work.
If that happens, a less powerful flash medium struggles to perform tasks in time.
This can result to impaired performance, quicker wear outs and laggy response of the medium.

See
https://en.wikipedia.org/wiki/Read%E2%80%93mo … y%E2%80%93write

https://en.wikipedia.org/wiki/Write_amplification#REMF

https://www.ntfs.com/fat-filenames.htm
https://www.pjrc.com/tech/8051/ide/fat32.html

https://www.reneelab.com/4k-alignment-introduction.html
https://www.storagereview.com/news/the-impact … of-misalignment

Edit: Kind of related to this is virttual memory.
Windows XP, for example, uses 4k chunks for virtual memory (swap file) which in turn fit nicely into NTFS's 4K clusters (default size) and SSD's 4K sectors.
Or Windows 98SE..It has the ability to run EXE files directly from VCACHE (swap file) - if they are properly aligned (again, 4K chunks).

https://www.techrepublic.com/article/speed-up … -with-winalign/

Edit: This is also helpful. It's about swap partitions and showing things from a Linux/*nix perspective.

"386 MMU --> 4K swap pages

Inside the intel 386, is a builtin MMU with mappable 4K pages. The 486 and Pentium chips are just 386 chips with go-faster-stripes, and occasional new op-codes. (You can agrue that the 'go-faster-stripes' are actually significant internal structural changes, but the result is much the same).

In 386 mode, every process gets a virtual memory space of 4 G (addressed with a 32 bit pointer). Most of these pages do not exist. Attempting to read from or write to any of them would cause a MMU-CPU exception, or 'page fault'.

If that page fault was you, trying to use a page of memory that has been swapped out, Linux will reload that page from disk, and rerun the instruction that generated the page-fault, as though there never was a problem (just an unexplained delay). In this way, a 16 MB machine can have a 64 M footprint (or more).

The ISA bus, is not inside the CPU, so DMA may be limited to the first 16 M of RAM. Other constraints might effect how much of the 4 G space, you are actually allowed to control.

Any page can be moved (mapped) to any page location - instantly - and can appear in several places. Pages can be marked for read / write / execute, and all page faults get trapped and interpreted.

Program text and data files get reloaded from their original files (usually 😀, but data in memory doesn't have an original file, so it gets written to the swap file. This happens in units of 4K pages. [..] "

Source: https://www.ibiblio.org/pub/Linux/docs/Raven/ … 02/SSR02-04.htm

Very very interesting stuff, the hyperlinks you put there @Jo22.
I was especially interested on the page explaining Winalign. I was not aware of that.
Thank you 😀

Knowing things is great. Understanding things is better. Creating things is even better.

Reply 16 of 16, by Jo22

User metadata
Rank l33t++
Rank
l33t++

You're welcome. ^^

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//