A memory-based computing system comprising: a compute subsystem; a communications interface coupled to the compute subsystem; and a memory device coupled to the communications interface, the memory device including: a non-volatile memory (18, 50) to initiate an erase of a block of the non-volatile memory in response to an erase command, wherein the block is to include a plurality of sub-blocks; and a non-volatile memory controller communicatively coupled to the non-volatile memory (18, 50), the non-volatile memory controller is configured to track an erase failure of the block with respect to a first subset of the plurality of sub-blocks on an individual sub-block basis, wherein the erase is to be successful with respect to a second subset of the plurality of sub-blocks, characterised in that the non-volatile memory controller is configured to transfer in a variable or fixed number of bytes, an indication of the number of sub-blocks in the first subset and an identification of each sub-block in the first subset to the non-volatile memory controller, wherein an initial output byte of the variable number of bytes comprises the indication of the number of sub-blocks in the first subset and wherein a subsequent output byte of the variable number of bytes comprises the identification of the each sub-block in the first subset, and wherein a first output byte of the fixed number of bytes comprises the indication of a number of sub-blocks in the first subset, and wherein remaining bytes of the fixed number of bytes comprises the identification of the each sub-block in the first subset. a compute subsystem; a communications interface coupled to the compute subsystem; and a memory device coupled to the communications interface, the memory device including: a non-volatile memory (18, 50) to initiate an erase of a block of the non-volatile memory in response to an erase command, wherein the block is to include a plurality of sub-blocks; and a non-volatile memory controller communicatively coupled to the non-volatile memory (18, 50), the non-volatile memory controller is configured to track an erase failure of the block with respect to a first subset of the plurality of sub-blocks on an individual sub-block basis, wherein the erase is to be successful with respect to a second subset of the plurality of sub-blocks, characterised in that the non-volatile memory controller is configured to transfer in a variable or fixed number of bytes, an indication of the number of sub-blocks in the first subset and an identification of each sub-block in the first subset to the non-volatile memory controller, wherein an initial output byte of the variable number of bytes comprises the indication of the number of sub-blocks in the first subset and wherein a subsequent output byte of the variable number of bytes comprises the identification of the each sub-block in the first subset, and wherein a first output byte of the fixed number of bytes comprises the indication of a number of sub-blocks in the first subset, and wherein remaining bytes of the fixed number of bytes comprises the identification of the each sub-block in the first subset. a non-volatile memory (18, 50) to initiate an erase of a block of the non-volatile memory in response to an erase command, wherein the block is to include a plurality of sub-blocks; and a non-volatile memory controller communicatively coupled to the non-volatile memory (18, 50), the non-volatile memory controller is configured to track an erase failure of the block with respect to a first subset of the plurality of sub-blocks on an individual sub-block basis, wherein the erase is to be successful with respect to a second subset of the plurality of sub-blocks, characterised in that the non-volatile memory controller is configured to transfer in a variable or fixed number of bytes, an indication of the number of sub-blocks in the first subset and an identification of each sub-block in the first subset to the non-volatile memory controller, wherein an initial output byte of the variable number of bytes comprises the indication of the number of sub-blocks in the first subset and wherein a subsequent output byte of the variable number of bytes comprises the identification of the each sub-block in the first subset, and wherein a first output byte of the fixed number of bytes comprises the indication of a number of sub-blocks in the first subset, and wherein remaining bytes of the fixed number of bytes comprises the identification of the each sub-block in the first subset.