Wear Leveling Implementation on SQFlash

Similar documents
Ultra MLC Technology Introduction

Presented by: Nafiseh Mahmoudi Spring 2017

SSD (Solid State Disk)

Solid State Drive (SSD) Cache:

3ME3 Series. Customer Approver. InnoDisk Approver. Customer: Customer Part Number: InnoDisk Part Number: InnoDisk Model Name: Date:

SD series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME3 Series. Customer Approver. InnoDisk Approver. Customer: Customer Part Number: InnoDisk Part Number: InnoDisk Model Name: Date:

CFS3F Series Datasheet. Embedded Storage Solutions. Industrial. SATAIII CFast Card. CFS3FSeries CFXXXXXRX-XXXXXXXX. 27 Oct 2017

3SE Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

A File-System-Aware FTL Design for Flash Memory Storage Systems

3ME2 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3IE Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

3MG2-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3MG-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

3SE-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

College of Computer & Information Science Spring 2010 Northeastern University 12 March 2010

3ME2 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Sub-block Wear-leveling for NAND Flash

Understanding SSD overprovisioning

Customer: Customer. Part Number: Innodisk. Part Number: Innodisk. Model Name: Date: Customer. Innodisk. Approver. Approver

Datasheet. Embedded Storage. Solutions. Embedded SSD. SATAIII msata (mini PCIe) MSS4FIII Series

New KingFast Technology. F9 C-Drive Series. KF2710MCS08 SATA Solid State Drive Datasheet

SD series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

1MG3-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME4 Series. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date: Innodisk Approver. Customer Approver

3ME Series. Customer Approver. InnoDisk Approver. Customer: Customer Part Number: InnoDisk Part Number: InnoDisk Model Name: Date:

3MG2-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

S A N D I S K F L A S H M E M O R Y C A R D S W E A R L E V E L I N G

3SE4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

16:30 18:00, June 20 (Monday), 2011 # (even student IDs) # (odd student IDs) Scope

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

SD 3.0 series (SLC) Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

Datasheet. Embedded Storage Solutions. Industrial. SATA III 2.5 Solid State Drive. SED2FIV Series CSXXXXXRC-XX09XXXX. 04 Jul 2016 V1.

SD 3.0 series (MLC) Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

Customer: Customer. Part Number: Innodisk. Part Number: Innodisk. Model Name: Date: Customer. Innodisk. Approver. Approver

3SR-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

3MR-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

A Mixed Flash Translation Layer Structure for SLC-MLC Combined Flash Memory System

Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date: Innodisk Approver. Customer Approver

Solid State Drives (SSDs) Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

Chapter 6. Storage and Other I/O Topics

Customer: Customer. Part Number: Innodisk. Part Number: Innodisk. Model Name: Date: Customer. Innodisk. Approver. Approver

3ME Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

Virtual Memory. Reading. Sections 5.4, 5.5, 5.6, 5.8, 5.10 (2) Lecture notes from MKP and S. Yalamanchili

Using MLC Flash to Reduce System Cost in Industrial Applications

CSE 451: Operating Systems Spring Module 12 Secondary Storage. Steve Gribble

NAND Flash-based Storage. Computer Systems Laboratory Sungkyunkwan University

3MG2-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Differential RAID: Rethinking RAID for SSD Reliability

NAND Flash-based Storage. Jin-Soo Kim Computer Systems Laboratory Sungkyunkwan University

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Datasheet. Embedded Storage Solutions. Industrial. SATA III 2.5 Solid State Drive. SED2FIV Series CSXXXXXRC-XX10XXXX. 22 Aug 2017 V1.

3SR-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Gyu Sang Choi Yeungnam University

Understanding the Relation between the Performance and Reliability of NAND Flash/SCM Hybrid Solid- State Drive

3MG-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3SE4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

[537] Flash. Tyler Harter

3ME2 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3MG-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3MG2-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date: Innodisk Approver. Customer Approver

Device Statistics Solid State

GLS86FB008G2 / 016G2 / 032G2 / 064G2 Industrial Temp msata ArmourDrive

A Caching-Oriented FTL Design for Multi-Chipped Solid-State Disks. Yuan-Hao Chang, Wei-Lun Lu, Po-Chun Huang, Lue-Jane Lee, and Tei-Wei Kuo

