WO2004105021A1 - Handling real-time write errors - Google Patents

Handling real-time write errors Download PDF

Info

Publication number
WO2004105021A1
WO2004105021A1 PCT/IB2004/050567 IB2004050567W WO2004105021A1 WO 2004105021 A1 WO2004105021 A1 WO 2004105021A1 IB 2004050567 W IB2004050567 W IB 2004050567W WO 2004105021 A1 WO2004105021 A1 WO 2004105021A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
command
data blocks
write
writing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/IB2004/050567
Other languages
French (fr)
Inventor
Robert A. Brondijk
Stephanus J. M. Van Beckhoven
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Priority to US10/557,973 priority Critical patent/US20060282699A1/en
Priority to BRPI0410462-5A priority patent/BRPI0410462A/en
Priority to EP04730912A priority patent/EP1629485A1/en
Priority to JP2006530778A priority patent/JP2007514250A/en
Publication of WO2004105021A1 publication Critical patent/WO2004105021A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/18Error detection or correction; Testing, e.g. of drop-outs
    • G11B20/1816Testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/36Monitoring, i.e. supervising the progress of recording or reproducing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • G11B2020/10944Real-time recording or reproducing, e.g. for ensuring seamless playback of AV data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1288Formatting by padding empty spaces with dummy data, e.g. writing zeroes or random data when de-icing optical discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/216Rewritable discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/215Recordable discs
    • G11B2220/218Write-once discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2541Blu-ray discs; Blue laser DVR discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Definitions

  • the invention relates to a device for recording infomiation on a storage medium, the device comprising medium interface means for interfacing with the storage medium for recording data on the storage medium and retrieving data from the storage medium, and host interface means for communicating with a host via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time.
  • the invention further relates to a method of error monitoring during recording on a storage medium, the method comprising communicating with a host via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time.
  • the invention further relates to a method of controlling the recording device, the method comprising communicating with the device via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time.
  • the invention further relates to a computer program product for error monitoring during recording on a storage medium, and for controlling the recording device.
  • Controlling of recording an optical record carrier via a recording device is known from the DVD (Digital Versatile Disk) system and a draft proposal of the National Committee for Information Technology Standards (NCITS): Working Draft, T10/1363-D, Revision lOg, November 12, 2001, "INFORMATION TECHNOLOGY - SCSI Multimedia Commands - (revision MMClOg, in this document further called MMC-3).
  • the device has a medium interface, e.g. a read/write head and positioning system, on one side to interface with the storage medium.
  • the recording device has a host interface to communicate with a host, which may be a PC or the application unit of a video recorder.
  • a protocol for communicating between the host and the host interface of the recording device is the ATA/ATAPI standard referred to in MMC-3 (chapter 1) and in particular NCITS T13/1321D AT Attachment with Packet Interface 5 referenced in MMC-3 (chapter 2.1.2), or X3T13/1153D ATA-5 Rev. 17, further called ATA/ATAPI-5.
  • the device may be called an ATA/ATAPI device.
  • Such recording devices are being used for recording real-time data blocks, e.g. video, under the control of the host system.
  • the host accommodates applications like recording or playback of video. While a drive is writing an error can occur. For a applying a recovery process, the application needs to know the status of the error.
  • the application has a choice between fast writing a series of blocks with a lot of buffering in the drive, or slow writing with no buffering in the drive.
  • the drive will report an error if the command could not be successfully completed.
  • By writing block by block the location of the error is known after the drive responds to the command.
  • By writing a series of blocks an error is reported for the total series of blocks.
  • An application can either quickly write or easily find an error.
  • the object is achieved with a device for recording information as described in the opening paragraph, the device comprising error monitoring means for generating an error message for notifying the host in dependence of an error status within the series of data blocks.
  • the object is achieved with a method of error monitoring as described in the opening paragraph, the method comprising generating an error message for notifying the host in dependence of an error status within the series of data blocks.
  • the object is achieved with a method of controlling the recording device as described in the opening paragraph, the method comprising receiving an error message from the device in dependence of an error status within the series of data blocks, and applying a recovery for masking the error during playback of the series of data blocks.
  • the effect of the measures is that the device reports the write error in the error status to the drive.
  • the error status for example includes a location of the write error within the series. This has the advantage that the application in the host may recover quickly from the error and continue recording as soon as possible.
  • the error monitoring means are arranged for, in the event of write errors, including in the error message a location of a write error within the series of data blocks.
  • the device comprises a cache buffer for storing the data blocks
  • the host interface means are arranged for receiving a synchronize cache command for indicating an address in the cache buffer for resuming writing after a write error.
  • the host interface means are arranged for receiving a command that indicates a timeout during recording which timeout defines a maximum amount of time to be maximally used during recording for operations other than writing the data blocks, and the error monitoring means are arranged for determining an actual amount of time used during recording for said other operations, and for generating said error message when said actual amount exceeds said maximum amount.
  • Figure 1 shows a disc-shaped storage medium, recording device and host system
  • Figure 2 shows a time diagram of delays between date on the host interface and data delivered to the storage medium
  • Figure 3 shows a host including an application, a recording device and storage medium
  • Figure 4 shows a graph of data generated, transferred and written to a disc
  • Figure 5 shows a synchronize cache command
  • Figure 6 shows a timing diagram of a command and response
  • Figure 7a shows connectors on a drive for interfacing
  • Figure 7b shows an IDE connector layout
  • Figure 8 shows a timing diagram of messages on the host interface, writing operations and other operations during recording
  • Figure 9 shows a timing diagram of writing operations and a window structure for timeout.
  • elements which correspond to elements already described have the same reference numerals.
  • Figure 1 shows a disc-shaped storage medium, recording device and host system.
  • a storage medium 11, for example an optical disc, constitutes a record carrier for a recording device 12.
  • a DVD+RW is an example of such a record carrier.
  • a number of interfacing functions of the recording device is defined according to a predefined standard, for example ATA/ATAPI-5. Hence the device may be called an ATA/ATAPI device.
  • the device (12) has a medium interface, e.g. a read/write head, positioning servo system and control circuits commonly known from the CD or DVD system, on one side to interface with the storage medium 11, for example the DVD+RW disc.
  • the device 12 has a host interface 15, e.g.
  • DVD+RW medium an ATA/ATAPI device plus Host
  • Video Recorder The main focus of this invention is of the application in a DVD+RW Video Recorder.
  • Drive The unit that interfaces to the storage medium, e.g. has an Optical Pick-up Unit, servo, data-path, memory flash, and which is interfaced to a host, e.g. with ATAPI.
  • Disc Can be any optical disc, e.g. CDDA, CD-R/RW, CD-ROM, DVDROM
  • ECC This is the smallest data amount that can be written on the disc. On DVD a complete EFM block of 32Kbytes user-data. Sector: Is the minimum data size that can be addressed (on DVD) 2048Bytes
  • Active unit in a host to interface with which requires real-time data to be stored on the disc (and retrieved from) the disc, and arranges the structure on the disc, and that is for example encoding/decoding the video signals.
  • De-iced The +RW phase change material has two states: amorphous or crystalline. All of the material on a new disc has the same state; such a disc is referred to as "iced".
  • iced By writing to the disc, transitions are created. This influences the reflectivity of the disc and how the disc can be read. If the disc contains iced areas, the current position of the laser can only be determined by via the wobble. In written areas, the position information is included in the data.
  • Chunk a block of data to be written continuously without linking.
  • the ATA cable and its protocol that are well-known, are described in numerous documents, e.g. the ATA/ATAPI-5 document.
  • the highest protocol level of the cable is given in MMC-3.
  • the storage medium 11 is a DVD+RW medium, a recordable Digital Versatile Disc.
  • the medium is described in the DVD+RW Physical Format Specification.
  • the problems, which are addressed here, are caused by write errors.
  • the application which is being executed in the host is writing data to the disc in real-time. If an error occurs the application wishes to recover from that error and continue recording as soon as possible. It is assumed that, at the application level, the recovery will mask the error. In the case of a video recorder, the recovery may be a mask constituted by a segment of video that will be skipped over during playback. The key is to keep that mask, or piece of video, as small as possible.
  • the host interface communicates with the host via messages according to a protocol (e.g. ATA/ATAPI-5), the messages including a write command for writing a series of data blocks in real-time.
  • a protocol e.g. ATA/ATAPI-5
  • the device For quickly reporting the error the device has error monitoring means for generating an error message for notifying the host in dependence of an error status within the series of data blocks. Generally the communication of the error message achieves that the application is notified of the error as soon as possible, and reports the error status.
  • the error status includes the error location.
  • Figure 2 shows a time diagram of delays between date on the host interface and data delivered to the storage medium.
  • the data at the host interface ATA/ATAPI cable
  • Some data blocks are marked A,B,C.
  • Data block A arrives at time tl on the host interface.
  • the lower curve 22 indicates the same data elements at the storage medium interface.
  • Data block A arrives at t2.
  • the first problem is the inherent delay between sending data over the ATA/ATAPI cable and the data written to the disc, as indicated by the time difference between the curves 21,22.
  • a second problem is the burst character of the data being send over the cable.
  • the time diagram of Figure 2 shows the data transferred over the ATA/ATAPI cable represented by the top curve 21, from A, through B to C.
  • the transfer begins at tl.
  • the data is written to the disc.
  • an error occurs at position B in the data stream.
  • the stream over the ATA/ATAPI cable is already at position C.
  • the second problem is the burst character of data over the ATA/ATAPI cable.
  • the source of this problem occurs when delivering compressed video, as explained with Figure 3.
  • FIG. 3 shows a host including an application, a recording device and storage medium.
  • a host 31 has a Video Encoder 34 for receiving video on a video input 33, an Interface 35 (coupled to a recording device 32 via a cable) and a memory 36.
  • the "dig" connection 39 between the Video Encoder and the Interface is referring to some kind of digital interface.
  • the device 32 contains a drive 37 for interfacing to the storage medium 11 via a medium interface 14 and a memory 38.
  • the device contains an error monitoring unit 40 for generating an error message for notifying the host in dependence of an error status within the series of data blocks as described below.
  • the maximum bit-rate of the encoder 34 is much lower than the write speed of the drive 37 to the medium.
  • Bs be the bit-rate of the data over "dig" connection 39
  • Bd be the bit-rate of the data over the medium interface 14
  • Md the amount of memory 38 of the drive
  • Ms the amount of memory 36 available in the host to the Interface.
  • Md/Bs is the amount of time the drive will accumulate the data.
  • Md/Bd is the amount of time the drive will write to the medium.
  • Ms is minimally of 2k is needed, as this is the smallest amount of data which can be written to the drive.
  • Ms/Bs is the interval time between data bursts to the device.
  • Figure 4 shows a graph of data generated, transferred and written to a disc.
  • An upper part 41 of the graph shows a host buffer filling, while a lower part 42 shows device write operations.
  • a first part 43 the buffer in the host is filled due to the data generation of the encoder 34.
  • the buffer is emptied by a device write 42.
  • the time interval for buffer filling Tdb, and the time for buffer emptying Tde can be calculated as indicated above with Figure 3.
  • an algorithm for writing a series of data blocks in real time and responding to write errors.
  • First the data is delivered in chunks (not continuously in a small amounts), to maximize the amount written by the drive and the efficiency.
  • the memory in the host must be larger than the chunk size to avoid memory overflows during recoveries and re-tries by the drive.
  • a command is selected or additionally given to force unit access before delivering the next chunk.
  • any error will be reported at the end of the current chunk instead of the beginning of the next one.
  • the access can be forced via either the FUA bit in the write command (see MMC-3) or by issuing a Synchronize Cache command discussed below.
  • the drive will abort a UDMA/DMA transfer at the moment of a write error.
  • the drive does not complete the whole transfer. This is relevant if the transfers are larger than several hundred kilobytes.
  • the host also specified a maximum number of retries and an overall error-time-out via a mode-page. This may also be a reason for an error message.
  • the drive will report via Request Sense command, the address at which the error occurred. The host may assume that the ECC block that follows the ECC block in which the error occurred, is still totally unwritten, and therefore can be written to. This is important for DVD+R because writing can only occur in whole ECC blocks.
  • the host issues a Synchronize Cache command with an Address parameter to say from which block in the cache writing can resume. These will be blocks with a higher address than the address at which an error occurs.
  • Figure 5 shows a synchronize cache command.
  • the definition of the synchronize cache command shows an operation code 51, a parameter byte 52 having a bit IMMED indicating a type of execution and response of the command, and further parameters like RELADR indicating relative addressing.
  • a set of bytes 53 indicates the Logical Block Address.
  • the idea is to use the Logical Block Address (LBA) to point to a block in the cache. The device must find the block in the cache with that LBA. All blocks in the cache with that LBA and higher, must be written to the disc. Alternatively all blocks written to the drive after the indicated block, with a higher LBA, will be written to the disc. It is noted that the process of error monitoring and reporting as described above can be used for DVD+RW as well as for DVD+R.
  • LBA Logical Block Address
  • the device comprises a cache buffer for storing the data blocks, and the host interface receives a cache command for indicating an address in the cache buffer for resuming writing after a write error.
  • the address in the cache command is a logical block address of the data block to resume writing, or indicates the data block with the next higher logical block address as the data block to resume writing.
  • the function of resuming recording using data blocks already present in a buffer in the recording device and not the particular sync cache command described above. It is noted that on a write once storage medium a skip function is supported, e.g. on DVD+R.
  • Figure 6 shows a timing diagram of a command and response.
  • a command complete response 62 After sending a command and corresponding data 61 via the host interface 15, there is a command complete response 62.
  • the time 63 between command 61 and command complete 62 is further defined to achieve a timely error status reporting.
  • MMC-3 only specifies transfer rates, but not the time lapse between the last transferred byte and the command complete response 62 of the drive.
  • the solution is either to directly specify the time directly.
  • a direct definition is to specify the maximum time lapse and call it "command-time out" or "maximum allotted time”.
  • the command time-out may be applied for many commands.
  • the time-out is the maximum time between the command and command complete. If the drive has to internally abort a command to achieve this, it must return with an error.
  • a read command can be delayed because a drive can not find the required address. It goes through a loop: jump & read address, if unsuccessful, jump and read again. By limiting the number of retries, the imminent read error is reported earlier, and thereby ending the command earlier.
  • Figure 7a shows connectors on a drive for interfacing.
  • a rear side 71 of a drive is shown.
  • the connector in the rear side of the drive is a 5-in-l connector.
  • a first connector 72 is a digital output, and a second connector 72 is an analogue audio output (4 pin, according to MPC-2 spec).
  • the audio outputs may be not supported.
  • a Master / Slave connector 73 is a 3 position jumper block, for CS (Cable Select), M (Master) and S (Slave), and a jumper 75 is shown in a position as default jumper master select.
  • a fourth connector 76 is a 40 pin ATA-2 dual row flat-cable connector, shrouded & keyed (pin 20 removed).
  • This connector also called IDE connector, is used for interfacing to a host via an ATA cable as described in ATA/ATAPI-5.
  • a connector 77 is a DC Power inlet according to Industry std. 4-pin Amphenol.
  • the DC Power Connector provides the drive with DC power (+5 Volt and +12 Volt) to be supplied from an external power supply.
  • Figure 7b shows an IDE connector layout defining the function of the pins.
  • the data connector is used for interfacing to a host system.
  • ATA/ATAPI-5 For a detailed description see ATA/ATAPI-5.
  • the Master / Slave Connector 73 is used to install an IDE data cable depending on the existing PC configuration. There are three possibilities of connection: device as slave (jumper on Slave); device as master (jumper on Master Default); device as master or slave (jumper on Cable Select): depending on the configuration of another connected device. No Jumper also means Cable select.
  • MMC-3 is not enabling recovering from a write error by the drive with respect to real time recording. It is proposed to make capabilities available in the drive to do recovering during write and during read.
  • the MMC-3 includes only the amount of retries and a command timeout.
  • the command timeout is the maximum time to sending a message that the command has been executed. This command time out cannot be used for a recovery function because the command completion will send directly after receiving the data. Hence in MMC-3 the error status during writing a series of data blocks cannot be reported to the host.
  • a solution is provided in the event that real-time recording is to be performed.
  • the host e.g. in a PC
  • the host is following the drive.
  • the waiting during real time recording may cause the data storage to create a buffer overflow, and therefore a need to skip data. This gives a poor recording with visible skipped data.
  • a timeout during recording is included.
  • the definition of the timeout during recording is all time what is used doing "not writing" during execution of the write command, starting after the buffer level is crossing the threshold level of the data path buffer, and ending until the last part is written.
  • the timeout during recording is different from the command timeout in that the command timeout defines the maximum total execution time, while the timeout during recording defines the maximum amount of spare time for other operations than the writing itself. This is further explained below.
  • Figure 8 shows a timing diagram of messages on the host interface, writing operations and other operations during recording.
  • An upper timeline 81 shows messages at the host interface, i.e. the IDE level. The messages constitute a series of data blocks 84 to be recorded in real-time.
  • a lower time line 82 shows operations at the medium interface, i.e. the disc level.
  • mark A indicates a start of a sequence of write commands, wherein the next write command can only be given if the device has enough room to store the data in a buffer.
  • Mark B indicates a crossing of a buffer threshold level.
  • the buffer threshold level is a minimum amount of data that needs to be in the buffer before the device can start writing.
  • a write error 85 occurs at mark D, e.g. an offjrack error, and a time T RET is needed to do recovering in the device. If the recovery is not successful the writing process is aborted and an error message is generated indicating the location of write error 85. After a successful recovery the device again starts writing continuously at mark E. At mark F a calibration is needed which required is time T CA for performing the calibration. At mark G the device again starts writing after calibration. At mark H the device finishes the writing process.
  • a bottom timeline 83 shows a detail of a write command on the upper timeline 81 to explain the write command.
  • an IDE write command is send to the drive.
  • the command is followed by a data transfer to the drive at mark Q.
  • a command completion message is send to the host. Note that the transferred data is not yet written on the storage medium, and therefore the existing command timeout which is coupled to the command completion message cannot be used to transfer en error status of the writing process itself.
  • the time out during recording is defined as
  • the device adds the actual time used for the above elements and compares the total T OUT to the maximum value given to the device, e.g. as a parameter included in a command. If the maximum value is exceeded by the actual calculated value, the writing process is aborted, an error message is generated and reported to the host.
  • the timeout during recording is defined as a fixed time the host has to preset every time the sequence to be written is different in time.
  • Example 1 during writing 3Mbyte the timeout during recording could be set to
  • the drive stops the current operation, such as retries or calibration, and sends an error to the drive.
  • the current operation such as retries or calibration
  • 500Mbyte For writing a much larger amount of data, e.g. the host wants to write 500Mbyte, using the same timeout during recording of 500 msec, a second calibration will create an error. This is unwanted because on a larger chunk of data to be recorded the host can expect one or more calibrations. Hence the host needs to set a larger timeout during recording for writing a large chunk.
  • the idea is to use a window structure and reset the actual time for other operations like calibration (T OUT counter) after each window (for example the window is 20 sec).
  • T OUT counter the maximum given in the timeout during recording is defined as a maximum in the current window.
  • the T OUT calculation can be used for every length of data to be recorded.
  • the T OUT counter is reset during start recording and after each window of 30 sec. The reset and window is explained by the diagram in Figure 9 below.
  • FIG. 9 shows a timing diagram of writing operations and a window structure for timeout.
  • a time line 91 shows writing operations at the medium interface, i.e. the media write level.
  • recording is started, and a window 92 begins.
  • the window is closed, and at each mark M a new window begins.
  • the T OUT counter is reset.
  • the calculation of T OUT is performed, and if the actual T OUT exceeds the timeout during recording an error is reported as described above. For example at mark L a calibration is executed, and at mark O a write error occurs, but retries are successful. No error is reported and writing is continued.
  • the invention has been mainly explained by embodiments using DVD+RW optical discs, the invention is also suitable for other record carriers such as rectangular optical cards, magneto-optical discs, high-density (Blu-ray) discs or any other type of information storage system for recording series of data blocks in real time.
  • record carriers such as rectangular optical cards, magneto-optical discs, high-density (Blu-ray) discs or any other type of information storage system for recording series of data blocks in real time.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Debugging And Monitoring (AREA)

