Patent ID: 7890693

Claim:
A flash translation layer apparatus coupled to a flash memory and a reading and writing controller, therebetween, wherein the flash memory has a primary block and a replacement block, the flash translation layer apparatus comprising: an instruction register coupled to the reading and writing controller, receiving and storing a plurality of instructions associated with a reading and writing procedure of the data of the flash memory from the reading and writing controller; a logical address register coupled to the reading and writing controller, receiving and storing a logical address associated with the reading and writing procedure of the data of the flash memory from the reading and writing controller; a data register coupled to the flash memory and the reading and writing controller, respectively, storing the data associated with the reading and writing procedure of the data of the flash memory generated from the reading and writing controller; a first auxiliary controller coupled to the logical address register and the data register, respectively, controlling an instruction to assist the reading and writing procedure of the data; a microprocessor coupled to the instruction register, the first auxiliary controller, respectively, controlling the reading and writing procedure of the data and an address converting cache; an address converting unit coupled to the microprocessor, storing address converting information associated with a logical address and a physical address of the reading and writing data of the flash memory, and sending the address converting information to the microprocessor; a second auxiliary controller coupled to the microprocessor, controlling and storing instructions, data and logical addresses of the reading and writing procedure of the data for the flash memory; a flash address register coupled to the second auxiliary controller, the address converting unit and the flash memory, respectively, storing the physical address associated with the reading and writing procedure of the data of the flash memory; an adjustable translation layer unit coupled to the second auxiliary controller, providing two address converting capabilities of a coarse-grained address translation table and a fine-grained address translation table, wherein the adjustable translation layer unit sends an address converting result of the flash memory and an instruction for caching the reading and writing data to the microprocessor via the second auxiliary controller; and a cache instruction-data register coupled to the adjustable translation layer unit, storing the data and the instruction for caching the reading and writing procedure of the data of the flash memory.