Patent ID: 8041879

Claim:
A flash memory system comprising: (a) at least two flash memory devices, each said flash memory device having at least one respective page buffer allocated therein as temporary storage area for data to be programmed in a first of said flash memory devices, the page buffer of a second of said flash memory devices acting as a backup copy for the data to be programmed in the first flash memory device; and (b) a flash controller operative: (i) to transmit data from an area designated for temporary storage of said controller both to the respective page buffer of the first said flash memory device and to the respective page buffer of the second said flash memory device, the transmitting of data further includes defining a page address within the first said flash memory device and the second said flash memory device to which the transmitted data is to be programmed; (ii) to allocate the area designated for temporary storage of the data on said controller for other data upon successfully transmitting said data to the respective page buffer of first flash memory device and the respective page buffer of the second flash memory device; (iii) subsequent to said transmitting, to program said data in said first flash memory device from said respective page buffer of said first flash memory device at the defined page address; (iv) to check a programming failure of said programming of said data in said first flash memory device, (v) in case of said programming failure in said first flash memory device, to program said data into said second flash memory device at the defined page address from said respective page buffer of said second flash memory device to which said data has been transmitted; and (vi) to read data from said second flash memory device subsequent to programming said data into said second flash memory device, wherein when the page address for the second flash memory device is already in use, a page address is pre-selected by the controller to be available for use in failure recovery.