Abstract

A recording device has medium interface means for interfacing with a storage medium for recording data on the medium and retrieving data from the medium, and host interface means for communicating with a host via messages according to a protocol (ATA/ATAPI). The messages include a write command for writing a series of data blocks in real-time. The device has error monitoring for generating an error message for notifying the host in dependence of an error status within the series of data blocks (84). The error status may indicate the location of a write error (85) in the series, or exceeding a timeout during recording (TRS + TRET + TCAL).

Description

Handling real-time write errors
The invention relates to a device for recording infomiation on a storage medium, the device comprising medium interface means for interfacing with the storage medium for recording data on the storage medium and retrieving data from the storage medium, and host interface means for communicating with a host via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time.
The invention further relates to a method of error monitoring during recording on a storage medium, the method comprising communicating with a host via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time.
The invention further relates to a method of controlling the recording device, the method comprising communicating with the device via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time.
The invention further relates to a computer program product for error monitoring during recording on a storage medium, and for controlling the recording device.
Controlling of recording an optical record carrier via a recording device is known from the DVD (Digital Versatile Disk) system and a draft proposal of the National Committee for Information Technology Standards (NCITS): Working Draft, T10/1363-D, Revision lOg, November 12, 2001, "INFORMATION TECHNOLOGY - SCSI Multimedia Commands - (revision MMClOg, in this document further called MMC-3). The device has a medium interface, e.g. a read/write head and positioning system, on one side to interface with the storage medium. On the other side, the recording device has a host interface to communicate with a host, which may be a PC or the application unit of a video recorder. A protocol for communicating between the host and the host interface of the recording device is the ATA/ATAPI standard referred to in MMC-3 (chapter 1) and in particular NCITS T13/1321D AT Attachment with Packet Interface 5 referenced in MMC-3 (chapter 2.1.2), or X3T13/1153D ATA-5 Rev. 17, further called ATA/ATAPI-5. Hence the device may be called an ATA/ATAPI device. Such recording devices are being used for recording real-time data blocks, e.g. video, under the control of the host system. The host accommodates applications like recording or playback of video. While a drive is writing an error can occur. For a applying a recovery process, the application needs to know the status of the error. In the known protocols, the application has a choice between fast writing a series of blocks with a lot of buffering in the drive, or slow writing with no buffering in the drive. The drive will report an error if the command could not be successfully completed. By writing block by block the location of the error is known after the drive responds to the command. By writing a series of blocks an error is reported for the total series of blocks. An application can either quickly write or easily find an error.
Therefore it is an object of the invention to provide an error monitoring system that allows real-time recording while write errors are handled efficiently. According to a first aspect of the invention the object is achieved with a device for recording information as described in the opening paragraph, the device comprising error monitoring means for generating an error message for notifying the host in dependence of an error status within the series of data blocks.
According to a second aspect of the invention the object is achieved with a method of error monitoring as described in the opening paragraph, the method comprising generating an error message for notifying the host in dependence of an error status within the series of data blocks.
According to a third aspect of the invention the object is achieved with a method of controlling the recording device as described in the opening paragraph, the method comprising receiving an error message from the device in dependence of an error status within the series of data blocks, and applying a recovery for masking the error during playback of the series of data blocks.
The effect of the measures is that the device reports the write error in the error status to the drive. The error status for example includes a location of the write error within the series. This has the advantage that the application in the host may recover quickly from the error and continue recording as soon as possible.
In an embodiment of the device the error monitoring means are arranged for, in the event of write errors, including in the error message a location of a write error within the series of data blocks. This has the advantage that the host is aware of the location of the write error, and the resuming recording in a recovery process can be based on the known error location.
In an embodiment of the device the device comprises a cache buffer for storing the data blocks, and the host interface means are arranged for receiving a synchronize cache command for indicating an address in the cache buffer for resuming writing after a write error. This has the advantage that the host need not re-transfer data blocks after the error, but the blocks still present in the cache buffer are used.
In an embodiment of the device the host interface means are arranged for receiving a command that indicates a timeout during recording which timeout defines a maximum amount of time to be maximally used during recording for operations other than writing the data blocks, and the error monitoring means are arranged for determining an actual amount of time used during recording for said other operations, and for generating said error message when said actual amount exceeds said maximum amount. This has the advantage that such a timeout is independent of the execution time of the intended writing operations, and indicates an overall spare time not to be exceeded during executing the command.
Further preferred embodiments of the method and device according to the invention are given in the further claims.
These and other aspects of the invention will be apparent from and elucidated further with reference to the embodiments described by way of example in the following description and with reference to the accompanying drawings, in which
Figure 1 shows a disc-shaped storage medium, recording device and host system,
Figure 2 shows a time diagram of delays between date on the host interface and data delivered to the storage medium,
Figure 3 shows a host including an application, a recording device and storage medium, Figure 4 shows a graph of data generated, transferred and written to a disc,
Figure 5 shows a synchronize cache command, Figure 6 shows a timing diagram of a command and response, Figure 7a shows connectors on a drive for interfacing, Figure 7b shows an IDE connector layout, Figure 8 shows a timing diagram of messages on the host interface, writing operations and other operations during recording, and
Figure 9 shows a timing diagram of writing operations and a window structure for timeout. In the Figures, elements which correspond to elements already described have the same reference numerals.
Figure 1 shows a disc-shaped storage medium, recording device and host system. A storage medium 11, for example an optical disc, constitutes a record carrier for a recording device 12. A DVD+RW is an example of such a record carrier. A number of interfacing functions of the recording device is defined according to a predefined standard, for example ATA/ATAPI-5. Hence the device may be called an ATA/ATAPI device. The device (12) has a medium interface, e.g. a read/write head, positioning servo system and control circuits commonly known from the CD or DVD system, on one side to interface with the storage medium 11, for example the DVD+RW disc. On the other side, the device 12 has a host interface 15, e.g. an ATA cable or a serial interface, to communicate with a host, which may be either a PC or the application side of a video recorder, e.g. having usual elements for input and output of video information. The combination of the four elements: DVD+RW medium, an ATA/ATAPI device plus Host, can form a Consumer DVD+RW
Video Recorder. The main focus of this invention is of the application in a DVD+RW Video Recorder.
Background information on the recording devices and storage medium formats can be found in the following references: [DVD] Specification for Read-only disc ECMA-267
[DVD+R] 4.7 Gbytes Basic Format Specifications System Description 1.1 [DVD+RW] 4.7 Gbytes Basic Format Specifications Rewritable version 1.2
Commonly in recording systems the following definitions are used. Drive: The unit that interfaces to the storage medium, e.g. has an Optical Pick-up Unit, servo, data-path, memory flash, and which is interfaced to a host, e.g. with ATAPI. Disc: Can be any optical disc, e.g. CDDA, CD-R/RW, CD-ROM, DVDROM
,DVD+RW, DVD+R SACD
ECC: This is the smallest data amount that can be written on the disc. On DVD a complete EFM block of 32Kbytes user-data. Sector: Is the minimum data size that can be addressed (on DVD) 2048Bytes
Application: Active unit in a host to interface with, which requires real-time data to be stored on the disc (and retrieved from) the disc, and arranges the structure on the disc, and that is for example encoding/decoding the video signals. De-iced: The +RW phase change material has two states: amorphous or crystalline. All of the material on a new disc has the same state; such a disc is referred to as "iced". By writing to the disc, transitions are created. This influences the reflectivity of the disc and how the disc can be read. If the disc contains iced areas, the current position of the laser can only be determined by via the wobble. In written areas, the position information is included in the data.
Chunk a block of data to be written continuously without linking.
Off-Track When the laser in the optical pickup unit can not follow the (wobbled) groove on a (recordable) disc it will be off track.
In the following the medium and the protocol over the host interface 15 or ATA cable will more deeply be described. There is a problem in the definition of the protocol as given in MMC-3 and by understanding the relationship between the medium and the protocol, the solution to this problem can be understood.
The ATA cable and its protocol, that are well-known, are described in numerous documents, e.g. the ATA/ATAPI-5 document. The highest protocol level of the cable is given in MMC-3. In the following explanation the storage medium 11 is a DVD+RW medium, a recordable Digital Versatile Disc. The medium is described in the DVD+RW Physical Format Specification.
The problems, which are addressed here, are caused by write errors. The application which is being executed in the host, is writing data to the disc in real-time. If an error occurs the application wishes to recover from that error and continue recording as soon as possible. It is assumed that, at the application level, the recovery will mask the error. In the case of a video recorder, the recovery may be a mask constituted by a segment of video that will be skipped over during playback. The key is to keep that mask, or piece of video, as small as possible. Hence the host interface communicates with the host via messages according to a protocol (e.g. ATA/ATAPI-5), the messages including a write command for writing a series of data blocks in real-time. For quickly reporting the error the device has error monitoring means for generating an error message for notifying the host in dependence of an error status within the series of data blocks. Generally the communication of the error message achieves that the application is notified of the error as soon as possible, and reports the error status. In an embodiment the error status includes the error location.
Figure 2 shows a time diagram of delays between date on the host interface and data delivered to the storage medium. In the upper curve 21 the data at the host interface (ATA/ATAPI cable) are indicated. Some data blocks are marked A,B,C. Data block A arrives at time tl on the host interface. The lower curve 22 indicates the same data elements at the storage medium interface. Data block A arrives at t2. There are two basic problems which must be overcome to give an application an error notification as soon as possible. The first problem is the inherent delay between sending data over the ATA/ATAPI cable and the data written to the disc, as indicated by the time difference between the curves 21,22. A second problem is the burst character of the data being send over the cable. These two problems are more deeply described now.
Firstly, about inherent delay between the data delivered over the ATA/ATAPI cable, and the data being delivered to the disc. The time diagram of Figure 2 shows the data transferred over the ATA/ATAPI cable represented by the top curve 21, from A, through B to C. The transfer begins at tl. At t2, the data is written to the disc. At t3, an error occurs at position B in the data stream. At the time of the error, the stream over the ATA/ATAPI cable is already at position C.
The second problem is the burst character of data over the ATA/ATAPI cable. The source of this problem occurs when delivering compressed video, as explained with Figure 3.
Figure 3 shows a host including an application, a recording device and storage medium. A host 31 has a Video Encoder 34 for receiving video on a video input 33, an Interface 35 (coupled to a recording device 32 via a cable) and a memory 36. The "dig" connection 39 between the Video Encoder and the Interface is referring to some kind of digital interface. The device 32 contains a drive 37 for interfacing to the storage medium 11 via a medium interface 14 and a memory 38. The device contains an error monitoring unit 40 for generating an error message for notifying the host in dependence of an error status within the series of data blocks as described below. In practice, the maximum bit-rate of the encoder 34 is much lower than the write speed of the drive 37 to the medium. When the encoder delivers its encoded output to the ATAPI/ATA device, the following occurs. Let Bs be the bit-rate of the data over "dig" connection 39, Bd be the bit-rate of the data over the medium interface 14 and Md the amount of memory 38 of the drive and Ms the amount of memory 36 available in the host to the Interface. Md/Bs is the amount of time the drive will accumulate the data. Md/Bd is the amount of time the drive will write to the medium. Ms, is minimally of 2k is needed, as this is the smallest amount of data which can be written to the drive. Ms/Bs is the interval time between data bursts to the device.
Example of data transfers on the host interface:
Let Ms=2KB (KiloByte), Bs=8Mb/sec (MegaB it/second), then
2KB/8Mb/sec = 2*8/8 = 2msec interval time between bursts
Example of time needed to write a full buffer contents to the medium:
Let Md=2MB and Bd=24Mb/sec, then
2MB/24Mb/sec = 2*8/24 = 2*8/3*8=2/3 = 0.666 sec.
In a practical device additional access time is needed before data can be recorded.
Figure 4 shows a graph of data generated, transferred and written to a disc. An upper part 41 of the graph shows a host buffer filling, while a lower part 42 shows device write operations. In a first part 43 the buffer in the host is filled due to the data generation of the encoder 34. In a second part the buffer is emptied by a device write 42. The time interval for buffer filling Tdb, and the time for buffer emptying Tde can be calculated as indicated above with Figure 3.
Overhead during recording is caused by accessing, and efficiency can be calculated as follows: Ta == access time
Td = Time needed to write a series of data blocks (also called chunk) Efficiency = Td/(Ta+Td)
Efficiency can be increased by maximizing Td, or chunk size. Bde=Ms/(Ta+Ms/Bd) = Bd/(Bd*Ta/Ms +1)
By increasing Ms the effect of Ta is reduced. You also see that by increasing the drive's write speed, the chunk must also be increased to retain the same efficiency. We also see that the time between chunks increases linearly since T = Ms/Bs. Example:
Figure imgf000009_0001
In an embodiment an algorithm is described for writing a series of data blocks in real time and responding to write errors. First the data is delivered in chunks (not continuously in a small amounts), to maximize the amount written by the drive and the efficiency. The memory in the host must be larger than the chunk size to avoid memory overflows during recoveries and re-tries by the drive. At the end of a chunk, a command is selected or additionally given to force unit access before delivering the next chunk. By forcing unit access, any error will be reported at the end of the current chunk instead of the beginning of the next one. The time difference is between reporting at the end and reporting at the next beginning is Ms Bs. In practice, Ms=5MB and Bs=lMB/sec, then Ms/Bs= 5 sec. The access can be forced via either the FUA bit in the write command (see MMC-3) or by issuing a Synchronize Cache command discussed below.
In an embodiment the drive will abort a UDMA/DMA transfer at the moment of a write error. The drive does not complete the whole transfer. This is relevant if the transfers are larger than several hundred kilobytes.
In an embodiment the host also specified a maximum number of retries and an overall error-time-out via a mode-page. This may also be a reason for an error message. In an embodiment the drive will report via Request Sense command, the address at which the error occurred. The host may assume that the ECC block that follows the ECC block in which the error occurred, is still totally unwritten, and therefore can be written to. This is important for DVD+R because writing can only occur in whole ECC blocks.
In an embodiment, after an error, the host issues a Synchronize Cache command with an Address parameter to say from which block in the cache writing can resume. These will be blocks with a higher address than the address at which an error occurs.
Figure 5 shows a synchronize cache command. The definition of the synchronize cache command shows an operation code 51, a parameter byte 52 having a bit IMMED indicating a type of execution and response of the command, and further parameters like RELADR indicating relative addressing. A set of bytes 53 indicates the Logical Block Address. The idea is to use the Logical Block Address (LBA) to point to a block in the cache. The device must find the block in the cache with that LBA. All blocks in the cache with that LBA and higher, must be written to the disc. Alternatively all blocks written to the drive after the indicated block, with a higher LBA, will be written to the disc. It is noted that the process of error monitoring and reporting as described above can be used for DVD+RW as well as for DVD+R. This implies that it is possible to skip areas on a DVD+R media without giving a "reserve track" command. Key points of the process are the following. By working in chunks, the number of write links is minimized. A write link is when the drive stops writing and continues later from the place it stopped. By minimizing the number of links, the chance of write error decreases and the direct overwrite (DOW) of the disc is kept low. By forcing unit access at the end of each chunk, the error detection time is kept minimal, and therefore recovery is quick. This saves memory on the host side, because new real time data generated during recovery needs to be buffered. Supporting a special sync-cache type of feature such as the cache command, the host needs not re-transfer blocks after an error. This is especially important if the host works with large transfer lengths and if the drives' internal memory is large. Hence the device comprises a cache buffer for storing the data blocks, and the host interface receives a cache command for indicating an address in the cache buffer for resuming writing after a write error. In particular the address in the cache command is a logical block address of the data block to resume writing, or indicates the data block with the next higher logical block address as the data block to resume writing. Important is the function of resuming recording using data blocks already present in a buffer in the recording device, and not the particular sync cache command described above. It is noted that on a write once storage medium a skip function is supported, e.g. on DVD+R. In general, we increase DVD+R from a sequential write medium to a medium which allows forward jump. Skipped blocks are considered written by the device and will be administered as such in the disc status, e.g. the recorded area indicator (RAI). Important is also the devices' willingness to break off a large transfer in case of a write error. In an embodiment a time-out time is specified via a special command along with a number of retries. This is further described below.
Figure 6 shows a timing diagram of a command and response. After sending a command and corresponding data 61 via the host interface 15, there is a command complete response 62. The time 63 between command 61 and command complete 62 is further defined to achieve a timely error status reporting. MMC-3 only specifies transfer rates, but not the time lapse between the last transferred byte and the command complete response 62 of the drive. The solution is either to directly specify the time directly. A direct definition is to specify the maximum time lapse and call it "command-time out" or "maximum allotted time". The command time-out may be applied for many commands. The time-out is the maximum time between the command and command complete. If the drive has to internally abort a command to achieve this, it must return with an error.
It is noted that a number of retries may be specified also. A read command can be delayed because a drive can not find the required address. It goes through a loop: jump & read address, if unsuccessful, jump and read again. By limiting the number of retries, the imminent read error is reported earlier, and thereby ending the command earlier.
Figure 7a shows connectors on a drive for interfacing. A rear side 71 of a drive is shown. The connector in the rear side of the drive is a 5-in-l connector. A first connector 72 is a digital output, and a second connector 72 is an analogue audio output (4 pin, according to MPC-2 spec). The audio outputs may be not supported. A Master / Slave connector 73 is a 3 position jumper block, for CS (Cable Select), M (Master) and S (Slave), and a jumper 75 is shown in a position as default jumper master select. A fourth connector 76 is a 40 pin ATA-2 dual row flat-cable connector, shrouded & keyed (pin 20 removed). This connector, also called IDE connector, is used for interfacing to a host via an ATA cable as described in ATA/ATAPI-5. Finally a connector 77 is a DC Power inlet according to Industry std. 4-pin Amphenol. The DC Power Connector provides the drive with DC power (+5 Volt and +12 Volt) to be supplied from an external power supply.
Figure 7b shows an IDE connector layout defining the function of the pins. The data connector is used for interfacing to a host system. For a detailed description see ATA/ATAPI-5. The Master / Slave Connector 73 is used to install an IDE data cable depending on the existing PC configuration. There are three possibilities of connection: device as slave (jumper on Slave); device as master (jumper on Master Default); device as master or slave (jumper on Cable Select): depending on the configuration of another connected device. No Jumper also means Cable select.
It is noted that MMC-3 is not enabling recovering from a write error by the drive with respect to real time recording. It is proposed to make capabilities available in the drive to do recovering during write and during read. The MMC-3 includes only the amount of retries and a command timeout. The command timeout is the maximum time to sending a message that the command has been executed. This command time out cannot be used for a recovery function because the command completion will send directly after receiving the data. Hence in MMC-3 the error status during writing a series of data blocks cannot be reported to the host.
In an embodiment a solution is provided in the event that real-time recording is to be performed. For example in real-time recording during writing a "disc at once" the host (e.g. in a PC) is following the drive. When a recovery process is activated in the drive the host has to wait until the drive has finished the recovering. The waiting during real time recording may cause the data storage to create a buffer overflow, and therefore a need to skip data. This gives a poor recording with visible skipped data. To improve this in the embodiment a timeout during recording is included. The definition of the timeout during recording is all time what is used doing "not writing" during execution of the write command, starting after the buffer level is crossing the threshold level of the data path buffer, and ending until the last part is written. The timeout during recording is different from the command timeout in that the command timeout defines the maximum total execution time, while the timeout during recording defines the maximum amount of spare time for other operations than the writing itself. This is further explained below.
Figure 8 shows a timing diagram of messages on the host interface, writing operations and other operations during recording. An upper timeline 81 shows messages at the host interface, i.e. the IDE level. The messages constitute a series of data blocks 84 to be recorded in real-time. A lower time line 82 shows operations at the medium interface, i.e. the disc level. On the upper timeline 81 mark A indicates a start of a sequence of write commands, wherein the next write command can only be given if the device has enough room to store the data in a buffer. Mark B indicates a crossing of a buffer threshold level. The buffer threshold level is a minimum amount of data that needs to be in the buffer before the device can start writing. After a delay TRS for starting the write process the drive start writing to the media indicated by mark C. A write error 85 occurs at mark D, e.g. an offjrack error, and a time TRET is needed to do recovering in the device. If the recovery is not successful the writing process is aborted and an error message is generated indicating the location of write error 85. After a successful recovery the device again starts writing continuously at mark E. At mark F a calibration is needed which required is time TCA for performing the calibration. At mark G the device again starts writing after calibration. At mark H the device finishes the writing process. A bottom timeline 83 shows a detail of a write command on the upper timeline 81 to explain the write command. At mark P an IDE write command is send to the drive. The command is followed by a data transfer to the drive at mark Q. At mark R a command completion message is send to the host. Note that the transferred data is not yet written on the storage medium, and therefore the existing command timeout which is coupled to the command completion message cannot be used to transfer en error status of the writing process itself. In an embodiment the time out during recording is defined as
TOUT1 T S +TRET +TCAL
Hence the device adds the actual time used for the above elements and compares the total TOUT to the maximum value given to the device, e.g. as a parameter included in a command. If the maximum value is exceeded by the actual calculated value, the writing process is aborted, an error message is generated and reported to the host.
In an embodiment the timeout during recording is defined as a fixed time the host has to preset every time the sequence to be written is different in time. Example 1 : during writing 3Mbyte the timeout during recording could be set to
500 msec. When the TOUT is above the given value of timeout during recording the drive stops the current operation, such as retries or calibration, and sends an error to the drive. For writing a much larger amount of data, e.g. the host wants to write 500Mbyte, using the same timeout during recording of 500 msec, a second calibration will create an error. This is unwanted because on a larger chunk of data to be recorded the host can expect one or more calibrations. Hence the host needs to set a larger timeout during recording for writing a large chunk.
In an embodiment the idea is to use a window structure and reset the actual time for other operations like calibration (TOUT counter) after each window (for example the window is 20 sec). Hence the maximum given in the timeout during recording is defined as a maximum in the current window. In this way the TOUT calculation can be used for every length of data to be recorded. Hence it is not necessary to set the timeout during recording every time when the length of data to be recorded is changed. In a practical example the TOUT counter is reset during start recording and after each window of 30 sec. The reset and window is explained by the diagram in Figure 9 below.
Figure 9 shows a timing diagram of writing operations and a window structure for timeout. A time line 91 shows writing operations at the medium interface, i.e. the media write level. At mark K recording is started, and a window 92 begins. At the first mark M the window is closed, and at each mark M a new window begins. At each mark M the TOUT counter is reset. During each window the calculation of TOUT is performed, and if the actual TOUT exceeds the timeout during recording an error is reported as described above. For example at mark L a calibration is executed, and at mark O a write error occurs, but retries are successful. No error is reported and writing is continued.
Although the invention has been mainly explained by embodiments using DVD+RW optical discs, the invention is also suitable for other record carriers such as rectangular optical cards, magneto-optical discs, high-density (Blu-ray) discs or any other type of information storage system for recording series of data blocks in real time.
It is noted, that in this document the word 'comprising' does not exclude the presence of other elements or steps than those listed and the word 'a' or 'an' preceding an element does not exclude the presence of a plurality of such elements, that any reference signs do not limit the scope of the claims, that the invention may be implemented by means of both hardware and software, and that several 'means' or 'units' may be represented by the same item of hardware or software. Further, the scope of the invention is not limited to the embodiments, and the invention lies in each and every novel feature or combination of features described above.

