Critical Section

If a write operation to the FAT volume is interrupted due to an accidental failure, such as sudden blackout, incorrect media removal and unrecoverable disk error, the FAT structure on the volume can be broken. Following images shows the critical section of the FatFs module.

Figure 4. Long critical section
fig.4
Figure 5. Minimized critical section
fig.5

An interruption in the red section can cause a cross link; as a result, the object being changed can be lost. If an interruption in the yellow section is occured, there is one or more possibility listed below.

  • The file data being rewrited is collapsed.
  • The file being appended returns initial state.
  • The file created as new is gone.
  • The file created as new or overwritten remains but no content.
  • Efficiency of disk use gets worse due to lost clusters.

Each case does not affect any file not opened in write mode. To minimize risk of data loss, the critical section can be minimized by minimizing the time that file is opened in write mode or using f_sync function as shown in Figure 5.

猜你喜欢

转载自blog.csdn.net/qingzhuyuxian/article/details/80433786