Flash memory has been widely used as storage media in consumer devices, whereas its erase-before-update characteristic degrades its performance. Buffer and FTL (Flash Translation Layer) are two important techniques to improve the performance of flash memory. However, in the traditional architecture, the buffer and FTL work independently, resulting in an information gap which affects the efficiency of garbage collection in flash memory. This paper proposes a new architecture to bridge the information gap between the buffer and the FTL. In the new architecture, the buffer manager provides several replacement candidates instead of one to the FTL, and the FTL makes and performs a decision according to these candidates and the physical information of flash memory. Experiments show that the new architecture can reduce the garbage collection overhead by up to 40%.