The OS is waiting for the drive to tell it that all writes are really complete. The fact that it takes a long time for writes to be actually complete is the reason why you have to tell the OS "eject drive" and then wait for a while before it tells you it's safe to eject the drive. If a Flash drive waited for each write command to be complete before it responded 'that write is complete', you would find the drive unusablly slow. As a consequence the drive accepts many 'write' commands, responds to each one instantly as 'I have completed this', then does the writing in its own time, in whatever order it finds convenient ("out-of-order writing"). ![]() It takes a long time – many milliseconds – to write to one part of storage, and a SQLite update requires writing to many parts of storage. The way Flash actually works is very slow.
0 Comments
Leave a Reply. |