An apparatus, comprising: a set of word lines (WL0-WL10); a string (NS1, NS2, 700n-703n, 710n-713n, 720n-723n, 730n-733n) comprising a set of data memory cells (704, 705, 706, 707, 708, 709, 710, 711, 712, 713 and 714; 724, 725, 726, 727, 728, 729, 730, 731, 732, 733 and 734; 744, 745, 746, 747, 748, 749, 750, 751, 752, 753 and 754; 764, 765, 766, 767, 768, 769, 770, 771, 772, 773 and 774) extending from a group of one or more source-side data memory cells (704, 705; 724, 725; 744, 745; 764, 765) at a source-side of the string to a drain-side data memory cell (714, 734, 754, 774) at a drain-side of the string, wherein the string is a non-volatile NAND string and is among a plurality of non-volatile NAND strings of memory cells; a temperature-sensing circuit configured to provide data indicative of a temperature; and a control circuit (110, 112, 114, 116, 122, 128, 132), the control circuit, to program a selected data memory cell in the set of data memory cells in the string, where the selected data memory cell is connected to a selected word line in the set of word lines, is configured to concurrently apply a program voltage (Vpgm) to the selected word line and apply a pass voltage (Vpass) to unselected word lines in the set of word lines, and to set a magnitude of the pass voltage inversely proportional to the temperature when the selected data memory cell is among the group of one or more source-side data memory cells in the string and proportional to the temperature when the selected data memory cell is not among the group of one or more source-side data memory cells in the string, wherein: the group of one or more source-side data memory cells in the string comprises a first data memory cell (704, 724, 744, 764) which is at the source-side of the string and a second data memory cell (705, 725, 745, 765) which is adjacent to the first data memory cell; the apparatus being characterized in that the control circuit is configured to set the magnitude of the pass voltage to a first value (Vpass_T1) when the selected data memory cell is the first data memory cell and a second value (Vpass_T2), higher than the first value, when the selected data memory cell is the second data memory cell. a set of word lines (WL0-WL10); a string (NS1, NS2, 700n-703n, 710n-713n, 720n-723n, 730n-733n) comprising a set of data memory cells (704, 705, 706, 707, 708, 709, 710, 711, 712, 713 and 714; 724, 725, 726, 727, 728, 729, 730, 731, 732, 733 and 734; 744, 745, 746, 747, 748, 749, 750, 751, 752, 753 and 754; 764, 765, 766, 767, 768, 769, 770, 771, 772, 773 and 774) extending from a group of one or more source-side data memory cells (704, 705; 724, 725; 744, 745; 764, 765) at a source-side of the string to a drain-side data memory cell (714, 734, 754, 774) at a drain-side of the string, wherein the string is a non-volatile NAND string and is among a plurality of non-volatile NAND strings of memory cells; a temperature-sensing circuit configured to provide data indicative of a temperature; and a control circuit (110, 112, 114, 116, 122, 128, 132), the control circuit, to program a selected data memory cell in the set of data memory cells in the string, where the selected data memory cell is connected to a selected word line in the set of word lines, is configured to concurrently apply a program voltage (Vpgm) to the selected word line and apply a pass voltage (Vpass) to unselected word lines in the set of word lines, and to set a magnitude of the pass voltage inversely proportional to the temperature when the selected data memory cell is among the group of one or more source-side data memory cells in the string and proportional to the temperature when the selected data memory cell is not among the group of one or more source-side data memory cells in the string, wherein: the group of one or more source-side data memory cells in the string comprises a first data memory cell (704, 724, 744, 764) which is at the source-side of the string and a second data memory cell (705, 725, 745, 765) which is adjacent to the first data memory cell; the apparatus being characterized in that the control circuit is configured to set the magnitude of the pass voltage to a first value (Vpass_T1) when the selected data memory cell is the first data memory cell and a second value (Vpass_T2), higher than the first value, when the selected data memory cell is the second data memory cell. the group of one or more source-side data memory cells in the string comprises a first data memory cell (704, 724, 744, 764) which is at the source-side of the string and a second data memory cell (705, 725, 745, 765) which is adjacent to the first data memory cell; the apparatus being characterized in that the control circuit is configured to set the magnitude of the pass voltage to a first value (Vpass_T1) when the selected data memory cell is the first data memory cell and a second value (Vpass_T2), higher than the first value, when the selected data memory cell is the second data memory cell.