9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Nigel Roles <nigel@9fs.org>
To: Fans of the OS Plan 9 from Bell Labs <9fans@cse.psu.edu>
Subject: Re: [9fans] Writing device drivers
Date: Wed, 19 Apr 2006 07:59:38 +0100	[thread overview]
Message-ID: <4445DFDA.4060501@9fs.org> (raw)
In-Reply-To: <a45120bf67e280ebdea3623c3355e200@plan9.bell-labs.com>

jmk@plan9.bell-labs.com wrote:

>i have no idea if it's a poor piece of hardware or not, i just
>can't see me ever wanting to use one.
>
>On Tue Apr 18 23:12:50 EDT 2006, quanstro@quanstro.net wrote:
>
>
>>am i missing something?  is this a poor piece of hardware?
>>
>>
>>
RAID controllers (especially real ones which handle RAID 5 entirely
onboard) tend to end up in a different bracket to host adaptors. Because
they need to convert a single operation into a sequence of reads and
writes to maintain the array, there is a need for substantially more
computing power on board, and people will pay for this. As a result,
they tend to look like the Adaptec card did in the early days with a
fixed mailbox SCB API, but with a fast CPU (I960s are very popular)
running a lot of firmware. The BIOS is used to configure groups of
physical drives into logical drives, and the firmware presents those
logical drives to the OS driver.

Thus there is only one interface to write a driver to, you dont have to
choose the firmware/driver split yourself, the firmware takes care of
the scsi bus so you only need to understand SCSI protocol and not the
physical layer as well, and the programming interface is often quite
straightforward.

In short, assuming you have some documentation (or if really desperate a
Linux driver to look at), then writing a driver for a RAID controller
could well be a lot easier. The trickiest part is often that the BIOS is
not 'fully featured' as regards volume managment (or the machine is
remote and so the console is inaccessible), and you really need to use a
managment API from the host OS to do array management. This API is
rarely documented in detail; instead in the Lunix world thet have in
some cases resorted to finding ways to run the manufacturers DOS binary.

Nigel


  parent reply	other threads:[~2006-04-19  6:59 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-19  3:10 erik quanstrom
2006-04-19  4:02 ` jmk
2006-04-19  4:57   ` lucio
2006-04-19  6:59   ` Nigel Roles [this message]
2006-04-19 21:12   ` quanstro
  -- strict thread matches above, loose matches on Subject: below --
2006-04-17  0:31 erik quanstrom
2006-04-17  1:44 ` Russ Cox
2006-04-17 10:01   ` Nigel Roles
2006-04-18  1:34     ` erik quanstrom
2006-04-18 14:49       ` Nigel Roles
2006-04-18 15:42         ` jmk
2006-04-18 15:59         ` Moritz Kiese
2006-04-18 16:03           ` Nigel Roles
2006-04-18 19:15       ` Paweł Lasek
2006-04-17  0:11 erik quanstrom
2006-04-17  1:24 ` Russ Cox
2006-04-16  1:02 erik quanstrom
2006-04-16  2:36 ` Anthony Sorace
2006-04-16  8:06   ` Bruce Ellis
2006-04-15 23:34 erik quanstrom
2006-04-15 23:55 ` Skip Tavakkolian
2006-04-15 15:26 erik quanstrom
2006-04-15 23:04 ` Federico Benavento
2006-04-15 23:18   ` Skip Tavakkolian
2006-04-16  0:43     ` Federico G. Benavento
2006-04-16 18:03     ` Charles Forsyth
2006-04-16 18:14       ` Bruce Ellis
2006-04-16 21:31         ` Charles Forsyth
     [not found] <8a5bd8ccbc2e53557663e2a9020fb26c@coraid.com>
     [not found] ` <820bc1260604140834v2a773ev90ff46b4e6b2427f@mail.gmail.com>
2006-04-14 15:36   ` Eric Smith
2006-04-14 19:33     ` David Leimbach
2006-04-15  4:58     ` jmk
2006-04-15 13:24       ` Eric Smith
2006-04-15 14:16         ` Anthony Sorace
2006-04-16 23:00           ` Paweł Lasek
2006-04-14  3:20 Eric Smith

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4445DFDA.4060501@9fs.org \
    --to=nigel@9fs.org \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).