Open-Channel SSDs · DragonFire Card (DFC) · 14 FPGA 8x ARMv8 64-bit + HW accel. Non-Volatile...

Preview:

Citation preview

·1

Philippe Bonnet phbo@itu.dk 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

Recommended