This page is a wiki. Please login or create an account to begin editing.


16 posts / 0 new
Last post
Offline
Joined: 2017 Jan 11
SATA drives: crashing and corruption, due to Jumper Blocks

On my PowerMac G4 and pair of PCI cards for SATA access, I've been using this for ten years, putting up with Intermittent occasional troublesome behavior, but only now have discovered that I must, on certain drive units, Set the physical "jumper" described as being for communication speed governing, and only then will my come&go errors go away for good. Wow, just, wow. Hardware badly designed!

Comments

WhosIt.There's picture
Offline
Joined: 2014 Aug 23

You should always check the jumper settings on drives. They're all different, plus it can depend on things like which BUS they're attached to. Some bare drives have the settings on their label, but others don't, so best to do check on the manufacturer website or Google search

On my old PowerMac G3 I had to swap the drives around on the BUSes so that I was able to boot on the Zip disk as an emergency boot drive if the hard drive failed (not that I ever need to do that in the end), but I then had to re-swap them on the rare occasion that I needed to boot on the CD-ROm drive instead.

Offline
Joined: 2017 Jan 11

Sounds like your G3 has PATA (formerly "ATA") drives, they all had and needed jumpers for addressing. I'm pulling my hair out over "SATA" drives instead, some of which have zero jumpers, typically no jumper labels when there are jumpers, and typically sold without any jumper bits supplied because the default setting is always jumperless. Some mfrs say to "ignore" their jumpers, they're not used for anything, others say the 4 inline pins are a serial port similar to USB, so might jumping 5V to Ground cause a short circuit? What a mess!

Offline
Joined: 2017 Jan 11

The communication speed governor jumper on some SATA drives is said to be for when certain older host controllers can't function without it. Even though everybody's figured out comm speed ought to negotiate properly automatically, plug & play ya know. I'd think such trouble would appear obvious, yet, my drives work fine 99.99% of the time when jumperless. Applying the jumper is making some but not all drives slow down, more about this later in this thread.

My controller PCI cards (two are the same brand/model) can experience internal buffer overrun, only when burst accessing large files in excess of SATA I, let's say at least 10MB file and more probability of an error the larger the file is. This scenario explains every aspect of the trouble I've been having. Directory data and tiny files never corrupt. There's never a comm error, the bad data always appears as if it was communicated correctly. Bad reads are the most common, bad writes are rare. It might require 2 drives running at once, like when copying and when comparing, i.e. 1 drive reading into RAM might never fail. Even so, failures are intermittent, days and weeks go by without errors, then, at other times: comparing two DVD libraries (many files 1GB in size) can express false mismatches at a rate up to 75% of all video title sets. I've ruled out electromagnetic interference.

Ultimately my SATA PCI cards are the bad part, I've already tried two versions of flash firmware on them dated a year apart, 2008 vs. 2009, from after the arrival of SATA II. Neither firmware version stops the errors. And, according to the mfr website, I got the highest version of firmware they offer for this card.

Somebody else knows exactly what I'm talking about - in the wikipedia page for "Serial ATA" there's a paragraph about experiencing "data corruption" as a result of connecting SATA-II devices to SATA-I controllers (and which have "Silicon Image" chips, as mine do), but, the paragraph has many mistakes and "needs citation".

Jumpering driveunits ain't gonna fully solve this, because not all drives have the necessary jumper.

Offline
Joined: 2017 Jan 11

