A flash driver architecture openly compatible to operate as interface
between most types of file systems and flash memory media regardless of
the manufacturer. The flash driver includes a flash abstraction logic
that serves as a manager for operating characteristics that are common to
the plurality of different types flash memory media. The flash driver may
also include a programmable flash medium logic that performs more
specific operations in direct communication with the flash memory medium.
A user/manufacturer of a computer device can optimally select a set of
programmable entry points associated with the flash medium logic to
ensure congruent and seamless operation between the file system and flash
memory medium selected by the user/manufacturer of the computer.