GLS89SP032G3/064G3/128G3/256G3/512G3/001T3 Industrial Temp 2.5 SATA ArmourDrive PX Series

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

3MS4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Flash type comparison for SLC/MLC/TLC and Advantech s Ultra MLC technology

1ME Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

MS800 Series. msata Solid State Drive Datasheet. Product Feature Capacity: 32GB,64GB,128GB,256GB,512GB Flash Type: MLC NAND FLASH

3MV2-P Series. Customer Approver. Approver. Customer: Customer Part Number: Innodisk Part Number: Model Name: Date:

3ME3 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

USB-Disk Module 3.0 1U

Flash Memory Guide Portable Flash memory for computers, digital cameras, cell phones and other devices. kingston.com.flash

Datasheet. Embedded. Storage Solutions. Embedded SATA EDOM SATAIII. SDM0FII-V Series - 1 -

Storage Architecture and Software Support for SLC/MLC Combined Flash Memory

SD 3.0 series (islc) Customer. Approver. Approver. Customer: Customer. Part Number: Innodisk Part Number: Innodisk Model Name: Date:

Mass-Storage Structure

Datasheet. Embedded Storage Solutions. Industrial. SATA III 2.5 Solid State Drive. SED2FV Series. V Aug

A thin form, mini-size and long life msata SSD to support the new big data era.

CSE 451: Operating Systems Spring Module 12 Secondary Storage

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

InnoREC 3MV2-P. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

1SR-P Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

smxnand RTOS Innovators Flash Driver General Features

DMP SATA DOM SDM-4G-V SDM-8G-V SDM-16G-V

msata Mini Embedded Flash Module Engineering Specification

VISUAL NAND RECONSTRUCTOR

Datasheet. Embedded Storage Solutions. Industrial. SATA III 2.5 Solid State Drive. SED2FV Series. V Aug

Datasheet. Embedded. Storage Solutions. Embedded SATA EDOM SATAIII. SDM0F-V Series. CDXXXXGRT-XX07XXXX with Shell - 1 -

3ME4 Series. Customer Approver. Innodisk Approver. Customer: Customer Part Number: Innodisk Part Number: Innodisk Model Name: Date:

SFS: Random Write Considered Harmful in Solid State Drives

MUS- INDNGFF60XXXXX(3)

Transcription:

September, 2009 Version 1.0 Wear Leveling Implementation on SQFlash Author: Ethan Chen/ Tones Yen E-mail: ethan.chen@advantech.com.tw; tones.yen@advantech.com.tw

September, 2009 Version 1.0 Table of Contents Introduction...1 LBA vs PBA...1 Program Operations (Write)...1 Wear Leveling...1 SQFlah Wear Leveling...2 Dynamic Wear Leveling...2 Static Wear Leveling...3

Introduction LBA vs PBA NAND is similar to a hard-disk drive. It is sector-based (page-based), and fitted for storing sequential data such as picture files. The host system performs its data transfer (reads and writes) to LBA (logical block address) only. For example, the FAT information would also be stored from LBA X to LBA Y. The assigned allocation area for the FAT does not move in LBA, whereas the actual FAT table for the PBA (Physical Block Address) moves randomly from time to time. The PBA is the physical address of the NAND Flash. A mapping table is also required for the controller to remap the LBA to the PBA of the NAND Flash. Program Operations (Write) Programming is necessary to change erased bits from 1s to 0s. Due to the nature of NAND Flash, the smallest erasable entity is a block, and when erased, all bits are set to 1, or all bytes to FFh. If the host issues a write operation to certain pages of partially occupied PBA, the controller needs to find a spare, i.e., previously erased, block, and merge the old information on the PBA with the new incoming information issued from the host. The typical programmable write-erase endurance of each block is 100k for SLC flash, and 10k for MLC flash. Therefore, it is essential to deploy an efficient wear leveling algorithm to ensure that rite and erase operations are distributed evenly over all the blocks in the SSD. Wear Leveling Wear leveling is an algorithm by which the controller in the storage device re-maps logical block addresses to different physical block addresses in the solid-state memory array, to allow an even spread of writing/erasing over all NAND blocks. The frequency of this re-map depends on the algorithm to find the "least worn" areas to which to write, and any data swapping capabilities are generally considered proprietary intellectual property of the controller vendor. They key for wear-leveling is to minimize extra NAND write/erase cycles and reduce performance impact. Figure 1. X-axis represents the PBA of the NAND Flash. 1

