Suikoguy said:
I've programmed embedded memory controllers for Flash devices; they are all in "blocks" or pages of data when in comes to erasing segments of the chips. For instance, you can't just write to any location - the whole block must be cleared and then any address in that block can be randomly written to until full.
So, you erase the chip. Then you write in data. If you want to overwrite something, you must first cache the data in a block, erase the whole block (say, 32KB), and then write back the data to the block with the new data added.
Of course, there are more clever ways of doing this and many ways around this limitation.
The old systems of using Flash memory cards in consoles must have just decided to force everyone to use the "blocks" hardwired to the flash chip structure as storage blocks to make everything easier. With the PS2 memory cards, they decided to develop a rudimentary "Flash file system" and work around the hard boundaries of the blocks. It's not terribly hard to do, but it is somewhat more complicated.
All modern flash systems have to do this, but the controllers and software have gotten better, and of course stream writing/reading doesn't take a performance hit because blocks are cleared out in advanced.
Still there is no reason the PS2 couldn't take a small section of the memory card and emulate a PSOne card. Just a bit more software and testing. Lazy, cheap, and it sells a few more peripherals.