Patent ID: 8301825

Claim:
Method for storing logical file system blocks in a storage system that includes: multiple non-volatile memories which are connected to at least one common data I/O bus, wherein at least a plurality of said non-volatile memories are physically accessed on a memory page basis, where each memory page includes multiple data words, and each one of said at least a plurality of non-volatile memories are logically accessed on a flash-block basis, which where each flash-block includes multiple ones of said memory pages, and wherein a logical file system block is the combination of one flash-block from all non-volatile memories used in said storage system, and volatile memory means which hold multiple buffer slots each containing a logical file system block; said method comprising the steps: storing page data into logical file system blocks of the multiple non-volatile memories and in parallel into corresponding buffer slots in the volatile memory means, in a circular buffer slot access sequence, whereby the respectively used storage capacity of said volatile memory means is smaller than the storage capacity of said non-volatile memories and whereby, after the last free buffer slot has been written, said sequence again starts with overwriting the first buffer slot, and whereby, if one or more of said non-volatile memories signal that, when recording current page data an error has occurred, the corresponding current buffer slot in said volatile memory means or a related table entry is marked correspondingly and in the following turn or turns of said sequence said marked buffer slot or slots are skipped such that the data stored therein are kept unchanged; after a take has been recorded, copying flash-block data of said non-volatile memory means that contain erroneous page data into free flash-blocks within the same non-volatile memory, and checking which buffer slots in said volatile memory means or which related table entries are marked and copying corresponding page data from said marked buffer slots of said volatile memory means into the corresponding memory pages of said free flash-blocks in said non-volatile memories.