App Note. Utilizing Everspin STT-MRAM in Enterprise SSDs to Simplify Power-fail Protection and Increase Density, Performance, and Endurance

Similar documents
PCB Layout Guidelines for the MC1321x

Upgrade the Solution With No Changes 2 Upgrade the Solution With No Changes If a Codebase does not contain updates to its properties, it is possible t

NOVPEK NetLeap User Guide

MPC5200(b) ATA MDMA, UDMA Functionality BestComm Setup Recommendations

Design Recommendations to Implement Compatibility Between the MC13783VK and the MC13783VK5

MC56F825x/MC56F824x (2M53V) Chip Errata

Using the Project Board LCD Display at 3.3 volts

2005: 0.5 PQ-MDS-PCIEXP

Component Development Environment Installation Guide

Using the Multi-Axis g-select Evaluation Boards

MPC8349E-mITX-GP Board Errata

MTIM Driver for the MC9S08GW64

MPC7410 RISC Microprocessor Hardware Specifications Addendum for the MPC7410TxxnnnLE Series

Mechanical Differences Between the 196-pin MAP-BGA and 196-pin PBGA Packages

Updating the Firmware on USB SPI Boards (KITUSBSPIEVME, KITUSBSPIDGLEVME)

for ColdFire Architectures V7.2 Quick Start

ColdFire Convert 1.0 Users Manual by: Ernest Holloway

Power Cycling Algorithm using the MMA73x0L 3-Axis Linear Accelerometer

Installing Service Pack Updater Archive for CodeWarrior Tools (Windows and Linux) Quick Start

Device Errata MPC860ADS Application Development System Board Versions ENG, PILOT, REV A

MC33696MODxxx Kit. 1 Overview. Freescale Semiconductor Quick Start Guide. Document Number: MC33696MODUG Rev. 0, 05/2007

Managing Failure Detections and Using Required Components to Meet ISO7637 pulse 1 on MC33903/4/5 Common Mode Choke Implementation

Electrode Graphing Tool IIC Driver Errata Microcontroller Division

Using the ColdFire+ Family Enhanced EEPROM Functionality Melissa Hunter Derrick Klotz

CodeWarrior Development Studio

Using the Kinetis Family Enhanced EEPROM Functionality

Using IIC to Read ADC Values on MC9S08QG8

HC912D60A / HC912Dx128A 0.5µ Microcontrollers Mask sets 2K38K, 1L02H/2L02H/3L02H & K91D, 0L05H/1L05H/2L05H

Using the PowerQUICC II Auto-Load Feature

SGTL5000 I 2 S DSP Mode

MPR121 Proximity Detection

MPC8260 IDMA Timing Diagrams

Utilizing Extra FC Credits for PCI Express Inbound Posted Memory Write Transactions in PowerQUICC III Devices

Introduction to the S12G Family EEPROM Including a Comparison between the S08DZ, S12XE, and S12P Families

MPR121 Jitter and False Touch Detection

56F8300 BLDC Motor Control Application

Using the CAU and mmcau in ColdFire, ColdFire+ and Kinetis

Performance Factors nc. 2 Performance Factors The following sections discuss performance factors. 2.1 MPX vs. 60x Bus Mode One of the main factors tha

Software Defined Radio API Release Notes

for Freescale MPC55xx/MPC56xx Microcontrollers V2.10 Quick Start

Migrating from the MPC852T to the MPC875

56F805. BLDC Motor Control Application with Quadrature Encoder using Processor Expert TM Targeting Document. 56F bit Digital Signal Controllers

Using DMA to Emulate ADC Flexible Scan Mode on Kinetis K Series

USB Bootloader GUI User s Guide

etpu Automotive Function Set (Set 2)

MCF54451, MCF54452, MCF54453, MCF54454,

Gallium Arsenide PHEMT RF Power Field Effect Transistor

etpu General Function Set (Set 1) David Paterson MCD Applications Engineer

AND8335/D. Design Examples of Module-to-Module Dual Supply Voltage Logic Translators. SIM Cards SDIO Cards Display Modules HDMI 1-Wire Sensor Bus

IIC Driver for the MC9S08GW64

Mask Set Errata for Mask 2M40J

Controller Continuum. for Microcontrollers V6.3. Quick Start

