LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Hardware (http://www.linuxquestions.org/questions/linux-hardware-18/)
-   -   Western Digital HDD's and Linux compatibility (http://www.linuxquestions.org/questions/linux-hardware-18/western-digital-hdds-and-linux-compatibility-624478/)

timbothecat 02-28-2008 08:22 AM

Western Digital HDD's and Linux compatibility
 
Hi Guys,

I was reading somewhere recently that WD Sata2 and Linux have compatibility issues. Can anyone shed some light on whether or not this is the case please. I was going to put 2 x WD 750GB Sata2 HDD's in my new system but if they're not going to work...

Also, if they don't go well could you please lend some advice as to what would be a good way to go.

Thanks a lot people and I look forward to reading the responses as they flood in.:p

:newbie:

johnsfine 02-28-2008 08:50 AM

What were you reading where?

I'm using a new 500Gb WD Sata2 drive in my new Linux system and I am not aware of any problem. I'm pretty sure a LOT of people are using new (or not so new) Sata2 drives from WD and not aware of any problem.

To the best of my understanding, these drives support an important performance feature for serious multi-tasking called "native command queueing". I recently learned that Windows XP doesn't natively support that feature, so if my son were doing any serious multi-tasking with his new WD Sata2 drive in Windows XP (he isn't) he would be missing an important performance feature. But his drive works fine without that. One (of many) items on my to-do list for my own new Linux system is to see if that feature is enabled, since at some point in the future I will be doing things for which that performance feature will matter. But as with XP, if something like that isn't supported, the drive works fine and in ordinary use there isn't even a performance difference and when you use it in a way that the feature would matter it just misses a little extra speed it might have had.

timbothecat 02-28-2008 10:01 AM

Hey there johnsfine.

That's what I wanted to hear my friend. I can't find the source of the quote right now but I think it may have been on one of my many travels through the blogs of the world. It could be that the person meant that they used it for some other purpose (whatever that may be) for which it had issues and I just jumped the gun and thought those compatibility issues were all encompassing. Wouldn't be the first time I've jumped to conclusions and it definitely won't be the last.

Thanks for your reply mate.

Catch you next time.

Regards,

Tim.

H_TeXMeX_H 02-28-2008 01:08 PM

Can a HDD really not be Linux compatible ? I though the controller was what had to be compatible, the HDD is irrelevant. Or am I wrong ?

johnsfine 02-28-2008 01:32 PM

Quote:

Originally Posted by H_TeXMeX_H (Post 3072916)
I though the controller was what had to be compatible, the HDD is irrelevant.

What controller? The controller that is built inside the hard drive? Or the RAID controller?

If you're using hardware RAID, the RAID controller must be compatible with the hard drive's controller and Linux must be compatible with the RAID controller, so then Linux wouldn't directly talk to the drive's controller.

But if you're not using RAID the only significant controller is inside the drive. The SATA or PATA hardware on the motherboard is functionally a bus not a controller.

To the best of my understanding, standards very effectively cover the communication between (the controller inside) SATA drives and OS's (unlike the communication between OS's and viseo cards for example or communication between OS's and RAID controllers) so incompatibility is unlikely.

jay73 02-28-2008 02:11 PM

Quote:

But if you're not using RAID the only significant controller is inside the drive.
That sounds a bit dubious. How is it that about 18 months ago I couldn't access my hard drives while others with the same type of drives but a different controller did not have these issues? On-board or pci controllers do matter and a lot. On the other hand, I have never seen a hard drive that was incompatible with Linux.

H_TeXMeX_H 02-28-2008 02:40 PM

Well, I was thinking for example, what if your AHCI/SATA controller is not supported by Linux, then you can't use a SATA HDD. I've never heard of any HDD that when you attach to a working, properly detected AHCI controller it isn't supported. If the controller is supported (AHCI or IDE) then the respective HDD is supported no matter its brand. Right ?

Now, remember that the AHCI and IDE controllers are almost always found on the motherboard (except in ancient machines), so what I'm saying does make some sense.

Emerson 02-29-2008 12:22 PM

Quote:

If you're using hardware RAID, the RAID controller must be compatible with the hard drive's controller and Linux must be compatible with the RAID controller, so then Linux wouldn't directly talk to the drive's controller.
Eh? If you are using hardware RAID then OS talks to the RAID controller and that's it. There is no way any OS could see "through" controller and interact with disks.

