·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
CIDR2011
·2
L.Bouganim et al. CIDR 2011
·3
FAST2017
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
PredictableReads?
·5
M.Bjørling et al. FAST 2017
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
LightNVM
·7
lightnvm.io
Open-ChannelSSDs:DesignSpace
·8
FTL
LightNVMseparates(applica&on-customisable)front-endSSDmanagementfrom(media-specific)
back-endSSDmanagement.
LightNVM
·9
(1) NVMeDevicedriverDetecConofOpen-ChannelSSDsImplementsPPAInterface(2)LightNVMSubsystemCoreSSDmanagementfuncConality(3)HighLevelI/OInterfacePblk–blockdeviceviafull-fledgeFTLliblightnvm–accesstocoreSSDmanagementfromuser-space
WithLightNVM,asysteminuserspacecanfullycontroldataplacementandI/OschedulingacrossmulCpleopen-
channelSSDs
PPAAddressSpace
·10
PPAprovides(i)ahierarchicaladdressspace,basedonSSDintrinsicparallelism(channelsandPUs)and
mediacharacteris&cs,and(ii)vectoredI/Os.
TheLinuxFTL
·11
Pblk http://lightnvm.io/pblk-tools/
FTLaretransacConalsystems.
[SangLyulMinetal,2002]
AdopCon
·12
Radian Memory Systems
ProgrammingtheStorageController
·13
Jim Gray, NASD Talk, 6/8/98 http://jimgray.azurewebsites.net/jimgraytalks.htm
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
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)
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
LightNVMseparatesback-endandfront-endSSDmanagementinordertogetpredictablereadlatency.Inputfromthiscommunityneededtostandardizeopen-channel
SSDinterface.TheCmeforprogrammingthestoragecontrollerisnow.TheDFCisanidealplahormforexploringthisdesignspace.
JointheDFCcommunity!
Conclusion
·17
·18