A solid state disk comprising: a non-volatile memory comprising a plurality of memory die; and a controller operable to write data to the non-volatile memory; generate error correction code 'ECC' on the data written to the non-volatile memory; perform a parity operation on the data; and store the parity data; wherein a first subset of the plurality of memory die are configured to store data and a second subset of the plurality of memory die are configured to store parity data; and the non-volatile memory is organised such that each memory die of the plurality of memory die includes a plurality of sectors, characterized in that a plurality of pages are formed across the plurality of memory die, wherein each page of the plurality of pages includes a corresponding subset of the plurality of sectors from each memory die of the plurality of memory die, and the controller is configured such that data is written to the plurality of pages, wherein the data is written to a page by filling the corresponding subset of sectors of the page of a first memory die of the first subset of the plurality of memory die, and when the corresponding subset of sectors of the page of the first memory die is filled, writing data to the same page by filling the corresponding subset of sectors of the page of a second memory die of the first subset of the plurality of memory die; the parity operation is performed on the data contained in corresponding sectors of each memory die of the first subset of the plurality of memory die; and the parity data is stored by writing the parity data to the corresponding sectors in the second subset of the plurality of memory die. a non-volatile memory comprising a plurality of memory die; and a controller operable to write data to the non-volatile memory; generate error correction code 'ECC' on the data written to the non-volatile memory; perform a parity operation on the data; and store the parity data; write data to the non-volatile memory; generate error correction code 'ECC' on the data written to the non-volatile memory; perform a parity operation on the data; and store the parity data; wherein a first subset of the plurality of memory die are configured to store data and a second subset of the plurality of memory die are configured to store parity data; and the non-volatile memory is organised such that each memory die of the plurality of memory die includes a plurality of sectors, characterized in that a plurality of pages are formed across the plurality of memory die, wherein each page of the plurality of pages includes a corresponding subset of the plurality of sectors from each memory die of the plurality of memory die, and the controller is configured such that data is written to the plurality of pages, wherein the data is written to a page by filling the corresponding subset of sectors of the page of a first memory die of the first subset of the plurality of memory die, and when the corresponding subset of sectors of the page of the first memory die is filled, writing data to the same page by filling the corresponding subset of sectors of the page of a second memory die of the first subset of the plurality of memory die; the parity operation is performed on the data contained in corresponding sectors of each memory die of the first subset of the plurality of memory die; and the parity data is stored by writing the parity data to the corresponding sectors in the second subset of the plurality of memory die.