In this work, we designed and implemented schemes that defer writing of metadata in order to realize an efficient and reliable NAND flash file system. The conventional NAND flash file systems synchronously write their metadata in the NAND flash for reliability; however, the synchronous writing of metadata generates excessive garbage. We propose the scheme for merging the writing of metadata so as to reduce the garbage of the NAND flash while ensuring file system consistency. The proposed scheme uses the non-volatile memory for synchronously logging modifications of the metadata. The logging can significantly reduce excessive metadata writing of NAND flash. Also, the last modified metadata can be recovered from a crash, after scanning logs in the non-volatile memory. We implemented the scheme for the deferred writing of metadata on top of a Linux OS. The evaluation results show that the proposed scheme greatly reduced the overall application time and the number of written pages across various benchmarks, compared to the conventional flash file system.