A variable resistance threshold-type memory device, comprising: a memory array (112, 130) comprising a plurality of memory cells; a control circuit operatively coupled to the memory array (112, 130); the control circuit being configured to: apply a first voltage having a first voltage duration to the memory array (112, 130) in response to receiving a read request for data to cause a first set of memory cells of the plurality of memory cells to be read as storing a first logic value based on the first voltage; count a number of the plurality of memory cells that have switched to an active read state based on the first voltage; characterised in the control circuit being further configured to: derive a second voltage duration based on the number via a lookup table, wherein the lookup table is configured to store a time voltage duration for an upcoming read step associated with a number range of counted activated memory cells of the plurality of memory cells; apply a second voltage having the second voltage duration to the memory array (112, 130) to cause a second set of memory cells of the plurality of memory cells to be read as storing the first logic value based on the second voltage; and return data based on bits stored in the first set of memory cells and the second set of memory cells. a memory array (112, 130) comprising a plurality of memory cells; a control circuit operatively coupled to the memory array (112, 130); the control circuit being configured to: apply a first voltage having a first voltage duration to the memory array (112, 130) in response to receiving a read request for data to cause a first set of memory cells of the plurality of memory cells to be read as storing a first logic value based on the first voltage; count a number of the plurality of memory cells that have switched to an active read state based on the first voltage; characterised in the control circuit being further configured to: derive a second voltage duration based on the number via a lookup table, wherein the lookup table is configured to store a time voltage duration for an upcoming read step associated with a number range of counted activated memory cells of the plurality of memory cells; apply a second voltage having the second voltage duration to the memory array (112, 130) to cause a second set of memory cells of the plurality of memory cells to be read as storing the first logic value based on the second voltage; and return data based on bits stored in the first set of memory cells and the second set of memory cells. apply a first voltage having a first voltage duration to the memory array (112, 130) in response to receiving a read request for data to cause a first set of memory cells of the plurality of memory cells to be read as storing a first logic value based on the first voltage; count a number of the plurality of memory cells that have switched to an active read state based on the first voltage; characterised in the control circuit being further configured to: derive a second voltage duration based on the number via a lookup table, wherein the lookup table is configured to store a time voltage duration for an upcoming read step associated with a number range of counted activated memory cells of the plurality of memory cells; apply a second voltage having the second voltage duration to the memory array (112, 130) to cause a second set of memory cells of the plurality of memory cells to be read as storing the first logic value based on the second voltage; and return data based on bits stored in the first set of memory cells and the second set of memory cells. derive a second voltage duration based on the number via a lookup table, wherein the lookup table is configured to store a time voltage duration for an upcoming read step associated with a number range of counted activated memory cells of the plurality of memory cells; apply a second voltage having the second voltage duration to the memory array (112, 130) to cause a second set of memory cells of the plurality of memory cells to be read as storing the first logic value based on the second voltage; and return data based on bits stored in the first set of memory cells and the second set of memory cells.