TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: IngRandall en 18 de Abril de 2017, 13:46:38

Título: Daño en memoria flash
Publicado por: IngRandall en 18 de Abril de 2017, 13:46:38
Hola amigos del foro, tengo una memoria flash SST25VF064C, mi equipo esta escribiendo datos periódicamente en ella, pero estoy teniendo problemas de que algunos datos salen corruptos, se daña un byte o varios byte aleatorios en los sectores, un byte se puede corromper y quedar ya dañado en la memoria o esta se va dañando por sectores.

Gracias por su ayuda.
Título: Re:Daño en memoria flash
Publicado por: KILLERJC en 18 de Abril de 2017, 15:00:36
Citar
mi equipo esta escribiendo datos periódicamente en ella,

¿Y ya cumplio su vida util ?, las Flash poseen muy pocos ciclos de escritura/lectura.

Que vida aproximada tenias calculado?, cada cuanto esta grabando un sector determinado?
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 18 de Abril de 2017, 15:32:08
La verdad no había pensado en el tiempo de vida útil, yo estoy escribiendo cada minuto y tengo ya como 2 meses así, en el datasheet dice esto: "Endurance: 100,000 Cycles (typical)".
Título: Re:Daño en memoria flash
Publicado por: planeta9999 en 18 de Abril de 2017, 15:44:50
.

Con esa frecuencia de borrado es normal que ya te esté fallando, la memoria flash no está pensada para eso. Para esas tareas usa una eprom, que también las tienes con acceso por SPI.

Título: Re:Daño en memoria flash
Publicado por: manwenwe en 18 de Abril de 2017, 16:24:29
100K ciclos es bastante optimista: ¿tienes ECC?
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 18 de Abril de 2017, 16:28:47
100K ciclos es bastante optimista: ¿tienes ECC?

Segun lo que dice el datasheet  :D

No tengo ECC.
Título: Re:Daño en memoria flash
Publicado por: manwenwe en 18 de Abril de 2017, 16:31:28
Entonces quítale un cero, suerte que te quede alguna celda viva  :D :D :D
Título: Re:Daño en memoria flash
Publicado por: Picuino en 18 de Abril de 2017, 16:43:51
A ver a ver. Que la calculadora sirve para algo.

2 meses = 60 días = 1440 horas = 86400 minutos = 86400 escrituras.
Ya llevas más de 2 meses y solo aguanta 100000 escrituras.
Pues eso.

Método de los SSD: escribe cada día en un sector diferente hasta que llenes toda la memoria y al final vuelves a comenzar desde el inicio.

Si tienes 1Mbyte de datos y la memoria tiene 100Mbytes, puedes hacer durar a la flash 100 veces más (17 años)

Un saludo.
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 18 de Abril de 2017, 16:54:58
Método de los SSD: escribe cada día en un sector diferente hasta que llenes toda la memoria y al final vuelves a comenzar desde el inicio.

Si tienes 1Mbyte de datos y la memoria tiene 100Mbytes, puedes hacer durar a la flash 100 veces más (17 años)

En esta parte no entiendo algo, cada escritura es un ciclo, eso es lo que me imagino, pero si escribo en sectores distintos, igual seria un ciclo gastado, así que no aumentaría el tiempo de vida, a menos de que lo de los ciclos sea por sector.
Título: Re:Daño en memoria flash
Publicado por: manwenwe en 18 de Abril de 2017, 17:01:21
IngRandall: 100K ciclos por sector. Por eso mismo o "revientas" un sector y pasas al siguiente o vas "dando vueltas" como comenta Picuino.
Título: Re:Daño en memoria flash
Publicado por: Picuino en 18 de Abril de 2017, 17:03:42
Los ciclos van por sector (lee el datasheet para saber más).
Lo mejor es que almacenes en RAM y escribas todo un sector a la vez cada menos tiempo.
Con una pequeña batería o un supercapacitor puedes mantener alimentación hasta escribir los últimos datos en flash.
Alterna los sectores para que todos se escriban y repartes así el desgaste.
Un saludo.
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 18 de Abril de 2017, 17:32:21
La verdad, he leído el datasheet, y no he visto eso que me dice que es por sector o no lo he entendido,

http://ww1.microchip.com/downloads/en/DeviceDoc/25036B.pdf

