The invention relates in general to data recording, and in particular, to a method and system for recording data with a data verifying process.
In specification of some optical storage technologies, such as DVD-RAM, after a data recording system records data on a recordable medium, the data recording system employs a data verification process to maintain an appropriate level of data integrity on a recordable medium. Data recording-verification performance of a data recording system is limited by the time-consuming and resource hungry verification process, since the storage drive may not retrieve further data for recording prior to the completion of previous data verification.
Upon initialization, unrecorded data level increases steadily until reaching an upper threshold in Phase 100A, where data D1 is transferred from a data source to the buffer. The data level remains at a constant level throughout Phase 102A. Then the data level decreases continuously to a lower threshold during Phase 104A. Next the data level remains constant throughout Phases 106A and 108A of the complete recorded data D1. And the data level increases again in Phase 100B of the next data D2. The buffer space of the buffer is available only for the next data D2 after the verification of Data D1 is completed. Therefore the time consuming of the whole data storage process, including the recording and verification, suffers from the wait for verification in Phase 108.
As demand for data access grows, better data recording-verification performance is in favor, so that higher data throughput may be delivered in an unit time. Thus an efficient data storage scheme is needed to speed processing of data recording-verification.
The invention is directed to a method and system for recording data from a source via a buffer to a recordable medium. In one embodiment, a recording-verification method comprises receiving a plurality of data blocks from the source to the buffer, recording the plurality of data blocks to the recordable medium, verifying the plurality of recorded data blocks, and receiving new data blocks from the source to the buffer after verifying one of the recorded data blocks.
Another embodiment of the recording-verification method of the present invention comprises receiving a plurality of first data blocks from the source to the buffer, recording the plurality of first data blocks to the recordable medium, verifying the plurality of first data blocks read from the recordable medium, releasing a part of the plurality of first data blocks in the buffer upon verification thereof, and receiving a plurality of second data blocks from the source and buffering in the released buffer space.
In another exemplary embodiment, a recording system for recording data from a source via a buffer to a recordable medium comprises a source interface, a buffer, a recording and verifying module, and a buffer management unit. The source interface receives a plurality of data blocks. The buffer buffers the plurality of data blocks. The recording and verifying module records the plurality of data blocks to the recordable medium, receives a plurality of recorded data blocks from the recordable medium, verifies the recorded data blocks, and then generates a verifying status signal. The buffer management unit receives the verifying status signal. When the verifying status signal indicating one of the recorded data blocks is verified, the buffer management unit generates a transfer control signal to control the source interface to receive new data block, and a buffer control signal to control the buffer to release buffer space of the verified data block to buffer new data block.
The invention will become more fully understood from the detailed description, given herein below, and the accompanying drawings. The drawings and description are provided for purposes of illustration only and, thus, are not intended to be limiting of the present invention.
For clarity, the recorded first data D1 is subdivided into data parts D11, D12, . . . , D1i, . . . , D1n, each smaller than data D1. In one of the embodiments, each data parts could be measured as a data block. On the other hand, the recorded first data D1 is subdivided into data blocks D11, D12, . . . , D1i, . . . , D1n, in the embodiment. Upon initialization, data level increases steadily until reaching an upper threshold in Phase 300A, where first data D1 is transferred from a data source to the buffer. The data level remains at a constant level during seeking of the recording location in Phase 302A. In the present invention, the data will be encoded before being recorded onto the recordable medium. In order to explain the invention more clearly, this encoding process would be omitted in the following descriptions. But the person skilled in the art would be known that the data from the source would be always encoded before recording onto the recordable medium.
When the recording system starts to record the data onto the recordable medium, the data level decreases continuously to a lower threshold during recording in Phase 304A. Next, the data level remains constant during seeking verification location in Phase 302A and verification of the first recorded data block D11 in Phase 308A. The data level increases again with the next data transfer in Phase 300B, while verification of recorded data block D12, . . . , D1n is in progress in Phase 308A. The upper threshold level may be the capacity of the buffer, or less than the capacity. The lower threshold level may be zero, or less than the upper threshold level.
In comparison to
The early data transfer of Phase 400B upon the partial completion of Phase 408A, and the early seek of Phase 402A upon the partial data transfer in Phase 400A renders better data storage performance of the invention, in comparison to the related art in
Referring to
The recording and verifying module 502 receives a part of recorded data D1i on the recordable medium 54 and verifies the ith part of recorded data D1i, and outputs verification signal 510 indicating the verification result of the part of recorded data D1i to buffer management unit 504. Buffer management unit 504 in turn controls buffer 500 through buffer control signal 512, and source interface 506 through transfer control signal 514. the recording and verifying module 502 comprises a data comparator or an error correction code (ECC) decoder to decode the read recorded data and verify the read recorded data. The data comparator compares the part of recorded data D1i with the corresponding part of the first data D1. The ECC decoder decodes ECC compliant data D1i, which may be one or more ECC compliant data blocks. ECC compliant data blocks conform to specific rules of construction so that departures from this construction can be automatically detected and corrected. Verification signal 510 may indicate the data comparison result or the decoding status.
If recorded data D1i is verified successfully, buffer management unit 504 generates buffer control signal 512, and transfer control signal 514, while verification continues for recorded data D1i+1. Buffer control signal 512 releases only the buffer space corresponding to the part of recorded data D1i in buffer 500. Transfer control signal 514 enables further data retrieval at source interface 506. As more buffer space is released, more buffer space in buffer 500 becomes available for the next data transfer from data source 52. Buffer management unit 504 compares the available buffer space in buffer 500 and requested buffer space from data source 52, and generates transfer control signal 514 if the available buffer space exceeds or equals the requested buffer space. Consequently subsequent second data D2 from data source 52 may be received in the released buffer space. Buffer management unit 504 may also enable source interface 506 to receive partial or full second data D2, subject to the available buffer space at the time. The second data D2 may be a plurality of data blocks compliant with recordable medium 58.
During verification, recording-verification method 60 resets counter i=1 and j=1 in step S600, the recording and verifying module 502 determines verification result of the part of recorded data D1i in step S602. If verification signal 510 indicates the verification result is successful, buffer management unit 504 releases only the buffer space corresponding to the part of recorded data D1i in buffer 500 by buffer control signal 512 in step S604, otherwise recording method 60 proceeds to step S606.
Next in step S605, counter i is incremented by 1 such that the next portion of data D1i+1 can be verified in the next round of verification.
Followed by step S606, buffer management unit 504 checks for the presence of a transmit command from data source 52. Under the condition where the transmit command is absent, method 60 routes to step S614 so that the verification for data D1i continues. If the transmit command is present, buffer management unit 504 evaluates the buffer space requested thereby, estimating the available buffer space in buffer 500, and comparing the requested buffer space with the available buffer space in step S608. If the available buffer space exceeds or equals the requested buffer space, i.e., i≧j, recording method 60 proceeds with step S610, otherwise it routes to step S614. In step S610, buffer management unit 504 generates transfer control signal 514 to permit reception of the second data D2j from data source 52 to buffer 500.
Next in step S612, counter j is incremented by 1 such that the next portion of data D2j+1 can be received at buffer 500 in the next round.
In step S614, buffer management unit 504 determines if data D1 is completely verified, i.e., if the last data D1n is verified. If it is, method 60 is completed and the system keeps going to process the next data D2, otherwise, the verification process continues at step S602 until verification of data D1 is completed. There has to emphasized that the ending of the method 60 only means the data D1 had been verified completely, not means the whole recording-verification process is completed. The system should keep going to record then verify the following data until the whole data being verified.
Upon initialization of method 70, method 70 sets data counter k=1, buffer 500 receives the first data Dk=D1 from data source 52 in step S702. Then the buffer management unit 504 checks if the buffer capacity level achieved a predetermined buffer level in step S703. If the level achieved the predetermined level, the system could start to seek the recording position, proceeding the step S704. If the level is less than the predetermined level, method 70 loops back to step S702 again. The recording and verifying module 502 seeks the recording location on recordable medium 54 in step S704, and records the data Dk in buffer 500 to the recording location in step S706, seeks the verification location on recordable medium 54 to read data Dk thereon in step S708. Next in step S710, recording method 60 is executed and buffer management unit 504 determines if recording method 60 is completed. If method 60 is not completed, method 70 routes to step S708 to seek the verification location and carries out method 60 again, until it is completed. If method 60 is completed, method 70 continues at step S711. In step S711, the buffer management unit 504 determines if data Dk is final data DN in the whole data recording-verification process (k=N?). If the data Dk is the final data DN (k=N and Dk=DN), then method 70 stops at step S712, as the end of the whole data recording-verification process. If the data Dk is not the final data DN (k<N), then let k=k+1 (step S714) and proceeds the step S703 again. As a consequence that buffer delay is reduced, leading to better recording performance and higher buffer utilization rate.
While the invention has been described by way of example and in terms of preferred embodiment, it is to be understood that the invention is not limited thereto. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.