Prepared by: Gang Chen ON Semiconductor U1 NCP1529 GND SW 5. Figure 1. Typical Simulation Circuit of NCP1529 for DC DC Applications

Functional Differences Between the DSP56307 and DSP56L307

Is Now Part of To learn more about ON Semiconductor, please visit our website at

Using the Asynchronous DMA features of the Kinetis L Series

Differences Between the DSP56301, DSP56311, and DSP56321

MCF5216 Device Errata

CM1293A-04SO. 4-Channel Low Capacitance ESD Protection Array

1N5221B - 1N5263B Zener Diodes

SDR API Linux Installation

16-bit MCU: S12XHY256 Automotive Cluster Demo by: Jose M. Cisneros Steven McLaughlin Applications Engineer Microcontroller Solutions Group, Scotland

PACSZ1284. IEEE 1284 Parallel Port ESD/EMI/Termination Network

Optically-Isolated Multilink BDM Interface for the S08/S12 Microcontrollers by Michael A. Steffen

56F805. Digital Power Factor Correction using Processor Expert TM Targeting Document. 56F bit Digital Signal Controllers. freescale.

EchoRemote Evaluation Software for Windows

NCN9252MUGEVB. High-Speed USB 2.0 (480 Mbps) DP3T Switch for USB/UART/Data Multiplexing Evaluation Board User's Manual EVAL BOARD USER S MANUAL

1 Introduction. 2 Problem statement. Freescale Semiconductor Engineering Bulletin. Document Number: EB727 Rev. 0, 01/2010

Interfacing HCS12 Microcontrollers to the MFR4200 FlexRay Controller

M68HC705E6PGMR PROGRAMMER USER'S MANUAL

Clock Mode Selection for MSC8122 Mask Set K98M

CodeWarrior Development Studio for Freescale 68HC12/HCS12/HCS12X/XGATE Microcontrollers Quick Start SYSTEM REQUIREMENTS Hardware Operating System 200

PowerQUICC HDLC Support and Example Code

Is Now Part of To learn more about ON Semiconductor, please visit our website at

MC33897 Single-Wire CAN Transceiver Reliability and Quality Documents

Use of PGA on MC56F800x Interaction of PDB, PGA and ADC

M68CPA08W1628T20. Programming Adapter. User s Manual. Freescale Semiconductor, I. User s Manual. M68CPA08W1628T20UM/D Version 1.

Functional Differences Between DSP56302 and DSP56309 (formerly DSP56302A)

PDB Driver for the MC9S08GW64

CodeWarrior Kernel-Aware Debug API

App Note. Accelerating Fintech Applications with Lossless and Ultra-Low Latency Synchronous Logging using nvnitro. Introduction

for StarCore DSP Architectures Quick Start for the Windows Edition

NB4N855SMEVB. Evaluation Board User's Manual for NB4N855S EVAL BOARD USER S MANUAL.

1.3 General Parameters

PQ-MDS-QOC3 Module. HW Getting Started Guide. Contents. About This Document. Required Reading. Definitions, Acronyms, and Abbreviations

Mask Set Errata. Introduction. MCU Device Mask Set Identification. MCU Device Date Codes. MCU Device Part Number Prefixes MSE08AZ32_0J66D 12/2002

Interfacing MPC5xx Microcontrollers to the MFR4310 FlexRay Controller David Paterson MCD Applications, East Kilbride

Changing the i.mx51 NAND Flash Model for Windows Embedded CE TM 6.0

XGATE Library: ATD Average Calculating a rolling average from ATD results

Using the Knock Window etpu Function

Interfacing MPC5500 Microcontrollers to the MFR4310 FlexRay Controller Robert Moran MCD Applications, East Kilbride, Scotland

Is Now Part of. To learn more about ON Semiconductor, please visit our website at

M68CPA08QF Programming Adapter. User s Manual. Freescale Semiconductor, I. User s Manual. M68CPA08QF324448UM/D Version 1.

Using an I 2 C EEPROM During MSC8157 Initialization

MC33794 Touch Panel System Using E-Field Sensor Setup Instructions

Introduction to LIN 2.0 Connectivity Using Volcano LTP

AND8319/D. How to Maintain USB Signal Integrity when Adding ESD Protection APPLICATION NOTE

CodeWarrior Development Tools mwclearcase Plug-in User s Guide

Is Now Part of To learn more about ON Semiconductor, please visit our website at

