GB2113432A - Data protection system - Google Patents

Data protection system Download PDF

Info

Publication number
GB2113432A
GB2113432A GB08137728A GB8137728A GB2113432A GB 2113432 A GB2113432 A GB 2113432A GB 08137728 A GB08137728 A GB 08137728A GB 8137728 A GB8137728 A GB 8137728A GB 2113432 A GB2113432 A GB 2113432A
Authority
GB
United Kingdom
Prior art keywords
bytes
sequence
byte
bit
synchronizing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
GB08137728A
Inventor
Jonathan Baldachin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
LITTLE GENIUS Ltd
Original Assignee
LITTLE GENIUS Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by LITTLE GENIUS Ltd filed Critical LITTLE GENIUS Ltd
Priority to GB08137728A priority Critical patent/GB2113432A/en
Publication of GB2113432A publication Critical patent/GB2113432A/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00572Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium
    • G11B20/00615Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the logical format of the recording medium, e.g. the structure of sectors, blocks, or frames
    • G11B20/0063Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which change the format of the recording medium said format change concerning the logical format of the recording medium, e.g. the structure of sectors, blocks, or frames wherein the modification to the logical format mainly concerns management data, e.g., by changing the format of the TOC or the subcode
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress

Abstract

A floppy disk track normally comprises a plurality of sense segments each preceded by a synchronizing sequence, each sense segment comprising 8-bit bytes with each sense byte starting with a 1. Conventionally, the synchronizing sequence comprises 9-bit bytes, each 0 1111 1111. On reading, any of the 1's may be taken as that start of a byte, and the synchronizing bit sequence is divided into 8-bit bytes until the first 1 of the synchronizing byte is reached as the first bit of an 8-bit byte. Thereafter, the initial 0's of the synchronizing sequence are ignored and synchronism is maintained until the sense sequence is reached, which is therefore read correctly. By the invention, one or more 0's are introduced into the interior of each synchronizing byte, in different positions in successive bytes. This does not significantly affect the achieving of synchronism on reading. However, it prevents unauthorised copying of the disk into another disc, as 'bit copiers' and the like are unable to recognize the synchronizing bytes, which now contain 0's and resemble sense bytes instead of giving the easily recognizable repeated 1111 1111 sequence when read. Figure 3 shows circuitry for generating synchronizing bytes with an interior 0 moving cyclically through positions 3 to 8. <IMAGE>

Description

