To effectively utilize memory means by reproducing data equivalent to N tracks including an unregistered track if it is present, storing them in a memory and also registering address information of them.
When an instruction reproducing tracks is inputted to a controller 15 from a host device via a terminal 11 and an interface 10, the controller 15 checks the content of a memory management table 14 to judges whether the data of a track (i) are present on a cache memory 13 or not. When the data are judged not to be present, after the controller reads out data equivalent to three tracks adjacent to the track (i) simultaneously from an optical disk 1 to store them in a memory 13, the controller updates flag information and address information of the management table 14. Besides, when the data are judged to be present on the memory 13, the controller obviates the reading of data. When processing are completed as to all tracks, the controller transfers the data stored in the memory 13 to the host device via the terminal 11.