RE: ** UPDATED** SDL Hyperion 4.2 "CCKD64" pre-release pre-built

"'\'Fish\' \(David B. Trout\)' [email protected] [hercules-390]" <[email protected]>
Newsgroups gmane.comp.emulators.hercules390.general
Message-ID <[email protected]>
Mike Schwab wrote:

> Let me rephrase this. The CCKD has an free space / L1 pointer
> table of 1024 entries to L2 tables.

Wrong.  

A compressed CKD dasd (CCKD/CCKD64) does NOT have only 1024 L1 table entries.

A compressed CKD dasd (CCKD/CCKD64) has as many L1 table entries AS ARE NEEDED (which depends solely on the number of tracks there are for the given type/model dasd).

You take the number of tracks there are on a given type/model dasd, divide that by 256 (because there are 256 tracks per track-group; see next item below), round that up, and that determines the number of L2 tables there will be and thus the number of L1 entries there will be (since each L2 entry points to a L2 table).

There is no given limit to the number of free spaces a particular CCKD/CCKD64 dasd can have.  It has however many it has.  Internally, CCKD logic allocates its free space chain in units of 1024 entries.  But if a given dasd has more than 1024 free spaces (highly unlikely but possible), then it will allocate another 1024 entries to its chain.


> The L2 table points to 256 tracks,

Correct.

There is one L2 table for every group of 256 tracks.  Each group of 256 tracks is called a "track group".  The value 256 was chosen solely for the convenience of internal CCKD code and bears no relationship whatsoever to any particular dasd's actual physical geometry.


> limiting the volume to 262144 tracks, 17476 cylinders,

Wrong.  Please see previous.


> a 3390-15.701 (about 14GB)

??? What the heck is a "3390-15.701"?  I've never heard of such a beast.


> Since we had a 32 bit pointer, the size was limited to 4GB.

Correct.


> And CKD files don't use these pointers.

Correct.  CKD doesn't.

But Hercules CCKD logic DOES! (whereas the CCKD64 logic uses 64-bit file offsets)


> A 3390-1 with 1113 cylinders is 16,695 track, so 66 L1 entries
> per 3390-1 is needed.

Correct!

I am curious however, what my original announcement said that compelled you to respond the way you did.  My original announcement mentioned nothing about any of this.  It only mentioned in a footnote about a bug fix to original CCKD code and said bug was more likely to occur with larger dasd.  It mentioned nothing about L1 tables or L2 tables however.  Where did you come up with that?

-- 
"Fish" (David B. Trout)
Software Development Laboratories
http://www.softdevlabs.com
mail: [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.