SPECIFICATION Data protection system The present invention relates to data protection systems, and more specifically to sytems for preventing the unauthorised copying of data recorded on magnetic disks.
Magnetic disks, e.g. floppy disks, are widely used as a means of carrying software. A software publisher may market a product in the form of a disk on which the program itself is recorded, together with a manual which enables a user to know how to use the program.
It is clearly highly desirable for the publisher to have means of preventing unauthorised copying or reproduction of his software, just as with book publishing. Such means fall into two classes; legal and technical. Legal means comprise the use of copyright and/or contract; technical means comprise features of the disk which makes it impossible for technical reasons for copies to be made successfully. The present invention is concerned with such technical means.
One known floppy disk has some 77 tracks recorded on it, and each track has a length of some 100 kbits.
Each track is typically divided into some 16 sectors of equal length. Thus, the disk will contain 16 x 77 = 1232 sectors. Each sector normally starts with an identifier (although it is possible to omit the identifiers, e.g. by relying on an optically sensed index hole in the disk and counting the sectors as they appear following the sensing of the index hole).
The identifiers (ID's) may typically be 6 to 8 bytes long, each byte being 8 bits (with the first bit of each byte always being 1). Track 0 will usually have a sector with a standard identifier, say a sequence of 80 (hexadecimal) bytes - that is each byte is 80 or 1000 0000 in binary so that the first sector of the program can be identified. Subsequent identifiers may conveniently follow a predetermined sequence, though many variations are possible. Each identifier is followed by the sense (data) for that sector.
The form of the tracks can be understood in greater detail by considering one convenient manner in which the disk may be made, i.e. recorded. Each track is first prerecorded with the identifiers to go on that track. A continuous synchronising sequence is generated and recorded as "background" and a timer (which is normally generated by software) produces 16 timing pulses at a rate of 16 times the minimum nominal revolution period of the disk, and on each timing pulse, the synchronizing sequence is interrupted with the appropriate one of the 16 sector identifiers. Recording stops immediately the last (16th) identifier has been recorded. The effect of this is that the track now has the 16 identifiers recorded on it, each being preceded by a long synchronizing sequence (which in fact fills the whole of the preceding sector).
Next, the sense for each sector is recorded. To do this, the track is first read, and the output is monitored for the identifier of the sector to be recorded. As soon as this identifier is detected, recording begins and the sense for that sector is recorded. This recording automatically erases the synchronizing sequence which is already in that sector. At the end of the sense recording, the last part of the synchronizing sequence will remain in the track up to the next identifier. When all 16 sectors have been so recorded, the track is fully recorded. All tracks are recorded in the same way, to produce the final disk.
Two points need to be noticed about this. Firstly, the sector lengths are initially generated by a timer which runs at a rate which ensures that all 16 sectors of full length will be formed even if the disk runs at the maximum nominal speed. Since the disk will probably be running at a speed lower than this maximum nominal speed during the recording, one sector will be longer than necessary. When the sense is recorded in the sectors, that sector will have an exceptionally long synchronizing sequence at its end. Secondly, the writing of the sense in the sectors erases the synchronizing sequence and random slight variations in the disk speed will result in the bit cells of the sense differing from the bit cells of the synchronizing sequence being erased.Thus when the disk is read later, there will not be a predetermined timing relationship between the end of the sense of one sector and the identifier of the next sector. Accordingly some means must be provided whereby the read system, after the end of the sense portion of a sector, can achieve proper synchronization with the identifier and sense section of the next sector before that next sector is actually reached. This synchronization is achieved by means of the synchronizing sequence, a length of which preceds every sector.
It was noted above that the bytes of the identifiers all start with a binary 1. The bytes of the sense also always start with a binary 1. With a floppy disk, the conventional recording system is a frequency-modulated one. Each bit cell consists of two sub-cells a clock sub-cell followed by a data sub-cell. The clock sub-cell has a clock frequency recorded therein, and the data sub-cell has a 0 bit frequency or a 1 bit frequency recorded therein. In the read system, a frequency decoding is first performed on the signal read from the disc, so that clock signals are generated on a clock line and data signals on a data line. The data signals are fed to a 8-bit shift register, which receives the clock pulses at its shift input.The 8th stage of the shift register controls an output circuit, such that when the 8th bit in the shift register is 1, the 8-bit byte is transferred out to the utilisation system in parallel and the shift register is cleared to all 0's. Hence a leading 1 is required in each byte for the byte to be read correctly.
The synchronization sequence is designed to take advantage of the fact that the reading system will only recognize a byte when a 1 reaches the 8th stage of the shift register. Atypical sychronization sequence consists of what can conveniently be regarded as a series of 9-bit bytes, each being 0 1 1 11 1 1 1 1. If the system is not synchronized, the first bit read by the reading system may be any bit in this sequence. Suppose it is the 4th bit in the 9-bit byte. This bit is a 1, and the reading circuitry will threfore read a byte 11111101. The reading circuitry, of course, reads 8-bit bytes.The next bit read by the reading circuitry is the 3rd bit of the next 9-bit byte; this bit is again a 1, and the reading circuitry will read a byte 11111110. The next bit read is the 2nd bit of the next 9-bit byte, which is again a 1, so that reading circuitry will read a byte 1 1 11 1 1 1 1. The next bit read is the 1 sot bit of the next 9-bit byte, and this bit is a 0. This bit will be fed into the shift register in the reading circuitry, and will pass along the bits 8th stage, when it will - being a 0 - fail to cause the output circuit to operate. The next following bit is a 1,and when this reaches the 8th stage, the output circuit will operate. Thus an 8-bit byte 11111111 will be read by the reading circuitry.
It is thus evident that the reading circuitry reads 8-bit bytes from the 9-bit stream of the synchronizing signal, with the 8-bit byte timing shifting by 1 bit each time until the 8 bit bytes are 1111 whereupon the leading 0's of the 9-bit bytes fail to cause the output circuit of the reading circuitry to operate, and the reading circuitry thereafter reads a continuous stream of 8-bit 11111111 bytes which are synchronized with the 9-bit bytes of the synchronizing sequence. The identifier of the next sector, and the following sense is recorded as a sequence of normal 8-bit bytes with leading 1's, following the end of a synchronizing byte.Hence a sufficiently long sequence (in fact, 8 or 9 bytes) of the synchronizing sequence preceding a sector identifier will result in the reading system automatically being properly sychronized for that sector.
Avariation of the standard synchronizing sequence described above is known, wherein each synchronizing byte is a 10-bit byte 00 11111111. Synchronization is achieved more rapidly with this, but many reading systems incorporate means for signalling a fault if there are too many 0's following a byte, and some systems only allow a single 0 following a byte so that this sequence would result in a fault indication.
With this background, the problems involved in trying to copy or duplicate a disk can now be considered. It is obvious that one can read a complete track from a disk into a computer system random access memory.
By reading for two or three complete revolutions of the disk, it would then be possible, by trying to match the start of the stored sequence with the corresponding part of the sequence, at around the middle of the sequence, where the first revolution was completed. Hence the complete contents of the track can be determined.
Two details should be noted about this, however. Firstly, the track length may not be an exact number of bytes, so that the matching attempt would have to be at bit level. Secondly, with a conventional reading system, what is read out is the synchronized bytes, always starting with an initial 1,so that some of the recorded 0's may be deleted by the reading process.
It is, however, impossible to construct a second disk with this read-out track recorded on it, for the following reasons. Firstly, due to drive speed tolerances, the track length (in bits) is variable and cannot be accurately controlled. Secondly, it is conventional to attempt to record a track, then read it to check that it was recorded correctly, and then to re-record it at slightly lower bit density if the first recording attempt failed (because of disk surface variations), provided of course that the track length (in bits) is long enough for the information to be recorded on it. Therefore, if one tries to record this read out track, one will finish with either a gap which will have to be filled with dummy information, or an overlap which will result in some loss of information. In neither case will the attemped duplicate behave in the same way as the original program.
The problem of copying a disk - that is making a duplicate disk - has however been solved by means of systems such as that known as a "bit copier"; this term will be used generically here. One type of bit copier is a program which monitors the track being read from the original disk, or inspects the stored version of the track, for synchronizing bytes. As just noted, during normal reading the synchronizing bytes are read e.g. as a stream of 8-bit all 1's bytes (hexadecimal FF), with the recorded o's dropped in reading. These sequences of FF bytes are easily identified. It may be that the identifiers and sense bytes are coded so that FF bytes cannot occur in them; in this case, the identification of the sense byte sequences is unambiguous.In other systems, it is possible for FF bytes to occur in say, the sense but a long sequence of FF bytes in the sense is unlikely to occur, and any such short FF byte sequences in the sense will occupy irregular positions on the track, whereas the synchronizing FF byte sequences will occur at substantially regular intervals.
Hence the bit copier can identify the points at which the identifiers and their following sense portions occur, and can also identify most of the stretches of sycnhronizing sequence. (It will not identify a synchronizing sequence until synchronism has been achieved). It can then produce a recording signal for the copy disk by generating fresh synchronizing sequences between the identifiers and sense regions. The length of the fresh synchronizing sequences can be adjusted to shorten them, so that the danger of overlap is avoided and by starting the recoding with a long enough fresh synchronizing sequence, any gap left at the end of the recording will be filled with the unerased part of this long initial synchronizing sequence.Thus bit copiers can reproduce conventional disks regardless of the details of the system on which the disks are intended to be used, and the details of the disk recording (ID struture, disk format etc).
Elaborations of this bit copier technique are possible, whereby other synchronizing sequences, or the identifiers themselves, can be recognized by the bit copier. There is therefore a need for a technique for producing disks which cannot be copied by bit copiers.
Accordingly, the present invention provides an information record on a disk, comprising a data sequence of n-bit bytes each of which begins with a 1, preceded by a synchronization sequence of (m+n)-bit bytes each of which begins with m 0's followed by a 1, wherein the remaining n-1 bits include at least one 0 but do not include more than m successive 0's, and wherein the location of any sequence of m successive 0's in the last n bits is not the same in all synchronization bytes. In a preferred embodiment, the bytes of the data sequence may have up torn 0's preceding the last n bits (which start with a 1).
Further aspects of the invention provide a recording system which produces such an information record, and a computer system including and controlled by such an information record.
In practice, n is 8 and m is either 1 or 2.
With one known synchronizing sequence, the initial data byte timing starts at a random point within the synchronizing byte and moves forward by m bits through each successive byte until it reaches the initial 0 or 00, whereupon it stays at that point. With the present invention, the synchronizing bytes will contain additional 0's. If m is 2, single additional 0's may be placed anywhere in the synchronizing bytes (except at the final bit). Still with m = 2, pairs of adjacent 0's can be permitted in the synchronizing bytes provided that the positions of such pairs do not repeat exactly in successive bytes. With m = 1, only single 0's (i.e. between two 1's) can be used in the synchronizing bytes, and these 0's must not occur in the same positions in successive bytes.Under these conditions, the timing will move forward through the synchronizing bytes to the proper point, but not necessarily as fast as with the prior art synchronizing bytes, since the timing may pause briefly, or move forward by only 1 bit instead of 2 (form = 2) if a 0 or 00 is encountered in the last n bits of the byte. Nevertheless, the timing will reach the correct point after only a few more synchronizing bytes than would be required by the prior art.
It may be noted that it is possible in principle for all bytes, including the data (ID and sense) bytes, to be treated as synchronization bytes by being expanded from 8 to 9 (or 10) bits by having an initial 0 (or 00) included in them. These initial 0's (or 00's) will be dropped in reading. In practice, however, this is undesirable because it involves a substantial loss or waste of space.
It will be realized that bit copiers will generally be unable to cope with this arrangement. The bytes which are read out from the synchronization sequence after synchronization has been achieved (and, in fact, before than also) will contain 0's. Thus the bit copier will not find FF (or other value) sequences, which it can identify as synchronization sequences. The actual synchronization sequence may have a long repeat period, and will closely resemble identifier and/or sense sequences, and may indeed be accidentally duplicated over several successive bytes by a sense sequence. It would therefore be an indeterminate task for a bit copier to determine that nature of the synchronization sequence and to identify correctly the synchronization sequences on such a disk.The bit copier will therefore be unable to make the necessary adjustment of the length of a track read off the disk that would be needed to write the track onto another disk.
The synchronizing sequence of the present invention can be generated by various means ranging from mainly hardware arrangements to mainly software arrangements. For example, a suitable sequence can be stored in a read-only memory and read out when required.
It will be realized that a great many sequences are possible. By varying the read-out sequence of a ROM, the sequence can be varied, and by using a sequence of different read-out sequences, the repeat period of the synchronizing sequence can be made very long. Different sequences can be used for different classes of programs and by different makers of disks.
it is, of course, necessary to impose some restrictions on the identifiers to avoid confusion with the synchronization sequence - that is, to ensure that the synchronization sequence cannot accidentally include a valid identifier. An easy way to do this is to include, in each identifier, a byte which cannot occur in the synchronizing sequence, such as a byte with several adjacent 0's in it.
A data processing system in which the invention is utilized will now be described, by way of example, with reference to the drawings, in which: Figure 1 is a block diagram of a disk and reading system; Figure 2 is a block diagram of a writing system, and Figure 3 is a block diagram of a synchronizing sequence generator.
Referring to Figure 1, a disk 10 has a plurality of tracks thereon, of which one - referenced 11- has a read/write head 12 positioned over it. The disk 10 is driven by means not shown, and the head 12 is positioned over any desired track by means not shown. For reading, the head 12 feeds a read analog-to-digital converter 13, which converts the frequency modulated signal from the head 12 into a series of clock pulses at output C alternated with data signals (0 or 1) at output D.
A reading system 14 includes an 8-bit shift register 20, and the clock pulses are fed to the shift input of this register and the data signals to the input end of this register. The 8th stage of the register feeds a pulse generator circuit 21, which is responsive to a 1 in the 8th stage to produce a pulse which is fed to a buffer unit 22, which is also fed with the outputs of all 8 stages of register 22. Hence when a 1 reaches the 8th stage of register 20, circuit 21 produces a pulse which causes the full 8 bits in register 20 to be copied into the buffer 22. The pulse from circuit 21 is also fed back to register 20 to clear it (to all 0's), and also to a flip-flop 23 to set the flip-flop. The buffer 22 has an 8-bit output channel 25, and the state of flip-flop 23 is fed out on a line 26.
The remainder of the system recognizes a signal on line 26 as indicating that an 8-bit byte has been read and is ready to be passed to the remainder of the system on channel 25. When the remainder of the system accepts that byte, it sends a pulse back on line 27 to flip-flop 23 to reset it in readiness for the next byte being read. Channel 25 and lines 26 and 27 form a bus 24 by which the reading system 14 communicates with the remainder of the computer system.
In the computer system, the channel 25 feeds a byte register 41. A 6-byte register 40 is provided, and a 6-byte identifier can be stored in this register 40. A comparator 42 is fed from registers 40 and 41, and continually compares the contents of register 41 with the first byte in register 40. When a match occurs, the comparator 42 compares the next contents of register 41 with the next byte in register 40, and so on. Any failure of match causes the comparator to return to the first byte of the identifier in register 40 for the next comparison. On a successful match of all 6 bytes of the identifier, the sector with that identifier has been successfully located, and the comparator 42 enables a gate 43 which allows the following sense portion of the sector to pass into storage for use as software by the computer system.
Referring to Figure 2, a write digital-to-analog converter 30 is fed with data signals and clock pulses at its D and C inputs respectively, generates from these a frequency modulated signal of the appropriate characteristics for recording, and feeds this signal to the read/write head 12. The clock pulses are obtained from a second clock generator 35 running at the appropriate rate to generate write bits at the proper nominal frequency for the disk.
A writing system 31 includes an 8-bit shift register 32, into which 8-bit bytes are loaded in parallel from a buffer 33 under control of signals at a load input LD. A divide-by-8 circuit 36 is driven by the clock generator 35 and feeds the load input of register 32. The output of divider 36, and also the output of clock generator 35, are fed to other units in the computer system as bit and byte write timing signals. The unit 36 also feeds the set input of a flip-flop 34, which provides a function broadly analogous to the flip-flop 23 in the reading system. Once an 8-bit byte is loaded from buffer 33 into shift register 32, it is then written bit by bit onto the track, the buffer 33 has to be loaded with the next byte before the byte in register 32 has been completely written, and when register 32 is empty, the next byte is promptly loaded so that writing is continuous.
The writing system 31 is coupled to the converter 30 by a switch or multiplexer 37, which is also fed from a synchronizing sequence generator 50 and is controlled by a flip-flop 51. When the track is being written for the first time, with the synchronizing sequence and the identifiers, the flip-flop 51 normally couples the sync generator 50 output to the converter 30. A sector timer 52 changes the state of flip-flop 51 at intervals separated by the nominal maximum sector length. When its state is so changed, the flip-flop 51 disables the sync generator 50 and changes switch 37 to pass the output of the writing system 31 to the converter 30. The rest of the computer system is signalled, to cause it to feed the identifier to the writing system 31. The byte counter 36 is also reset, so that it starts in synchronism with the synchronizing sequence which has just been interrupted.After the 6 bytes of the identifier have been written, the flip-flop 51 changes state again, and writing of the synchronizing sequence recommences. It will be noted that the sync generator 50 feeds the flip-flop 51, providing an enable signal which allows the flip-flop to change state in response to timer 52 only at the end of a synchronizing sequence byte.
As so far described, the bytes provided from the rest of the system to the writing system 31 must already be properly coded to have l's in the leading bit position, and the bytes read by the reading system have l's in the leading bit position. These leading 1's can be removed and inserted by conventional means, either hardware or firmware.
In the known system, the sync generator 50 generates a sequence of 9-bit bytes 0 11111111. These may be generated by a 9-bit shift register in which this pattern is recirculated.
In the pesent system, the sync generator 50 is as shown in Figure 3. A 9-bit shift register 60 has the complement of the above bit pattern stored and recirculated therein, being driven by the record clock generator 35. That is, a single 1 is recirculated around register 60. Stages 2 to 8 of register 60 feed an OR gate 64, so that the moving 1 in register 60 produces a 1 out from gate 64 for the last 8 of its 9 positions.
Thus far, the circuitry generates the simple synchronizing byte 0 1111 1111. However, stages 3 to 7 of register 60 are coupled to gate 64 not directly but via a set of 6 respective AND gates 63. These gates are enabled by the 6 respective stages of a 6-bit shift register 61, which has a pattern of a single 0 and five 1's stored and recirculated in it, and has its shift input fed from the first stage of register 60.
As the 1 in register 60 passes through stages 3 to 8, so it is masked in its transmission to gate 64 by the pattern in register 61. In five of the six stages, it will be passed through to gate 64; but in one stage, determined by the position of the 0 in register 61, it will be prevented from reaching gate 64. Thus the bit sequence from gate 64 will not be 0 1111 1111 butwillbe0lxxxxxxl,whereoneofthex'sisa0andthe other five x's are 1's.
Each time the single 1 in register 60 reaches the first stage, it produces a shift pulses for register 61,so the single 0 in that register is moved one place along. Hence each successive 9-bit byte from gate 64 has the 0 in bits 3 to 8 shifted cyclically along by one bit. In other words, the circuitry will produce a sequence of bytes 010111111 011011111 011101111 011110111 011111011 011111101 010111111 and so on cyclially. It is this sequence which is recorded as the synchronizing sequence.
It can be seen that this can be synchronized on when reading just as with the prior art synchronizing sequence. In fact, if a 1 is picked at random in, say, the first 9-bit byte as the start of a 8-bit byte read by the reading system, the reading system will try to take the bit 1 place to the left in the next line as the start of the next 8-bit byte. If, however, that bit is a 0, then the next bit - the bit directly below the chosen 1 bit in the first line - will be taken as the start of the next byte. It is easily seen that the bits starting the 8-bit bytes in sucessive rows move diagonally across to the left, with at most a single vertical step, until they reach the left-most column of 1's.
It is necessary, with this system, for the possible values of the identifiers to be restricted, so that an identifier can never be confused with a series of bytes read from the synchronizing sequence. In the prior art, there is a similar but looser restriction on the identifiers. An easy way of satisfying this restriction is to restrict the first byte of the identifiers to values which cannot occur in the synchronizing sequence. In the prior art, this means that an identifier cannot begin with a single byte having the same value as a synchronization byte. In the present system, several different bytes can be read from the synchronizing sequence. Once synchronization is attained, thse bytes are given by the right-most 8 columns of the above sequence table.
Before synchronization is attained, other bytes are possible. However, these bytes all have 2 characteristics: first, they never contain more than 2 0's, and second, if they do contain 2 0's the 2 0's are not adjacent. It is relatively easy to design the identifiers so that the first byte contains either at least 3 0's or at least 2 adjcent 0's. For example, the first identifier byte may always be of the form 1000 xxxx.
It is evident that a bit copier cannot copy a disk written with this synchronizing sequence, because it cannot identify the synchronizing sequence. As noted above, a variety of different bytes can be read from the synchronizing sequence, but none of these are simple 11111111 bytes. All of them contain at least one 0, and some contain two 0's. Such bytes can and usually will occur also as sense bytes.
It will be noted that the synchronizing bytes have been designed so that the sequence of two 0's can never occur at the start of an attempt to read a fresh byte. This is because, as noted above, some systems signal a fault if there is more than a single 0 at the start of an attempt to read a byte.
If it is desired to start the synchronizing sequences in synchronism with the identifiers when the identifiers are being recorded, this can be achieved by gating the shift signal fed to the shift register 60 so that the sync generator 50 continues to run, after the flip-flop 51 has changed state to pass the output of the writing system 31 to the encoder 30, until the 1 in shift register 60 has rached the first stage.
It will be realized that the above arrangements may be varied considerably in practice. For example, the write circuitry 31 may include a multi-byte register, to ease buffering requirements between it and the rest of the data processing system. The synchronizing sequence may be held in memory and written via the write system 31. The synchronizing sequence may in fact be stored as 8-bit bytes, with the initial 0's missing, and these 0's inserted by the write system 31 by omitting a shift pulse to the shift register 32 and inhibiting the data input to the write encoder 30 at the start of each fresh byte, so inserting the initial 0's in the synchronizing sequence bytes as part of the process of writing them.
It will be realized that the present system is not limited to floppy disks or to recording using the 3 frequency technique.
CLAIMS (filed on 14.12.82) 1. A magnetic disk having recorded thereon a synchronization sequence of (m+n)-bit bytes followed by a data sequence of n-bit bytes, each data byte beginning with a 1, wherein each synchronization byte begins with mO's followed by a 1 and the remaining n-1 bits include at least one 0 but do not include more than m successive 0's, and wherein the location of any such m successive 0's is not the same in all synchronization bytes.
2. A modification of the magnetic disk according to claim 1, wherein the bytes of the data sequence have up to m 0's preceding the last n bits, which start with a 1.
3. A magnetic disk according to either previous claim wherein m = 1 or 2 and n = 8.
4. A magnetic disk according to any previous claim having a plurality of such synchronization sequences each followed by a respective data sequence, recorded along the or each track.
5. Apparatus for generating a disk according to any one of claims 1 to 3, comprising means for generating a sequence of said synchronization bytes followed by an identifier on the disk.
6. Apparatus according to claim 5 for generating a disk according to claim 4, wherein said means generate a plurality of distinct identifiers separated by sequences of synchronization.
7. Apparatus according to either of claims 5 and 6, wherein the synchronizing sequence is generated by cyclially shifting one or more 0's through said remaining n-l bits to generate sucessive synchronization bytes.
8. Apparatus according to either of claims 5 and 6 including a memory containing a plurality of different synchronization bytes stored therein.
9. Apparatus according to claim 8 including means for reading said memory in a pseudo-random sequence to generate successive synchronization bytes.
10. Apparatus according to any one of claims 5 to 9, including means for reading the or each track, detecting the or each identifier, and writing after the or each identifier an associated sense sequence of data bytes.
**WARNING** end of DESC field may overlap start of CLMS **.

Claims (12)

**WARNING** start of CLMS field may overlap end of DESC **. line - will be taken as the start of the next byte. It is easily seen that the bits starting the 8-bit bytes in sucessive rows move diagonally across to the left, with at most a single vertical step, until they reach the left-most column of 1's. It is necessary, with this system, for the possible values of the identifiers to be restricted, so that an identifier can never be confused with a series of bytes read from the synchronizing sequence. In the prior art, there is a similar but looser restriction on the identifiers. An easy way of satisfying this restriction is to restrict the first byte of the identifiers to values which cannot occur in the synchronizing sequence. In the prior art, this means that an identifier cannot begin with a single byte having the same value as a synchronization byte. In the present system, several different bytes can be read from the synchronizing sequence. Once synchronization is attained, thse bytes are given by the right-most 8 columns of the above sequence table. Before synchronization is attained, other bytes are possible. However, these bytes all have 2 characteristics: first, they never contain more than 2 0's, and second, if they do contain 2 0's the 2 0's are not adjacent. It is relatively easy to design the identifiers so that the first byte contains either at least 3 0's or at least 2 adjcent 0's. For example, the first identifier byte may always be of the form 1000 xxxx. It is evident that a bit copier cannot copy a disk written with this synchronizing sequence, because it cannot identify the synchronizing sequence. As noted above, a variety of different bytes can be read from the synchronizing sequence, but none of these are simple 11111111 bytes. All of them contain at least one 0, and some contain two 0's. Such bytes can and usually will occur also as sense bytes. It will be noted that the synchronizing bytes have been designed so that the sequence of two 0's can never occur at the start of an attempt to read a fresh byte. This is because, as noted above, some systems signal a fault if there is more than a single 0 at the start of an attempt to read a byte. If it is desired to start the synchronizing sequences in synchronism with the identifiers when the identifiers are being recorded, this can be achieved by gating the shift signal fed to the shift register 60 so that the sync generator 50 continues to run, after the flip-flop 51 has changed state to pass the output of the writing system 31 to the encoder 30, until the 1 in shift register 60 has rached the first stage. It will be realized that the above arrangements may be varied considerably in practice. For example, the write circuitry 31 may include a multi-byte register, to ease buffering requirements between it and the rest of the data processing system. The synchronizing sequence may be held in memory and written via the write system 31. The synchronizing sequence may in fact be stored as 8-bit bytes, with the initial 0's missing, and these 0's inserted by the write system 31 by omitting a shift pulse to the shift register 32 and inhibiting the data input to the write encoder 30 at the start of each fresh byte, so inserting the initial 0's in the synchronizing sequence bytes as part of the process of writing them. It will be realized that the present system is not limited to floppy disks or to recording using the 3 frequency technique. CLAIMS (filed on 14.12.82)
1. A magnetic disk having recorded thereon a synchronization sequence of (m+n)-bit bytes followed by a data sequence of n-bit bytes, each data byte beginning with a 1, wherein each synchronization byte begins with mO's followed by a 1 and the remaining n-1 bits include at least one 0 but do not include more than m successive 0's, and wherein the location of any such m successive 0's is not the same in all synchronization bytes.
2. A modification of the magnetic disk according to claim 1, wherein the bytes of the data sequence have up to m 0's preceding the last n bits, which start with a 1.
3. A magnetic disk according to either previous claim wherein m = 1 or 2 and n = 8.
4. A magnetic disk according to any previous claim having a plurality of such synchronization sequences each followed by a respective data sequence, recorded along the or each track.
5. Apparatus for generating a disk according to any one of claims 1 to 3, comprising means for generating a sequence of said synchronization bytes followed by an identifier on the disk.
6. Apparatus according to claim 5 for generating a disk according to claim 4, wherein said means generate a plurality of distinct identifiers separated by sequences of synchronization.
7. Apparatus according to either of claims 5 and 6, wherein the synchronizing sequence is generated by cyclially shifting one or more 0's through said remaining n-l bits to generate sucessive synchronization bytes.
8. Apparatus according to either of claims 5 and 6 including a memory containing a plurality of different synchronization bytes stored therein.
9. Apparatus according to claim 8 including means for reading said memory in a pseudo-random sequence to generate successive synchronization bytes.
10. Apparatus according to any one of claims 5 to 9, including means for reading the or each track, detecting the or each identifier, and writing after the or each identifier an associated sense sequence of data bytes.
11. A magnetic disk having recorded thereon a synchronization sequence followed by a data sequence, substantially as herein described with reference to the drawings.
12. Apparatus for generating a disk according to any one of claims 1 to 4 and 11, substantially as herein described with reference to the drawings.
GB08137728A 1981-12-15 1981-12-15 Data protection system Withdrawn GB2113432A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
GB08137728A GB2113432A (en) 1981-12-15 1981-12-15 Data protection system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB08137728A GB2113432A (en) 1981-12-15 1981-12-15 Data protection system

Publications (1)

Publication Number Publication Date
GB2113432A true GB2113432A (en) 1983-08-03

Family

ID=10526611

Family Applications (1)

Application Number Title Priority Date Filing Date
GB08137728A Withdrawn GB2113432A (en) 1981-12-15 1981-12-15 Data protection system

Country Status (1)

Country Link
GB (1) GB2113432A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2123597A (en) * 1982-06-07 1984-02-01 Fortune Systems Corp Computer program protection
EP0172439A2 (en) * 1984-08-13 1986-02-26 Verbatim Corporation Copy protected disk
GB2181927B (en) * 1985-10-17 1989-11-29 Ampex Serial data communication system
WO2007104096A1 (en) * 2006-03-13 2007-09-20 Dtr Limited Method and system for digital content protection

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2123597A (en) * 1982-06-07 1984-02-01 Fortune Systems Corp Computer program protection
EP0172439A2 (en) * 1984-08-13 1986-02-26 Verbatim Corporation Copy protected disk
EP0172439A3 (en) * 1984-08-13 1987-02-04 Verbatim Corporation Copy protected disk
GB2181927B (en) * 1985-10-17 1989-11-29 Ampex Serial data communication system
WO2007104096A1 (en) * 2006-03-13 2007-09-20 Dtr Limited Method and system for digital content protection

Similar Documents

Publication Publication Date Title
US4275457A (en) Apparatus and method for receiving digital data at a first rate and outputting the data at a different rate
US4596981A (en) Synchronizing signal detecting circuit in a digital signal transmitting system
SE451775B (en) TIME BASIS CORRECTION DEVICE FOR TIME BASKET CORRECTION
US4053944A (en) Microprocessor controlled signal pattern detector
US4072987A (en) Digital storage systems
KR970701906A (en) Method and apparatus for automatic sector pulse generation and split field calculation in disk drives
US4584616A (en) Format for storing data on magnetic media
CA2060197A1 (en) Zone density sector counter
JPH0760574B2 (en) Sector start signal generation circuit for optical disk device
US4045613A (en) Digital storage systems
GB2068687A (en) Digital synchronising system
EP0215046B1 (en) Copying of magnetic recordings
GB2113432A (en) Data protection system
US4314355A (en) Apparatus and method for receiving digital data at a first rate and outputting the data at a different rate
US4499507A (en) Data reproducing apparatus for reproducing digital data recorded on multi-tracks
US4746997A (en) Method and apparatus for generating/detecting and address mark
EP0454464B1 (en) Digital signal reproducing apparatus
GB2112971A (en) Data protection system
EP0294841A2 (en) Memory control system
US3643228A (en) High-density storage and retrieval system
US5461633A (en) Disk drive circuit with partial match detection for predetermined bit sequence
US3745531A (en) Random access tape machine
US4507687A (en) Horizontal sync pulse control circuit for video tape recorder utilizing pulse code modulation
US4392095A (en) Method of and apparatus for generating a unique index mark from the commutation signal of a D.C. brushless motor
US5402275A (en) Method and apparatus for synchronizing recreated DAT frames and time codes

Legal Events

Date Code Title Description
WAP Application withdrawn, taken to be withdrawn or refused ** after publication under section 16(1)