A method comprising: in a memory device including an error correction coding engine and multiple storage elements, wherein the memory device is configured to store information to the storage elements according to a page format, the page format including a data portion and a parity portion, performing: compressing data to be stored to the storage elements; selecting one of a first mode of the ECC engine to generate a first number of parity bits and a second mode of the ECC engine to generate a second number of parity bits, the selected mode based on an extent of compression of the compressed data; encoding the compressed data, using the ECC engine, to generate a codeword, the codeword having a data portion and a parity portion; and storing the codeword to the storage elements according to the page format, wherein the data portion is stored in the data portion of the page and at least some of the parity portion is stored in the parity portion of the page, CHARACTERISED IN THAT: the method further comprises generating additional data based on the parity portion and adding the additional data to the compressed data to increase a size of the codeword to a predetermined size prior to storing the codeword to the storage elements according to the page format. in a memory device including an error correction coding engine and multiple storage elements, wherein the memory device is configured to store information to the storage elements according to a page format, the page format including a data portion and a parity portion, performing: compressing data to be stored to the storage elements; selecting one of a first mode of the ECC engine to generate a first number of parity bits and a second mode of the ECC engine to generate a second number of parity bits, the selected mode based on an extent of compression of the compressed data; encoding the compressed data, using the ECC engine, to generate a codeword, the codeword having a data portion and a parity portion; and storing the codeword to the storage elements according to the page format, wherein the data portion is stored in the data portion of the page and at least some of the parity portion is stored in the parity portion of the page, CHARACTERISED IN THAT: the method further comprises generating additional data based on the parity portion and adding the additional data to the compressed data to increase a size of the codeword to a predetermined size prior to storing the codeword to the storage elements according to the page format. compressing data to be stored to the storage elements; selecting one of a first mode of the ECC engine to generate a first number of parity bits and a second mode of the ECC engine to generate a second number of parity bits, the selected mode based on an extent of compression of the compressed data; encoding the compressed data, using the ECC engine, to generate a codeword, the codeword having a data portion and a parity portion; and storing the codeword to the storage elements according to the page format, wherein the data portion is stored in the data portion of the page and at least some of the parity portion is stored in the parity portion of the page, CHARACTERISED IN THAT: the method further comprises generating additional data based on the parity portion and adding the additional data to the compressed data to increase a size of the codeword to a predetermined size prior to storing the codeword to the storage elements according to the page format. the method further comprises generating additional data based on the parity portion and adding the additional data to the compressed data to increase a size of the codeword to a predetermined size prior to storing the codeword to the storage elements according to the page format.