Pad Configuration and GPIO Driver for MPC5500 Martin Kaspar, EMEAGTM, Roznov Daniel McKenna, MSG Applications, East Kilbride

Transcription:

Utilizing Everspin STT-MRAM in Enterprise SSDs to Simplify Power-fail Protection and Increase Density, Performance, and Endurance Introduction As enterprise solid state drives (SSDs) continue to push the envelope in terms of system performance and smaller form factors, SSD solution providers are facing greater challenges. The need to increase density, endurance, performance and add significant new functionality, while also continuing to protect data-in-flight from power failures. Next generation SSDs will rapidly grow to 32TB and beyond by using more flash channels with faster interface speeds, and higher density flash devices. If a traditional architecture of a controller with DRAM working memory is employed, this significantly increases the need for energy storage to provide power fail protection, which in turn reduces space available for the storage array in a fixed form factor. These next generation devices will also require new functionality including advanced CMB buffering, in-line encryption, deduplication, and compression. This application note explores the SSD architecture benefits of employing Everspin Spin-transfer Torque Magnetoresistive Random Access Memory (STT-MRAM) and DRAM residing on the DDR bus of the SSD controller and using STT-MRAM as a replacement for DRAM to provide a high speed, non-volatile cache. These applications enable designs to: Reduce write amplification in the flash array Increase performance and reduce latency Reduce power fail energy storage without impacting data protection Provide advanced on device persistent CMB buffering Provide non-volatile storage for advanced applications including deduplication and compression www.everspin.com Everspin Technologies

Current Enterprise SSD Controller Architecture An SSD has three key components: controller, volatile DRAM working memory, and the nonvolatile flash memory array. Because of the limitations of flash performance and endurance, a number of advanced algorithms are needed to manage the flash array in order to create a robust storage subsystem. These algorithms include garbage collection, error correction, and wear leveling. The controller is an embedded processor that manages accesses to the flash array through the use of these algorithms. The DRAM working memory is necessary to buffer reads and writes from the host as well as to enable quick access to the flash translation table (FTL) and metadata. A key difference between enterprise class SSDs and consumer class SSDs is that in enterprise class SSDs, all data-in-flight is protected in the event of power loss or interruption. In order to accomplish this, a power fail detection and isolation circuit, that includes hold up energy storage, works in conjunction with logic in the SSD controller to flush all volatile data not committed to the nonvolatile array in the event of a power failure. Because of the relatively slow write speed of NAND Flash, the controller and memory system must be held up for hundreds of milliseconds. Figure 1: Conventional SSD Architecture with Power Fail Protection Heterogeneous DDR Controller Architecture for SSDs As a solution to overcome the limitations of the existing NAND Flash based SSDs, Everspin offers STT-MRAM with ST-DDR3 and ST-DDR4 interfaces that can be used to improve the system performance and reliability of SSDs by providing high-speed nonvolatile storage for in-flight data. By adding STT-MRAM to complement or replace the volatile DRAM on the SSD controller s DDR bus (Figure 2), the SSD controller can now utilize this high speed nonvolatile memory for the write buffer and any other critical data in flight that was previously volatile. For an enterprise SSD, the design of the power management system is important. The system must detect power failing, isolate the drive from the host and hold up the drive with enough energy storage to allow any in-flight data to be committed to non-volatile memory in order to guarantee data integrity. The holdup energy required to accomplish this is directly proportional to the amount of data-in-flight, the speed of the non-volatile memory and the power consumption of the system. The amount of time this hold up energy storage provides can be considered the power fail window or the time available to store unprotected data before the holdup energy is exhausted. In order a to support a heterogeneous DDR architecture comprised of separate ranks of different memory types, the DDR controller contained in the SSD controller ideally needs to support handling differing timing and addressing requirements for STT-MRAM for optimal performance. The SSD controller must also employ additional logic to properly manage the small amounts of resident data in flight within the DDR controller buffers to ensure the pipeline is flushed to the STT-MRAM and any open pages in the STT-MRAM are closed prior to power loss.

