If regeneration is not performed normally when data is regenerated from a
medium, a read retry processing unit changes the intensities of the laser
beam and of the regeneration magnetic field respectively to prearranged
stages to perform the regeneration again. A regeneration condition change
unit remembers the regeneration sector number for one read command from
the higher order. When retry occurs, the regeneration condition change
unit counts the number of the sectors for each stage which can be
regenerated at each stage, and by providing a coefficient for each stage
in advance, changes the default regeneration condition using the sum of
products of the coefficients and the number of the counted regenerable
sectors.