Re: Max. number of physical blocks on 3390 track
On Thu, 20 Dec 2007 14:39:40 +0100, R.S. <[EMAIL PROTECTED]> wrote: >Where can I find further information (some RTFM) ? According to notes in a blocksize calc exec I wrote years ago, the track layout and calculations are documented in sc26-4574 "3390 dasd in an mvs environment". I can't seem to locate a softcopy today. If helpful, I can post the exec. -Rob -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
In a message dated 12/20/2007 5:22:42 P.M. Central Standard Time, [EMAIL PROTECTED] writes: I seem to remember macro TRACKCAP (?) that would return the needed information to you (or I may be confused and it had a different function). That would be TRKCALC, which is documented in the DFSMSdfp Advanced Service book, SC26-7400. Bill Fairchild Franklin, TN **See AOL's top rated recipes (http://food.aol.com/top-rated-recipes?NCID=aoltop000304) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
> I seem to remember macro TRACKCAP (?) TRKCALC > Date: Thu, 20 Dec 2007 18:14:38 -0500> From: [EMAIL PROTECTED]> Subject: Re: > Max. number of physical blocks on 3390 track> To: IBM-MAIN@BAMA.UA.EDU> > At > 12:29 -0500 on 12/20/2007, (IBM Mainframe Discussion List) wrote > about Re: > Max. number of physical blocks on 3390 track:> > >I forgot to add that I > found the official formula once, probably on an IBM> >reference card for the > 3390.> > I seem to remember macro TRACKCAP (?) that would return the needed > > information to you (or I may be confused and it had a different > function). _ The best games are on Xbox 360. Click here for a special offer on an Xbox 360 Console. http://www.xbox.com/en-US/hardware/wheretobuy/ -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
At 12:29 -0500 on 12/20/2007, (IBM Mainframe Discussion List) wrote about Re: Max. number of physical blocks on 3390 track: I forgot to add that I found the official formula once, probably on an IBM reference card for the 3390. I seem to remember macro TRACKCAP (?) that would return the needed information to you (or I may be confused and it had a different function). -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
Bill: Another excellent explanation and addition to all of your previous posts. I know I gasped when I first looked at the formula calculations from RDC but a little time spent in understanding it proved to be worthwhile. Thanks Bill > Date: Thu, 20 Dec 2007 13:22:47 -0500> From: [EMAIL PROTECTED]> Subject: Re: > Max. number of physical blocks on 3390 track> To: IBM-MAIN@BAMA.UA.EDU> > > > > > In a message dated 12/20/2007 12:06:21 P.M. Central Standard Time, > [EMAIL > PROTECTED] writes:> >You can also get the formula calculations retruned from > a Read Device > Characteristics command to the storage controller.> > What is > returned are the various constants that must be plugged into the > formula > and some flag bits that tell what to do with some of the constants.> > >And I > forget who said it, but the vendor hardware manuals will describe > whats in > the gap. One item is repeated skip displacement information, if a track > was > assigned a skip due to a faulty area of the track.> > The skip displacement > information is always in the gap. If no skips have > been assigned, then the > skip displacements stored there reflect that no skip > has been assigned. > This is another aspect of error detection and reliability > that has evolved > over the decades. The first device with skip displacements > had only one, > and the 3390 now has seven. What is recorded in each > 2-byte-long skip > displacement is the relative number of the chunk on the track, > beginning > with index point, where chunk number of bytes are skipped over in reading > > and writing.> > Bill Fairchild> Franklin, TN> > > > > > > **See AOL's top rated recipes > > (http://food.aol.com/top-rated-recipes?NCID=aoltop000304)> > > --> For > IBM-MAIN subscribe / signoff / archive access instructions,> send email to > [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO> Search the archives at > http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
In a message dated 12/20/2007 12:06:21 P.M. Central Standard Time, [EMAIL PROTECTED] writes: >You can also get the formula calculations retruned from a Read Device Characteristics command to the storage controller. What is returned are the various constants that must be plugged into the formula and some flag bits that tell what to do with some of the constants. >And I forget who said it, but the vendor hardware manuals will describe whats in the gap. One item is repeated skip displacement information, if a track was assigned a skip due to a faulty area of the track. The skip displacement information is always in the gap. If no skips have been assigned, then the skip displacements stored there reflect that no skip has been assigned. This is another aspect of error detection and reliability that has evolved over the decades. The first device with skip displacements had only one, and the 3390 now has seven. What is recorded in each 2-byte-long skip displacement is the relative number of the chunk on the track, beginning with index point, where chunk number of bytes are skipped over in reading and writing. Bill Fairchild Franklin, TN **See AOL's top rated recipes (http://food.aol.com/top-rated-recipes?NCID=aoltop000304) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
You can also get the formula calculations retruned from a Read Device Characteristics command to the storage controller. And I forget who said it, but the vendor hardware manuals will describe whats in the gap. One item is repeated skip displacement information, if a track was assigned a skip due to a faulty area of the track. Bill > Date: Thu, 20 Dec 2007 11:12:57 -0500> From: [EMAIL PROTECTED]> Subject: Re: > Max. number of physical blocks on 3390 track> To: IBM-MAIN@BAMA.UA.EDU> > On > 20 Dec 2007 05:43:03 -0800, in bit.listserv.ibm-main > (Message-ID:<[EMAIL > PROTECTED]>) > [EMAIL PROTECTED] (R.S.) wrote:> > >AFAIK it is 86, for equal > blocks up to 22 bytes.> >> >Q: What is the reason for the limitation ?> > >Surely, it's not track capacity.> >Where can I find further information > (some RTFM) ?> > Yes, as others have noted, it *is* track capacity.> > I > don't have the exact name or number of the FM, but > you can find the exact > formula on the 3390 reference > card. It gives the size of the interblock > gaps and of the > minimum "chunk" (as Bill called it).> > I have a REXX > program to give 3380 and 3390 > utilizations based on LRECL and the available > blocksizes > for that LRECL. (For BLKSIZE=1 it gives 86 on 3390 and 93 > on > 3380.)> > It was written *long* ago and was based on an even > older CLIST > for 3330 & 3350. FWIW, here it is. I disavow > any bad coding, as it belongs > to a much younger version of > myself. (Beware that at least two lines are > probably > broken by line-wrap. Hint: Nothing starts in column 1 > except > "roundup".)> > > /* rexx exec to show track utilization on 3380's and > > 3390's */> > ARG TEMP1> if datatype(word(temp1,1),n) then temp1= > 'LRECL='temp1> > do while temp1 \= ''> parse var temp1 temp2 temp1> if > right(temp2,1) = ')' then> temp2 = translate(temp2,'= ','()')> if > pos('=',temp2) = 0 then temp2 = temp2 || '= ""'> interpret temp2> end> drop > temp1> drop temp2> if debug = 'TRACE' then trace ?i> else if debug \= "DEBUG" > then trace i> > > if lrecl = 'LRECL' then> do> say 'LRECL must be specified'> > exit 4> end> if stop = 'STOP' then do> if dasd = '80' | dasd = '3380' then > stop = 23476> else stop = 27998> end> stop = min(stop,32760)> 'clr'> say > 'lrecl blksize > blk/trk blk/trk used used % % blk'> say > ' 3380 3390 3380 > 3390 3380 3390 > fctr'> say ''> size0 = lrecl> if start = 'START' then > start=1> if size0 < start then> size0 = trunc(start/size0)*size0> slrecl = > center(lrecl,6)> do size = size0 by lrecl to stop> blkfctr = size/lrecl> D80 > = (SIZE + 12) / 32> d80 = roundup(d80)> NBLK80 = trunc(1499 / (15 + D80) )> > USED80 = NBLK80 * SIZE> PERC80 = USED80/47476*100> dn90 = (size+6)/232> dn90 > = roundup(dn90)> d90 = 9 + (size + 6*dn90 +6)/34> d90 = roundup(d90)> NBLK90 > = trunc(1729 / (10 + D90) )> USED90 = NBLK90 * SIZE> PERC90 = > USED90/56664*100> blkfctr = size/lrecl> sblk = center(blkfctr,4)> sblks = > center(size,6)> sblk80 = center(nblk80,6)> sused80 = left(used80,6)> sperc80 > = format(perc80,3,1)> sblk90 = center(nblk90,6)> sused90 = left(used90,6)> > sperc90 = format(perc90,3,1)> star = ''> select> when dasd = '80' | dasd = > '3380' then> do> if perc80 >= 90 then star = '*'> if perc80 >= 95 then star = > '**'> end> when dasd = '90' | dasd = '3390' then> do> if perc90 >= 90 then > star = '*'> if perc90 >= 95 then star = '**'> end> otherwise> do> if perc80 > >= 85 & perc90 >= 83.8 then star = '*'> if perc80 >= 90 & perc90 >= 88.8 then > star = > '**'> if perc80 >= 90 & perc90 >= 93.8 then star = > '***'> end> > end> if ostar \= 'OSTAR' then> if star = ''> then iterate> say slrecl sblks > || ' ' || sblk80 || ' ' || sblk90 > ,> sused80 sused90 || ' ' || sperc80 || ' > ' || ,> sperc90 || ' ' || sblk star> end> exit 0> roundup:> PROCEDURE> ARG > curr> temp = trunc(curr)> if temp \= curr then temp = temp + 1> return temp> > > > -- > I cannot receive mail at the address this was sent from.> To > reply directly, send to ar23hur "at" intergate "dot" com> > > --> For > IBM-MAIN subscribe / signoff / archive access instructions,> send email to > [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO> Search the archives at > http://bama.ua.edu/archives/ibm-main.html -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
[EMAIL PROTECTED] (mailto:[EMAIL PROTECTED]) (R.S.) wrote: >Where can I find further information (some RTFM) ? I forgot to add that I found the official formula once, probably on an IBM reference card for the 3390. And once I even tried to apply the formula to a specific case. Its obfuscation overwhelmed my perseverance, and I gave up. Some years later I wrote an Assembler program to fill a DASD track with as many blocks as possible with a user-supplied key length and block length. I didn't do this to find out how many would fit, but because I really needed a track with all those blocks on it. I also had to write another program to read and print what was on the track, as IMASPZAP will not display the count fields of 86 records all of which have key and data length of 0, nor will it print all the data if the data length is greater than 32K, nor will it print R0, especially if R0 has a 56K full track data field which I needed for certain test purposes. Here are my test results today with my little programs: KL=0 and 0http://food.aol.com/top-rated-recipes?NCID=aoltop000304) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
--- AFAIK it is 86, for equal blocks up to 22 bytes. Q: What is the reason for the limitation ? Surely, it's not track capacity. Where can I find further information (some RTFM) ? Unfortunately, CKD/ECKD devices have significant gaps between the records, and between the count, key and data fields. If you can find the manuals on almost any CKD/ECKD disk drive, it's usually explained in there somewhere. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
On 20 Dec 2007 05:43:03 -0800, in bit.listserv.ibm-main (Message-ID:<[EMAIL PROTECTED]>) [EMAIL PROTECTED] (R.S.) wrote: AFAIK it is 86, for equal blocks up to 22 bytes. Q: What is the reason for the limitation ? Surely, it's not track capacity. Where can I find further information (some RTFM) ? Yes, as others have noted, it *is* track capacity. I don't have the exact name or number of the FM, but you can find the exact formula on the 3390 reference card. It gives the size of the interblock gaps and of the minimum "chunk" (as Bill called it). I have a REXX program to give 3380 and 3390 utilizations based on LRECL and the available blocksizes for that LRECL. (For BLKSIZE=1 it gives 86 on 3390 and 93 on 3380.) It was written *long* ago and was based on an even older CLIST for 3330 & 3350. FWIW, here it is. I disavow any bad coding, as it belongs to a much younger version of myself. (Beware that at least two lines are probably broken by line-wrap. Hint: Nothing starts in column 1 except "roundup".) /* rexx exec to show track utilization on 3380's and 3390's */ ARG TEMP1 if datatype(word(temp1,1),n) then temp1= 'LRECL='temp1 do while temp1 \= '' parse var temp1 temp2 temp1 if right(temp2,1) = ')' then temp2 = translate(temp2,'= ','()') if pos('=',temp2) = 0 then temp2 = temp2 || '= ""' interpret temp2 end drop temp1 drop temp2 if debug = 'TRACE' then trace ?i else if debug \= "DEBUG" then trace i if lrecl = 'LRECL' then do say 'LRECL must be specified' exit 4 end if stop = 'STOP' then do if dasd = '80' | dasd = '3380' then stop = 23476 else stop = 27998 end stop = min(stop,32760) 'clr' say 'lrecl blksize blk/trk blk/trk used used% %blk' say '3380 3390 3380 3390 3380 3390 fctr' say '' size0 = lrecl if start = 'START' then start=1 if size0 < start then size0 = trunc(start/size0)*size0 slrecl = center(lrecl,6) do size = size0 by lrecl to stop blkfctr = size/lrecl D80 = (SIZE + 12) / 32 d80 = roundup(d80) NBLK80 = trunc(1499 / (15 + D80) ) USED80 = NBLK80 * SIZE PERC80 = USED80/47476*100 dn90 = (size+6)/232 dn90 = roundup(dn90) d90 = 9 + (size + 6*dn90 +6)/34 d90 = roundup(d90) NBLK90 = trunc(1729 / (10 + D90) ) USED90 = NBLK90 * SIZE PERC90 = USED90/56664*100 blkfctr = size/lrecl sblk = center(blkfctr,4) sblks = center(size,6) sblk80 = center(nblk80,6) sused80 = left(used80,6) sperc80 = format(perc80,3,1) sblk90 = center(nblk90,6) sused90 = left(used90,6) sperc90 = format(perc90,3,1) star = '' select when dasd = '80' | dasd = '3380' then do if perc80 >= 90 then star = '*' if perc80 >= 95 then star = '**' end when dasd = '90' | dasd = '3390' then do if perc90 >= 90 then star = '*' if perc90 >= 95 then star = '**' end otherwise do if perc80 >= 85 & perc90 >= 83.8 then star = '*' if perc80 >= 90 & perc90 >= 88.8 then star = '**' if perc80 >= 90 & perc90 >= 93.8 then star = '***' end end if ostar \= 'OSTAR' then if star = '' then iterate say slrecl sblks || ' ' || sblk80 || ' ' || sblk90 , sused80 sused90 || ' ' || sperc80 || ' ' || , sperc90 || ' ' || sblk star end exit 0 roundup: PROCEDURE ARG curr temp = trunc(curr) if temp \= curr then temp = temp + 1 return temp -- I cannot receive mail at the address this was sent from. To reply directly, send to ar23hur "at" intergate "dot" com -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
In a message dated 12/20/2007 7:43:02 A.M. Central Standard Time, [EMAIL PROTECTED] writes: >AFAIK it is 86, for equal blocks up to 22 bytes. Q: What is the reason for the limitation ? Surely, it's not track capacity. Where can I find further information (some RTFM) ? The maximum number of physical blocks (CKD) on any given device has always been the number of blocks with key length 0 and data length 0. For many years now, even if you specify data length 0 the control unit would write one byte on the track in the data field. But originally, if you asked for X bytes in the data field, you would get X bytes on the track at that location. Some time in the 1980s (I think), IBM began recording data on the track not in bytes but rather in units of some larger size, possibly called "chunks" (at least by me). The size of the chunk has varied from device type to device type. Using units of chunks allowed for greater levels of error detection and correction. The 3390's chunk size is around 34 bytes, I think. No matter how many bytes you want in your data field, 12 more bytes are added by the controller for a 3390 track (I think it's 12). So the smallest amount of data, a data length of 0, requires the controller to add 12 bytes, which requires one full chunk. Any data length between 0 and 22 will result in one chunk on the track. Any data length between 23 and 56 uses up two chunks on the track. And so on. Besides recording data in chunks, inter-record gaps have also been required on real CKD devices since day 1. There are plenty of other gaps on the track also, such as immediately after the home address and after each count field. All this overhead reduces the amount of space effectively available for user records. All this overhead is now unnecessary, since real devices are FBA and not CKD, and the control unit maps virtual to real when writing and real to virtual when reading. The internal real device's characteristics can literally be anything, and some day they may even be replaced by bunches of atoms instead of magnetized areas on rapidly spinning platters. The controller just has to know how to do the mapping. Our software back in the mainframe has to conform to what the access methods require, and they still require adherence to the ancient physical CKD limitations. Now if you want to know why the gaps were required since day one, that's another story, and equally fascinating (at least to me). :-) Bill Fairchild Franklin, TN **See AOL's top rated recipes (http://food.aol.com/top-rated-recipes?NCID=aoltop000304) -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Re: Max. number of physical blocks on 3390 track
"R.S." <[EMAIL PROTECTED]> wrote in message news:<[EMAIL PROTECTED]>... > AFAIK it is 86, for equal blocks up to 22 bytes. > > Q: What is the reason for the limitation ? > Surely, it's not track capacity. > Where can I find further information (some RTFM) ? > > -- > Radoslaw Skorupka Yes, it is probably track capacity. Between the blocks are inter-block-gaps of a fixed size. Enough interblock gaps will fill the track. Remember that the original physical 3390 platters are still emulated. Kees. ** For information, services and offers, please visit our web site: http://www.klm.com. This e-mail and any attachment may contain confidential and privileged material intended for the addressee only. If you are not the addressee, you are notified that no part of the e-mail or any attachment may be disclosed, copied or distributed, and that any other action related to this e-mail or attachment is strictly prohibited, and may be unlawful. If you have received this e-mail by error, please notify the sender immediately by return e-mail, and delete this message. Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its employees shall not be liable for the incorrect or incomplete transmission of this e-mail or any attachments, nor responsible for any delay in receipt. Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch Airlines) is registered in Amstelveen, The Netherlands, with registered number 33014286 ** -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html
Max. number of physical blocks on 3390 track
AFAIK it is 86, for equal blocks up to 22 bytes. Q: What is the reason for the limitation ? Surely, it's not track capacity. Where can I find further information (some RTFM) ? -- Radoslaw Skorupka Lodz, Poland -- BRE Bank SA ul. Senatorska 18 00-950 Warszawa www.brebank.pl Sąd Rejonowy dla m. st. Warszawy XII Wydział Gospodarczy Krajowego Rejestru Sądowego, nr rejestru przedsiębiorców KRS 025237 NIP: 526-021-50-88 Według stanu na dzień 01.01.2007 r. kapitał zakładowy BRE Banku SA (w całości opłacony) wynosi 118.064.140 zł. W związku z realizacją warunkowego podwyższenia kapitału zakładowego, na podstawie uchwał XVI WZ z dnia 21.05.2003 r., kapitał zakładowy BRE Banku SA może ulec podwyższeniu do kwoty 118.760.528 zł. Akcje w podwyższonym kapitale zakładowym będą w całości opłacone. -- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO Search the archives at http://bama.ua.edu/archives/ibm-main.html