Writing data to flash memory; a practical solution?