ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) (10/19/88)
[ The line eater hit -- more -- ] A learned friend of mine explained to me that he doesn't like SCSI. His reasoning is that nearly every SCSI drive is different, and that you have to write a different device driver for nearly every drive you come across. This evidently has something to do with the fact that no two drive manufacturers return the same error codes. He personally perfers ST506. However, I thought ST506 was a dinosaur, and SCSI beat it in terms of transfer speed and media size. He likes ST506 because you can plug any ST506 drive in the world into an ST506 controller, and it'll work. This is apparently not true of SCSI. Now, seeing as how I'm getting closer and closer to the day when I buy a hard disk (no, I don't have one yet), I want to make certain that I do it right. So could someone please explain to me what's what, and the advantages and pitfalls of both formats. Something tells me it's probably best to send answers via mail, unless you feel your information would be of general interest. Thanks. _-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_ Leo L. Schwab -- The Guy in The Cape INET: well!ewhac@ucbvax.Berkeley.EDU \_ -_ Recumbent Bikes: UUCP: pacbell > !{well,unicom}!ewhac O----^o The Only Way To Fly. hplabs / (pronounced "AE-wack") "Work FOR? I don't work FOR anybody! I'm just having fun." -- The Doctor
cmcmanis%pepper@Sun.COM (Chuck McManis) (10/20/88)
In article <7413@well.UUCP> ewhac@well.UUCP (Leo 'Bols Ewhac' Schwab) writes: > A learned friend of mine explained to me that he doesn't like SCSI. >His reasoning is that nearly every SCSI drive is different, and that you >have to write a different device driver for nearly every drive you come >across. This evidently has something to do with the fact that no two drive >manufacturers return the same error codes. Not exactly true, but true enough. The SCSI spec has some very definite ideas on how you talk to a drive, and within that set of ideas is something called the Common Command Set or CCS. These are required in all drives that want to be called "SCSI Compatible". All of the generic bases are covered but the fundamental maintenence issues are not. [This comes from the experiences of writing a hard disk maintainer program for SCSI disks.] Where the specification falls down is in the areas that couldn't be agreed upon by the committee and were instead left up to the vendors. For hard disk driver writers the key area of difficulty in in the handling of Defective blocks on the drive. The three areas in question are identifying the blocks, adding them to the known list, and verifying that known list. Identifying them is done with the REASSIGN BLOCKS command, which is a standard 6 byte command, however the "Defect Descriptor" can take on one of three forms. This defect descriptor identifies the block to the SCSI device. The three ways of identifying a bad block are using the cylinder, head, and sector method. This identifies the sector that is bad which is fairly easy to compute if you can read the geometry from the drive. The Cylnder, Head, Bytes_from_Offset method which is more accurate (identifying the specific byte region where the defect occurs which allows particularly bright SCSI drive controllers to just move the sectors around so that none of them hit the bad spot without actually using a spare sector. And finally, using the "logical block" address which is putting the translation into the physical block location into the SCSI controllers domain. The advantage here is that if the subsequently spared block goes bad then you still get the correct physical block because the logical blocks all go through the mapping process before getting resolved to physical blocks. The problem is that it is not "required" that any specific form be supported, only that "one" form be supported. Also since there isn't an Unreassign command you can't use one form and then undo it if it got the wrong block. Adding them to the known list is usually done by reformatting the hard disk. The problem here is two fold, one it takes the same defect descriptors as the REASSIGN command does, and two there are several "modes" to format into that include Reassigned blocks or don't and can even erase the manufacturers list in some cases. Fortunately all drives support the "Format down to the original list" and "Format with all blocks reassigned so far." So if you solve the Reassign problem you get to format for free. Then you have to verify the lists and here it gets weird again. The command GET DEFECT LIST is standard, and has two bits, one for the "manufacturer" list and one for the "grown" list. You can always ask for all of them (everyone supports that it seems) but you can't always ask for just one list or the other. For instance Seagate drives will give you both lists or just the manufacturer list but not just the "grown" list. Miniscribe drives will give you any combination as will Quantum drives. Thats the first problem, then the second problem is that the drive may give them back to you in a format that is different than the one you uses to assign them. (although generally it will be the same format as shown on the defect mapping with the drive). Thus you may use "logical block format" to map them and get them back in "Cylinder, head, offset" format! Since you don't know the algorithim for computing one from the other (it's implied by the drive controller.) You can't know if it is correct. Then you get people like seagate that like to insert a 0xFF byte between lists but again this isn't part of the standard because the standard says the format of the List returned is "vendor specific." Anyway, that is my biggest gripe, but it is undeniably true that no ST-506 drive will ever match the performance of the later SCSI drives. Because it is a physical device specification (it defines the data rate to by 5Mhz for instance) you can't take advantage of new technologies. Wherease with SCSI, the bus itself is capable of 4Mb/sec in synchronous mode, and as drives get better we will see them come up against this barrier. Already at Sun we are finding that many of the new SCSI drives offer performance that is comparable to SMD drives. This won't happen with ST-506 type drives. --Chuck McManis uucp: {anywhere}!sun!cmcmanis BIX: cmcmanis ARPAnet: cmcmanis@sun.com These opinions are my own and no one elses, but you knew that didn't you.