1. A method for remapping a memory address of a memory to redundant memory, comprising: receiving the memory address to be remapped to redundant memory; determining whether a programmable element associated with the redundant memory is available for programming; and when a programmable element associated with the redundant memory is available, programming the programmable element such that the memory address will be mapped to the redundant memory.