Patent ID: 7353344

Claim:
A storage device which receives input of data of arbitrary data length, stores the data, and outputs the stored data in order of input, comprising: a data storage section with data areas which store data; a write pointer which memorizes a write position in the data areas where data is to be stored next; a data input section which receives the data and stores the data in the write position located in the data areas and memorized by the write pointer; a write pointer control section which changes the write position memorized by the write pointer by the length equal to the data length of newly stored data each time data is stored by the data input section; a write position history storage section which additionally stores the write position before the change each time the write position is changed by the write pointer control section; a read pointer which memorizes a read position in the data areas from which data is to be read next; a data output section which reads and outputs data stored in the data areas, from the read positions located in the data areas and memorized by the read pointer, in order of input; and a read pointer control section which, upon receiving a notice requesting that areas be freed for a specified number of data items, erases the same number of write positions in the write position history storage section as the number of data items specified in the notice, in the order that the write positions are memorized, and makes the read pointer memorize the foremost write position among the remaining write positions as a new read position.