Exponer SDRAM como un dispositivo de almacenamiento masivo USB 3

Desafío: construir un dispositivo que pueda albergar una o más SDRAM (por ejemplo, DDR2, DDR3) y exponerlas como un dispositivo de almacenamiento masivo USB 3 (esclavo).

Objetivo: permitir que un host USB 3 monte el dispositivo y permitir velocidades de transferencia cercanas a los 5 Gbit.

Intento 1 : use una PC para construir el dispositivo; falle; la PC no viene con el hardware necesario para usar USB en modo esclavo.

Intento 2 : utilice un microcontrolador, como PIC o ARM. SAM9 tiene soporte para DDR2, pero carece de soporte para USB 3. ¿Quizás hay otros microcontroladores que serían adecuados?

¿Qué otras configuraciones se te ocurren que podrían ayudar a resolver el desafío?

Nota: Ignore el hecho de que SDRAM es volátil y algo inadecuado para el almacenamiento. Además, soy consciente de la existencia de i-RAM o HyperDrive, que básicamente hace lo mismo pero conectado a través de PCI.

¿No se llama esto una memoria USB?
No, una memoria USB utiliza memorias flash que son muy lentas (~20 MB/s). DDR SDRAM puede alcanzar más de 30 gigabytes/s. Así que son más de mil veces más rápidos :-)
¿Has considerado algo como esto: edn.com/article/…
No te acercarás a la transferencia de 5 Gbit con un PIC. Esto me parece territorio FPGA.
No pretendo secuestrar este hilo, pero ¿alguien fabrica controladores periféricos Thunderbolt/Lightpeak todavía? Para toda la velocidad, esta interfaz podría ayudar a reducir el cuello de botella en USB 3.0, ya que aquí estamos hablando de RAM.
¿Alguien tiene una idea de cómo una PC podría exponerse como un esclavo USB? ¿Quizás usando un puerto PCI? ¡Eso podría ser una solución viable!
suena como una idea interesante, especialmente si tienes un poco de carnero de repuesto por ahí como un pequeño sodimm :)
@JonL Me he registrado con la gente de Thunderbolt, pero aún no están en el punto en el que están permitiendo que los simples mortales obtengan una especificación, y mucho menos el hardware. :-(
Escuché que Firewire podría ser más adecuado, ya que es más fácil obtener una interfaz PC Firewire para operar como esclavo.
reutilizar el puente norte + los rastros de una placa base antigua podría ser una alternativa, pero probablemente sean difíciles de interconectar...

Respuestas (1)

Ok, puedo ignorar la cordura de este proyecto. Es una locura, por cierto, con poco o ningún valor práctico más allá de "hacerlo", pero eso nunca me detuvo antes y no debería detenerlo a usted.

En mi opinión, necesitas varias cosas: una CPU, una FPGA, algo de SDRAM y una interfaz USB. Cypress fabrica el EX USB FX3 que hace 2 de las 4 cosas. Tiene una CPU ARM 9 y una interfaz USB 3.0. Lo que no tiene es una interfaz SDRAM, razón por la cual desea un FPGA. El FPGA hace tanto la interfaz SDRAM como la interfaz de datos de alta velocidad para la lógica USB3.

¡ Lo que absolutamente NO desea es que la CPU haga la mayor parte de la transferencia de datos! Un ARM 9 de 100 MHz no podrá manejar ese tipo de rendimiento de datos. De hecho, casi cualquier CPU de 2 GHz tampoco podrá manejar esa cantidad de datos. El ARM9 solo está ahí para la limpieza, mientras que el FPGA hace el trabajo pesado.

El FPGA ideal para este proyecto es un Xilinx Spartan-6. Relativamente económico, fácil de programar y tiene núcleos duros integrados para la interfaz DDR2 SDRAM.

¿Ningún uso práctico? ¿Qué tal una unidad de memoria virtual para algo como Photoshop cuando trabaja con imágenes de gran tamaño? ¿O como una unidad de intercambio increíblemente rápida para Linux? ¡Quiero uno de éstos!
@Majenko <Facepalm> Oh, por dónde empezar. La mejor opción para una unidad de memoria virtual rápida sería instalar más SDRAM en su PC y ejecutar algún software para un disco RAM. Esa es la opción más barata y rápida. Usar RAM-Disk (USB o de otro tipo) como unidad de intercambio es simplemente una tontería. ¡Agregue esa misma RAM a la memoria principal de su PC para que no tenga que intercambiar nada!
@Majenko O tal vez sufrí la Ley de Poe ... en.wikipedia.org/wiki/Poe's_law
¿Y si estás en tu límite? Y no tiene opción para reemplazar el mobo (¿como una computadora portátil?)
@Majenko En ese caso, debe preguntarse: ¿debería gastar dinero para hacer que el espacio de intercambio / raspado sea más rápido, o sería mejor gastar mi dinero en actualizar toda la computadora? Un disco RAM USB 3.0 rápido acelerará Photoshop, pero una computadora nueva acelerará todo. Tenga en cuenta que hoy en día no existe un disco RAM USB3 y su construcción costará mucho más de 2000 dólares (piezas + mano de obra + lo que sea). Este sería un problema muy diferente si costara $ 100, pero nunca será tan barato.
Sí, pero una computadora nueva no tiene el factor geek que tendría un disco ram externo súper rápido. Y el factor geek es importante en algo como esto.
@DavidKessner ¡Gracias por la respuesta! Es posible que deba tomar algunos cursos para adquirir los conocimientos suficientes para este tipo de solución. En cuanto al valor, es principalmente el de la curiosidad y el aspecto creativo de seguir ideas locas. Sin embargo, también tengo algunas áreas prácticas en mente. Uno podría, por ejemplo, ejecutar un sistema operativo iniciado desde USB como Ubuntu Live. Esto debería hacer que el sistema sea extremadamente rápido. Otra área de interés es hacer un puente súper rápido entre mi Media Center y la PC :-)
@Mika: el arranque desde un CD en vivo ya almacena en caché y almacena en búfer la información en la RAM. O, nuevamente, copie el CD a un disco RAM en la PC y ejecútelo desde allí. De esa manera, su CPU evitará la sobrecarga de traducir todo a USB 3 (una sobrecarga que hasta ahora ha ignorado) y accederá directamente a la memoria (que ya se ha señalado que es mucho más rápida). USB 3 tiene tres pares diferenciales sobre los que puede impulsar 5 gigabits/s, y requiere una sobrecarga de protocolo. Una memoria DDR3 tiene 64 pines de datos más pines de direccionamiento y puede alcanzar 17 gigabytes/s o 136 gigabits/s (¡27 veces más rápido!)
@Majenko: el rendimiento siempre supera al factor geek en mi opinión. Además, tener cantidades absurdas de RAM en su computadora portátil o PC conlleva mucha credibilidad geek.