Patent ID: 8250264
Filing Date: 2012-08-21
Classification: G06F,H03M

Abstract:
1. A storage device for performing data backup, the storage device comprising a backup battery, a battery controller, a battery control program, a system on chip (SoC) and a flash memory, wherein the battery controller is electrically connected to the backup battery, the battery control program, and the SoC, the SoC is electrically connected to the flash memory through a field programmable gate array (FPGA), the FPGA comprises a first calculation unit, a storage area, a second calculation unit, a binary conversion unit, a time delay circuit, and an address relocation unit, and: the first calculation unit is operable to calculate an occurrence probability of each symbol in a symbol set, and store the occurrence probability of each symbol in the storage area; the first calculation unit is further operable to transmit the occurrence probability of each symbol stored in the storage area to the second calculation unit, if all the symbols in the symbol set are calculated; the second calculation unit is operable to calculate a range of each symbol in the symbol set according to the occurrence probability of each symbol; the second calculation unit is further operable to read data to be encoded from the first calculation unit, calculate a range of a last symbol in the data according to the range of each symbol in the symbol set, send a size of the range of the last symbol in the data to the address relocation unit, and send the range of the last symbol in the data to the binary conversion unit; the address relocation unit is operable to relocate an address of the data according to the size of the range of the last symbol in the data, and transmit the relocated address of the data to the flash memory; the binary conversion unit is operable to convert the range of the last symbol in the data to a binary range, and transmit the binary range to the flash memory; and the time delay circuit is operable to transmit an enable signal to the flash memory if the range of the last symbol in the data is converted to the binary range.