To guarantee SRAM PUF reliability, state-of-the-art articles use ECC (fuzzy extractor) and/or pre-selection techniques /wiki/spaces/SaraPhD/pages/2338717699 :
ECC
Pre-selection
Both: ECC+preselection
Modified SRAM design
Improving reliability through power-up control
Both of these methods require using NVM memory to store the calculated helper-data (memory-map resp).
Memory-map can be generated at each time → should be the same
In fact using a pre-selection method is good to distinguish between bits used as RNG and PUF, but this requires lots of computations, to obtain an RNG using a hash function with any bunch of bits is sufficient.
Interesting Facts
helper data is public and can be stored on a remote server, see https://link.springer.com/article/10.1007/s10207-023-00668-0 where the protocol is explained, they used the fact of turning off the power for a short time after putting all the values to 1, but with some change in the hardware design of the SRAM memory → ECC+pre-selection
Power-up control techniques for reliable SRAM PUF → The authors propose simple power-up control schemes to improve the reproducibility of SRAM PUFs that can be fully integrated on chip, and confirm their effectiveness both in simulation and measurements. In this section, two power-up sequence control techniques are proposed: 1) utilizing the characteristics of the transistors in the sub-threshold region, and 2) manipulating the voltage ramp-up speed during the power-up sequence. Both techniques minimize the effect of circuit noise on the evaluation process and achieve an optimal operating point in terms of PUF cell reliability.
A good and brief review of the different methods of error reduction from the state-of-the-art is included in https://www.mdpi.com/2079-9268/7/1/2 , a good explanation of voting methods is also offered. The authors propose a enhanced voting mechanism.