Lo otro que no entiendo es que se habla en el datasheet que uno borra sectores de 4kb, 32kb o 64kb, pero para escribir, se hace de 256 en 256, yo pensé que se escribía en los mismo sectores de 4kb.
Título: Re:Daño en memoria flash
Publicado por: KILLERJC en 18 de Abril de 2017, 17:47:37
Citar
Lo mejor es que almacenes en RAM y escribas todo un sector a la vez cada menos tiempo.

Por que?

Lo mejor para mi es que cree una especie de buffer circular con los datos, pero no veo sentido grabar toda el bloque a la ves. Pienso que es lo mismo grabar 10 bytes seguidos versus 1 byte cada 1 segundo por 10 segundos. Aunque algunas flash especifican la cantidad de veces de escritura a respetar, pero que su datasheet no dice nada. Casi siempre excede la cantidad maxima de escritura, es decir si el sector posee 256 bytes y programa de a bytes deberia superar esto. Podria tener una mayor consideracion grabando de a 2 numeros por si las dudas. Por ejemplo este micro:

http://infocenter.nordicsemi.com/pdf/nRF52832_PS_v1.0.pdf

En la Flash dice:

nWRITE,BLOCK :  Amount of writes allowed in a block between erase - 181
Y para grabar un bloque necesita 128 escrituras ( porque los bloques son de 512 bytes y debe grabar de a 4 bytes )

Lo que si gasta la flash es el ciclo de borrado, eso lo tengo seguro. Y lo anterior en caso de que no se tenga en cuenta.

---------

De todas formas pienso igual que todos, una Flash no deberia ser considerada para esta operacion. Usualmente son de 10k ciclos minimos como dice manwewe. Por ahi pense en decir una NVRAM pero luego vi lo que costaban y me quede llorando en una esquina.

Citar
La verdad, he leído el datasheet, y no he visto eso que me dice que es por sector o no lo he entendido,

En realidad tenes que pensar que cada lugar tiene 10k ciclos de borrado/escritura ( el combo de borrado y luego de esctitura), como tenes que borrarlo para escribirlo y no creo que escribas 2 veces sobre el mismo valor, se podria decir que por cada byte tenes 1 ciclo para cambiarlo (que el influyente es el borrado), pero como borras por "sector", estas borrando todo el sector completo (bytes que tal ves no usas), por ende cuando borras consumis un ciclo para todo el sector a pesar que no le escribas nada.

Citar
Lo otro que no entiendo es que se habla en el datasheet que uno borra sectores de 4kb, 32kb o 64kb, pero para escribir, se hace de 256 en 256, yo pensé que se escribía en los mismo sectores de 4kb.

Eso depende de la construccion interna de la Flash, al menos por lo que parece, solo hicieron para un maximo de 256 bytes la instruccion, pero podes escribir 1 byte a 256bytes si queres. Un pequeño resumen antes de seguir: Es para economizar en el circuito de control.
Me explico un poco mas ahora, si ellos querian podrian haber creado un "registro" para incrementar internamente mas grande y asi poder grabar mas bytes con una sola instruccion, pero decidieron hacerlo de 8 bits maximo, Vos le das la direccion inicial y a grabar. Como el circuito de incremento interno solo maneja 8bits lo que pasa es que si das una direccion de memoria que no sea 0 los 8bits de menor peso y luego tratas de escribir por demas, lo unico que logras es un wrap a la "pagina" ( a los limites dados por esos 8bits).

Suponete la direccion:

1101 1111 0000 0000 1111 1111

Donde no pusimos A7-A0 en 0, el circuito interno solo puede incrementar de 1 pero solo los ultimos 8 bits,  los demas A24-A8 son "fijos" desde que se los diste con esa instruccion.
El primer dato se graba en esa direccion, si queres grabar un byte no hay problema, al incrementar no incrementa todo la direccion ( para disminuir el circuito interno de suma y limitarlo a 8bits y no 24 por ejemplo), sino que incrementa los ultimos 8, asi que el proximo dato es en:

1101 1111 0000 0000 0000 0000
Título: Re:Daño en memoria flash
Publicado por: Picuino en 18 de Abril de 2017, 17:58:48
Table 14: Reliability Characteristics
Parameter Minimum Specification Units Test Method
Endurance 10,000 Cycles    JEDEC Standard A117

Page-Program
– 256 Bytes per page

