A menos que tenga un estado inicial programado, será más o menos aleatorio. Aunque esto puede variar con diferentes implementaciones de SRAM. También dices "en blanco". Algunos podrían pensar que el azar es "blanco" que todos los 0.
La memoria SRAM almacena memoria en inversores de respaldo a respaldo.
Esto forma un sistema biestable (dos estados muy estables con metaestabilidad que los divide). Por lo tanto, al encender los inversores back to back son brevemente metaestables.
Esto sucede porque a medida que el voltaje aumenta (desde que se enciende), tanto NMOS como PMOS de los inversores de atrás hacia atrás estarían 'igualmente' encendidos, manteniendo ambos bitnodes a la mitad del voltaje de suministro (este es el estado metaestable). Eventualmente, un poco de ruido térmico (o cualquier proceso que introduce variación) empuja o hace que este valor baje o suba un poco. En este punto, los bitnodes entran en uno de sus estados biestables.
- Como ejemplo, considereQ = Q′= Vs u p p l y2
- Luego, algo de ruido térmico en Q aumenta el voltaje hastaVs u p p l y2+ δ
- Ahora, la alimentación NMOS Q 'se enciende un poco más. Y el PMOS que alimenta Q 'se apaga un poco más. Entonces Q 'se desde a . V s u p p l yVs u p p l y2Vs u p p l y2- δ
- A continuación, dado que el voltaje en la puerta del nodo Q de activación del FET disminuye, el PMOS se enciende un poco más (y NMOS se apaga más). Esto hace que Q aumente aún más a la oferta. Y esto rápidamente ajusta Q 'a 0 y Q a 1.
De hecho, incluso hay un documento "Power-Up SRAM State como una huella dactilar de identificación y fuente de números aleatorios verdaderos"
Una trama muy útil contenida en el documento está a continuación. La línea de puntos representa el aumento de voltaje de suministro:
- En el lado izquierdo, todo es igual. En este caso, la variación aleatoria debida a la temperatura u otro número de factores hace que el bitnode entre en un estado u otro.
- En el lado derecho, hay un bitnode que está sesgado (a propósito o de otro modo) para que sea mucho más probable que se inicialice en un estado particular.
Dependiendo de cómo se fabricó cada bitnode en la SRAM que está utilizando actualmente, terminará con más o menos de una de las dos situaciones anteriores. En ambos casos, a menos que haya sesgado intencionalmente la SRAM, las salidas iniciales se verían más o menos aleatorias. En la situación de la izquierda, cada encendido posterior generaría más patrones aleatorios. En la situación de la derecha, el inicio inicial sería aparentemente aleatorio. Pero más potenciadores causarían que la SRAM tienda a ciertos estados.