ADSM-L

Re: How to read LTO cartridge memory (was Re: Media Fault)

2003-08-27 09:14:15
Subject: Re: How to read LTO cartridge memory (was Re: Media Fault)
From: "Marcel J.E. Mol" <marcel AT MESA DOT NL>
To: ADSM-L AT VM.MARIST DOT EDU
Date: Tue, 26 Aug 2003 19:48:26 +0200
On Tue, Aug 26, 2003 at 01:14:21PM +0200, Anthonijsz, Marcel M SITI-ITDGE13 
wrote:
> Hi *SM'ers,
>
> Does anybody know how to read the LTO Cartridge memory from the LTO cartridge?

Is this the output you would like to see?

    Issuing log sense for page 0x0C...
       0 - Write Bytes Received before Compression:            0
       1 - Write Bytes Received after Compression:             0
       2 - Read Bytes Sent before Compression:                 0
       3 - Read Bytes Sent after Compression:                  0
    0100 - Cleaning Required:                                  0
    8000 - Megabytes processed since last cleaning:     20598158
    8001 - Lifetime Load Cycles:                            1313
    8002 - Lifetime Cleaning Cycles:                           1

I created this by patching the tapeutil command a bit. It decodes the
data from logpages C, 31 and 32.


See http://www.mesa.nl for the patches. Follwo the download section...

-Marcel


> The LTO specs/brochure show an expected life cycle of about 1 million mounts 
> and recommends replacement after about 5000 loads.
> We want to know how close we are to this figure. TSM forgets about mounts as 
> soon as a volume gets scratched...
>
> Now did somebody perform the exercise Richards Sims describes below?
> If not... I see an opportunity here.... I never did SCSI programming, so 
> there must a first time for everything :-/
>
> Thanks!
>
> Marcel Anthonijsz
> Central Data Storage Manager (a.k.a. storman)
> Shell Information Technology International B.V.
> PO Box 1027, 2260 BA  Leidschendam, The Netherlands
>
> Email: Marcel.Anthonijsz.-at-.shell.com
> Internet: http://www.shell.com
>
> Date:      Jul 01, 09:42
> From:      Richard Sims <rbs AT BU DOT EDU>
>
> >Question is: Do you possibly know any software capable of extracting info
> >from LTO CM??
> >(I mean of course a program that can be run against a suspected cartridge)
> >
> >Wieslaw
>
> Now, you know you weren't supposed to ask that question...  :-)
>
> My research indicates that vendors don't consider that customers should need
> to access the Medium Auxiliary Memory (MAM) - the industry generic name for
> an in-cartridge non-volatile memory chip which tracks usage and other info.
> The manual "IBM TotalStorage LTO Ultrium Tape Drive - SCSI Reference"
> (GA32-4050) fully describes their MAM and how to read and write it via SCSI
> commands.  The device driver programming manual (in this case, "IBM Ultrium
> Device Drivers - Programming Reference (GC35-0483)) provides many ioctl
> functions which make it easier for a programmer to invoke what resolve to SCSI
> commands; but in this case I see no ready operation for getting MAM data.
> Those ioctl operations are what the handy-dandy ntutil and tapeutil commands
> invoke to acquire info, and I see nothing in their doc saying that they can
> return it (though it might be implicitly returned from other operations).
>
> All this is to say that with some SCSI programming, the information could be
> obtained and presented.  We don't have LTO here, so I'm not in a position to
> try this out.  So this remains an exercise for some industrious systems
> programmer out there having LTO on-site.
>
>   Richard Sims, Sr. Systems Programmer, Boston University OIT
>       <http://people.bu.edu/rbs>

--
     ======--------         Marcel J.E. Mol                MESA Consulting B.V.
    =======---------        ph. +31-(0)6-54724868          P.O. Box 112
    =======---------        marcel AT mesa DOT nl                 2630 AC  
Nootdorp
__==== www.mesa.nl ---____U_n_i_x______I_n_t_e_r_n_e_t____ The Netherlands ____
 They couldn't think of a number,           Linux user 1148  --  counter.li.org
    so they gave me a name!  -- Rupert Hine  --  www.ruperthine.com

<Prev in Thread] Current Thread [Next in Thread>