Patent ID: 7433280

Claim:
A method for reading a coded audio data file in an optical storage medium and buffering the audio data file to a buffer memory, said audio data file comprising a plurality of blocks which are stored sequentially in a plurality of storing units in said optical storage medium, each block being divided into a subcode block and a corresponding main data block, said subcode block comprising a plurality of coded subcodes, said subcodes comprising an address for each corresponding block, said main data block correspondingly comprising coded audio data, the method comprising following steps: (a) designating a starting block where buffering starts, decoding via a subcode decoding procedure to obtain said subcodes in said subcode block, and searching for said starting block in said blocks in said optical storage medium; (b) when said starting block is searched, triggering a main data decoding procedure to correspondingly decode said starting block and said main data blocks in later blocks, then sequentially buffering decoded audio data respectively in a plurality of corresponding buffer units in said buffer memory after performing decoding; and (c) according to the timing when said main data decoding procedure is triggered, deciding the timing when said decoded subcodes should be buffered to said buffer memory, in order that said subcodes and corresponding audio data which belong to the same block before decoding can be buffered to the same buffer unit after respectively decoded; wherein an optical storage device is connected to a computer host and receives a reading command from the computer host to proceed said method: wherein the block which said reading command asks to read is defined as a target block, and the starting block is decided via a starting block deciding procedure; and wherein said starting block deciding procedure lets the optical storage device execute a reading and buffering procedures to get the number of blocks between the subcodes and the audio data stored in the buffer memory, and the optical storage device counts the number of blocks back from the target block to decide the starting block.