Incrementar la vida de una EEPROM

q tal amigos

quería preguntarles cuál es la mejor manera de guardar datos en una EEPROM externa (en particular, la 24LC256):

En el datasheet dice que vienen garantizados 100 000 ciclos de escritura/borrado (aunque yo creo que puede durar más).

Siendo más explícito: quiero guardar cadenas de caracteres en la EEPROM, y luego borrarlos y guardar otros; pero no sé si me conviene (para que dure más la "vida" de la EEPROM) guardar desde la dirección que me quedé o si dá lo mismo volver a grabar desde la dirección 0x00.

Trataré de explicarme:

Supongamos que escribo en la direccion 0x00, luego en la 0x01, 0x02, 0x03, y así sucesivamente. Al llegar a la 0x50 quiero borrar los datos y escribir otros. Se gasta menos la EEPROM si escribo a partir de la dirección 0x51 en adelante (y cuando se llene grabo en las direcciones 0x00, 0x01 otra vez) o se gasta igual si escribo desde el principio otra vez (supongo que al escribir en la direccion 0x00 se sobreescribirá automáticamente lo que allí había).

Perdonen, no se como explicarme; espero que me puedan ayudar. Si no quedó claro porfa preguntenme.
 
Para tu aplicacion no te alcanzan los 100,000 ciclos de R/W de la EEPROM ?. Si es asi, lo mejor es emplear memorias convencionales RAM en cualquiera de sus presentaciones: Dinamica, DDR, ect. Salu2
 
Coincido con Tecnogirl.... el algoritmo que propones es muy valido pero tiene algunos defectos, ademas de ser mas complejo en cuanto a la programacion (por eso de estar verificando donde te quedaste y donde tienes que escribir ahora), tienes que almancenar en algun lugar la direccion donde te quedaste, y esa direccion va a ser escrita minimo unas 10 veces mas que el resto de la memoria, por lo que se va a terminar 10 veces mas rapido y una vez terminandose no vas a poder seguir usando la memoria

Lo que hacen los sistemas operativos es guardar un archivo "indice" donde especifican los sectores dañados de un disco (para nuestro ejemplo la memoria), escriben un dato y despues lo leen para verificar que este bien escrito, si el dato se corrompe de alguna manera escriben la direccion de esa localidad en el indice para evitarla en futuros accesos y continuan escribiendo adelante

Aun asi se me hace mucho para escribir una memoria con un micro, si necesitas mas ciclos entonces puedes usar una RAM y guardar los datos en EEPROM antes de apagar el sistema, o cambiar a otra marca o incluso tecnologia que permita el grabado de mas ciclos, como las NAND y NOR
 
gracias, pero tengo una pequeña dudita; son 100,000 ciclos de R/W por cada direccion de memoria o cada que accesas la eeprom cuenta como un ciclo?
 
No... yo creo que viste (o entendiste) mal el datasheet... deben ser 100,000 ciclos de escritura solamente, la EEPROM puedes leerla cuantas veces quieras sin que se degrade

Y si... son 100,000 ciclos de escritura por cada localidad de memoria.... peero... algunas eeprom cuentan con un borrado completo de la memoria o de algun sector, si ejecutas ese borrado seria un ciclo menos para todo el sector o la memoria (segun el caso)

Es decir, si la EEPROM esta completamente nueva y quieres guardar el dato YY en la localidad XX, pero ejecutas un borrado previo de un sector, entonces a todo el sector le quedarian 99,999 ciclos, y ahora procedes a grabar el dato, entonces tendrias que a esa localidad le quedarian 99,998 ciclos y al resto del sector 99,999 ciclos... no se si me explique....
 
una vez pablo (pablin) me conto que respecto de ese tema hizo un experimento , algo asi de hacer un progrmama que se la pasaba escribiendo en la EE .
cosa que luego de un tiempito se habia pasado el limite de escrituras ......y nada .

averiguando del asunto parece que vos podes escribir todo lo que se te cante , pero la EE hace efectiva la escritura de la ultima, escrbie o graba cuando la alimentacion esta cayendo .

o algo asi era.

es hacer una rutina de prueba.

no recuerdo cuanto tarda una escritura pero menso de 1 segundo -

100mil /60 = minutos

/60 = horas (28)

en 28 horas lograste 100 mil escrituras......
dejalo una semana y mira que pasa.
 
Eso no tiene muchas vueltas. 100000 escrituras corresponden a 54 escrituras diarias durante 5 años. De sobra para las aplicaciones donde se debe guardar una configuracion.

Ahora si vos la queres usar de RAM, entre la vida util y lo lentas, son la peor eleccion.
 
ahora ceo que recuerdo mas el tema:
si usan un diodo y un capacitor de filtrado como almacenamiento , sensan atras de el diodo si se cae la VCC .
¿me explico ?
cuando el pic ve que cae la VCC guarda, pero tiene tiempo extra por el C suplementario que esta luego de el diodo .

"creo" que esto es el proceso como hace el pic, por eso en algun lado menciona un C. de determinado valor minimo en las datas, para asegurar tiempo suficiente de escritura.

apenas rcuerdo el tema, si la vida me hace volver a los PIcs se refrescara todo........sino.cada vez mas a el sarcofago va.
 
oh! fernandob, no dejes que tus conocimientos de electrónica digital se pierdan!
Ami me a empezado a pasar y es muy frustrante! :(
Tengo ganas de ponerme a programar algo.

Saludos
 
Atrás
Arriba