H_TeXMeX_H 02-29-2008 01:07 PM

Quote:

Originally Posted by Emerson (Post 3074085)
Eh? If you are using hardware RAID then OS talks to the RAID controller and that's it. There is no way any OS could see "through" controller and interact with disks.

Yes, that's the point I'm trying to make as well. The OS interacts with onboard controllers (onboard is on the motherboard), and in turn those controllers do their thing and interact with the HDD. So, I was thinking then that it would theoretically be impossible for an HDD to not be Linux compatible, instead a controller (be it AHCI or IDE) can be not Linux compatbile.

johnsfine 02-29-2008 01:29 PM

Quote:

Originally Posted by Emerson (Post 3074085)
Eh? If you are using hardware RAID then OS talks to the RAID controller and that's it. There is no way any OS could see "through" controller and interact with disks.

That is what I was trying to say (for just the case of hardware raid).

Quote:

Originally Posted by H_TeXMeX_H (Post 3074123)
The OS interacts with onboard controllers (onboard is on the motherboard), and in turn those controllers do their thing and interact with the HDD. So, I was thinking then that it would theoretically be impossible for an HDD to not be Linux compatible,

That is like saying it is theoretically impossible for Linux to be incompatible with a fileserver on your LAN, because Linux just interacts with the NIC and the NIC interacts with the fileserver.

But of course Linux can be incompatible with a fileserver. When you look at the interaction between Linux and a Fileserver, the NIC is filling the role of a BUS not a controller. The NIC fills the role of a controller when you consider it at another level, so it is also possible for Liniux to be incompatible with the NIC. But relative to the fileserver, the NIC is not a controller even though all the traffic to/from that fileserver goes through that NIC.

That description applies even more to the role of the non RAID motherboard SATA hardware. Like most modern busses, it is subject to configuration be the software and thus subject to possible incompatibility. But in the non raid interaction with the drive, everything that has traditionally been called a disk controller is in the drive and the motherboard SATA hardware is a bus.

The thing that makes it unlikely for Linux to be incompatible with any SATA drive is not any interfacing provided by the motherboard. It is the fact that SATA hard drives have better standards definition and compliance than most of the other aspects of hardware with which an OS must interact.

That configurable SATA "bus" on the motherboard is much simpler and its configuration is a tiny fraction of the task of talking to the hard drive, but there is less standards definition so more chance of incompatibility. (The standards address mainly the top and bottom of the problem: Top = how the OS communicates with the drive. Bottom = electrical and physical how the motherboard SATA hardware communicates with the drive. Missing middle might adress how the OS cofigures that thing I'm calling a "bus").

lazlow 02-29-2008 01:36 PM

John

99% of the time if there is a "compatibility" issue with a drive it is with the motherboard controller and not the drive (or drive controller). We saw tons of this when Sata was first introduced, roughly when FC4 first came out. We also saw a lot of this when Via chipsets were first starting up. Effectively drives are now just dumb devices.

dyasny 02-29-2008 04:11 PM

there are compatibility issues, such as erroneous timeouts etc. there issues are being addressed by manufacturers - that is what firmware updates are for.
incompatibility, in this case is not a OS issue, but more of a controller-hdd issue

onebuck 03-01-2008 08:39 AM

Hi,

A lot of spin going on here! Pun intended.

The modern HDD is a subsystem. Be it PATA or SATA the HDD is a subsystem that will have integrate drive electronics subsystem that will communicate via either PATA or SATA which are the bus methodology that is dictated by the drive type. The configuration of the controller on the the motherboard will be via the driver for a particular interface. Therefore the module layer for the controller will be the limiting factor for the communication to and from the HDD. Information is presented by the controller to the HDD and the subsystem dictates how the data is handled. The controller does present a request for the data and the drive presents the data when ready. If for a write then the the operation is performed in a similar manner. I'm not even defining cache methods at this time for read/writes.

Rather simple explanation but the general drift of what is occurring. The controller and drive are independent of each other. The HDD is not as dumb as some have stated. The HDD does require the relative information to present data to/back to the controller. If you look at the older methods of HDD systems then you would see that they were very dependent on the controller thus requiring a big overhead on the system. That is why the IDE was developed to provide a subsystem that would work with a controller not wait on a controller.


All times are GMT -5. The time now is 12:38 AM.