Claims

CLAIMS:
1. Device for recording information on a storage medium (11), the device comprising
- medium interface means (14) for interfacing with the storage medium (11) for recording data on the medium and retrieving data from the storage medium,
- host interface means (15) for communicating with a host (13) via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time, and
- error monitoring means (40) for generating an error message for notifying the host in dependence of an error status within the series of data blocks.
2. Device as claimed in claim 1, wherein the error monitoring means (40) are arranged for, in the event of write errors, including in the error message a location of a write error within the series of data blocks.
3. Device as claimed in claim 1, wherein the error monitoring means (40) are arranged for, in the event of write errors, reporting via a request sense command the address at which a write error occurred.
4. Device as claimed in claim 1, wherein the host interface means (15) are arranged for receiving a command that forces unit access for sending the error message at the end of the series of data blocks.
5. Device as claimed in claim 1, wherein the device comprises a cache buffer (38) for storing the data blocks, and the host interface means (15) are arranged for receiving a cache command for indicating an address in the cache buffer for resuming writing after a write error.
6. Device as claimed in claim 5, wherein the address in the cache command is a logical block address of the data block to resume writing, or indicates the data block with the next higher logical block address as the data block to resume writing.
7. Device as claimed in claim 1, wherein the host interface means (15) are arranged for receiving a command that indicates a timeout during recording which timeout defines a maximum amount of time to be maximally used during recording for operations other than writing the data blocks, and the error monitoring means (40) are arranged for determining an actual amount of time used during recording for said other operations, and for generating said error message when said actual amount exceeds said maximum amount.
8. Device as claimed in claim 7, wherein the error monitoring means (40) are arranged for determining said actual amount of time in a time window and for setting subsequent time windows during recording.
9. Method of error monitoring during recording on a storage medium, the method comprising
- communicating with a host via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time, and - generating an error message for notifying the host in dependence of an error status within the series of data blocks.
10. Method as claimed in claim 9, wherein generating the error message comprises, in the event of write errors, including in the error message a location of a write error within the series of data blocks.
11. Method as claimed in claim 9, the method comprising
- storing the data blocks in a cache buffer, and
- receiving a synchronize cache command for indicating an address in the cache buffer for resuming writing after a write error.
12. Method as claimed in claim 9, the method comprising receiving a command that indicates a timeout during recording which timeout defines a maximum amount of time to be maximally used during recording for operations other than writing the data blocks, and determining an actual amount of time used during recording for said other operations, and generating said error message when said actual amount exceeds said maximum amount.
13. Method of controlling a recording device as claimed in claim 1, the method comprising
- communicating with the device via messages according to a protocol, the messages including a write command for writing a series of data blocks in real-time, and
- receiving an error message from the device in dependence of an error status within the series of data blocks, and - applying a recovery for masking the error during playback of the series of data blocks.
14. Method as claimed in claim 13, wherein said communicating includes sending a command that forces unit access for receiving the error message at the end of the series of data blocks.
15. Method as claimed in claim 13, wherein said communicating includes sending a synchronize cache command for indicating an address in a cache buffer in the recording device for resuming writing after a write error.
16. Computer program product for recording information, which program is operative to cause a processor to perform the method as claimed in any of the claims 9 to 15.
PCT/IB2004/050567 2003-05-20 2004-05-03 Handling real-time write errors Ceased WO2004105021A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US10/557,973 US20060282699A1 (en) 2003-05-20 2004-05-03 Handling real-time write errors
BRPI0410462-5A BRPI0410462A (en) 2003-05-20 2004-05-03 device for recording information on a storage medium, methods for error monitoring during recording on a storage medium, and for controlling a recording device, and computer program product for recording information
EP04730912A EP1629485A1 (en) 2003-05-20 2004-05-03 Handling real-time write errors
JP2006530778A JP2007514250A (en) 2003-05-20 2004-05-03 Handling real-time write errors

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
EP03076514.3 2003-05-20
EP03076514 2003-05-20
EP03104636 2003-12-11
EP03104636.0 2003-12-11