Flexible Erase Capability
– Uniform 4 KByte sectors

Este es el tamaño mínimo de página que se va a ver afectado por un borrado antes de volver a escribir.

Un saludo.
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 19 de Abril de 2017, 10:05:06
Después de mirar varias opciones, creo que cambiare la memoria por esta:

https://www.digikey.com/product-detail/en/toshiba-semiconductor-and-storage/TC58BVG0S3HTAI0/TC58BVG0S3HTAI0-ND/5226304

Una EEPROM de 1Gbit, necesito en realidad 3MBytes, y lo mas cercano a esto es esta memoria, también mire las SRAM pero era mucho mas cara y si la apago se pierde todo, así que creo que la mejor opción es esta.

Lo que no he visto es el numero de veces que puedo escribir en ella.
Título: Re:Daño en memoria flash
Publicado por: Picuino en 19 de Abril de 2017, 11:16:31
¿Cuántos datos debes retener a la vez?
Título: Re:Daño en memoria flash
Publicado por: Picuino en 19 de Abril de 2017, 11:19:06
Pon varias de estas. Cuestan la décima parte y soportan 100000 ciclos:
https://www.digikey.com/product-detail/en/adesto-technologies/RM24C512C-LSNI-T/1265-1215-2-ND/5972798

Para ver duración busca la palabra mágica:  'Endurance'
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 19 de Abril de 2017, 12:13:31
1. 'Endurance' no aparece en el datasheet  :(
2. No puedo colocar varias de esas memorias por espacio y ademas serian muchas para poder guardar toda la información que necesito.
3. Es historia lo que tengo que guardar y son diferentes historias, por eso la gran cantidad de datos y casi que al tiempo.
Título: Re:Daño en memoria flash
Publicado por: Picuino en 19 de Abril de 2017, 12:48:15
1. Endurance si que viene, varias veces: http://www.adestotech.com/wp-content/uploads/DS-RM24C512C_082.pdf

2. Las memorias que he puesto tienen un encapsulado pequeño SOIC8 (5.8x4.8mm) mucho menor que la memoria que has puesto tu (20x12mm)

3. Te preguntaba la cantidad de datos (con cifra) para sobredimensionar la memoria (x10) y así que puedas rotar los datos y que la memoria dure más.
Otra cosa es que algunos datos se escribirán muchas veces y otros pocas veces. Hay que mover más los datos que más se escriban.
Creo que la idea general se entiende.

Un saludo.
Título: Re:Daño en memoria flash
Publicado por: Picuino en 19 de Abril de 2017, 12:52:44
2. Las memorias que he puesto tienen un encapsulado pequeño SOIC8 (5.8x4.8mm) mucho menor que la memoria que has puesto tu (20x12mm)

No me he dado cuenta de que su capacidad es de solo 512kbit. Lo he confundido con 512Mbit.
Esta memoria no te vale.
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 19 de Abril de 2017, 12:57:15
1. No aparece en el datasheet de la memoria eeprom que pienso usar: https://toshiba.semicon-storage.com/info/docget.jsp?did=14878&prodName=TC58BVG0S3HTAI0

2. Memoria muy pequeña  :(.

3. Esa idea si es buena, aunque algunas historias ocupan mas de 2 sectores de 4K.
Título: Re:Daño en memoria flash
Publicado por: Picuino en 19 de Abril de 2017, 13:03:15
A ver que tal esta de 2Gbit :
https://www.digikey.com/product-detail/en/winbond-electronics/W25M02GVZEIG-TR/W25M02GVZEIG-TR-ND/5803925

Es de tipo SLC, que resiste más que otros tipos. Es de mejor calidad y más cara:
https://en.wikipedia.org/wiki/Multi-level_cell

El problema es que tendrás que comprarlo en otro sitio porque digikey solo te permite comprar en lotes de 5000.

Un saludo.
Título: Re:Daño en memoria flash
Publicado por: Picuino en 19 de Abril de 2017, 13:05:57
1. No aparece en el datasheet de la memoria eeprom que pienso usar: https://toshiba.semicon-storage.com/info/docget.jsp?did=14878&prodName=TC58BVG0S3HTAI0
Puedes buscarlo en otro datasheet y si no aparece, no te fíes.
Título: Re:Daño en memoria flash
Publicado por: KILLERJC en 19 de Abril de 2017, 15:58:59
1. No aparece en el datasheet de la memoria eeprom que pienso usar: https://toshiba.semicon-storage.com/info/docget.jsp?did=14878&prodName=TC58BVG0S3HTAI0

Es una Flash eso..es EEPROM en el sentido de que uno puede borrarlo de forma electrica, pero es un Flash en si.
Nosotros nos referimos a una EEPROM como aquella que podemos borrar byte a byte, que ademas de eso y la cantidad de ciclos es lo que lo diferencia de las Flash. Claramente ese datasheet es una Flash, incluso si buscas Flash aparece esto:

Citar
ECC can be performed on the NAND Flash main and spare areas

Refiriendose a la memoria como una Flash ...

Una EEPROM no posee tanta capacidad como la que mostras, 1 Gb es una absurdidad. Por supuesto, podes usar esta flash y como es tan GRANDE podrias tranquilamente modificar pagina a pagina que no te importaria. Y duraria mas...

Pero eso no es todo, Hay mas !!!

Como borche de oro, La flash puede venir con bloques fallados!, el datasheet especifica que el numero de bloques sanos es desde los 1004 a los 1024. Eso hace que necesites saber que bloques estan malos y crear una tabla para discriminarlos apenas los recibis o planificar de antemano que hay bloques que fallan.
Tambien deberias tener una tabla para aquellos sectores que te presenten errores, es cierto que tiene una correcion de errores de hasta 8 bits en bloques de 512 bytes, y deteccion de error para un 9no bit.

------------------------------------

Lo mas grande como EEPROM que vi es de 1M.

http://www.onsemi.com/pub/Collateral/CAT24M01-D.PDF
https://www.digikey.com/product-detail/en/on-semiconductor/CAT24M01WI-GT3/CAT24M01WI-GT3OSCT-ND/2698362

Como te dijo Picuino la idea es que pongas varios en el bus I2C, Podes poner un maximo de 4. Lo unico que cambiarias son los valores de los pines para cambiar su direccion.
Lo que si no podes sobredimensionar demasiado.

Si tu problema es el tamaño poseen en encapsulados UDFN8 que son de 3mmx2mm, o TSSOP8 4.4mmx3mm
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 19 de Abril de 2017, 17:34:32
Bueno, por lo que veo estoy en un problema jajajajaja... necesito guardar información, 3MBytes, en que memoria la podría guardar.

Por que la que muestras es de 1Mbit, es muy poco espacio.
Título: Re:Daño en memoria flash
Publicado por: KILLERJC en 19 de Abril de 2017, 18:10:51
Todo depende de la cantidad de vida util que esperas tener de tu almacenamiento. De ahi podemos salir para un lado u otro.

Ya sabemos que el ratio de escritura va a ser 1 escritura por minuto, no sabemos que cantidad debe cambiar ni cuanto queres que dure el producto.

Suponiendo que cambies al ratio que tenias, si tuvieras 3 de esas EEPROM de 1M te durarian 20 meses aproximadamente ( 2 meses = 100k escrituras aprox ).
Aun asi no te sirve?

Buscas una Flash mas grande que pueda contener todo y poder ir rotandolo asi dura mas. ¿ Tal ves una SD manejado con SPI en el peor de los casos?

Y finalmente si no queres depender mas de eso buscas otra cosa. Que puedas grabar siempre y que quede, lo unico que se que puede hacerlo es un HDD.

Y si aun asi no te sirve, buscaria la forma de hacerlo distinto a lo que estas haciendo.
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 20 de Abril de 2017, 09:38:44
Creo que mi opción sera, una eeprom donde pueda guardar mi configuración, y una flash de bastante capacidad para poder guardar historia con una vida útil bastante larga, espero superar los 5 años.
Título: Re:Daño en memoria flash
Publicado por: colotron en 20 de Abril de 2017, 16:14:11
Unas preguntas que pueden servir para dimensionar mejor el tema de la memoria:
1) cuánta memoria precisas por día (o la unidad de tiempo que te parezca) -> bytes/dia o bytes/minuto o lo que tengas a mano
2) es crítico el consumo de energía? (es a pilas/baterías?)
3) mencionas el tema del espacio, es muy reducido el espacio en placa?

