Nova Patents
EP0347032A2

Record format emulation.

Abstract

Count, key, data (CKD) datas are stored on fixed block (FBA) disk recorders (DASD). A virtual track is created which emulates a physical CKD track such that the byte displacement of each CKD record on the virtual CKD track is the same as the byte displacement would be on a physical CKD track. This enables computer programs using CKD formatted data to record on the FBA recorder in an emulation mode. Each FBA block includes a header outside the addressing of the virtual CKD track which includes a byte displacement pointer to the beginning of a first CKD record stored in the FBA block, if any begins in such FBA block; otherwise the header indicates that no CKD record begins in the block. A last record indicator is included in the count field emulation for assisting in finding end of the virtual track.

EP0347032A2, drawing sheet 1
Sheet 1 of 2

Term

Term ended

Projected expiry passed 26 April 2009, 17.4 years ago.

  1. Priority
  2. Filed
  3. Published
  4. Projected expiry
  5. Today

10 claims: 4 independent, 6 dependent

  1. 1
    A method of emulating a variable length, internally identified record, track recording system on a fixed length block, track or virtual track recording system by stripping received variable length records to be recorded as, or to be added to, an ordered sequence of records on a track, to their internal identity and usable data contents and recording the same as, or added to, an ordered data string in a sequence of fixed length blocks, characterised in that, despite the stripping, the displacement of the starts of the records from the respective track origins is preserved whereby positional addressability is maintained.
  2. 8
    In a method of operating, by emulation, an information handling system which supplies data to be stored arranged in datas divided into numbered records, each of the records including a control field and a data field with a gap between the control and data fields, inter-record gaps between the records, error, padding and physical parameter data in the fields of the datas, a record member in the system which stores data in addressable fixed blocks, each block being capable of storing a predetermined number of bytes of data; the machine-executed steps of:before storing any data, stripping predetermined portions of the parameter data and intra-record gaps from the data to be stored;adding a last record indicator to the control field of the last record of the data to be stored;arranging the records of the data to be stored in the same sequence as in the supplied data and keeping inter-record gaps between adjacent ones of the records such that the beginning of each record is displaced in bytes from the beginning of the arranged data as such each record is displaced in bytes from the beginning of the supplied data;dividing the arranged data into fixed sized blocks of data irrespective of the supplied data format;in each of the fixed sized blocks inserting a block header having a pointer to the control field stored in such fixed size block and excluding the block header from the byte count of the stored arranged data measuring the number of bytes in the data to be stored;dividing the measured number of bytes by the predetermined number of bytes of each the block less the block header bytes to yield a number of the fixed size blocks for storing the data to be stored;allocating the yielded number of fixed size blocks to the data to be stored and logically addressing the allocated blocks as a logical track of the supplied data;and storing the arranged data onto the record member.
  3. 9
    A method of writing a record disk having a plurality of record tracks, each track having a plurality of fixed-sized addressable data storing blocks, each block being capable of storing a predetermined number of data bytes;the improvement comprising;in each of the blocks storing data, a block header having a pointer to a given byte displacement within such fixed size block;and a group of contiguous ones of the blocks storing a single data having a plurality of records addressable by byte displacement from a logical beginning of the data as storable on a CKD record member having no fixed sized blocks but with gaps between records, each of the records including a control field, a data field and an intra-record gap between the data field, the data stored in the contiguous fixed sized blocks including the inter record gaps and not the intra-record gaps such that the byte displacement of the beginning of each the record from the beginning of the data on the CKD record member being the same byte displacement from the beginning of the data as stored in the fixed sized block when excluding the byte count used in the fixed size blocks for the block header whereby byte addressing a record on the CKD record member is the same as the byte addressing a record on the fixed block record member.
  4. 10
    In an information handling system having a FBA DASD with a plurality of FBA blocks each of which have a given data storage capacity and a host processor using programs having a CKD data format, a channel processor interposed between the host processor the the FBA DASD and having a channel portion for issuing channel commands to the FBA DASD for effecting data transfers and related operations between the host processor and the FBA DASD; the improvement including, in combination:an emulator interposed between the channel processor channel portion for intercepting predetermined ones of the issued channel commands for emulating the CKD data format on the FBA DASD, including means for buffering CKD formatted data in buffer entries having the given data storage capacity and program means in the emulator for establishing a virtual track control wherein the CKD formatted data resides in predetermined ones of the FBA blocks such that the byte displacement from the beginning of the virtual track for the beginning of each and every CKD record is the same as the byte displacement on a CKD DASD when recorded thereon from a beginning of a CKD track on such DASD;and means in the emulator for recoding a header in each of the FBA blocks outside of the virtual track and including a displacement pointer to the beginning of a first CKD record in such FBA block, if one begins therein, and indicating when no CKD record begins in such block.