Publications (1)

Publication Number Publication Date
WO2004105021A1 true WO2004105021A1 (en) 2004-12-02

Family

ID=33477624

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2004/050567 Ceased WO2004105021A1 (en) 2003-05-20 2004-05-03 Handling real-time write errors

Country Status (7)

Country Link
US (1) US20060282699A1 (en)
EP (1) EP1629485A1 (en)
JP (1) JP2007514250A (en)
KR (1) KR20060013412A (en)
BR (1) BRPI0410462A (en)
TW (1) TW200509078A (en)
WO (1) WO2004105021A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008070053A3 (en) * 2006-12-04 2008-08-21 Sandisk Corp Portable module interface with timeout prevention by dummy blocks
US7917719B2 (en) 2006-12-04 2011-03-29 Sandisk Corporation Portable module interface with timeout prevention by dummy blocks
US8325572B2 (en) * 2006-04-21 2012-12-04 Sony Corporation Optical disk recording apparatus and method for controlling optical disk recording

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8194692B2 (en) * 2004-11-22 2012-06-05 Via Technologies, Inc. Apparatus with and a method for a dynamic interface protocol
US9146868B1 (en) * 2013-01-17 2015-09-29 Symantec Corporation Systems and methods for eliminating inconsistencies between backing stores and caches

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0926891A1 (en) * 1997-07-12 1999-06-30 Sony Corporation Data processor and data processing method
JP2001006283A (en) * 1999-06-22 2001-01-12 Sony Corp DISK TYPE DATA RECORDING / REPRODUCING DEVICE AND INFORMATION PROCESSING SYSTEM WITH DISK TYPE DATA RECORDING / REPRODUCING DEVICE
US20030031106A1 (en) * 2000-07-21 2003-02-13 Fujitsu Limited Disc recording apparatus, method for replacing sector on recording disc, and recording disc
WO2003065217A2 (en) * 2002-01-29 2003-08-07 Koninklijke Philips Electronics N.V. Method for handling data, data storage system, file system and computer program product

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4657099A (en) * 1998-07-28 2000-02-21 Lg Electronics Inc. Method and apparatus of recording data in the optical recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0926891A1 (en) * 1997-07-12 1999-06-30 Sony Corporation Data processor and data processing method
JP2001006283A (en) * 1999-06-22 2001-01-12 Sony Corp DISK TYPE DATA RECORDING / REPRODUCING DEVICE AND INFORMATION PROCESSING SYSTEM WITH DISK TYPE DATA RECORDING / REPRODUCING DEVICE
US6639885B1 (en) * 1999-06-22 2003-10-28 Sony Corporation Disk recording/reproduction device, and information processing system incorporating a disk recording/reproduction device thereof
US20030031106A1 (en) * 2000-07-21 2003-02-13 Fujitsu Limited Disc recording apparatus, method for replacing sector on recording disc, and recording disc
WO2003065217A2 (en) * 2002-01-29 2003-08-07 Koninklijke Philips Electronics N.V. Method for handling data, data storage system, file system and computer program product

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
PATENT ABSTRACTS OF JAPAN vol. 2000, no. 16 8 May 2001 (2001-05-08) *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8325572B2 (en) * 2006-04-21 2012-12-04 Sony Corporation Optical disk recording apparatus and method for controlling optical disk recording
WO2008070053A3 (en) * 2006-12-04 2008-08-21 Sandisk Corp Portable module interface with timeout prevention by dummy blocks
US7917719B2 (en) 2006-12-04 2011-03-29 Sandisk Corporation Portable module interface with timeout prevention by dummy blocks

