Patent GB-850322-A (GB)
Title: Improvements in buffer devices for data processing systems
IPC: G06F3/06
Filed: 1957-06-20
Abstract: 850,322. Digital data-storage apparatus. INTERNATIONAL BUSINESS MACHINES CORPORATION. June 20, 1957 [June 20, 1956], No. 19412/57. Class 106 (1). A buffer device for use between a magnetic tape unit and a main data storage device includes a buffer storage device which comprises a plurality of storage registers for storing files of data, first means for transferring a first file of data from a group of storage registers of said buffer storage device to said magnetic tape unit for writing on a tape and transferring a second file of data read by said magnetic tape unit to said group of storage registers concurrently, second means for delaying the operation of said data transferring means for a period after the initiation of the operation of said magnetic tape unit to allow said magnetic tape unit to attain its operating speed, and third means for transferring data between said buffer storage device and said main data storage device during the period of delay. A buffer store, referred to as a data co-ordinator, Fig. 3A, is described for use between a central processing unit (such as the I.B.M. 705, not described) and a group of tape units (not described). The data co-ordinator comprises mainly a magnetic core memory 50, capable of storing 1024 alphanumeric characters. Transfers are possible, in either direction between any two of the three units involved, that is the central processing unit, the data coordinator and the tape units. It is-also possible to transfer data from the data co-ordinator memory 50 to a selected tape unit and at the same time to transfer data from another tape unit to a different portion of the data coordinator memory 50, the actual transfer being synchronous but generally interleaved by characters, and it is also possible to transfer data from the central processing unit to the data co-ordinator memory and to simultaneously start a selected tape unit so that by the time the data being transferred from the central processing unit to the data co-ordinator memory the tape unit will be up to speed and the data can immediately be transferred to the tape unit. Each character is given a parity check at every stage of every transfer, provision is made for correcting for " skew " when reading from a tape, and each group of characters (that is each record) read from a tape is given a " longitudinal " parity check, that is each group of characters on a tape is followed by a " longitudinal redumdancy character " (LRC) which is such that it makes the parity of the sum of each kind of bit in that group even (i.e. the sum of all the 1-bits-including that of the LRC-will be zero modulus 2). Further when writing on a tape, which is always done from a character register 208 the actual signals applied to the heads are also routed back to the register 208 which they should reset; this is referred to as an " echo " check, the register being examined after each echo check to ensure that it is actually reset. The Specification describes the detailed construction of each unit of the data coordinator together with each step of every possible type of transfer, the actual hardware and techniques involved being purely conventional. The memory.-The memory 50, Fig. 5, comprises a conventional 32 x 32 Î 8 three dimensional matrix of cores each vertical column of 8 cores storing one alphanumeric character and being selected by one x-winding and one ywinding, while each horizontal plane of the matrix is threaded by both a Z-inhibit winding and a bi-polar sense winding. The actual seven bits of each character are stored in the top seven planes of the matrix, the bottom plane, plane D, being a dummy plane. Every operational cycle of the memory comprises a read portion and a write portion. During each read portion one character is read-out of a selected address in the memory, that is the cores at the selected address are reset, and during the write portion of a cycle one character is written into a selected address, which character can either be the character that was read out during the read portion, as it is if the operational cycle being performed is a read cycle, or a new character if a write cycle is being performed. Memory address selection is effected by a memory control unit 100, Fig. 6 (details in Figs. 20A-20G, not shown) which functions to apply half-select currents to a selected x-winding and a selected y-winding. The address selected is that registered in a ten-trigger address register 132, the address being re-coded by an arrangement of gates and two switching core matrices 150 and 156 to select one x-winding and one y-winding. During read cycles addresses are transferred to the address register from a read address counter 124 (ten cascade-connected triggers) via a counter gate 128 (ten and gates) and during a write cycle from a write address counter 112. During a simultaneous transfer from the matrix memory to a tape and a transfer from another tape to the matrix memory, the read address counter 124 is used to control reading from the matrix during the read portion of a cycle and the write address counter is used to control writing into the matrix during the write portion of a cycle. Clock pulses.-Control pulses are derived by a 19-stage chain of timing triggers (Figs. 26A- 26D, not shown) advanced by a crystal controlled 2 mc/s. clock-pulse oscillator. Each cycle of operation of the memory has a duration of 9 microseconds, 5 for the read period and 4 for the write period, and successive 0.5 microsecond periods (i.e. successive clock pulse periods) have their beginnings labelled R0.0, R0.5, R1.0 ... R4.0, R4.5, W0.0, W0.5 ... W4.0, R0.0 being the instant of time at which the first trigger of the chain of triggers is turned on (and also being the beginning of a cycle of the memory) and W4.0 being the instant of time when the last trigger of the chain goes ontrigger 19-(and also being the end of a memory cycle). The chain of timing triggers is arranged so that every trigger is off in the rest condition. A cycle of operation is then initiated by causing the first trigger to go on, this going on time being R0.0. After this successive clock-pulses cause the second trigger to go on (the first remaining on) and then the third trigger to go on) both the first and second remaining on) then this pattern of three on states is advanced along the chain (the going on of the fourth causing the going off of the first and so on) until the nineteenth trigger goes on at W4.0 time marking the end of a cycle and at time W4.5 all three of the triggers on (that is triggers 17, 18, 19) are reset. The timing chain can also be caused to run through a sequence of cycles in which case the being on of the penultimate trigger (w3.5) prepares a circuit so that the first trigger (R0.0) goes on at the next clock pulse. Periods of time are referred to by specifying their commencement and their duration. For example the period R3.5 (D2.5) is the period commencing at R3.5 and having a duration of 2.5 microseconds (that is five clock pulses).