¿Qué componente utilizar para unos pocos GBytes de memoria disponibles durante varios años?

Estoy trabajando en un proyecto que se supone que se construirá en pequeñas cantidades (menos de 50 unidades/año), pero probablemente se venderá por 10 o 15 años. Estoy en la etapa en la que miro la memoria no volátil y planeamos usar algo así como 16-32 GB.

En el pasado, usábamos tarjetas SD, pero enfrentamos algunos problemas de confiabilidad con el soporte, ya que la tarjeta SD a veces se salía del zócalo. También descubrimos que es probable que una tarjeta en particular se vuelva obsoleta después de algunos años, por lo que siempre debemos verificar que las piezas alternativas funcionen de la misma manera.

Eché un vistazo a las siguientes tecnologías y encontré algunos inconvenientes:

  • Tarjeta SD: necesidad de una pieza mecánica para sujetarla, obsoleta al cabo de unos años
  • Flash ICs: complejo de interconectar
  • eMMC: difícil de obtener
  • EEPROM: pequeña capacidad (<100 MB)

¿Me he perdido algo? ¿Hay alguna otra solución confiable para reemplazar una tarjeta SD en un diseño?

Editar : la aplicación escribiría datos continuamente (unos pocos kB por segundo), pero durante varias horas o, a veces, días. El tiempo de retención no es gran cosa, siempre que sea razonable.

Debe informarnos sobre la frecuencia de escrituras en su aplicación. Dependiendo del tipo de memoria no volátil (NOR flash/NAND flash/EEPROM/...) obtendrá diferentes resistencias. Se debe considerar tanto el número de escrituras como el tiempo de retención de datos. Y algún tipo de memorias pueden ser inapropiadas para su aplicación.
@dim La aplicación escribiría datos continuamente (unos pocos kB por segundo), pero durante varias horas o, a veces, días. El tiempo de retención no es gran cosa, siempre que sea razonable.
Si puede admitir un puerto host USB, una memoria USB podría ser una alternativa.
Puede solucionar el problema de las piezas obsoletas comprando un lote de 1000 y tener suficiente para los próximos 20 años. La vida útil debe estar bien cuando se almacena correctamente.
Esta pregunta se siente casi como una pregunta de compras, pero no del todo. Si desea utilizar el mismo número de pieza durante más de 10 años, debe estar en comunicación con el proveedor y/o (estar preparado para) comprar todos los componentes necesarios en el futuro durante la vida útil, comprar antes de la obsolescencia. Si quiere alejarse de SD (que es lo que pide, pero no su título), ¿cuáles son sus limitaciones?
@Arsenal y usuario 2943160 Por el momento, estamos comprando lotes grandes para tener suficiente para algunos años. Pero como no sabe de antemano cuántos necesitará en 10 años, a veces tiene que comprar un nuevo lote después de algunos años. Y aquí es donde empiezan las dificultades...

Respuestas (2)

En mis proyectos utilizo una tarjeta Compact SD soldada directamente a los pads de la placa. Esto significa que no hay que lidiar con la falta de confiabilidad del socket. La interfaz es estándar, y parece que lo será durante muchos años, por lo que aunque las tarjetas individuales van y vienen, se puede sustituir por cualquier tarjeta básica de tamaño suficiente (siempre que codifique según la especificación común y no intente sea ​​inteligente y emplee algún truco mágico de un proveedor en particular).

El único inconveniente de una conexión soldada permanente a la tarjeta es que no puede cambiarla por desarrollo de software, la placa necesitará una conexión para inicialización y depuración, JTAG, Ethernet, wifi y USB son los candidatos obvios aquí. La mayoría de los diseños necesitarán al menos uno de ellos de todos modos para su funcionamiento normal. Si no, SPI o I2C son alternativas ligeras.

Interesante: ¿las tarjetas sobreviven felizmente a la soldadura por reflujo?
@ pjc50 aparentemente ,
Es una idea interesante, gracias. No estoy seguro de entender la segunda parte: ¿cuándo usarías la conexión separada en lugar de usar la normal?
Si hay uno regular, úsalo. Si no lo hay, ponte al menos uno. No sé de dónde vino 'separado', simplemente se coló, lo saqué.
Su espacio permite poner un zócalo en paralelo con la tarjeta soldada. Para desarrollo, no suelde una tarjeta y use el zócalo, para producción, suelde la tarjeta y no ajuste el zócalo. Dado que el zócalo es, por definición, más grande que la tarjeta, es posible que incluso pueda colocar los dos uno encima del otro.

Yo mismo compraría una memoria USB, si tuviera o pudiera tener USB disponible en mi hardware. Será un estándar duradero. También es reemplazable en campo (o puede serlo, si su dispositivo puede formatear un disco, o si el formato de disco que usa también es un estándar de larga duración). También facilita que un usuario final haga una copia de seguridad y restaure su firmware y acceda a los datos adquiridos que almacene en la memoria USB.

Por supuesto, puede que no sea una opción si el microcontrolador de su proyecto no tiene USB y si el costo de cambiar a algo con USB es demasiado alto. Pero para un volumen tan pequeño, ¿no terminará ahorrando una gran cantidad de costos de programación si se ejecuta en un Rasberry Pi con Linux para hacer toda la configuración y la carga del programa, dejándolo solo con la aplicación específica del proyecto para codificar y ¿mantener? También me arriesgaría a que los RPi permanezcan disponibles durante los próximos 10 a 15 años, y sin duda recibirá una advertencia anticipada si planean descontinuar algún modelo.

Gracias por tu idea. Pero tuvimos problemas con la parte mecánica de la tarjeta SD, creo que un pendrive USB sería aún peor.
Mirando un mouse y una toma USB, podría usar un par de gotas de pegamento solvente para asegurarme de que no se afloje y conserve la posibilidad de soltarlo. Goo de silicona en todas partes podría hacer un mejor sello ambiental. Estoy bastante seguro de que un par de gotas de superpegamento se asegurarían de que nunca volviera a salir, sin causar ningún problema eléctrico. En general, los conectores USB no se caen, aunque no tengo experiencia con ellos en entornos de alta vibración.