SQFlash Wear Leveling SQFlash s Controller deploys two types of wear-leveling over the entire storage media: Dynamic and Static. Take the following scenarios for example: A 32 GB device stores 4 GB of files with 28 GB capacity remaining free for wear leveling. The SQFlash controller will deploy dynamic wear-leveling on the Dynamic Data Areas (28 GB of free capacity) to allow the incoming programming requests to distribute evenly across the 28 GB of free space. As the dynamic wear-leveling is being executed for X amount of time, the controller will also implement the static wear leveling method on the 4 GBs of Static Data Areas. To implement this, the controller will swap between a free block and a static data area block. The controller seeks very cold static blocks and very hot free blocks for swapping by block vector. Dynamic Wear Leveling SQFlash controller reserves a total of 1~2% spare blocks (not including init defective blocks) for wear-leveling. Furthermore, one queue is created by the controller for queuing numbers of spare blocks. Whenever a write command is received, the controller de-queues one spare block from the spare queue to start executing the write operation (Fig. 2). After that, when this block programming is finished, it en-queues the old mapped block into the spare queue and updates mapping between logical and physical flash blocks (Fig. 3). Due to queuing the operation, this simple round-robin operation will keep using the oldest existing block from the queue. In order to prolong the life cycle of MLC NAND-Flash, all blocks will be amortized using this wear-leveling method. 2

Static Wear Leveling BASE: Every Nth write command, change one logical block to a free block. (In this case N=1) STEP 1: Assume we have one flash disk; the internal architecture will be like that shown in FIG-4. 3

STEP 2: Logical and physical block mapping. (FIG-5) 4

STEP 3: Write the logical block 2 N times (FIG-6) FIG-6 5

STEP 4: Change a seldom-accessed block from the logical area to the free block area. (FIG-7) FIG-7 6

STEP 5: Mapping between the logical block and physical block (FIG-8) FIG-8 7

STEP 6: Write logical block 2 again. (FIG-9) FIG-9 8

STEP 7: Swap the seldom used block again. (FIG-10) FIG-10 9

STEP 8: Mapping relationship of logical blocks and physical areas (FIG-11) FIG-11 10 Advantech Co., Ltd. Founded in 1983, Advantech delivers visionary and trustworthy industrial computing solutions that empower businesses. We cooperate closely with solution partners to provide complete solutions for a wide array of applications in diverse industries, offering products and solutions in three business categories: Embedded eplatform, eservices & Applied Computing, and Industrial Automation groups. With more than 3,400 dedicated employees, Advantech operates an extensive support, sales and marketing network in 18 countries and 39 major cities to deliver fast time-to-market services to our worldwide customers. Advantech is a Premier Member of the Intel Embedded and Communications Alliance, a community of embedded and communications developers and solution providers. (Corporate Website: ). Copyright Copyright 2009 Advantech Co., Ltd. All rights reserved.

About Embedded Core Advantech Embedded Core Services provide integrated solutions, from boards to modules to software. Through cross collaboration, our design-in services can fulfill electronic engineering demands at the design-in phase and promise to bring benefits which can shorten the design and integration cycle, thereby minimizing uncertainty and risk. (Emb Core Website: ). Advantech Co., Ltd. Founded in 1983, Advantech delivers visionary and trustworthy industrial computing solutions that empower businesses. We cooperate closely with solution partners to provide complete solutions for a wide array of applications in diverse industries, offering products and solutions in three business categories: Embedded eplatform, eservices & Applied Computing, and Industrial Automation groups. With more than 3,400 dedicated employees, Advantech operates an extensive support, sales and marketing network in 18 countries and 39 major cities to deliver fast time-to-market services to our worldwide customers. Advantech is a Premier Member of the Intel Embedded and Communications Alliance, a community of embedded and communications developers and solution providers. (Corporate Website: ). Copyright 2009 Advantech Co., Ltd. All rights reserved. 11