Under EFM rules, the data to be stored is first broken into eight-bit blocks (bytes). Each eight-bit block is translated into a corresponding fourteen-bit codeword using a
lookup table. The 14-bit words are chosen such that binary ones are always separated by a minimum of two and a maximum of ten binary zeros. This is because bits are encoded with
NRZI encoding, or
modulo-2 integration, so that a binary one is stored on the disc as a change from a land to a pit or a pit to a land, while a binary zero is indicated by no change. A sequence 0011 would be changed into 1101 or its inverse 0010, depending on the previous pit written. If there are two consecutive zeros between two ones, then the written sequence will have three consecutive zeros (or ones), for example, 010010 will translate into 100011 (or 011100). The EFM sequence 000100010010000100 will translate into 111000011100000111 (or its inverse). Because EFM ensures that there are at least two zeros between every two ones, it is guaranteed that every pit and land is at least three bit-clock cycles long. This property is very useful, since it reduces the demands on the optical pickup used in the playback mechanism. The ten consecutive-zero maximum ensures worst-case
clock recovery in the player. EFM requires three merging bits between adjacent fourteen-bit codewords. Although they are not needed for decoding, they ensure that consecutive codewords can be concatenated without violating the specified minimum and maximum runlength constraint. They are also selected to maintain
DC balance of the encoded sequence. Thus, in the final analysis, seventeen bits of disc space are needed to encode eight bits of data. == EFMPlus ==