Ordinary Harddisks on the AS/400

From Try-AS/400
Revision as of 13:49, 15 March 2020 by PoC (talk | contribs) (Note)
Jump to navigation Jump to search

The following article is an excerpt from the PoCnet-Wiki, translated to english language.

Ordinary SCSI-Disks cannot be used with the AS/400. They even do not show up in DST[1].

AS/400-Disk in a Linux box

This is a shortened sample output from a linux box' kernel log:

scsi 5:0:3:0: Direct-Access     IBMAS400 DFHSS4W          5959 PQ: 0 ANSI: 2
scsi5:A:3:0: Tagged Queuing enabled.  Depth 8
scsi target5:0:3: Beginning Domain Validation
scsi target5:0:3: wide asynchronous
scsi target5:0:3: FAST-10 WIDE SCSI 20.0 MB/s ST (100 ns, offset 8)
sd 5:0:3:0: [sdb] Unsupported sector size 522.
sd 5:0:3:0: [sdb] 0 512-byte logical blocks: (0 B/0 B)
sd 5:0:3:0: [sdb] 522-byte physical blocks
sd 5:0:3:0: [sdb] Write Protect is off
sd 5:0:3:0: [sdb] Mode Sense: b3 00 10 08
sd 5:0:3:0: [sdb] Write cache: disabled, read cache: enabled, supports DPO and FUA
sd 5:0:3:0: [sdb] Unsupported sector size 522.
sd 5:0:3:0: [sdb] Attached SCSI disk
sd 5:0:3:0: [sdb] Unsupported sector size 522.

As you can see, these disks utilize 522 Bytes per sector instead of 512 as the rest of the world does. There is a command line utility called setblocksize by Michael Baeuerle. It provides the possibility to reformat disks (supporting changeable block sizes) with different sector sizes.

Ordinary Harddisks on the AS/400

Unfortunately, it's not sufficient to just reformat disks to the proper sector size. It may even happen that disks with a vendor id different from IBM won't show up in DST regardless of the sector size.

Newer research suggests that AS/400 approved disks have a custom IDENTITY response, additional VPD[2] tables, and two additional, vendor defined SCSI commands: SKIP READ and SKIP WRITE. It is not clear which combination of the differences are mandatory for getting a disk to run on an AS/400.

I tried to get an IBM DCHS 9 GB 3.5"-Disk to work on a 9401-150. Without success. The disk shows up in DST and when trying to start a surface test, the following error message appears:

                          Error Report

Note: Some action will need to be taken for the errors listed
below.  Please select an error to display the detailed 
information for it.  The detailed information will indicate
what action may need to be taken to correct the error.

Type option, press Enter.
  5=Display Detailed Report

OPT   Error
 _    Disk units without the system support

Entering 5 (for continue), the next message reads:

                Disk Units without the System Support

The following disk units do not have the correct system
support.  The function you requested can not be completed
until the correct system support is applied.  Call for service.

            Serial                  Resource
ASP  Unit   Number      Type  Model Name         Status
[Output of details for the disk in question]

Trying to format the disk within DST yields the following error:

                     Combined Error/Attention Report

Note: Some action may need to be taken for the errors and/or
problems listed below.  Please select an error or problem to
display the detailed information for it.  The detailed
information will indicate what action may need to be taken
to correct the error or the problem.

Type option, press Enter.
  5=Display Detailed Report

OPT   Error
 _    Disk unit I/O failure, check reference code

Entering 5 (for continue), the next message reads:

                                I/O Error

The system encountered an error while it was attempting to
read or write to a disk unit.

Contact your service representative with the following
information:


                                        --Reference Codes--
Serial                    Resource        I/O
Number       Type  Model  Name          Processor    Device

The reference codes are 0. Not helpful.

Background Information

Disks for AS/400 systems come in two flavours, 520 Bytes and 522 Bytes per Sector. The 520-Bytes-Format is considered outdated by IBM. 520 bytes formatted disks were used with old CISC machines only.[3]

The 520-Bytes-Format is composed of:

  • 8 Bytes Header,
  • 512 Bytes Payload.

The 522-Bytes-Format composed of:

  • 8 Bytes Header,
  • 512 Bytes Payload,
  • 2 Bytes Trailer.

The 522-Bytes-Format is mandatory for:

  • RAID,
  • Compression.

Metadata for these (and probably more) features are kept in these trailer bytes.

The header consists of metadata for the block's payload. Example: Protection (RAID1, RAID5 or similar). Also it contains flags if the block contains valid data, an individual block address (probably needed for the famous single level storage addressing scheme), and more. Metatada is exclusively utilized by the I/O-Processor. The OS itself handles 512 Bytes per Sector Data as known from other Systems.

Header and trailer will be written while formatting a drive with the accompanying AS/400 tool (DST).

Alternative Solutions

A UK based company offers an adapter board that makes it possible to use standard compact flash media instead of spinning disks. It seems that this solution has never been tested in the field. I got a product sample for testing but it fails to be recognized by the system: This adapter also works with 512 Bytes per sector and as such won't be recognized by the system.

The adapter also provides emulation of a tape drive. This works like a charm.

Weblinks

Footnotes

  1. Roughly what's known on PC platforms as BIOS.
  2. Vital Product Data.
  3. Exception: AS/400 5xx models with disks attached on the internal Multi-Function I/O Processor.