Patent ID: 7225291
Filing Date: 2007-05-29
Classification: G06F

Abstract:
1. A storage controlling and judging method of a flash memory for writing data to said flash memory, the flash memory comprising a plurality of sets of mother and child blocks, each set of said mother and child blocks having a mother block and a child block corresponding to said mother block for increasing data storage speed of said flash memory and using a correlation between said mother block and said child block of said sets of mother and child blocks to substantially reduce erasing frequency of said flash memory for extending a service life thereof; the method comprising: (a) receiving writing command; (b) checking whether an address to be written is in said sets of mother and child blocks, wherein if the address to be written is not in said sets of mother and child blocks, proceed to step (c), and wherein if the address to be written is in said sets of mother and child blocks, proceed to step (e); (c) checking whether said flash memory has a plurality of sets of mother and child blocks, wherein if said flash memory has the plurality of sets of mother and child blocks, proceed to step (d); (d) judging whether numbers of used sets of mother and child blocks reach a preset number in a manager, wherein if the numbers of the used sets of mother and child blocks do not reach the preset number in said manager, one of the used sets of mother and child blocks is found and combined to create a new block, a blank block is found and defined as a child block, and a block defined for writing as a mother block, and then said mother block and said child block are combined to create a new set of mother and child blocks, then proceed to step (e); (e) executing writing; (f) executing writing from pages in said child block of said set of mother and child blocks; (g) executing writing into said pages; (h) judging whether a written page is a last page in said child block, wherein if the written page is not the last page in said child block, proceed to step (i); (i) judging whether to continue writing into said pages, wherein if not to continue writing into said pages, proceed to step (j); and (j) end writing operation.