24
PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering “The IP enabled solutions provider”

PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

  • Upload
    others

  • View
    43

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

PCIe Gen4 Based Configurable NVMe SSDC Platform

Amit Saxena, VP, Engineering

“The IP enabled solutions provider”

Page 2: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Agenda

• PCIe Gen4 based Configurable NVMe SSDC

Platform

• Design Challenges

• Configurable IP Components

• Mobiveil Subsystem Solutions

• RISC-V Based IoT SoC Platform

• Flash Characterization Platform

• Summary2Copyright Mobiveil, Inc.

Page 3: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Mobiveil Configurable NVMe SSDC Platform

On Chip Control PathOn Chip Data Path

GPEX

PCIe

PHYPCIe

Gen4

DDR4

Flash

ARM Core UMMC controller

UNEX

EFC-0

EFC-1

EFC-2

EFC-n

L

D

P

C

Medi

a

DM

A

Medi

a

DM

A

Medi

a

DM

A

Me

dia

DM

A

MCC

Device

FW

3Copyright Mobiveil, Inc.

• GPEX – Mobiveil PCIe Gen4.0

PCIe Controller

• UNEX – Mobiveil Multiport

NVMe Controller

• EFC – Mobiveil Enterprise Flash

Controller

• UMMC – Mobiveil Memory

Controller

• MCC - Media Control Cluster

Page 4: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Mobiveil Configurable NVMe SSDC Platform

4Copyright Mobiveil, Inc.

Page 5: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Unique Subsystem Development Solution

5

• Provides Full NVMe Based Reference Design Using Mobiveil’s Controllers

• PCIe Gen4.0 PCIe Controller (GPEX)

• Multiport NVMe (UNEX)

• LDPC

• Enterprise Flash Controller (EFC)

• UMMC

• Media Control Cluster

• Reference FW is also provided

• Allows various Flash parts to be used

• Customer can add their custom value add in SW or HW

Copyright Mobiveil, Inc.

Page 6: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

IP Design Challenges

• Flexible enough to support various requirements

• Should be able to handle various target technologies and meet performance targets

• Should allow customization for individual implementations

• Should provide hooks for SW debug and control

• Design Reuse is critical

6Copyright Mobiveil, Inc.

Page 7: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Feature Configurability

7Copyright Mobiveil, Inc.

PCIe

• Number of Virtual Channels

• SRIOV Needed

• Bifurcation Support

• DMA Needed

• INT/MSI/MSIX Support

• SRNS/SRIS

ECC

• BCH/LDPC

• Code Rate

• Programmable Padding/Puncturing

• User Defined LDPC Matrix

• Single/Dual Core

• Soft Read Procedure

NVMe

• Multipath IO Support

• LBA Size

• Number of IO Queues

• Vendor Command Support

• Optional Feature Support

• Vendor specific Arbitration

Flash Controller

• ONFI/Toggle IF

• Full Rate/Half rate/Quarter Rate Support

• Custom Command Support

• Number of LUNs

• Command Arbitration LUN Based

• Suspend/Resume Support

Page 8: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Implementation Challenges

8

HW/SW Partitioning

Data Path Width

Support

Clock Frequency

Processor

Dependency

Interfacing with 3rd

Party IPs

Efficient Buffering

Throughput

Balancing

Interfacing with 3rd

Party VIPs

Copyright Mobiveil, Inc.

Page 9: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Configurable IP Blocks

9

Address all Features

Design, Implementation,

Verification Effort

Latency,

Bandwidth, QOS

Area, Frequency

Copyright Mobiveil, Inc.

Page 10: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Mobiveil Configurable IP Blocks

Copyright Mobiveil, Inc.

Page 11: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

PCI Express Controller (GPEX)

Copyright Mobiveil, Inc.

Page 12: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

PCI Express (GPEX)

12

MRX MCTL MTX

DTXDCTLDRX

TRX TRX TTX

Receive Control Transmit

Transaction Layer

Data Link Layer

MAC Layer

Logic

Layers

PCS

PMA

PHY

Layers

PIPE 4

Application Interface

Serial Interface

Compliant to PCI Express Base 4.0

• PCISIG Certified IP• Supports Gen4, Gen3, Gen2 and

Gen1 rates• Compliant to PIPE 4.3 specification• Supports x1, x2, x4, x8 and x16 lanes• Supports INTR, MSI, MSIX• 32, 64, 128, 256 and 512 Bit Data path

