Thank you Ogasawara-san!

But I found the ...solution.... I dont know how many Sil3112 cards are still in 
the world(its from 2003)... The problem is with this controller itself, it 
cannot handle copying from one channel to another. It seems like inherited 
CMD-640 bug.
http://en.wikipedia.org/wiki/CMD640
I have spent 2 weeks on this problem, and I think this actually fixes it(but 
with HIGH cost). As far as I know the workaround is - automatically triggered 
temporary turning off of write cache on one of the devices. Normal independent 
disk operations are not affected.

However I WILL test it on Ibex via LiveCD and report back!

The problem happens when:
- Silicon Image sil3112A(2 sata channels)
- nforce(2) chipset
- 2 SATA disks(all chanells are 

The problem:
Data corruption upon copying from one SATA to another or vice versa. Not OS 
fault. But windows driver and acronis disk director(dos boot), somehow were 
able to detect the issue and fix it in software. 
Linux(ubuntu,knoppix(2.6.24),dsl(2.4.xx)) didnt do this and corruption occurred.

Affected if:
If the copy speed between both SATA drives is two times slower or less than 
pure copy speed to /dev/null or pure read/write speed.
Its assumed both SATA disks are empty to perform these tests.

sudo dd if=/dev/sda5 of=/dev/null conv=notrunc
1258754+0 записей считано
1258753+0 записей написано
скопировано 644481536 байт (644 MB), 6,70663 c, 96,1 MB/c

sudo dd if=/dev/sdb5 of=/dev/null conv=notrunc
1131414+0 записей считано
1131414+0 записей написано
скопировано 621353673 байт (621 MB), 6,50663 c, 95,2 MB/c

dd if=/dev/sda of=/dev/sdb conv=notrunc
534034+0 записей считано
534034+0 записей написано
скопировано 342413463 байт (341 MB), 6,70663 c, 55,2 MB/c (note this speed)

Note: if you allow to copy the drive or any partition(to the end), it
will be randomly corrupted.

After the problem is solved, copy speed will fall down dramatically, fsck will 
find no problems, no corruption:
dd if=/dev/sda of=/dev/sdb conv=notrunc
134156+0 записей считано
134156+0 записей написано
скопировано 102413463 байт (110 MB), 6,52143 c, 15,5 MB/c (!!!!!)

SOLUTION(ADVANCED KNOWLEGDE REQUIRED):
Download the lastest BIOS from Silicon Image for plugin card Sil3112A.
Or download the lastest motherboard BIOS package(BIOS+Sil3112A) if the chip is 
built in. Note motherboard manufacturers do not usually keep the bioses up to 
date(cause the board is old), you should find the communtity build package of 
lastest MB BIOS and lastest SIL3112A BIOS. For Abit NF-7S (v2) it could be 
accomplished from  nforcershq.com 
(http://www.nforcershq.com/forum/nvidia-nforce-nforce2-vf27.html).

Update your bios! Reenter CMOS values.
IMPORTANT STEP: Connect both drives(if they are not installed already).
In MB BIOS, turn of SATA and SATA RAID ROM. Force update EEPROM-yes. Save and 
reboot.
Enter again, reenable SATA and SATA RAID ROM.Force update EEPROM-yes. Save and 
reboot.
You can also increase PCI-P2P Discard Time:30us to 1ms.

Warning: Even if you HAD lastest BIOS, BIOS logic seems to enable the
patch ONLY if it detects two SATA disks AT TIME and ONLY on the RAID ROM
state change. That was my situation.

Thats all actually.
If before the whole disk was copied (55Mb/sec) in 3 hours(what is ok), but with 
constant data corruption(not ok);
Now it takes 8 HOURS to do the same thing. There are no errors anymore, but its 
just like some copying ceremony...
The solution kills the need...

Thank you.

-- 
Copying from one sata drive to other produces errors
https://bugs.launchpad.net/bugs/261769
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to