Figure 2: Hybrid DDR/STT-MRAM SSD Architecture with Power Fail Protection The in-flight data present in the volatile memories is on the order of tens of megabytes in today s SSDs due to the balance of flash performance, power consumption and energy storage. By employing STT-MRAM in the system, the majority of the data in flight can now be buffered in this persistent memory; thus greatly reducing the amount of unprotected data in flight. The following benefits can be realized with this architecture: Benefit: A high-speed NV write cache made possible by STT-MRAM and cooperative data management can reduce write amplification to NAND, reducing the amount of overprovisioning needed By using STT-MRAM as a high speed nonvolatile cache in an SSD, added benefits can be imparted on the flash array. A large high-speed nonvolatile cache allows for write amplification to be reduced by allowing more uncommitted data to be coalesced before writing to the flash array. This in turn provides more endurance for the overall SSD as writes can be organized and managed more efficiently in the larger high speed nonvolatile buffer that STT- MRAM provides. Simulation has shown that write amplification can be reduced in some cases by up to 38% and a reduction of the copy out of write data by garbage collection of up to 51.8%. This significantly increases overall drive endurance or significantly reduces the amount of over provisioning needed to meet drive performance targets, hence, increasing the effective drive size and reducing the overall cost in terms of $/GB. (Source: E. Lee, J. Kim, H. Bahn, S. Noh Reducing Write Amplification of Flash Storage through Cooperative Data Management with NVM MSST 2016. ) Benefit: STT-MRAM improves reliability and manufacturability by greatly reducing the need for large energy storage devices like supercapacitors or batteries A typical system implements the energy storage with banks of capacitors or batteries that consume a large amount of PCB area and enclosure volume. These energy storage devices have a relatively high sensitivity to temperature which greatly reduces their lifetime and requires a large amount of derating to use in an enterprise environment. SSD architectures that use MRAM greatly reduce the amount of energy storage needed, thus freeing up the area and reducing the component count. This improves manufacturability by reducing points of failure and streamlining assembly by removing the solder reflow constraints imposed by batteries or super capacitors. Benefit: STT-MRAM increases burst write performance with a larger write buffer Because of the speed and non-volatility of STT-MRAM, the write buffer can be significantly increased which provides much higher burst performance in the system. STT-MRAM can be written to much faster than the host interfaces of today s SSDs. Also, the effect of having a large low latency write buffer has been shown to reduce the variation in latency and provide significant QOS improvements. This performance increase is also seen at Queue Depth 1 (QD=1) where most of the current SSDs struggle and STT-MRAM solutions excel.

Figure 3: STT-MRAM Replaces DDR in Advanced SSD Architecture Advanced SSD Architecture: STT-MRAM Replaces DRAM As STT-MRAM density increases, STT-MRAM has the opportunity to completely replace DRAM in SSD architectures (Figure 3) allowing for even more advanced capabilities that are only possible with a large amount of persistent memory that operates at DRAM speeds. Smaller SSD s, these typically use flat FTL tables which required approximately 1GB of ST-DDR for each Terabyte of flash storage. The trend for larger SSDs is to use multi-level hierarchical tables to reduce the table size held in DDR. However these tables do still have to be periodically written to cache along with other controller metadata which complicates the controller design. These hierarchical solutions do provide the added advantage of faster recover time upon power up since the controller does not have to wait until the whole flat table is loaded from flash. The implementation of advanced functions including deduplication and compression requires maintaining and storing the required tables in ST-DDR. These tables also need to be maintained thru power interruption and consequently have to be flushed to flash which adds further complexity to the controller design. Persistent CMB Buffering As described in the NVMe Specification 1.2+, an optional feature is a Controller Memory Buffer (CMB) which is a region of general purpose read/write memory on the controller that may be used for a variety of purposes. The controller indicates which purposes the memory may be used for by setting support flags in the CMBSZ register. Submission Queues in host memory require the controller to perform a PCI Express read from host memory in order to fetch the queue entries. Submission Queues in controller memory enable host software to directly write the entire Submission Queue Entry to the controller s internal memory space, avoiding one read from the controller to the host. This approach reduces latency in command execution and improves efficiency in a PCI Express fabric topology that may include multiple switches. Similarly, PRP Lists or SGLs require separate fetches across the PCI Express fabric, which may be avoided by writing the PRP or SGL to the Controller Memory Buffer. Completion Queues in the Controller Memory Buffer may be used for peer to peer or other applications. For writes of small amounts of data, it may be advantageous to have the host write the data and/or metadata to the Controller Memory Buffer rather than have the controller fetch it from host memory. A controller memory based queue is used in the same manner as a host memory based queue the difference is the memory address used is located within the controller s own memory rather than in the host memory. The Admin or I/O Queues may also be placed in the Controller Memory Buffer. The host ensures that all writes to the CMB that are needed for a command have been sent before updating the SQ Tail doorbell register.

