US 12,236,119 B2
Systems and methods for balancing multiple partitions of non-volatile memory
Alexander Paley, San Jose, CA (US); and Andrew W. Vogan, Austin, TX (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on Jan. 20, 2022, as Appl. No. 17/648,540.
Application 17/648,540 is a division of application No. 16/277,230, filed on Feb. 15, 2019, granted, now 11,256,436.
Prior Publication US 2022/0147258 A1, May 12, 2022
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/0644 (2013.01) [G06F 3/0616 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01); G06F 2206/1012 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method implemented in a computing device having a non-volatile memory comprising a first partition and a second partition each having different program/erase endurances, the method comprising, at the computing device:
accessing parameters associated with each of the first partition and the second partition;
evaluating the parameters to determine whether the first partition or the second partition is overheating, wherein overheating indicates that one of the first partition and second partition has a higher proportional usage than the other partition;
in response to determining that the first partition is overheating, implementing a first balancing scheme that balances a proportional usage of the first partition relative to the second partition to prevent the first partition from prematurely reaching an end of life parameter;
in response to determining that the second partition is overheating, implementing a second balancing scheme that balances the proportional usage of the second partition relative to the first partition to prevent the second partition from prematurely reaching the end of life parameter; and
executing write operations by directing data to the first and second partitions in accordance with the first balancing scheme or the second balancing scheme.