Photonic memory fabric for system memory interconnection
One embodiment is a method that includes generating a request for a data item in a memory, obtaining the data item from the memory with a photonic interface, sending the data item to a fabric using a transmit unit of the photonic interface, and routing the data item through a portion of the fabric coupled to the memory, the portion of the fabric including one or more additional transmit and receive units between the photonic interface and a destination receive unit.
1 . A system-in-package, comprising:
a computing resource; and
an interface associated with the computing resource, the interface comprising:
a first transmit unit for sending data from the computing resource via a first optical link, wherein the first transmit unit comprises a driver connected to a modulator, and a serializer, the driver being disposed in a photonic-integrated circuit (PIC) and connected to the serializer, wherein the serializer provides an output to the driver;
a first receive unit for receiving data sent to the computing resource via a second optical link, wherein the first receive unit comprises a photodetector a deserializer;
at least one additional transmit unit for sending data from the computing resource via a first one or more additional optical links of a bidirectional channel and at least one additional receive unit for receiving data sent to the computing resource via a second one or more additional optical links of the bidirectional channel; and
a transmit bonding engine for splitting the data sent from the computing resource across the first optical link and the first one or more additional optical links and a receive bonding engine for assembling received data sent to the computing resource across the second optical link and the second one or more additional optical links.
2 . The system-in-package of claim 1 , wherein the first optical link comprises a first waveguide from the modulator to a second receive unit associated with a second computing resource.
3 . The system-in-package of claim 2 wherein the second optical link comprises a second waveguide from a second transmit unit associated with the second computing resource to the photodetector.
4 . The system-in-package of claim 3 , further comprising a third transmit unit for sending data from the computing resource via a third optical link wherein the first transmit unit comprises a second driver connected to a second modulator, and a second serializer,
wherein the third optical link comprises an optical pathway that uses an optical interface that guides light from a waveguide into a fiber.
5 . The system-in-package of claim 1 , wherein the computing resource is one or more of a memory element or a processing element.
6 . The system-in-package of claim 1 , wherein the serializer converts an electronic message received in a form of parallel data into a signal suitable for driving the modulator, and wherein the deserializer converts a received message back into parallel data.
7 . The system-in-package of claim 1 , wherein the modulator is selected from the group consisting of an electro-absorption modulator (EAM), a micro-ring resonator, a ring modulator, a Mach-Zender interferometer (MZI), and a quantum confined stark effect (QCSE) electro-absorptive modulator.
8 . The system-in-package of claim 1 , wherein the computing resource is one or more of a NAND Flash memory, a solid-state drive (SSD) memory, a NOR Flash memory, a CMOS memory, a thin film transistor-based memory, a phase change memory (PCM), a storage class memory (SCM), a magneto-resistive memory (MRAM), a resistive RAM, a DRAM, an HBM, a DDR-based DRAM, or a DIMM memory.
9 . The system-in-package of claim 1 , wherein the computing resource includes a combination of at least one memory element that provides access to memory traffic and a processing element that provides access to compute traffic.
10 . The system-in-package of claim 1 , wherein the first receive unit further comprises:
a gain control to normalize a signal level of a signal containing the data sent to the computing resource via the second optical link; and
a slicer to extract a bit-stream that is provided as an input to a de-serializer for converting the data sent to the computing resource into parallel data.
11 . A system-in-package, comprising:
a first computing resource;
a second computing resource; and
a fabric coupled to the first computing resource and the second computing resource, the fabric comprising:
a first interface associated with the first computing resource, the first interface comprising:
a first transmit unit for sending data from the first computing resource via a first optical link of a bidirectional channel, the first transmit unit comprising a first driver connected to a first modulator, the first driver and the first modulator being implemented in a photonic integrated circuit (PIC), and a first serializer in a first electronic integrated circuit (EIC), the first driver being connected to the first serializer, wherein the first serializer provides a first output to the first driver; and
a first receive unit for receiving data sent to the first computing resource via a second optical link of the bidirectional channel, the first receive unit comprising a photodetector in the PIC, and a first deserializer in the first EIC;
at least one additional transmit unit for sending data from the first computing resource via a first one or more additional first optical links of the bidirectional channel;
at least one additional first receive unit for receiving data sent to the first computing resource via a second one or more additional first optical links of the bidirectional channel;
a transmit bonding engine for splitting the data sent from the first computing resource across the first optical link and the first one or more additional optical links; and
a receive bonding engine for assembling received data sent to the first computing resource across the second optical link and the second one or more first additional optical links;
a second interface associated with the second computing resource, the second interface comprising:
a second transmit unit for sending data from the second computing resource via the second optical link of the bidirectional channel, the second transmit unit comprising a second driver connected to a second modulator, the second driver and the second modulator being implemented in the PIC, and a second serializer in a second EIC, the second driver being connected to the second serializer, wherein the second serializer provides a second output to the second driver; and
a second receive unit for receiving data sent to the second computing resource via the first optical link of the bidirectional channel, the second receive unit comprising a second photodetector in the PIC, and a second deserializer in the second EIC.
12 . The system-in-package of claim 11 , wherein each computing resource of the first computing resource and the second computing resource is one or more of a memory element or a processing element.
13 . The system-in-package of claim 11 , wherein each modulator of the first modulator and the second modulator is selected from the group consisting of an electro-absorption modulator (EAM), a micro-ring resonator, a ring modulator, a Mach-Zender interferometer (MZI), and a quantum confined stark effect (QCSE) electro-absorptive modulator.
14 . The system-in-package of claim 11 , wherein each computing resource of the first computing resource and the second computing resource is one or more of a NAND Flash memory, a solid-state drive (SSD) memory, a NOR Flash memory, a CMOS memory, a thin film transistor-based memory, a phase change memory (PCM), a storage class memory (SCM), a magneto-resistive memory (MRAM), a resistive RAM, a DRAM, an HBM, a DDR-based DRAM, or a DIMM memory.