tiffany kasanicky intel - storage networking industry association · 2019-12-21 · 2017 storage...

31
Managing Persistent Memory Tiffany Kasanicky Intel

Upload: others

Post on 23-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1

Managing Persistent Memory

Tiffany KasanickyIntel

Page 2: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 2

Agenda

Managing* Be in charge of; administer; run. The process of dealing with or controlling things or

people. Persistent Memory

Memory that retains data when the power is off.

*Courtesy of Google

Page 3: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 3

OverviewManagement Block Persistent Memory

User

Kernel

NVDIMM(s)

BIOS ACPI (NFIT)SMBIOS_DSM

IXPDIMM SW

FW

File System

Applicat ion Applicat ion

UEFI SW

Standard File API

Standard Raw Device Access

Standard File API

NVDIMM Driver(s)

Persistent Memory

MMU Mappings

PMEM Aware FS (DAX)

Applicat ion(PMEM Aware) nvml

Load/Store

Learn more at http://pmem.io

Page 4: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 4

Management Block Persistent Memory

User

Kernel

NVDIMM(s)

BIOS ACPI (NFIT)SMBIOS_DSM

IXPDIMM SW

FW

File System

Applicat ion Applicat ion

UEFI SW

Standard File API

Standard Raw Device Access

Standard File API

NVDIMM Driver(s)

Persistent Memory

MMU Mappings

PMEM Aware FS (DAX)

Applicat ion(PMEM Aware) nvml

Load/Store

Overview

Page 5: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 5

Management Block Persistent Memory

User

Kernel

NVDIMM(s)

BIOS ACPI (NFIT)SMBIOS_DSM

IXPDIMM SW

FW

File System

Applicat ion Applicat ion

UEFI SW

Standard File API

Standard Raw Device Access

Standard File API

NVDIMM Driver(s)

Persistent Memory

MMU Mappings

PMEM Aware FS (DAX)

Applicat ion(PMEM Aware) nvml

Load/Store

Overview

Page 6: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 6

NVDIMM Firmware Interface Table (NFIT)

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 7: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 7

NFIT Region Mapping Structure

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 8: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 8

NFIT NVDIMM Control Region Structure

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 9: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 9

Region Interface Format Code

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

Page 10: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 10

SMBIOS Management Information Structure

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 11: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 11

NFIT SPA Range Structure

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 12: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 12

NFIT Interleave Structure

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 13: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 13

NFIT Flush Hint Address Structure

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 14: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 14

NFIT Block Data Window Region Structure

*As of ACPI Specification 6.0: http://www.uefi.org/specifications

NFIT

ACPI NVM Root Device (in ACPI

namespace)

SMBIOS Management Information Structure(s)

SPA Range Structure(s)

NVDIMM Region Mapping

Structure(s)

Interleave Structure(s)

Flush Hint Address

Structure(s)

NVDIMM Control Region

Structure(s)

NVDIMM Block Data Window

Region Structure(s)

SPA Range Structure Index

Interleave Structure

Index

NFIT Device Handle

NVDIMM Control Region Structure

IndexNVDIMM Control Region Structure

Index

ImplicitAssociation

Page 15: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 15

Management Block Persistent Memory

User

Kernel

NVDIMM(s)

BIOS ACPI (NFIT)SMBIOS_DSM

IXPDIMM SW

FW

File System

Applicat ion Applicat ion

UEFI SW

Standard File API

Standard Raw Device Access

Standard File API

NVDIMM Driver(s)

Persistent Memory

MMU Mappings

PMEM Aware FS (DAX)

Applicat ion(PMEM Aware) nvml

Load/Store

Overview

Page 16: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 16

NVDIMM Root Device DSMsQuery Command Implemented

Query Address Range Scrub Capabilities

Start Address Range Scrub

Query Address Range Scrub Status

Clear Uncorrectable Error

Translate SPA

Reserved

ARS Error Inject

ARS Error Inject Clear

ARS Error Inject Status Query*As of ACPI Specification 6.2: http://www.uefi.org/specifications

Page 17: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 17

NVDIMM IFC 0x0201/0x0301* DSMsQuery Command Implemented Get Supported Modes

Get SMART and Health Info Get FW Info

Get SMART Threshold Start FW Update

Get Block NVDIMM Flags Send FW Update Data

Get Command Effect Log Size Finish FW Update

Get Command Effect Log Query Finish FW Update Status

Pass-Through Command Set SMART Threshold

Enable Latch System Shutdown Status Inject Error

*Final values TBD based on JEDEC approval

Page 18: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 18

Management Block Persistent Memory

User

Kernel

NVDIMM(s)

BIOS ACPI (NFIT)SMBIOS_DSM

IXPDIMM SW

FW

File System

Applicat ion Applicat ion

UEFI SW

Standard File API

Standard Raw Device Access

Standard File API

NVDIMM Driver(s)

Persistent Memory

MMU Mappings

PMEM Aware FS (DAX)

Applicat ion(PMEM Aware) nvml

Load/Store

Overview

Page 19: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 19