support• Supports 8, 16, 32 and 64 bit PIPE

Optional Feature Support• SR-IOV• ATS• ARI• FLR• LTR• SRIS

Provides PCS

Advanced Power Management• ASPM L1, Auxiliary power, beacon• Clock and Power Gating• L1 PM Substate

Value Added Features

• End to End Data parity protection

• Device specific control and status Registers, Loopback and test features

• Supports up to 8 virtual channels and traffic classes

• Supports isochronous transfer

• Supports RR, WRR and strict priority VC arbitration scheme

• Infinite credit option for selected types of traffic

• Supports all in-band messages including vendor defined message and broadcast message

Copyright Mobiveil, Inc.

Page 13: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

LDPC Encoder/Decoder

Page 14: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

LDPC Encoder/Decoder• LDPC scalable IP

• Supporting wide range of data-rates

• 50MB/s to 4.0GB/s for a single LDPC instance

• Major scalability parameters are (before IP instantiation):

• Codeword size (0.5KB vs. 1KB vs. 2KB, 4KB or 8KB)

• Maximum amount of supported parity

• Several parameters for degree of parallelism

• Memory access options

• IP Core Programmability Parameters (after IP instantiation):

• Simultaneous support for different amounts of parity

• Simultaneous support for several LDPC codes

• On-the-fly switching from one LDPC code to another

• User can program its own LDPC code/Matrix

14

▪ Lowest power LDPC decoder

▪ Code word size is 1KB+parity

▪ Total power is measured for TT, 0.9V, 25C

▪ TSMC 28 HPC process

Copyright Mobiveil, Inc.

Throughput

@ EOL

(MBPS)

Freq

(MHz)

Cell

Area

(um2)

Memory

(KB)

Power

Dynamic

(mW)

Leakage

(mW)

405 500 55,247 58 27.65 0.027

1183 500 127,880 57 66.79 0.059

1581 500 137,183 36 78.94 0.063

2214 700 135,604 57 102.82 0.206

Page 15: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

UnH Certified NVM Express Controller IP

(UNEX)

Page 16: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

NVM Express (UNEX) Controller

16

Command

Fetch &

Completion

Update

Interrupt

Logic

NVMe

Controller

RegistersAdmin & IO

Queue_0

Arbiter and

Command

Decoder

FW RQ

DMA

Data Buffer

DMA

Engine 1

DMA

Engine M

DMA

NVMe

Controller

RegistersAdmin & IO

Queue_1

Arbiter and

Command

Decoder

FW CQ

NVMe

Controller

RegistersAdmin & IO

Queue_N

Arbiter and

Command

Decoder

DMA CQ

Compliant to NVM Express 1.3a specification

• UnH Certified IP

• Supports Multi-Port Controller for Multi-path IO Support

• Supports configurable number of IO Queues

• Supports configurable Queue depth • Supports Round Robin or Weighted

Round Robin with Urgent Priority arbitration mechanism

• Host memory page size support of 128MB

• Efficient and Streamlined Command handling

• Supports Fused Operations

• Supports All Optional Admin Commands

Value Added Features

• Supports All Optional NVM Commands

• Supports Multi-Path IO and Namespace Sharing capabilities

• Supports Reservations

• Supports multiple name spaces

• Optional AXI interfaces for NVMe implementation in SoC

• Well defined Command Interface for local CPU to perform subsystem initialization and to handle all non-hardware accelerated commands

Copyright Mobiveil, Inc.

Page 17: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Enterprise Flash Controller

Page 18: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Enterprise Flash Controller

18

Cmd Controller

Command buffer

Write buffer

Read buffer

Status accumulator

SEQUENCER

Program memoryRegisters block

APB i/f

ONFI PHY i/f

CMD i/f

Read i/f

Status i/f

Write i/f

• Supports NAND interface standards such as ONFI and Toggle

• Supports LUN based CMD arbitration to maximize parallel execution

• Supports suspend/resume commands per LUN for executing software overridden priority IO commands.

• Programmable command sequences

• Supports up to 64 LUNs per channel

• Supports following modes• 1:1 (Full-rate Mode)• 1:2 (Half-rate Mode)• 1:4 (Quarter rate Mode)

• Supports data path width upto 256 bits on user interface

