1. A method for operating a memory array, comprising: increasing a plurality of currents through a plurality of corresponding cells of the memory array, each cell having a structural phase-change material to store data for that cell, each of the plurality of currents being increased to an upper level that is sufficiently high that can cause the material in the corresponding cell to be in a first phase; and then decreasing some of the currents to lower levels, those currents being decreased at sufficiently high rates that cause the materials in their corresponding cells to be programmed to the first phase; and decreasing some others of the currents to lower levels, those others being decreased at sufficiently low rates that cause the materials in their corresponding cells to be programmed to a second phase.