Patent ID: 7962683

Claim:
A flash memory connected to a host, comprising: a blocks bank configured to store data from the host and comprising: a first region, comprising at least one block; a second region, comprising at least one block; a third region, comprising at least one block; wherein the data is rendered to the first region and then moved to the third region from the first region when the first region is not full; a cache, coupled to the blocks bank, and configured to preload the data; a controller, coupled to the cache, and configured to: generate a judging result, indicating whether transmission of the data uses a previous data; add a supplementary data to the data when the judging result indicates that the transmission of the data uses the previous data; transmit the data to the cache; generate a transmission status indicating whether the host stops transmitting the data and whether the cache is full or not; and determine a transmission mode of a next data transmission according to the transmission status, and the transmission mode indicating whether the next transmission of data is forced to use the previous data or not.