¿Por qué el tiempo de borrado del sector cambia en el nuevo Nor flash porque el controlador no puede funcionar?

1

Estoy trabajando en una aplicación con NOR flash chips. Tuve que cambiar los chips a mitad del proceso de diseño. Las diferencias indicadas entre los chips nuevos y antiguos son solo 'ID de dispositivo' y 'tiempo de borrado del sector'. Pensé que podría arreglármelas sin volver a escribir mi controlador de flash debido a las pequeñas diferencias, pero el controlador para el chip antiguo no funciona con el nuevo.

¿Por qué el tiempo de borrado del sector es tan importante para el conductor? ¿Cómo lo cambio?

    
pregunta user101207

2 respuestas

1

El tiempo de borrado del sector es importante para cualquier controlador porque es un poco de tiempo lo que es necesario para usar el chip correctamente. Los chips de flash tienen tiempos de borrado , que es el tiempo durante el cual se debe aplicar un voltaje de borrado especial a las celdas para garantizar que se borren. Si no se cumple este tiempo mínimo, es posible que las celdas no se borren completamente, lo que en efecto es un error de datos.

Algunas fichas también pueden tener un tiempo máximo de borrado. Algunos chips requieren que el hardware externo realice la temporización de borrado, otros realizan la temporización interna y establecen un bit de estado cuando se completa el borrado. En ese caso, un conductor tendría que esperar el máximo tiempo posible de borrado, o sondear el bit para asegurarse de que se haya completado el borrado antes de continuar con otras operaciones.

Al igual que con cualquier especificación, violarlo significa que ya no se puede confiar en ninguno de los otros parámetros. Si este chip se auto-borra y establece un bit cuando se completa y el controlador existente sondea este bit para determinar la finalización del borrado, no se requerirá ninguna modificación al controlador.

En cualquier caso, pensar que puedes "pasar" violando una especificación solo porque no está muy bien es una práctica muy mala y deberías avergonzarte de ti mismo incluso por considerarlo.

    
respondido por el Olin Lathrop
1

No ha mencionado ningún número de pieza, pero los fabricantes de chips flash han cambiado con el tiempo varios pequeños detalles sobre cómo funcionan sus chips. Es posible que su controlador tenga un código que use la ID del dispositivo algo como "Si ID = esto, use un método nuevo, de lo contrario use el método". Si el chip anterior requería "método nuevo", y el chip nuevo tiene una ID diferente pero también requiere "método nuevo", el código no funcionará porque intentará usar el "método antiguo". También es posible que su código se base en algunos detalles de cómo informa el dispositivo cuando está listo. En algunos dispositivos antiguos, si uno registraba los datos y se detenía cuando el dispositivo informaba que estaba "listo", el valor informado cambiaría de forma asíncrona cuando el dispositivo terminara la operación en curso. En los dispositivos más nuevos, si uno lee el estado y el dispositivo informa que "no está listo", continuará haciéndolo a menos que o hasta que se bloquee otro byte de estado.

    
respondido por el supercat

Lea otras preguntas en las etiquetas