Si es mucha cantidad de datos (habría que ver cuanto es "mucho"), consideraste usar una memoria microSD en crudo (sin sistema de archivos, escribiendo y leyendo pagínas/bloques/sectores).

Para las FRAM parece que es mucha cantidad de datos.

Como está estructurado el software?, doy por descontado que se escribe de a páginas enteras y no de a 1/2/4/8 bytes, hago bien?.

Como se realiza el borrado? (el borrado se hace por sector, pero que no vaya a ser que se lee todo un sector, se borra, y se vuelve a escrbir todo un sector menos una página que sería la borrada).

También que no se escriba siempre al mismo lugar de la memoria (a la misma página) sino que se utilice como un buffer circular gigante.

Me llama la atención que la memoria se llena tan rápido y se consuman tantos ciclos de escritura en tan poco tiempo.
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 20 de Abril de 2017, 16:36:45
Como se realiza el borrado? (el borrado se hace por sector, pero que no vaya a ser que se lee todo un sector, se borra, y se vuelve a escrbir todo un sector menos una página que sería la borrada).

Hola, algo que me deja con mucha duda de tu comentario es esta parte, eso es como yo hago, leo un sector, borro el sector y escribo el sector... como debería hacerlo?

1. Después de hacer ajustes, hemos llegado a escribir cada 10 min.
2. Si es critico el consumo, por que el equipo debe ser lo mas bajo consumo posible, actualmente cuando esta en sleep consume entre 4 a 8uA.
3. Pues reducido mas o menos, si no que por ejemplo creo que hasta 3 memorias seria viable, ademas de espacio el costo del equipo aumentaría, actualmente, con los cambios que hemos hecho, utilizaría 2 memorias eeprom de 256Kbytes cada una para almacenar todo, voy a hacer pruebas y comentare.
Título: Re:Daño en memoria flash
Publicado por: colotron en 20 de Abril de 2017, 18:36:09
Como se realiza el borrado? (el borrado se hace por sector, pero que no vaya a ser que se lee todo un sector, se borra, y se vuelve a escrbir todo un sector menos una página que sería la borrada).