Idea: my SATA PCI card model has its own big jumper block onboard (most models don't). Maybe I can attach a jumper to my card, or four jumpers one for each port, and it'll affect all drives which become attached. I'll be looking into this... On 2nd thought, the 4 jumpers on my card are probably for attaching "busy light" LEDs, I'll try not to short out anything...

24bit's picture
Offline
Joined: 2010 Nov 19

Thats interesting, SkyCapt. I was wondering what the pins may be good for.
My WD drives have 8 pins:

P1010279-1

Seagates got 4:

P1010280-1

The only drive with something written on the PCB is an old 2.5" Fujitsu.

P1010281-1

G / UAO / UAI / +5V could point to some USB-2 like serial interface.
Luckily I never needed to tinker with eyelet or pins, as the drives just work with post dual core Intel chipsets.

Edit:
Seems non matching transfer speeds were a known issue, as described by a Samsung leaflet here:

Screenshot-2019-01-13-at-19-34-34

I´ll have a look whether my Samsung drives have jumpers too or if there is any writing on the drives logic board.
According to Wikipedia, the speed downgrade was done via jumper or software.
How to set a jumper remains a mystery.

24bit's picture
Offline
Joined: 2010 Nov 19

My Samsung oldies seem to have a similar 8-pin jumper set as the Western Digital devices.

P1010286-1

The 80GB one is the only HDD with a jumper setting printed on the label.
Telling from the label, the third pair of pins (counted from the data connector) would need a jumper to set the drive in 1.5 Gbps mode.
What the other pins are good for is not described.

P1010282-1

WhosIt.There's picture
Offline
Joined: 2014 Aug 23

According to the manual at ManualsLib.com ...

NOTE : SATA 1.5Gb/s Speed Limit Jumper setting Only for SATA 3.0Gb/s productsIn some rare cases SATA 1.5Gb/s hosts can not establish SATA interface connection with SATA 3.0Gb/s devices due to interface protocolissues. In this case the jumper may be installed as shown on the figure below to force the device to negotiate for SATA 1.5Gb/s speed.

A Google image search brings up this image, but the original page no longer exists on FixYa.com and those are the Samsung PATA jumper settings, not SATA according to the manual page at ManualOwl.com (which also says to use software for the 1.5GB setting, but that no longer exists either):

Offline
Joined: 2017 Jan 11

I'm still busy testing WD&Hitachi drives on the troublesome G4, but I've already tested Seagate drives and all kinds of drives on my 2008 Mac which has a native SATA-II port. This don't look encouraging for my G4: Seagate drives don't respond to their speed control jumper and persist with errors even with the jumper.

Using "QuickBench" for testing SSD's that are rated for SATA-III @ 500 MB/sec reveals the SATA-II limit is 269 MB/sec burst read & 248 MB/sec burst write, whereas the SATA-I limit is 123 MB/sec burst read & 121 MB/sec burst write on my PMG4 with PCI controller. In Tiger RAID formation I have my PMG4 doing 195 MB/sec burst read & 177 MB/sec burst write with two SSDs "striped". Fast like take that!, yet prone to errors how this thread focuses on. The SSDs are NOT reacting positively to receiving a jumper, some SSDs don't offer jumpers.

All my Seagate drives aren't reacting either! Apparently the Seagate speed control jumper simply downgrades one generation, so it would require SATA-II drives to get stepped down to SATA-I. My Seagate drives are all SATA-III and therefore step down to SATA-II which doesn't help me at all!

I have two or three WesternDigital drives which are slowing down with jumper, but I'm still in the process of testing whether they're gonna solve my PMG4 trouble. On the SATA-II system, they might not even exceed SATA-I ceiling, they reduce speed waayyy below the SATA-I speed when jumpered, but they only reduce their write speed and keep their read speed the same. The WD jumper for speed governing is "2nd" vertical column counting from the data port.

I also have a 2009 Hitachi SATA-II drive which crashes the PowerMac unless I jumper it. It's only got a one-jumper block, no guesswork. This drive crashing vs no-crashing already lets us know where this thread is heading...!

Anyway, one of my Seagate 2TB non-hybrid drives is doing 212 MB/sec burst read & write on the SATA-II system, incredible. My 2nd fastest platter is a Seagate 8TB that does 178 MB/s. And note that platters can report different speeds depending on whether the test takes place on an inner diameter vs outer diameter track. Cut a drive into a lot of partitions and compare "QuickBench" between first and last partition. The outer diameter goes faster because more magnetic material passes underneath the drive head, like having a faster rpm relative to its inner rings.

24bit's picture
Offline
Joined: 2010 Nov 19

Nice findings!
Nobody mentioned Toshiba so far?
I´ll see whether my WD and Samsung drives will respond to the braking jumper.
Not that it would tell much for a G4 PCI HBA, but good to know still.

24bit's picture
Offline
Joined: 2010 Nov 19

I did not fare well with QuickBench and newer macOS, which had to be expected.
Snow Leopard does work, but trying a Yosemite volume from 10.6 triggers the no permission pop up.
Therefore BlackMagic Speed Test must do.

Samsung Spinpoint T166, HD321KJ, sATA 2.5, 3GB/s
Without jumper: 50MB/s write, 50MB/s read.
Jumper 3 set: 45MB/s write, 37MB/s read.
In either case a 5GB test file is written and read several times.

The device comes from my wife´s former GMA-950 XP box, about 40´000 hours power on.
The drive is rather slow by default, but J-3 slows it down further.

Offline
Joined: 2017 Jan 11

This is it; gold.
Putting jumpers on the "1.5 Gbps" limiters, and no more errors thus far.

My machine PowerMac G4 has various SATA controllers with the 1.5 Gbps (aka 150 MB/s, SATA I, Sata one) speed ceiling. It was a premonition when I got a yr 2009 Hitachi Deskstar HDD that crashed constantly, but works great with the jumper On. I was supposed to realize that this means my SATA controllers have the focus "issue" where attached drives require this jumper, even though all (not Hitachi) drives appear to function right most of the time. Perhaps I can use my Hitachi HDD to determine which host controllers do/don't have a bad attitude.

I've got twin 3TB WD drives in my PowerMac, both specially partitioned for correct 2.2TB limit Tiger has, both now with the 1.5Gbps jumper applied (located 2nd jumper from WD's data port). The drives don't appear to read/write slower with jumper, the bus limit is always max both ways. But I know I am applying the correct jumper to these WD drives because they do then read/write slower when I tested these drives on my 2008 Mac that's got native SATA-II capability. These WD drives did 100% were involved in corrupt reads and occasional crashing when they had been unjumpered. Now no trouble yet, thems jumpered.