Also Published As

Publication number Publication date
BRPI0410462A (en) 2006-06-13
JP2007514250A (en) 2007-05-31
EP1629485A1 (en) 2006-03-01
KR20060013412A (en) 2006-02-09
TW200509078A (en) 2005-03-01
US20060282699A1 (en) 2006-12-14

Similar Documents

Publication Publication Date Title
US5297124A (en) Tape drive emulation system for a disk drive
JPH08249131A (en) Pretreatment method, information recording / reproducing method, input / output device, and recording / reproducing device
JP2002170342A (en) Method for recording write-once type optical disk
US20060282699A1 (en) Handling real-time write errors
CN100385382C (en) Apparatus and method for recording information
JP2002197791A (en) Method and apparatus for copying/moving data on optical recording medium
CN1983422A (en) Information recording/reproducing apparatus and method for processing read/write command thereof
CN1791927A (en) Handling real-time write errors
JP2003263842A (en) Information recording device
CN101036194B (en) defect management for real-time information
JPH04111113A (en) Hard disk emulator
US8560769B2 (en) Interruptible formatting
JP4174967B2 (en) Recording method of write once optical disc
EP1629487A1 (en) Handling unwritten areas on a storage medium
WO2006013501A1 (en) Managing data space on a record carrier
CN101031970B (en) Method and device for storing data on a record medium and for transferring information
KR100268386B1 (en) Recording and controlling method of a dvd-ram drive
CN100449630C (en) CD device
WO2004105018A1 (en) Time slip mode setting
JP2003051123A (en) Disk drive
EP1604364A1 (en) Method of transferring data for efficiently using disk drive
JP2002245752A (en) Disk recorder/player
CN1791926A (en) Handling unwritten areas on a storage medium
JP2002352565A (en) Disk recording/reproducing device
JP2002203370A (en) Host system and drive device, information recording and reading method for host system, and information recording and reading method for drive device

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2004730912

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2006282699

Country of ref document: US

Ref document number: 2006530778

Country of ref document: JP

Ref document number: 10557973

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 3079/CHENP/2005

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 20048138317

Country of ref document: CN

Ref document number: 1020057022188

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 1020057022188

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2004730912

Country of ref document: EP

ENP Entry into the national phase

Ref document number: PI0410462

Country of ref document: BR

WWP Wipo information: published in national office

Ref document number: 10557973

Country of ref document: US