A method for writing data comprising a sequence of bits, the data being written in a form of nucleic acid, by in-vitro enzymatically producing memory nucleic acid from a strand of memory writing substrate nucleic acid, wherein the strand of memory writing substrate nucleic acid comprises a plurality of spacer sections and memory writing sections sandwiched between the spacer sections, wherein each of the spacer sections comprises one or more nucleobases, and each of the memory writing sections comprises a nucleobase other than the nucleobases of all of the plurality of spacer sections of the memory writing substrate nucleic acid, the method comprising: repeating of: synthesising, in liquid medium comprising the strand of memory writing substrate nucleic acid contacted with the enzyme, a spacer portion of the memory nucleic acid from a spacer section by the enzyme by contacting with a solution of spacer nucleotides compatible with the nucleobases of the spacer section; halting the synthesising of the spacer portion in a position where the enzyme is reaching the memory writing section, resulting from incompatibility between spacer nucleotides and nucleobase of the memory writing section; receiving a sub-sequence of the sequence of bits, said sub-sequence comprising at least one bit; selecting a memory nucleotide compatible with the nucleobase of the memory writing section, and comprising a first label or first modification, on a condition that said sub-sequence comprises a predetermined first sequence of bit-values, and selecting a memory nucleotide compatible with the nucleobase of the memory writing section, and comprising a second label or second modification, on a condition that said sub-sequence comprises a predetermined second sequence of bit-values, wherein the selected memory nucleotide of each memory writing section is different from the spacer nucleotides of the spacer sections; and subsequent to the halting of the synthesising of the spacer portion, synthesising, in the liquid medium comprising the strand of memory writing substrate nucleic acid contacted with the enzyme, a memory portion of the memory nucleic acid from the memory writing section by the enzyme by contacting the enzyme with a solution of the selected memory nucleotide; thereby producing memory nucleic acid having memory nucleotides corresponding to and having the same sequence as the bits of the sequence of bits. synthesising, in liquid medium comprising the strand of memory writing substrate nucleic acid contacted with the enzyme, a spacer portion of the memory nucleic acid from a spacer section by the enzyme by contacting with a solution of spacer nucleotides compatible with the nucleobases of the spacer section; halting the synthesising of the spacer portion in a position where the enzyme is reaching the memory writing section, resulting from incompatibility between spacer nucleotides and nucleobase of the memory writing section; receiving a sub-sequence of the sequence of bits, said sub-sequence comprising at least one bit; selecting a memory nucleotide compatible with the nucleobase of the memory writing section, and comprising a first label or first modification, on a condition that said sub-sequence comprises a predetermined first sequence of bit-values, and selecting a memory nucleotide compatible with the nucleobase of the memory writing section, and comprising a second label or second modification, on a condition that said sub-sequence comprises a predetermined second sequence of bit-values, wherein the selected memory nucleotide of each memory writing section is different from the spacer nucleotides of the spacer sections; and subsequent to the halting of the synthesising of the spacer portion, synthesising, in the liquid medium comprising the strand of memory writing substrate nucleic acid contacted with the enzyme, a memory portion of the memory nucleic acid from the memory writing section by the enzyme by contacting the enzyme with a solution of the selected memory nucleotide; thereby producing memory nucleic acid having memory nucleotides corresponding to and having the same sequence as the bits of the sequence of bits.