Implementing a CMB with persistent memory allows the completion queue to be immediately updated once the write data has been submitted to the CMB and thus lowers latency. The following additional benefits can be realized with this architecture: Benefit: STT-MRAM eliminates the need to periodically flush dirty hierarchical FTL data to flash STT-MRAM based solutions simplify flash controller design since large SSDs using hierarchical FTL tables will no longer have to periodically flush dirty FTL tables and other data to flash. Benefit: STT-MRAM significantly reduces start up recovery time Since the hierarchical FTL tables are stored directly in STT-MRAM they are available immediately at power up. Benefit: STT-MRAM provides capability to implement non-volatile CMB buffering CMB buffering inside the SSD device using STT-MRAM provides a non-volatile solution for high speed, low latency buffering required by RDMA devices making the SSD suitable in a wide range of low latency applications. Benefit: STT-MRAM provides capability for storage of other non-volatile tables required to implement advanced functionality STT-MRAM offers non-volatile tables to be stored for advanced functions including deduplication, and compression. The implementation complexity of this functionality is significantly reduced since the tables are persistent and it is no longer necessary to keep additional copies in Flash memory. Conclusion Everspin s STT-MRAM provides a superior alternative to DRAM-based SSD controller architectures in next generation enterprise SSDs. STT-MRAM allows SSD designers to optimize footprint, performance, endurance, and reliability, while at the same time reducing complexity and enabling advanced functionality. STT-MRAM enables a larger write buffer in SSDs with less hold up energy storage. By greatly reducing the amount of energy storage required for power fail protection, the energy storage can be implemented with highly reliable aluminum or tantalum capacitors as opposed to supercapacitors or batteries. Eliminating the need for temperature sensitive and lifetime limiting supercapacitors and batteries improves the reliability and manufacturability of the SSDs. This removes the need for additional manufacturing constraints or potential field service issues that arise due to use of supercapacitors and batteries. Beyond power fail protection, the larger write buffer implemented in low latency STT-MRAM can greatly improve burst write performance during normal operation by allowing much more data to be buffered before requiring back pressure to the host. The increased write buffer size also allows for more write coalescing, thereby reducing write amplification and improving the flash array s endurance. STT-MRAM provides non-volatile storage of hierarchical FTLs and simplifies the controller design while reducing recovery time following a power fail. Use of STT-MRAM provides for persistent storage for local low latency CMB implementations besides supporting compression and deduplication tables and at the same time easing the task of adding this broad capability to the SSD drive. Everspin s STT-MRAM is now in production and ready to accelerate the performance, reliability and density of SSDs.

How to Reach Us: www.everspin.com E-Mail: support@everspin.com orders@everspin.com sales@everspin.com USA/Canada/South and Central America Everspin Technologies 5670 W. Chandler Road, Suite 100 Chandler, Arizona 85226 +1-877-347-MRAM (6726) +1-480-347-1111 Europe, Middle East and Africa support.europe@everspin.com Japan support.japan@everspin.com Asia Pacific support.asia@everspin.com Everspin Technologies, Inc. Information in this document is provided solely to enable system and software implementers to use Everspin Technologies products. There are no express or implied licenses granted hereunder to design or fabricate any integrated circuit or circuits based on the information in this document. Everspin Technologies reserves the right to make changes without further notice to any products herein. Everspin makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Everspin Technologies assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Typical parameters, which may be provided in Everspin Technologies data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters including Typical must be validated for each customer application by customer s technical experts. Everspin Technologies does not convey any license under its patent rights nor the rights of others. Everspin Technologies products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the Everspin Technologies product could create a situation where personal injury or death may occur. Should Buyer purchase or use Everspin Technologies products for any such unintended or unauthorized application, Buyer shall indemnify and hold Everspin Technologies and its officers, employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that Everspin Technologies was negligent regarding the design or manufacture of the part. Everspin and the Everspin logo are trademarks of Everspin Technologies, Inc. All other product or service names are the property of their respective owners. Copyright 2018 Everspin Technologies, Inc.