I have twin Kingston SSD in striped-RAID formation that boots OSX Tiger. These SSD were trouble prone too, and the Kingston info said to ignore their jumper block because it's unused. Well I elected to try their jumper block regardless. Didn't have high hopes when my SATA-II system showed no change in speed, but the SSD might know it's connecting to SATA-II and therefore avoid stepping down to SATA-I. Anyway, back to PowerMac and I've applied the jumper (1st jumper counting from drive's data connector) onto my Kingston SSDs and again no more trouble thus far. EDIT: using jumper #1 no help, trying jumper #2of2 now....

Casualties in this whole mess: all my big TeraByte Seagate brand HDDs which make trouble both without and with jumper. I think their speed limiting jumper only reduces SATA-III downto SATA-II thereby ignoring SATA-I compatibility. Also, My SSDs that don't have any jumper block, some of which are Kingston brand even. And a sorry bunch of WD HDDs (2TB-3TB) I discarded over the years because as trouble seemed to increase with these drive units I gave up on them instead of jumpering them!

Offline
Joined: 2017 Jan 11

Still no funky read errors from my WD drives, and I know these drives have the read errors when not jumpered.

But my Kingston SSDs (in RAID) didn't get fixed using their jumper #1 so I'm off to trying the jumpers #2 they got.

There's a 2nd type of error I've never really described to y'all, just been calling it "crashing". Its more rare even than the scrambled read problem, even more difficult to make progress. It is usually during a large write op, there'll be a total freeze requiring I power off. For all I knew it might have been my overclocked CPU's fault. Blessedly, I've come to realize this is a mirror image of the read-only buffer-overrun onboard the PCI card. It's a write-only buffer-underrun fault onboard the PCI card. I realize my SSD-in-RAID is doing this usually after erasing and rewriting multi-GB to it, see it requires intense writing to lockup the system whereas casual use works almost all the time. There's no beachball, it's a hardcore freeze, no amount of waiting can help it.

Ironic. The SATA 1.5Gbps card talks to the drives faster than 1.5Gbps, it steps up the frequency automatically, and I used to complain when hardware didn't step up automatically. Now it turns out the auto stepup is causing the incompatibility and failures, because the PCI card's buffer size and internal drivers were designed for 1.5Gbps max. The card talks to PCI at no more than the 1.5Gbps rate, but talks faster than anticipated to the storage units, allowing for buffer management errors.

I really ought to hunt for properly functioning SATA-PCI cards. Fingers crossed, let jumper #2 fix my Kingston SSDs - maybe I'll know in another month! ugh.

muttztfz's picture
Offline
Joined: 2010 Dec 2

Interesting thread!
I've used SATA-to-IDE adapters for attaching SATA drives to the on-board IDE controller of Power Macs G4 and to the PCI IDE expansion card ACARD UltraATA/133 in one Power Mac G3 350 MHz (original 1999 model with the faulty internal IDE port, PowerMac1,1), using the master/slave jumper of the adapter. I've never had issues with this so far, but this is a SATA drive on an IDE controller and therefore a different case...

On the topic of SATA drives on SATA controllers: I recently upgraded all my G5s to use SSDs instead of the SATA-I (1.5GB/s) and SATA-II (3GB/s) HDDs I had installed before, some of them original Apple drives (the SATA-I drives mostly). I haven't tried a SATA-6GB/s (SATA-III) HDD yet...

Anyhow, with the HDDs I never had issues. I've never fiddled with jumpers. But with the SSDs, all of them SATA-6GB/s (because I just recently bought them), the trouble was that the system just didn't detect them! I tried them both on a Power Mac G5 from 2003 (original Dual 2.0 GHz model, PowerMac7,2) and a Late-2005 (Dual-Core 2.0 GHz model, PowerMac11,2). Interestingly, on the Late-2005 the same drive would be detected like 1 out of 20 times and was then, when detected, usable until reboot/shutdown without issues.

In the end the solution to this not being able to detect the drives properly was a surprise to me. I had to extend the SATA cable by about 40 to 60 inches, using two or three 20 inches extension cables (like this one: https://www.amazon.com/dp/B006WPC1TK). With this extension the SATA-6GB/s (SATA-III) SSDs are now always detected by the system and using them with Mac OS X is working reliable so far and without issues... (The only issue is of course that no version of Mac OS X on PowerPC supports TRIM.) The SSDs don't have any jumpers.

Offline
Joined: 2017 Jan 11

My numerous drives are all SATA-III type 6gbps (except that one 2009 Hitachi HDD is a SATA-II 3gbps). The computer faulting is an overclocked PowerMac G4 MDD-2003 with twin yr.2008 SATA-I PCI cards of brand FirmTek model SeriTek, Silicon Image (SIL) brand processors onboard cards. In an earlier post this thread, I mistakenly said maybe failure needs two drives bursting simultaneously, but now I remember I already confirmed a single drive operating can corrupt on me. I've tested, at when it's acting up at its worst, that I can use OSX Terminal to calculate the "md5" checksum of huge disk image files, and get reported different checksums for one and the same file.

The cause of this is so slim, it's possible my PCI cards could be put in some other computers and there not be any faults. The profound intermittent nature is saying a lot. I can chew through dozens TB of data and have no faults, weeks go by. Then I can have a 'spell' of corrupt activity in which bad reads happen all day for several days. This tells me that the comings and goings of "background activity" which shares my PCI bus is playing a role. The faulting comes and goes like the weather, same as how the by design low-bandwidth PCI chatter in most computers normally "comes and goes like the weather" also.

Testing my solution (the #2 jumper on WesternDigital brand HDDs) I often when I sleep set my two jumpered internal WD HDDs to compare files against each other over a TB of the same data stored on each. Now, no more faulting from these particular drives when jumpered, I'm convinced. And I had tried sooo many other things that ended up not affecting the issue.

Here's an interesting take on this, you seem knowledgeable to comprehend and get the cutting edge nature of it. My PCI cards certainly have built in protection against buffer overrun and underrun, they wouldn't get far without it. The protective software onboard the cards executes inside of loops, so in order to have a failure the overrun/underrun has to happen in-between two safety checks, occuring in less time than one loop iteration. It has to require the bully nature of Doubling the drive cable rate, or Quadrupling the drive cable rate, to break this defense. On one hand, increasing the bridge's margin of safety or buffer size would fix this, but why would any cardmaker futureproof it by supplying a buffer larger than necessary for the task at hand, SATA-I 1.5gbps. There is another variable: the execution speed of the SATA processor. Speeding up the SATA processor will make it process its I/O loops faster, presenting less or no opportunity for overrun/underrun. Imagine if when my PCI cards were produced, they allowed chips onboard in some range of speed X to Y MHz. The exact same circuit running the exact same codes might exist error free when the SATA chip has speed Y MHz, but my errors become tangible when the SATA chip has the speed X MHz.

My situation is SATA chips faster than their own good. SATA-I was adopted by Apple in 2003. SATA-II began in 2007. My yr.2008 SATA-I hosts were made when SATA-I was old news, the cards undoubtedly use processors faster than SATA-I's introduction, and they aren't shy about interacting with driveunits at newer higher speeds.

Offline
Joined: 2017 Jan 11

I've an experiment to do. I have another SATA device that locks up during write operation, and I don't have to wait weeks or months for it to happen, it locks up every time. It's an external drive 'sled' enclosure for optical tray loading drives. It can't write a single disc with its eSATA port, but it has FireWire ports also, so I keep using it and have "taped over" the sled's eSATA port to remind myself not to burn coasters thus killing plastic trees. I never checked yet but if it's host-buffer-underrun causing the write crash, then this drive 'sled' should have zero issue Reading discs thru eSATA, and then I'll burn one more "coaster" lockup to again prove it cannot write using its eSATA connector. Doing this...