1. A method of operating a memory cell comprising: applying a programming current through a bottom pinned layer having a magnetization in a first direction, wherein the programming current is not spin polarized by the bottom pinned layer; after the programming current is applied through the bottom pinned layer, applying the programming current through a free layer, wherein a magnetization of the free layer is unchanged by the programming current; and after the programming current is applied through the free layer, applying the programming current to a top pinned layer having a magnetization in a first direction, wherein the programming current is spin polarized by the top pinned layer.