Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks –...

Preview:

Citation preview

©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 06.03.19

From Open-Channel SSDs to Zoned Namespaces

MatiasBjørlingDirector,Solid-StateSystemSoftware

23th January2019

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 2

This presentation contains forward-looking statements that involve risks and uncertainties, including, but not limited to, statements regarding our solid-state technologies, product development efforts, software development and potential contributions, growth opportunities, and demand and markettrends. Forward-looking statements should not be read as a guarantee of future performance or results, and will not necessarily be accurate indications ofthe times at, or by, which such performance or results will be achieved, if at all. Forward-looking statements are subject to risks and uncertainties thatcould cause actual performance or results to differ materially from those expressed in or suggested by the forward-looking statements.

Key risks and uncertainties include volatility in global economic conditions, business conditions and growth in the storage ecosystem, impact ofcompetitive products and pricing, market acceptance and cost of commodity materials and specialized product components, actions by competitors,unexpected advances in competing technologies, difficulties or delays in manufacturing, and other risks and uncertainties listed in the company’s filingswith the Securities and Exchange Commission (the “SEC”) and available on the SEC’s website at www.sec.gov, including our most recently filed periodicreport, to which your attention is directed. We do not undertake any obligation to publicly update or revise any forward-looking statement, whether as aresult of new information, future developments or otherwise, except as required by law.

Forward-Looking StatementsSafeHarbor|Disclaimers

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 3

Ubiquitous WorkloadsEfficiency of the Cloud requires many different workloads to a single SSD

3

Databases Sensors Analytics Virtualization Video

Solid-StateDrive

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 44

Solid State Drive Internals

LogicaltoPhysicalTranslationMap

HighlyParallelArchitecture

Wear-Leveling GarbageCollection

BadBlockManagement MediaErrorHandling …

Die0

Die1

Die2

Die3

Die0

Die1

Die2

Die3

Die0

Die1

Die2

Die3

Die0

Die1

Die2

Die3

MediaInterfaceController

Read/WriteHostInterface(NVMe)

Read(50-100us)

Write(1-10ms)

Erase(3-15ms)

Read/Program/Erase

• NANDRead/Program/Erase

• HighlyParallelArchitecture– TensofDies

• NANDAccessLatencies• TranslationLayer– LogicaltoPhysicalTranslationLayer– Wear-leveling– GarbageCollection– Badblockmanagement– Mediaerrorhandling– Etc.

• Read/Write/Erase->Read/Write

SolidStateDrive

©2018WesternDigitalCorporationoritsaffiliates.Allrightsreserved.

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 5

Open-Channel Concepts

• Chunks– WritesequentiallywithinanLBArange– Requiresresetforrewrites– BorrowsfromHDD’sSMRspecification(ZAC/ZBC)

– OptimizedforSSDphysicalconstraints• Alignwritestomedialayout

• ParallelUnits– HostcandirectI/Ostoseparateworkloads– Stripesacrosssingleormultipledies.– Theparallelunitsinheritsthethroughputandlatencycharacteristicsoftheunderlyingmedia

– SimilarconcepttoI/ODeterminisminNVMe

Chunks & Parallel Units

Application-1 Application-2 Application-3

SSDFirmware

FlashFlash

Application-1FTL-1

Application-2FTL-2

Application-3FTL3

SSDFirmware

Chunk0 Chunk1 Chunk2 Chunk3 ChunkX

DiskLBArangedividedinchunks

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 6

Open-Channel SSDs

6

I/O Isolation Predictable Latency Data Placement &I/O Scheduling

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 7

Open-Channel SSDsInterface Adoption

Open-ChannelSSDarchitecturesarebeingadoptedbymajorhyper-scalers

ConceptsreadytobepartoftheNVMestandardspecification

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 8

NVMe ApproachDrivefeaturesintoNVMewhichaddresskeyOCSSDusecases

8

• ExplicitProvisioningofDeviceTopology

• BuildonIODeterminism

EnduranceGroupMgmt(e.g.ParallelUnits)ZonedNamespaces(e.g.Chunks)

Today’stalk

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 9

Zoned Namespaces (ZNS)

• TechnicalProposalintheNVMeworkinggroup

• Standardizeszoneinterfaceasanapproachto:– Reducedevice-sidewriteamplification– Reduceover-provisioning• “Notethatexcessiveover-provisioningissimilartoearlyreplacement-- inbothcasesyoubuymoredevices.”

