From: bqt@update.uu.se (Johnny Billquist)
Subject: [TUHS] /dev/drum
Date: Thu, 26 Apr 2018 00:24:34 +0200 [thread overview]
Message-ID: <55000939-330c-85fe-7b07-5711b3578ecb@update.uu.se> (raw)
In-Reply-To: <mailman.137.1524667148.3788.tuhs@minnie.tuhs.org>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3211 bytes --]
On 2018-04-25 16:39, Tom Ivar Helbekkmo<tih at hamartun.priv.no> wrote:
>
> Ron Natalie<ron at ronnatalie.com> writes:
>
>> RK05’s were 4872 blocks. Don’t know why that number has stuck with
>> me, too many invocations of mkfs I guess. Oddly, DEC software for
>> some reason never used the last 72 blocks.
> I guess that's because they implemented DEC Standard 144, known as
> bad144 in BSD Unix. It's a system of remapping bad sectors to spares at
> the end of the disk. I had fun implementing that for the wd (ST506)
> disk driver in NetBSD, once upon a time...
Uh... DEC STD 144 does not have anything to do with remapping bad blocks
to replacement good blocks. DEC STD 144 describes how a media stores
known bad blocks on a disk, so that file system initialization can then
take whatever action needed to that these blocks are not used by
anything. In RSX (and VMS), they will be included in a file called
BADBLK.SYS, and thus be perceived as "used".
bad144 in NetBSD will keep the a table in memory for such disks, and
"skip" blocks listed in the list as bad, meaning all other blocks gets
shifted. So it sortof do a remapping to good blocks by extending the
used blocks, and does not allocate anything at the end of the disk per
se. However, that is a Unix specific solution. OS/8 had a similar
solution for RL01 and RL02 drives, but not RK05 (as RK05 disks don't
follow DEC STD 144.)
I don't know exactly why DEC left the last three tracks unused. Might
have been for diagnostic tools to have a scratch area to play with.
Might have been that those tracks were found to be less reliable. Or
maybe something completely different. But it was not for bad block
replacement, as DEC didn't even do that on RK05 (or more or less in
general at all before MSCP. MSCP, by the way, does not use DEC STD 144.)
Something Unix and other implementations usually miss with DEC STD 144
is that there are actually two tables with bad blocks defined by the
standard. There is the manufacturer defined bad blocks, which all
software seems to know and deal with, and there are the user defined bad
blocks, which are supposed to be where all bad blocks that develop after
manufacture are supposed to be placed. Lots of software does not deal
with this second list. In addition, you also have the pack serial number
and some stuff defined by DEC STD 144, which is also recorded on the
last track, where the bad block lists also are stored.
Note that this information is supposed to be on the last track, meaning
you cannot use the scheme Unix uses to remap bad blocks, unless you keep
some blocks before the last track unallocated.
The ultimate irony was when I discovered that bad144 under NetBSD was
only built for x86 machine, and not being built for VAX, which is the
only architecture supported which actually have real disks which follow
the DEC STD 144. But that was corrected about 20 years ago now (time flies).
Johnny
--
Johnny Billquist || "I'm on a bus
|| on a psychedelic trip
email: bqt at softjar.se || Reading murder books
pdp is alive! || tryin' to stay hip" - B. Idol
next prev parent reply other threads:[~2018-04-25 22:24 UTC|newest]
Thread overview: 105+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <mailman.137.1524667148.3788.tuhs@minnie.tuhs.org>
2018-04-25 21:43 ` Johnny Billquist
2018-04-25 22:24 ` Johnny Billquist [this message]
2018-04-26 5:51 ` Tom Ivar Helbekkmo
2018-04-25 22:37 ` Johnny Billquist
[not found] <mailman.1.1525744802.16322.tuhs@minnie.tuhs.org>
2018-05-08 22:39 ` Johnny Billquist
2018-05-07 15:36 Noel Chiappa
-- strict thread matches above, loose matches on Subject: below --
2018-05-06 13:07 Noel Chiappa
2018-05-06 15:57 ` Johnny Billquist
2018-05-05 13:06 Noel Chiappa
2018-05-05 20:53 ` Johnny Billquist
2018-05-03 11:39 Noel Chiappa
2018-05-03 21:22 ` Johnny Billquist
2018-04-30 15:05 Noel Chiappa
2018-04-30 16:43 ` Paul Winalski
2018-04-30 21:41 ` Johnny Billquist
2018-05-03 2:54 ` Charles Anthony
2018-04-28 20:40 Noel Chiappa
2018-04-29 15:37 ` Johnny Billquist
2018-04-29 16:34 ` Steve Nickolas
2018-04-29 16:48 ` Warner Losh
2018-04-28 0:19 Noel Chiappa
2018-04-28 10:41 ` Johnny Billquist
2018-04-28 12:19 ` Rico Pajarola
2018-04-27 23:01 Noel Chiappa
2018-04-27 23:10 ` Johnny Billquist
2018-04-27 23:39 ` Warner Losh
[not found] <mailman.1.1524708001.6296.tuhs@minnie.tuhs.org>
2018-04-27 22:41 ` Johnny Billquist
2018-04-26 1:53 Noel Chiappa
[not found] <mailman.143.1524696952.3788.tuhs@minnie.tuhs.org>
2018-04-25 23:08 ` Johnny Billquist
2018-04-25 22:55 Noel Chiappa
[not found] <mailman.139.1524690859.3788.tuhs@minnie.tuhs.org>
2018-04-25 22:54 ` Johnny Billquist
2018-04-25 22:46 Noel Chiappa
2018-04-24 7:10 Rudi Blom
[not found] <mailman.125.1524526228.3788.tuhs@minnie.tuhs.org>
2018-04-23 23:44 ` Johnny Billquist
2018-04-23 23:57 ` Steve Nickolas
2018-04-24 0:24 ` Ronald Natalie
2018-04-24 0:25 ` Warren Toomey
2018-04-24 0:31 ` Dave Horsfall
2018-04-24 1:02 ` Lyndon Nerenberg
2018-04-24 4:32 ` Grant Taylor
2018-04-24 4:49 ` Bakul Shah
2018-04-24 4:59 ` Warner Losh
2018-04-24 6:22 ` Bakul Shah
2018-04-24 14:57 ` Warner Losh
2018-04-24 6:46 ` Lars Brinkhoff
2018-04-23 22:01 Noel Chiappa
2018-04-23 22:09 ` Warner Losh
2018-04-23 18:41 Noel Chiappa
2018-04-23 19:09 ` Clem Cole
2018-04-23 23:01 ` Dave Horsfall
2018-04-23 23:49 ` Dave Horsfall
2018-04-24 0:26 ` Ronald Natalie
2018-04-22 18:06 Norman Wilson
2018-04-20 16:45 Noel Chiappa
2018-04-20 16:53 ` Charles Anthony
2018-04-20 17:16 ` William Pechter
2018-04-20 23:35 ` Dave Horsfall
2018-04-22 11:48 ` Steve Simon
2018-04-20 15:02 Tim Bradshaw
2018-04-20 15:58 ` Clem Cole
2018-04-20 16:00 ` David Collantes
2018-04-20 16:12 ` Dan Cross
2018-04-20 16:21 ` Clem Cole
2018-04-20 16:33 ` Warner Losh
2018-04-20 19:17 ` Ron Natalie
2018-04-20 20:23 ` Clem Cole
2018-04-20 22:10 ` Dave Horsfall
2018-04-22 17:01 ` Lars Brinkhoff
2018-04-22 17:37 ` Clem Cole
2018-04-22 19:14 ` Bakul Shah
2018-04-22 20:58 ` Mutiny
2018-04-22 22:37 ` Clem cole
2018-04-22 21:51 ` Dave Horsfall
2018-04-25 1:27 ` Dan Stromberg
2018-04-25 12:18 ` Ronald Natalie
2018-04-25 13:39 ` Tim Bradshaw
2018-04-25 14:02 ` arnold
2018-04-25 14:59 ` tfb
2018-04-25 14:33 ` Ian Zimmerman
2018-04-25 14:46 ` Larry McVoy
2018-04-25 15:03 ` ron minnich
2018-04-25 20:29 ` Paul Winalski
2018-04-25 20:45 ` Larry McVoy
2018-04-25 21:14 ` Lawrence Stewart
2018-04-25 21:30 ` ron minnich
2018-04-25 23:01 ` Bakul Shah
2018-04-23 16:42 ` Tim Bradshaw
2018-04-23 17:30 ` Ron Natalie
2018-04-23 17:51 ` Clem Cole
2018-04-23 18:30 ` Ron Natalie
2018-04-25 14:02 ` Tom Ivar Helbekkmo
2018-04-25 14:38 ` Clem Cole
2018-04-23 20:47 ` Grant Taylor
2018-04-23 21:06 ` Clem Cole
2018-04-23 21:14 ` Dan Mick
2018-04-23 21:27 ` Clem Cole
2018-04-23 22:07 ` Tim Bradshaw
2018-04-23 22:15 ` Warner Losh
2018-04-23 23:30 ` Grant Taylor
2018-04-24 9:37 ` Michael Kjörling
2018-04-24 9:57 ` Dave Horsfall
2018-04-24 13:01 ` Nemo
2018-04-24 13:03 ` Arthur Krewat
2018-04-23 23:45 ` Arthur Krewat
2018-04-24 8:05 ` tfb
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=55000939-330c-85fe-7b07-5711b3578ecb@update.uu.se \
--to=bqt@update.uu.se \
/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).