도와주세요!!
Nand를 ubifs 방식으로 Mount를 하여 사용을 하고 있는데요..
Nand를 Mount를 하고 Read/Write하는 중에 전원이 나가면 File System이 깨지거나 System이 정상 동작을 하지 않을 것인데요.
그냥 Mount를 해놓은 상태 (Read/Wirte의 동작을 하지 않고 있는 상태) 에서 Umount를 하지 않고 전원이 나가면 Nand의 File System이나 System에 영향이 있는지요.?
Nand에 Data가 주기적으로 Write가 되고요. USB를 이용해서 Nand의 Data를 USB로 다시 Write를 하게 되는데요.
현재는 Nand의 Read 나 Write를 할때만 Mount를 하여 사용을 하는데요.
만약에.... USB에 Wirte를 하기 위해서 Nand를 Mount해서 Nand를 Read하여 USB에 Write를 하고 있는 중간에.
Nand에 Data를 Wirte하는 시간이 되어 다시 Nand를 Mount를 하게 됩니다. 뭐 이럴때는 Mount의 Flag를 하나 두어서
이를 가지고 이미 Mount가 되어 있으면 Mount가 되지 않도록은 할수 있는데....
Umount할때가 문제가 되네요.....
USB는 아직 아직 끝나지 않았는데. Nand에 Write하는 부분에서 Umount를 해버리네요. 그래서 USB의 Write하는 부분이
정상적으로 동작 하지 않는데요.....
그래서 생각 한것이 그냥 Init부분에서 Mount를 하고 프로그램이 정상 종료시에만 Umount를 하자인데요.
뭐 그런데 Mount만 했는데도 File System이 깨지거나 System에 문제가 생기지 않을까 하는 의문이 듭니다.
이 태산을 넘을수 있는 방법이 뭐가 없을까요.?....---
NAND 의 파일에 데이타를 쓰는 중간에 전원이 나가면 해당파일의 업데이트 되는(보통 파일의 마지막부분)
부분이 소실됩니다. 다른 파일에는 영향을 주지 않습니다.
하지만 간혹 파티션의 중요정보가 날아가면 재부팅시 파티션을 모두 스캔하는 경우가 발생하여 시간이 좀 걸릴경우가 있습니다.,
그렇다고 파일에 손상이 가지는 않습니다.
난드플래시를 매번 mount, umount 하실 필요는 없습니다. 난드플래시는 부팅시 한번만 mount 하시면 됩니다
또한 파일의 내용이 곧바로 저장되게 하려면 해당파일을 close 해야 합니다.
가끔한번씩 난드를 umount 하는 방법은 권장합니다. 이후 부팅시 좀더 빠른 성능을 보여줍니다.