Patent ID: 8719659

Claim:
A storage apparatus for storing and reading data, comprising: a storage unit which has a plurality of entry areas and is configured to write data on a basis of a write address designating one of the plurality of entry areas, and to read data on a basis of a read address designating one of the plurality of entry areas; a write-address counter which outputs the write address, the write-address counter having a number of bits that is two bits greater than the number of bits used for designating an address in the plurality of entry areas; an input-data inverter which inverts input data to be inputted into the storage unit, and outputs the inverted input data; an input-data selector which selects one of the input data and the inverted input data on a basis of two most significant bits and a least significant bit of each of write addresses so as to generate four different combinations of non-inverted data and inverted data for writing in pairs of successive entry areas, and writes the one of the input data and the inverted input data in the entry area designated by said each of the write addresses; a read-address counter which outputs the read address, the read-address counter having a number of bits that is two bits greater than the number of bits used for designating an address in the plurality of entry areas; an output-data inverter which inverts output data outputted from the storage unit, and outputs the inverted output data; and an output-data selector which selects and outputs one of the output data and the inverted output data on a basis of two most significant bits and a least significant bit of each of read addresses so as to generate four different combinations of non-inverted data and inverted data as data read from pairs of successive entry areas.