Hi all, not sure if anyone is still around in this group with a bit
of tape background?
I am trying to emulate a tape system. Works quite well, but I'm lost
on the details of emulating the MAM chip.
In LTO-5 and up, tapes can be partitioned. The commands to access the
MAM chip (Read/Write Attribute) allow you to specify a partition as
well.
What I cannot deduct from the T10 standards and SCSI reference
manuals, is what attributes to return for any particular partition.
Only a few of them are specific to a partition, but the specs claim
that the drive returns all attributes (starting with x).
Several attributes can be interpreted as belonging to the entire tape (lifetime read/written), but could be per partition as well.
Others are clearly per tape (mfg date, serial no).
AFAIK all LTO media (back to LTO1) have a builtin MAM.
Looking at the manuals of 15 year old LTO1/2 drives shows that there
is MAM support and the READ ATTRIBUTE and WRITE ATTRIBUTE commands
already present.
What I cannot deduct from the T10 standards and SCSI reference
manuals, is what attributes to return for any particular partition.
Only a few of them are specific to a partition, but the specs claim
that the drive returns all attributes (starting with x).
Just to be sure that we are talking about the same things:
You want to create/emulate a SCSI target device according to SSC that implements the optional READ ATTRIBUTE and WRITE ATTRIBUTE commands
according to SPC?
Several attributes can be interpreted as belonging to the entire tape (lifetime read/written), but could be per partition as well.
Others are clearly per tape (mfg date, serial no).
Can you tell a bit more about what you want to do. Do you want to
emulate a specific LTO drive (if yes, which one?) or do you want
to create a generic tape emulation with support for partitions?
On Sunday, 11 February 2018 12:42:12 UTC+1, Michael Bäuerle wrote:
scsirob wrote:
[...]
Several attributes can be interpreted as belonging to the entire tape (lifetime read/written), but could be per partition as well.
Others are clearly per tape (mfg date, serial no).
Can you tell a bit more about what you want to do. Do you want to
emulate a specific LTO drive (if yes, which one?) or do you want
to create a generic tape emulation with support for partitions?
I'm trying to make a fairly generic emulation for LTO, STK T10K and
IBM TS11xx drives (and then some others). I am then trying to copy as
many attributes from a physical device, and emulate those on my
virtual device.
The issue I run into, is with for instance LTFS-formatted tapes.
A Read Attribute for the host attribute 0x802h (application version)
returns ASCII text "3.0.0", for both partition 0 and partition 1.
What I cannot find is if my emulation needs to maintain separate
copies for each partition, or that there's some way to mark this
attribute as 'global' so one copy shows up in all partitions.
The point is that some attributes do seem to be global. The load
counter, tape manufacturer data, tape serial number etc are present
in all partitions. Some others appear to be maintained on a per-
partition base. I'm trying to be as close as possible to the real
thing, but can't figure out if there is a way to tell global
attributes apart from per-partition ones.
I would implement the emulation in a way that every attribute can
be partition-specific in general. An internal "global" flag can be
used to avoid storing non-partition specific data multiple times.
The medium type attributes all look global (Table 351). Therefore at
least the range 0400h to 07FFh may have this "global" flag set.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 335 |
Nodes: | 16 (2 / 14) |
Uptime: | 149:45:02 |
Calls: | 7,411 |
Calls today: | 1 |
Files: | 12,670 |
Messages: | 5,613,270 |