Click here to Skip to main content
15,881,172 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
I'm trying to do some research around file systems and I've probably confused myself. I've got to disk scheduling algorithms for devices with discs such as SCAN and CSCAN, but I was wondering what the equivalents are for flash memory?
Posted

1 solution

I don't think the whole notion of such algorithm is applicable to the flash devices at all.

"Removable flash memory cards and USB flash drives have built-in controllers to perform wear leveling and error correction so use of a specific flash file system does not add any benefit.", according to this:
http://en.wikipedia.org/wiki/Flash_memory#Flash_file_systems[^].
The algorithms like SCAN are elevator algorithms, a kind of disk scheduling responsible for mechanical arm/head motion scheduling,
http://en.wikipedia.org/wiki/Elevator_algorithm[^],
http://en.wikipedia.org/wiki/I/O_scheduling[^].

As flash units come with built-in controllers and their own SRAM buffers (for serial flash, according to http://en.wikipedia.org/wiki/Flash_memory[^]), there is no need for a common interface at the level of disk scheduling, hence there is no a need for a functional code unit homological to a hard drive elevator algorithms or disk scheduling algorithms in general. All such HD-related algorithms are based on the fact of considerable seek latency. In flash memory, even if the physical access to the flash is somewhat slower then the access to the SRAM buffer or, say, DRAM, so the caching techniques are still actual, the seek time issues are not.

—SA
 
Share this answer
 
v3

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900