Patent ID: 8661209

Claim:
A data processing apparatus comprising: a storage controller configured to write a series of data blocks constituting a particular unit of data to a storage and to read out the series of data blocks from the storage; and a processor configured to: generate a write-side process and a read-side process; notify the read-side process from the write-side process of an identifier of a storage area in the storage; cause the storage controller to sequentially write the series of data blocks to the storage area using the write-side process; cause the storage controller to read out the series of data blocks from the storage area corresponding to the identifier using the read-side process after the identifier is received in the read-side process; issue an event in the write-side process each time one data block is written to the storage area; cause the storage controller to read out one data block from the storage area using the read-side process after the event is received in the read-side process; generate a first thread and a third thread in the write-side process; generate a second thread and a fourth thread in the read-side process; notify the second thread from the first thread of an identifier of the storage area in the storage; queue a data write request for each of the series of data blocks in order in the first thread; cause the storage controller to write the series of data blocks in the order of the queued data write requests to the storage area using the third thread; queue a data read request for each of the series of data blocks in order after the identifier is received in the second thread; and cause the storage controller to read out the series of data blocks in the order of the queued data read requests from the storage area using the fourth thread.