![Page 1: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/1.jpg)
·1
Philippe Bonnet [email protected] IT University of Copenhagen Joint work with Matias Bjørling, Javier Gonzalez (CNEX Labs) Ivan Luiz Piccoli, Carla Villegas, Björn Jonssón (IT University of Copenhagen) Luc Bouganim (INRIA)
Open-ChannelSSDs
![Page 2: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/2.jpg)
CIDR2011
·2
L.Bouganim et al. CIDR 2011
![Page 3: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/3.jpg)
·3
FAST2017
![Page 4: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/4.jpg)
PredictableReads?
·4
M.Bjørling et al. FAST 2017
Open-Channel SSD: CNEX Labs Westlake SDK Concurrent 4K Reads I 64K Writes
Pe
rce
nti
le
0.95
0.96
0.97
0.98
0.99
1
Latency (ms)
0 0.5 1 1.5 2 2.5 3
100/0 R/W
80/20 R/W
66/33 R/W
50/50 R/W
100/0 R/W
80/20 R/W
66/33 R/W
50/50 R/W
NVMeOCSSD
![Page 5: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/5.jpg)
PredictableReads?
·5
M.Bjørling et al. FAST 2017
![Page 6: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/6.jpg)
AnClatency-binding
·6
Open-Channel SSD: DFC Card + OX controller uFlip-OC 𝜇OC1: Loop (Erase; Write 0-511; Read 0-511)
I.Picoli et al. APSYS 2017
![Page 7: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/7.jpg)
LightNVM
·7
lightnvm.io
![Page 8: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/8.jpg)
Open-ChannelSSDs:DesignSpace
·8
FTL
LightNVMseparates(applica&on-customisable)front-endSSDmanagementfrom(media-specific)
back-endSSDmanagement.
![Page 9: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/9.jpg)
LightNVM
·9
(1) NVMeDevicedriverDetecConofOpen-ChannelSSDsImplementsPPAInterface(2)LightNVMSubsystemCoreSSDmanagementfuncConality(3)HighLevelI/OInterfacePblk–blockdeviceviafull-fledgeFTLliblightnvm–accesstocoreSSDmanagementfromuser-space
WithLightNVM,asysteminuserspacecanfullycontroldataplacementandI/OschedulingacrossmulCpleopen-
channelSSDs
![Page 10: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/10.jpg)
PPAAddressSpace
·10
PPAprovides(i)ahierarchicaladdressspace,basedonSSDintrinsicparallelism(channelsandPUs)and
mediacharacteris&cs,and(ii)vectoredI/Os.
![Page 11: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/11.jpg)
TheLinuxFTL
·11
Pblk http://lightnvm.io/pblk-tools/
FTLaretransacConalsystems.
[SangLyulMinetal,2002]
![Page 12: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/12.jpg)
AdopCon
·12
Radian Memory Systems
![Page 13: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/13.jpg)
ProgrammingtheStorageController
·13
Jim Gray, NASD Talk, 6/8/98 http://jimgray.azurewebsites.net/jimgraytalks.htm
![Page 14: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/14.jpg)
DragonFireCard(DFC)
·14
FPGA8xARMv864-bit
+HWaccel.
Non-Volatile Memory (240-pin UDIMM)
4x10GbE
PCIe x4
2xPCIe x4
LS2088A Stratix A7
https://github.com/DFC-OpenSource
![Page 15: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/15.jpg)
DFCM.2Carrier
·15
8xARMv864-bit+
HWaccel.4x10GbE
PCIe x4
2xPCIe x4
LS2088A M.2
M.2 SoC/LinuxOCSSD
OCSSD
OCSSD
…
Host(RAM/PM)
Fabric
Fabric
OCSSD
SoC/LinuxSoC/Linux
Host(RAM/PM)Host(RAM/PM)
![Page 16: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/16.jpg)
1. Whatis“everything”?• StoreabstracCon(s)embeddedonstoragecontroller?• HowmuchapplicaConlogicispushedtothestoragecontroller?
• Embeddedrun-Cme(Rules/DSL);binary;micro-services2. Storagecontrollerinchargeoffront-endSSDmanagementandapplicaCon
services• OXcontrollerasaframeworkforprogrammingstoragecontroller• Host-SSDprotocol?
• PCIe/Ethernet/NextGenFabric• NVMe/REST/..
3. Streamliningthedatapath• Towardssystem-widelatencybinding• OCSSD:NowarranteeSSD,HW-basedreadpath• HardwareacceleraConontheSoC
ProgrammingtheStorageController
·16
![Page 17: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/17.jpg)
LightNVMseparatesback-endandfront-endSSDmanagementinordertogetpredictablereadlatency.Inputfromthiscommunityneededtostandardizeopen-channel
SSDinterface.TheCmeforprogrammingthestoragecontrollerisnow.TheDFCisanidealplahormforexploringthisdesignspace.
JointheDFCcommunity!
Conclusion
·17
![Page 18: Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile Memory (240-pin UDIMM) 4x10GbE PCIe x4 2xPCIe x4 LS2088A Stratix A7DFC M.2 Carrier ·](https://reader036.vdocuments.us/reader036/viewer/2022071212/60282bcda9dceb0540763308/html5/thumbnails/18.jpg)
·18