A method of table journaling in a flash storage device comprising a
volatile memory and a plurality of non-volatile data blocks is provided.
The method comprises the steps of creating a first copy in a first one or
more of the plurality of non-volatile data blocks of an addressing table
stored in the volatile memory, writing transaction log data to a second
one or more of the plurality of non-volatile data blocks, and updating
the first copy of the addressing table based on changes to the addressing
table stored in the volatile memory after the second one or more of the
plurality of non-volatile data blocks have been filled with transaction
log data.