Hola, algo que me deja con mucha duda de tu comentario es esta parte, eso es como yo hago, leo un sector, borro el sector y escribo el sector... como debería hacerlo?

Ah bien... pasa que he visto alguna librería por internet hecha con muy buena voluntad por algún arduino-fan y .... tenía una función borrado+escritura de página que volcaba todo un sector a memoria del micro, lo borraba en la flash externa, y volvía a escribir la misma información pero solo modificaba la página nueva a escribir.

Ya veo que no hace falta esperar ese tipo de cosas :)

1. Después de hacer ajustes, hemos llegado a escribir cada 10 min.

Ok, pero y volumen de datos?, supongo que lo que en realidad importa es el porcentaje de memoria escrita en un período de tiempo (caudal de datos digamos).
Ejemplo: si escribo un 1% de la memoria cada 10 minutos, estoy escribiendo toda la memoria cada 100x10 = 1000 minutos ~ 16.5 horas/ciclo completo
Supongamos que tenemos 10 000 ciclos buenos de escritura antes de dañar la flash, eso sería:
10 000 ciclos* 16.5 horas/ciclo = 166 Khoras = 6944 días = 19 años
Pero si escribo un 10% de la memoria cada 10 minutos, bueno, la décima parte, 1.9 años

Yo usaría esa cuenta barata de servilleta para decir groso modo que capacidad de memoria preciso de acuerdo al caudal de datos logeado, o al revés, de acuerdo a la duración deseada del equipo que capacidad de memoria preciso.

2. Si es critico el consumo, por que el equipo debe ser lo mas bajo consumo posible, actualmente cuando esta en sleep consume entre 4 a 8uA.

Entonces eso podría dejar de lado la opción de usar una tarjeta SD, que podría consumir 10 veces más que un chip de flash.

3. Pues reducido mas o menos, si no que por ejemplo creo que hasta 3 memorias seria viable, ademas de espacio el costo del equipo aumentaría, actualmente, con los cambios que hemos hecho, utilizaría 2 memorias eeprom de 256Kbytes cada una para almacenar todo, voy a hacer pruebas y comentare.

