18
© 2019 Western Digital Corporation or its affiliates. All rights reserved. 06.03.19 From Open-Channel SSDs to Zoned Namespaces Matias Bjørling Director, Solid-State System Software 23 th January 2019

Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

  • Upload
    others

  • View
    11

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 06.03.19

From Open-Channel SSDs to Zoned Namespaces

MatiasBjørlingDirector,Solid-StateSystemSoftware

23th January2019

Page 2: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 3: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 4: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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.

Page 5: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 6: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 6

Open-Channel SSDs

6

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

Page 7: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 7

Open-Channel SSDsInterface Adoption

Open-ChannelSSDarchitecturesarebeingadoptedbymajorhyper-scalers

ConceptsreadytobepartoftheNVMestandardspecification

Page 8: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

06.03.19©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 8

NVMe ApproachDrivefeaturesintoNVMewhichaddresskeyOCSSDusecases

8

• ExplicitProvisioningofDeviceTopology

• BuildonIODeterminism

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

Today’stalk

Page 9: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 10: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 11: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 12: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 13: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 14: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 15: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 16: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 17: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

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

Page 18: Storage Bjoerling From Open-Channel SSDs To Zoned Namespaces · Open-Channel Concepts •Chunks – Write sequentially within an LBA range – Requires reset for rewrites – Borrows

©2019WesternDigitalCorporationoritsaffiliates.Allrightsreserved. 06.03.19