| CPC G06F 11/1016 (2013.01) [G06F 12/0292 (2013.01)] | 16 Claims |

|
1. A method for mapping system memory addresses to physical memory addresses, comprising:
arranging a plurality of system memory addresses into a mapping array having a number of rows equal to a number of physical memory addresses in a minimum spareable entity unit, and a number of columns equal to a number of minimum spareable entity units; and
assigning, for each row of the mapping array, respective ones of the minimum spareable entity units to the columns such that no two columns are assigned the same minimum spareable entity unit, thereby mapping the system memory addresses for the row to physical memory addresses of the respective minimum spareable entity units,
wherein when one of the minimum spareable entity units becomes an unavailable minimum spareable entity unit,
designating a column of the mapping array as a remapping column for the unavailable minimum spareable entity unit, and
for each row in the mapping array, when the unavailable minimum spareable entity unit is not in the remapping column, assigning the minimum spareable entity unit for the remapping column to the column assigned the unavailable minimum spareable entity unit, thereby remapping the system memory address for the column assigned the unavailable minimum spareable entity unit to the minimum spareable entity unit for the remapping column, and
wherein mapping the system memory addresses for the row to respective physical memory addresses of the minimum spareable entity unit comprises, for each system memory address, mapping the system memory address to a physical memory address corresponding to the minimum spareable entity unit and an offset.
|