• Supports software based programming of commands

• Supports programming custom command definitions

• Supports randomization requirements

• Supports integration of per channel ECC.

Copyright Mobiveil, Inc.

Page 19: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

UMMC Memory Controller

Page 20: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

UMMC Memory Controller

20

Configuration & Status Registers (CSR)

WR REQ Queue

RD REQ Queue

WR DATA BUF

RD DATA BUF

Port Queue_0

WR REQ Queue

RD REQ Queue

WR DATA BUF

RD DATA BUF

Port Queue_1

WR REQ Queue

RD REQ Queue

WR DATA BUF

RD DATA BUF

Port Queue_M

PortArbitration

(QoS)

WRITEDATA

MUX

READDATA

DEMUX

Bank CTRL N

WRITE DATA PATH

READ DATA PATH

Bank CTRL 2

Bank CTRL 1

Bank CTRL 0

RE

C

S

SYS

IF

SYS

IF

Multi Port Controller (MPC) Base Controller (BC)

D

Q

M

F

I

YS

IF

APB

D

DEMUX

SCH

SYS RD REQ

SYS WR REQ

SYS RD DP

SYS WR DP

SIC_0

SYS RD REQ

SYS WR REQ

SYS RD DP

SYS WR DP

SIC_1

SYS RD REQ

SYS WR REQ

SYS RD DP

SYS WR DP

SIC_M

Compliant to AXI4 and DFI3.1

• Supports all major memory standards – DDR3, DDR4, LPDDR2, LPDDR3, HBM2

• Supports Multiport Configuration

• Supports QoS through various arbitration schemes

• Configurable and programmable address mapping

• Supports up to 4 ranks

• Supports following BC Clock to PHY Clock ratio• 1:1 (Full-rate Mode)• 1:2 (Half-rate Mode)• 1:4 (Quarter rate Mode)

• Supports Burst Length 4, 8, 16

• Supports Active/Precharge Power down

• Supports ECC Checking and Correction

• Supports Inline ECC

Copyright Mobiveil, Inc.

Page 21: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

RISC-V Based IoT SoC Platform

21Copyright Mobiveil, Inc.

Page 22: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Mobiveil Flash Characterization System

22

• Matlab Interface to access

• Atomic Flash Commands (RD/WR/Erase)

• Special Commands - Test Mode (*When

enabled)

• P/E Cycling and Flash Characterization

• LLR Look-Up Table Generation

• Complete LDPC end-to-end Demo

• Other Routines (Optimal Vth finding, etc.)

BGA-132

TSOP-48

BGA-152

Copyright Mobiveil, Inc.

Page 23: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

Summary

23Copyright Mobiveil, Inc.

Unique Set of IPs and Reference Platforms for SSD and IoT

Market leading & most exhaustively proven cores in the market: Industry leaders are using these cores

Consortium Participation : NVMe- Member, RIO – Member, PCISIG – Member, HMC – Member, GenZ

Superior Technical Solution: Most Feature rich IP, Complete Customization and delivery Solution

Support: Clear IP Focus & Worldwide Support

3rd Party Partnerships for complete Solution: (Verification and PHY IPs)

Standard Body Certified Cores: All Mobiveil IPs are validated and certified: PCISIG, UNH, RTA

Page 24: PCIe Gen4 Based Configurable NVMe SSDC Platform Amit ... · PCIe Gen4 Based Configurable NVMe SSDC Platform Amit Saxena, VP, Engineering ... • Suspend/Resume Support. Implementation

MILPITAS : 890, Hillview Court, Suite 250, Milpitas, CA 95035

Ph: 408-212-9512 | Fax: 408-457-0406

Chennai : EMM YES PARK, 3rd Floor, #69 (Old #137), Jawaharlal Nehru Road, Ekkattuthangal,

Chennai 600032, Ph: +91-44-4208 6803, +91-44-4208 6804

Bangalore: #60 Adharsh Regent

2nd Floor, Near Domlur Flyover

Koramangala Inner Ring road, Bangalore 560071, Ph: +91-80-42087666

Hyderabad: #302, 2nd Floor, KTC Illumination, Gaffoor Nagar

Image Hospitals Lane, Nagarjuna Nagar Colony, Madhapur

Hyderabad, Telangana, 500081

www.mobiveil.com | [email protected]

24