- MarkCallaghan,Facebook– ReduceDRAMinSSDs• HighestcostafterNANDitself

– Improvelatencyoutliersandthroughput• Lessdevice-sidedatamovement• Tailatscale

– Enablesoftwareeco-system.• Everyonebenefitsfromimprovements!

9

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 10

Zoned Namespaces similar to ZBC/ZAC for SMR HDDs•Storagecapacityisdividedintozones•Eachzoneiswrittensequentially• InterfaceoptimizedforSSDs

– Alignwithmediacharacteristics• Zonesizealignedtomedia(E.g.,NANDblocksizes)• Zonecapacityalignedtophysicalmediasizes

– ReduceNANDmediaerasecycles(Writeamp.)

Zone0 Zone1 Zone2 Zone3 ZoneX

Writepointerposition

DiskLBArangedividedinzones

Writecommandsadvancethewrite

pointer

Resetwritepointercommandsrewindthewritepointer

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 11

Zone Information

• ZoneState– Empty,ImplicitlyOpened,ExplicitlyOpened,Closed,Full,ReadOnly,Offline

– Empty->Open->Full-> Empty->….

• ZoneReset– Full->Empty

• ZoneSize&ZoneCapacity– ZoneSizeisfixed– ZoneCapacityisthewriteableareawithinazone

ZoneCapacity(E.g.,500MB)

ZoneSize(e.g.,512MB)

ZoneStartLBA

ZoneXZoneX- 1 ZoneX+1

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 12

Zone Append

• Lowscalabilityonmultiplewriterstoazone– WriteQueueDepthperZone=1– IOPS:80Kvs880KonQemuand300Kvs1400Konmetal

• ZAC/ZBCrequiresstrictwriteordering

• Limitswriteperformanceandincreaseshostoverhead

• Bigchallengewithsoftwareeco-system,HBAs,etc.

• IntroducingZoneAppend• Appenddatatoazonewithoutdefiningoffset• Drivereturnswheredatawaswritteninthezone

-100 100300500700900

110013001500

1 2 3 4

KIOPS

NumberofJobs

QEMU(i7-6700K,4K,QD1,RW,libaio)

1Zone 4Zones ZoneAppend/NoZones

-100 100300500700900

110013001500

1 2 3 4

KIOPS

NumberofJobs

Metal(i7-6700K,4K,QD1,RW,libaio)

1Zone 4Zones ZoneAppend/NoZones

ZoneLockContention

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 13

Zone Write Example3x Writes (4K, 8K, 16K) – Queue Depth = 1

4K Write0

8K Write1

16K Write2

WPWP WP WP

Zone

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 14

Zone Append Example3x Writes (4K, 8K, 16K) – Queue Depth = 3

4K Write0

8K Write1

16K Write2

WPWP WP WP

Zone

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 15

ZNS: Synergy w/ ZAC/ZBC software ecosystem

• ExistingZAC/ZBC-awarefilesystems&devicemappers“justwork”– FewchangestosupporttoZNS

• ReuseexistingworkalreadyappliedwithforZAC/ZBChard-drives(SMR)

• Integratedirectlywithfile-systems– Nohost-sideFTL– No1GBDRAMper1TBMediarequirement– BetterutilizationofSSD

• Codeisalreadyinproductionathyper-scalersandavailableintheLinuxeco-system.

06.03.19

15

SMRHDDZBC/ZAC

ZNSSSD

Applicationslibzbc

LogicalBlockDevice(dm-zoned)

File-SystemwithSMRSupport

(f2fs,btrfs)

SCSI/ATA

RegularFile-Systems(xfs)

UserSpace

LinuxKernel

BlockLayer

NVMe

*=EnhanceddatapathsforSMRdrives

util-linux fio

blktests

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 16

Mature Software Stack

• User-spacelibraries– Libzbd– Nvme-cli– Blktests– Util-linux(blkzone)– fio– libzns

• Kernel-spacelibraries– NVMesupportforZones– XFS,Btrfs,F2FS,dm-zoned,etc…

• QemuwithZNSsupport

ZNS to use existing storage stack

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 17

ZBC State Model

• States(Empty,ImplicitlyOpened,ExplicitlyOpened,Full,Offline)

• Eachzone– Size– Capacity– WritePointer– Andotherfields

• ZoneManagementcommand– ZMOpen,ZMClose,ZMReset,ZMFinish

©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 06.03.19

Recommended