Donnerstag, 1. Juli 2010 14:04
Does anyone know in imapiv2 how to turn off BD-RE defect management. This is required to prevent slow write speeds.
for example. the LG GGW-H20L with a 2x BD-RE in the drive, imapiV2 will correctly report the write descriptor as 2x burn, and if you set 2x burn or -1 for max, the burn only goes at 1x.
This can also be demonstrated in Nero, which will also burn it at 1x when set to 2x. However in Nero if you disable BD-RE defect management the burn then goes at 2x.
I would like to provide this option in imapiV2
Dienstag, 6. Juli 2010 17:36Moderator
IMAPI doesn't support directly defect management feature. However you can play with IDiscRecorder2Ex in order to set appropriate parameters to disc recorder.
- Als Antwort vorgeschlagen Mikhail PranovichMicrosoft Employee, Moderator Dienstag, 6. Juli 2010 17:36
Sonntag, 11. Juli 2010 13:52
After some investigation in the MMC docs, this is part of the Write(12) command. Bit 6 of Byte 10 in the command is "VNR" which is ignored by all media except BD. The MMC doc section is below. It would seem this is not something I can alter via IDiscRecorder2Ex but something that would need to be set as an option in imapi unless there is a workaround, a kluge way would be for me to intercept your Write(12) commands to the drive, but I am hoping there is better way :)
220.127.116.11.1 When the Currently Mounted Disc is not BD-R
VNR is applicable only to BD-R. The Drive shall ignore VNR when the currently mounted media is not BD-R.
18.104.22.168.2 When the Currently Mounted Disc is BD-R
If the Hardware Defect Management feature is current, non-streamed writes should be verified by the Drive in
an automatic, verify-after-write process. Some applications may be designed to expect behavior associated with
Drives and media that do not automatically perform verify-after-write (e.g. write-once media without spare
areas). The VNR (Verify-Not-Required) bit provides a method by which the Drive may provide both behaviors.
If Streaming is set to one, VNR has no meaning.
If Streaming is set to zero and VNR is set to one, the default behavior of automatic verify-after-write functions
If Streaming is set to zero and VNR is set to one, the default automatic verify-after-write functions in the BD-R
Drive should be disabled.
6.47.3 Command Processing
When Streaming is set to zero and VNR is set to zero, the description of the WRITE (12) command is the same
as the WRITE (10) command.
Sonntag, 11. Juli 2010 14:55
What must be kept in mind here is this issue, is causing the estimated and total times returned in imapi args to be greatly inaccurate, as they have obviously been based on expected speeds set or default fastest speed available. However as the management in the Write12 defaults to on, this causes the drive to write at around half the requested speed so the times are close to double or more the returned values in the update event.
Mittwoch, 14. Juli 2010 11:05This is becoming very problematic for me. A 4.0x BD-RE set to maximum speed only managed around 0.9x. Other burning programs that disable this via the write12 command are averaging 3.9x to 4.1x or the normal speed of the media. Does anyone have any suggestions to speed up the writes of BD-R with imapiv2? Nic W
Freitag, 3. September 2010 21:24
Today, there is no way to do this directly through IMAPI. You will need to send your own commands either through the interface that Mikhail describes above or through SCSI Pass Through.
The Windows Optical Team
Dienstag, 10. Januar 2012 07:32
As its been considerable time since this was discussed, has there been any advancement to fix this issue? custom commands CANNOT be sent to fix this as its a flag bit (6) in the Write12 command itself, so imapi will send this for every single write, so this flag has to be able to be altered someway. or a way to intercept Write12 to send our own custom Write12 command, or a hook mechanism etc, After all this time Windows is still unable to write these discs beyond 1.0x due to not being able to disable VNR (defect management)
- Bearbeitet Nicw Dienstag, 10. Januar 2012 07:34
Dienstag, 10. Januar 2012 23:15Moderator
When Windows components (cdrom.sys, imapi2.dll) send down WRITE12, they will never set the VNR bit.
Are you sure you see the VNR bit set in commands sent down by IMAPI2? Can you use some tracing tools (e.g., bustrace) or command interception to really confirm that the VNR bit is set in the WRITE12 commands?
Dienstag, 12. Juni 2012 07:03
sorry Nathan I never got notification of your reply, and I had abandoned the program because of this issue.
There is a misunderstanding here. VNR defaults to enabled, and it is disabled by setting bit 1 of byte 10 of the Write12 command, not un-setting it. And as you say Imapi will never set that bit, so VNR remains enabled, meaning Windows cannot write bluray beyond 1.0x due to this. This is something that really needs to be fixed, either by disabling VNR totally or at least providing a mechanism to do it.
I abandoned the program because of this, but will bring it back on line is someone can give me a workaround to set that bit, without me kludging it which I would prefer not not to do.
Dienstag, 12. Juni 2012 21:42
I would suggest: Don't do that. BD-RE comes with defect management with a reason.
Yes, some advanced burning software like Nero enable the user to tweak settings. But here it is not a wise compromize to give up on data safety / reliability for performance. If the LG drive suffers such a serious drop in performance as you reported, look for a firmware upgrade from the hardware vendor which may very well have this fixed already. Or consider other models or vendors which perform defect management with a smaller impact on performance. The drop in performance you report appears extreme and should not be typical.
Senior Soft. Dev. Eng. | Microsoft IT | Microsoft Corporation
Freitag, 15. Juni 2012 00:01
Its not just the LG, every drive I have tried gives the same results, Panasonic UJ220, UJ2225, UJ230, UJ235, UJ240, UJ245, UJ260, Pioneer BDR206, BDR-207, BDR-XD04 to name a few. No matter what I try I cannot get these drives to go over 0.9x - 1.0x speed under IMAPI, however writing to them using my own code, or using other burning programs they all perform much faster, the VNR really gives a large hit when it comes to speed.
It has nothing to do with firmware either, there are various firmwares available and none have made any difference, IMAPI is the common denominator.
The drop in performance I have found IS typical when burning with IMAPI, which is around half the normal rated speed of the media.
Samstag, 7. Juli 2012 13:56
I have spend another fortnight working on this. CD & DVD all burn at the expected, and speeds set by the code. But for both BD-R and BD-RE IMAPI simply will not burn beyond 1.0x and that is also for non RE type discs. So the drop in performance is both extreme and typical. I have even tried setting the SetWriteSpeed parameter to -1 with no difference, 1.0x or lower speeds even on 4.0x BD-R discs.
Once again I give up and shelve the project, IMAPI is broken in this regard.
Mittwoch, 29. August 2012 19:21
Facing the same frustrating issue. Initially I thought I was doing something wrong, then I blamed the discs. Did you at some point manage to work around the issue? There is a quote of one of your posts on a crawler site, where you mentioned solving this on your own, but then it might be just a snapshot of a temporary thing you gave up on...
Donnerstag, 30. August 2012 12:38
On a second thought, I see you are mentioning above writing your own solution, which I would speculate involves talking directly to the drive(r) and sending the WRITE command with the flag set... If that is the case, then it is too much trouble for the task - I was just looking for a way to burn a BD from a PowerShell script for backup purposes. Writing a native application for that seems a bit over the top, even more so if involving SCSI, MMC and drivers.
Dienstag, 1. Januar 2013 00:06
I thought I would update everyone on this. Obviously someone at Microsoft took note of this. this issue does not exist under Windows 8 on the same code. I have not yet determined what has been done, but BD-RE discs now burn at the expected speed when running the code under Windows 8 Pro
- Als Antwort markiert Nicw Dienstag, 1. Januar 2013 00:06