each bit has K+1 possible configurations. One configuration of an empty bit,'X' (i.e. a blank space before anything is written down). K configurations for K different digits (for example, 0 and 1 for binary count, or 0, 1, ..., 9 for decimal count)
Before recording, every bit is in an empty state. For example, in case of 8-bit memory, the DNA will be in state: [XXXXXXXX]
Different input signals change a bit from an empty state to a new state (0,..., K-1). For each bit, there is 1-1 correspondence between the input signal and the state.
Different temporal permutation of input signals resulting in different final state of the whole N bit memory. For example, let's suppose we have 2-memory. Signal "A" flips an empty bit to "0" while signal "B" flips an empty bit to "1." Then, the signal series [A,A,B,B,A,A] flip [XXXXXXXX] to [001100XX]. The signal series [BBAABA] flips [XXXXXXXX] to [110010XX].
Abstract structures
From rule-1 and rule-3, We need a mechanism to change DNA sequence if and only if the signal is given. At each bit, we may have an input signal turn on the expression of the specific set of enzymes that can change the DNA to a new state.
From rule-4, we need the change to be bit specific. For example, given a signal series [BA] to an 8-bit binary memory, we want the first bit to flip to "1" while the second bit to flip to "0", not vice versa. [BA] should flip memory to [10XXXXXX] while [AB] should flip memory to [01XXXXXX]. To achieve this feature, we may require that the first bit of our memory must be written before the second can be written, the second one must be written, before the the third one can be written, and so on. One possibility is to have a simple AND gate at every bit above the lowest bit. The enzymes for the second bit from X to 0 is expressed, if signal B is given and some signal from the already written lower bit is given too.
We also need some mechanism to partition continuous input signals into separated discrete signal. For a given signal [A] (say, we shine light to a cell for 10 min or grow the cell in high lactose), we need to make sure that the memory is flipped to [0XXXXXXX], not [00XXXXXX] nor [0000XXXX]. Somehow, we may need to have the mechanism to flip the lower bit to turn off before the mechanism to flip the next bit to turn on. Thus, if we give a continuous "A" signal once (no matter how long it is), only the first bit will be flip (resulting in [0XXXXXXX]). The second bit cannot be flipped to 0, because the mechanism of the first bit is still ON while "A" is present. Now, if we give two pulses of "A", two bit will be flipped because the mechanism for flipping the first bit is off when the second pulse of "A" arrive.