18
·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-Channel SSDs

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 ·

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

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 ·

·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 ·

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 ·

·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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

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 ·

·18