A method of copying data, the method comprising: in a memory device (100; 602) with a controller die and a memory die, performing: receiving a command from a host that is external to the memory device (100; 602), the command instructing copying of data from a source location in the memory die to a destination location in the memory die, wherein the source location includes a first group of storage elements, and wherein the destination location includes a second group of storage elements; determining by the memory device (100; 602) if a criterion is met, wherein determining whether the criterion is met includes comparing a parameter to a dynamic threshold, and whereby the dynamic threshold is determined dynamically in the memory device (100; 602) based on one or more parameters indicating a status of the memory die; in response to determining that the criterion is met, executing the copying by: moving the data from the first group of storage elements in the memory die to the controller die; and after moving the data to the controller die, performing error correction on the data to generate error-corrected data, and moving the error-corrected data from the controller die to the second group of storage elements in the memory die; and in response to determining that the criterion is not met, executing the copying by moving the data inside the memory die from the first group of storage elements to the second group of storage elements without moving the data to the controller die. receiving a command from a host that is external to the memory device (100; 602), the command instructing copying of data from a source location in the memory die to a destination location in the memory die, wherein the source location includes a first group of storage elements, and wherein the destination location includes a second group of storage elements; determining by the memory device (100; 602) if a criterion is met, wherein determining whether the criterion is met includes comparing a parameter to a dynamic threshold, and whereby the dynamic threshold is determined dynamically in the memory device (100; 602) based on one or more parameters indicating a status of the memory die; in response to determining that the criterion is met, executing the copying by: moving the data from the first group of storage elements in the memory die to the controller die; and after moving the data to the controller die, performing error correction on the data to generate error-corrected data, and moving the error-corrected data from the controller die to the second group of storage elements in the memory die; and moving the data from the first group of storage elements in the memory die to the controller die; and after moving the data to the controller die, performing error correction on the data to generate error-corrected data, and moving the error-corrected data from the controller die to the second group of storage elements in the memory die; and in response to determining that the criterion is not met, executing the copying by moving the data inside the memory die from the first group of storage elements to the second group of storage elements without moving the data to the controller die.