A computer-implemented method of a post package repair, PPR, in a server system , comprising: receiving, from a specific storage of the server system , a PPR status of a memory module of the server system , the memory module supporting the PPR; receiving a plurality of PPR variables from the specific storage; determining that there is a memory error in the memory module to be fixed; determining, based at least upon the PPR status of the memory module and the plurality of PPR variables, that a plurality of bank groups of the memory module has at least one spare row; repairing the memory error using the at least one spare row of the plurality of bank groups; and updating the PPR status stored in the specific storage of the server system ; characterized in that : wherein when determining that there is no spare row in the plurality of bank groups, a BIOS skips the PPR repair, and logs physical location address(es) of the memory error in a memory mask table; wherein the memory module is a dual in-line memory module, DIMM, including non-serial presence detect, SPD, regions; wherein a PPR status table of the PPR status is generated after determining that there is a checksum error or the PPR status table does not exist, which includes: determining a count of the plurality of bank groups of the DIMM based at least upon information collected from the non-SPD regions of the DIMM; and generating the PPR status table based at least upon the count of the plurality of bank groups and the PPR variables. receiving, from a specific storage of the server system , a PPR status of a memory module of the server system , the memory module supporting the PPR; receiving a plurality of PPR variables from the specific storage; determining that there is a memory error in the memory module to be fixed; determining, based at least upon the PPR status of the memory module and the plurality of PPR variables, that a plurality of bank groups of the memory module has at least one spare row; repairing the memory error using the at least one spare row of the plurality of bank groups; and updating the PPR status stored in the specific storage of the server system ; characterized in that : wherein when determining that there is no spare row in the plurality of bank groups, a BIOS skips the PPR repair, and logs physical location address(es) of the memory error in a memory mask table; wherein the memory module is a dual in-line memory module, DIMM, including non-serial presence detect, SPD, regions; wherein a PPR status table of the PPR status is generated after determining that there is a checksum error or the PPR status table does not exist, which includes: determining a count of the plurality of bank groups of the DIMM based at least upon information collected from the non-SPD regions of the DIMM; and generating the PPR status table based at least upon the count of the plurality of bank groups and the PPR variables. wherein when determining that there is no spare row in the plurality of bank groups, a BIOS skips the PPR repair, and logs physical location address(es) of the memory error in a memory mask table; wherein the memory module is a dual in-line memory module, DIMM, including non-serial presence detect, SPD, regions; wherein a PPR status table of the PPR status is generated after determining that there is a checksum error or the PPR status table does not exist, which includes: determining a count of the plurality of bank groups of the DIMM based at least upon information collected from the non-SPD regions of the DIMM; and generating the PPR status table based at least upon the count of the plurality of bank groups and the PPR variables. determining a count of the plurality of bank groups of the DIMM based at least upon information collected from the non-SPD regions of the DIMM; and generating the PPR status table based at least upon the count of the plurality of bank groups and the PPR variables. <EOS>