cronoklee said:
Hi Paul, I'm back with an update:
I tried the jumper idea - same problem occurred
I also tried a different SATA cable and a using a different SATA port
on the PCI adapter - no joy there either.
Suspecting the worst, I removed the drive and hooked it up to my
laptop via an old SATA-USB adapter I had lying around. To my surprise
the damn thing worked like a charm! I did a HTtune benchmark on it and
came back with a transfer speed of 30MB/s.
At this point I'm convinced it has to be a dodgy PCI SATA adapter. Is
there any possibility it could be a bus or cache or something
overloading on the motherboard?? If not Im going to get back the eBay
seller and request a new adapter.
In the meantime, I've actually used that old SATA-USB adapter to keep
the drive running smoothly in the PC itself! It comes out through a
hole in the case and goes back in one of the (many) free USB slots.
(For some reason those old Dell Dimensions ship with 6 USB ports?!)
I'm getting a very stable 26MB/s transfer rate from it now which as
I'm mainly accessing over LAN is not a problem. its actually a little
faster than my IDE drive!
So a happy ending more or less! Thanks so much for helping me narrow
down the problem Paul. Unless you think it could be something else I'm
gonna get back onto the seller about a new PCI card.
Thanks again,
Ciarán
Well, you got some good news then. That the drive isn't bad after all.
What I'd suggest, is look at how the SATA connectors on the controller
card are allocated.
I think a VT6421A has two SATA ports and one IDE port. Now, some
manufacturers will take the wires for one port, and connect those
wires to an external (faceplate) connector, as well as an internal
connector. On one product I saw, there were a series of jumper plugs,
and you moved the jumper plugs, to enable either the external connector
or the internal one. On another product, they didn't even use jumper
plugs, instead choosing to leave an electrical mess for the chip to
deal with.
The signals on SATA are running at an extremely high speed. The very
best wiring pattern on the PCB, is one set of wires of constant
impedance. Preferably with differential wiring, with matched length
for each wire. That preserves as much as possible, of the original
signal quality.
Making "stubs" off the wires, like this, is considered poor practice.
There is a signal reflection at the "Y" joint, which ruins the signal
quality and causes errors. SATA is a packet protocol, with some kind
of CRC (cyclic redundancy check), so errors in the packets can be
detected. But any CRC scheme has limited detection powers, so if you
hammer on it with errored packets enough, an error will get through.
CRC error checking, is not a solution for a poorly designed card.
SATA_ext --
\
\___________ Controller
/ Interface
/
SATA_int --
If the chip is something like a VT6421A and you see two connectors
on the card, then you know they haven't taken any shortcuts. The
VT6421A would have two electrical interfaces, one going to each
connector. The chances of getting good results are much better,
if no tricks were used in the card design.
+------------------------+
SATA#1 -----------| Controller_Interface#1 |
| |
SATA#2 -----------| Controller_Interface#2 |
+------------------------+
So all I can suggest, is look at the design of the card, to
see if they did something dumb. I've seen cards with as many
as four connectors, when there are only two electrical interfaces
on the controller chip. And that means, it will be hard to pick
an interface with clean signals on it. You want a SATA connector
that does not "share" with any other connector. In some cases,
you can actually look at the copper tracks on the PCB, and figure
out where the signals are going.
Paul