Linux 4.9+

*Courtesy of Dan Williams <[email protected]>

Page 20: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 20

Windows* Server 2016

*https://channel9.msdn.com/Events/Build/2016/P470

Management Block Persistent Memory

User

Kernel

NVDIMM(s)

BIOS ACPI (NFIT)SMBIOS_DSM

FW

Applicat ion

UEFI SW

Standard File API

Setup

Storage Class Memory

MMU Mappings

Windows* SCM Aware FS (NTFS-DAX)

Applicat ion(PMEM Aware) nvml

Load/Store

Windows* SCMBus Driver

IXPDIMM SW

Vendor Physical NVDIMM Driver

Windows* SCM Disk Driver

Page 21: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 21

Persistent Memory Regions

NVDIMM0

PM Region

NVDIMM1

PM Region

PM Region

NVDIMM2

PM Region

NVDIMM3

PM Region

Page 22: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 22

Interleave Sets (SPA Ranges)

SPA Range

NVDIMM0

PMRegion

NVDIMM1

PM Region

PM Region

NVDIMM2

PM Region

NVDIMM3

PM Region

Interleave Set

SPA RangeInterleave Set

Page 23: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 23

Namespaces

NVDIMM0

PM Region

NVDIMM1

PM Region

PM Region

NVDIMM2

PM Region

NVDIMM3

PM Region

Interleave Set

Namespace 1

Namespace 0

Interleave Set

Namespace 2

Page 24: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 24

Namespace Label Storage Area (LSA)

*As of UEFI Specification 2.7: http://www.uefi.org/specifications

NVDIMM0

PM Region

NVDIMM1

PM Region

PM Region

NVDIMM2

PM Region

NVDIMM3

PM Region

Interleave Set

LSA LSA LSA LSA

Namespace 1

Namespace 0

Index Block

Index Block

Label

Label

...

Label

Namespace Label Storage Area (LSA)

Interleave Set

Namespace 2

Page 25: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 25

Namespace Label

*As of UEFI Specification 2.7: http://www.uefi.org/specifications

NVDIMM0

PM Region

NVDIMM1

PM Region

PM Region

NVDIMM2

PM Region

NVDIMM3

PM Region

Interleave Set

LSA LSA LSA LSA

Namespace 1

Namespace 0

Index Block

Index Block

Label

Label

...

Label

Namespace Label Storage Area (LSA) Namespace Label

UIDNameFlagsNlabel

PositionSetCookieLBASize

DPARawSize

Type GUIDAbstract ion GUID

Interleave Set

Namespace 2

Page 26: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 26

Management Block Persistent Memory

User

Kernel

NVDIMM(s)

BIOS ACPI (NFIT)SMBIOS_DSM

IXPDIMM SW

FW

File System

Applicat ion Applicat ion

UEFI SW

Standard File API

Standard Raw Device Access

Standard File API

NVDIMM Driver(s)

Persistent Memory

MMU Mappings

PMEM Aware FS (DAX)

Applicat ion(PMEM Aware) nvml

Load/Store

Overview

Page 27: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 27

Intel DIMM UEFI SWManagement

UEFI Shell

BIOS

Intel DIMM DriverHII Database

Forms Strings

HIIBrowser

EFI File System BDS

BMC

ACPIIntel HII Driver

Intel CLIOS

Intel DIMM(s) FW Persistent Memory

Page 28: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 28

Intel DIMM OS SW (IXPDIMM SW)Management

User

Kernel

libixpdimmsim_adapterlnx_adapter win_adapter(s)esx_adapter Simulator

libndctl

pmem

libVmkuserNVD

VMware Driver

ixpdimm-cliixpdimm-cimixpdimm-monitor

Windows SCM Disk Driver

Intel

BIOS ACPI (NFIT)SMBIOS_DSM

Intel DIMM(s) FW

RHEL/SLES ESXi Windows RS3

Windows SCM Bus Driver

Partner

Intel DIMM Driver

Enterprise Tools

Syslog

WMI/Pegasus/SFCB

Page 29: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 29

IXPDIMM SW Distribution Plan

29

• Open source 3-clause BSD license

• Targeted Distributions:

• RHEL 7.5• SLES 15• Fedora• openSUSE• *Ubuntu

Package Repositoryixpdimm sw https://github.com/01org/ixpdimm_sw

nvm frameworks https://github.com/01org/invm-frameworks

Page 30: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 30

Persistent Memory Management

Instrumentation:SW/FW version, FW update, settings and policies

Performance: Bytes read/written, read/write requests per AEP

Namespaces: Create/delete/inventory namespaces

Sensors & Settings: Temperature, wear, spare, power, errors

Topology: NVDIMM discovery, identifying information, capabilities

Memory Configuration: Mapped capacity into the SAS, interleave, failed interleave sets

Page 31: Tiffany Kasanicky Intel - Storage Networking Industry Association · 2019-12-21 · 2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 1 Managing Persistent

2017 Storage Developer Conference. © Intel Corporation. All Rights Reserved. 31

[email protected]