4Mbit... y se complica mucho conseguir memoria flash de ~10Mbits?
Estás limitado a mercado local o podés pedir algo a Digikey o Mouser por ejemplo?, una búsqueda rápida:
https://www.digikey.com/products/en/integrated-circuits-ics/memory/774?k=&pkeyword=&pv154=45&pv154=29&pv154=995&pv154=997&pv154=996&pv16=6548&pv16=7409&pv16=6689&pv16=2850&pv16=4328&pv16=11667&pv16=11958&pv16=6793&pv16=6768&pv16=11668&pv16=12133&FV=f040005%2Cffe00306%2C2380076%2C23805db%2C23805dc%2C23805dd%2C23805de%2C23805df%2C23805e0%2C23805e2%2C23805e3%2C238063c%2C238063d%2C238063e%2C238063f%2C2380640%2C2380641%2C2380642%2C2380643%2C2380644%2C2380645%2C238066b%2C238066c%2C238066e%2C238066f%2C2380670%2C238068c%2C238068d%2C238068e%2C238068f%2C2380690%2C2380692%2C2380694%2C2380695%2C23806ac%2C23806ad%2C23806ae%2C23806b0%2C23806b1&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=25

Y si es local elemon algo puede tener:
http://elemon.com.ar/BuscarSubRubros.aspx?Action=2&GrupoId=ME&RubroId=293&SubRubroId=1

Si precisas hacer pruebas hasta podrías usar una de alguna notebook en desguase (tambien son capsulas so-8, fáciles de trabajar).
Título: Re:Daño en memoria flash
Publicado por: Yoshua en 20 de Abril de 2017, 22:42:46
¿No se puede almacenar los datos en el pic por un tiempo para reducir el tiempo de escritura en la memoria externa?
Se me ocurre que podrías grabar los datos de una hora en una memoria y después pasarlo a una SD que la puedas encender y apagar para reducir el consumo. Seria como juntar agua en una cuchara, pasarla a un vaso y cuando este se llene, se vuelca a un balde.
Título: Re:Daño en memoria flash
Publicado por: manwenwe en 21 de Abril de 2017, 03:30:22
2. Si es critico el consumo, por que el equipo debe ser lo mas bajo consumo posible, actualmente cuando esta en sleep consume entre 4 a 8uA.

Pero el equipo está alimentado de por vida?¿
Título: Re:Daño en memoria flash
Publicado por: Picuino en 21 de Abril de 2017, 08:40:04
Otra solución es una SRAM alimentada por batería. Retiene datos durante 10 años, mientras dura la batería. También se le puede poner un supercapacitor y que dure varias semanas, hasta que se vuelva a cargar al tener alimentación.

O una SRAM no volátil
http://www.mouser.es/ProductDetail/Cypress-Semiconductor/CY14B064I-SFXI/?qs=sGAEpiMZZMvaNBfR%2fsmQG0TBwsvqGCPMDKA003J7ivc%3d

Un saludo.
Título: Re:Daño en memoria flash
Publicado por: manwenwe en 21 de Abril de 2017, 09:23:50
Otra solución es una SRAM alimentada por batería. Retiene datos durante 10 años, mientras dura la batería. También se le puede poner un supercapacitor y que dure varias semanas, hasta que se vuelva a cargar al tener alimentación.

O una SRAM no volátil
http://www.mouser.es/ProductDetail/Cypress-Semiconductor/CY14B064I-SFXI/?qs=sGAEpiMZZMvaNBfR%2fsmQG0TBwsvqGCPMDKA003J7ivc%3d

Un saludo.

Justo eso estaba pensando...
Título: Re:Daño en memoria flash
Publicado por: IngRandall en 21 de Abril de 2017, 09:35:59
El equipo esta alimentado por baterías, y nunca se debería apagar, deberá tener na vida útil de 20 años máximo.

La SRAM ya también la miramos pero nos fuimos por la EEPROM, por que tenia mas capacidad.

También decidimos escribir cada hora y no cada 1 min o 10 min como se tenia pensado antes.

Título: Re:Daño en memoria flash
Publicado por: Picuino en 21 de Abril de 2017, 10:17:28
La nvSRAM sirve como backup intermedio para almacenar un dia entero o una semana (tiene 64 kbytes que no es poco). Luego lo vuelcas a la flash.
La nvSRAM consume solo 8uA en sleep.

Ten en cuenta que un año tiene 8766 horas. En poco tiempo llegas al límite de la flash.

Un saludo.