Yan-Yu Huang, 2013 IEE5008 –Autumn 2013 Memory Systems NAND Flash Memory Controller Yan-Yu Huang Department of Electronic Engineering National Chiao Tung.

Slides:



Advertisements
Similar presentations
Princess Sumaya Univ. Computer Engineering Dept. Chapter 6:
Advertisements

MEMORY popo.
Tuning of Loop Cache Architectures to Programs in Embedded System Design Susan Cotterell and Frank Vahid Department of Computer Science and Engineering.
INPUT-OUTPUT ORGANIZATION
Flash storage memory and Design Trade offs for SSD performance
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
1 Design Issues of Flash-based SSD& Hybrid Disks Han-Lin Li Dept. Computer Science and Information Engineering National Taiwan University Advisor: Prof.
Trading Flash Translation Layer For Performance and Lifetime
Operating Systems ECE344 Ashvin Goel ECE University of Toronto Disks and RAID.
FlashVM: Virtual Memory Management on Flash Mohit Saxena and Michael M. Swift Introduction Flash storage is the largest change to memory and storage systems.
International Conference on Supercomputing June 12, 2009
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
Modeling a NAND Flash Memory Storage Subsystem Toward a Unified Performance and Power Consumption NAND Flash Memory Model of Embedded and Solid State Secondary.
Hystor : Making the Best Use of Solid State Drivers in High Performance Storage Systems Presenter : Dong Chang.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
Solid State Drive Feb 15. NAND Flash Memory Main storage component of Solid State Drive (SSD) USB Drive, cell phone, touch pad…
INPUT-OUTPUT ORGANIZATION
Operating Systems CMPSC 473 I/O Management (2) December Lecture 24 Instructor: Bhuvan Urgaonkar.
ICOM 6005 – Database Management Systems Design Dr. Manuel Rodríguez-Martínez Electrical and Computer Engineering Department Lecture 6 – RAID ©Manuel Rodriguez.
Understanding Intrinsic Characteristics and System Implications of Flash Memory based Solid State Drives Feng Chen, David A. Koufaty, and Xiaodong Zhang.
CSE 321b Computer Organization (2) تنظيم الحاسب (2) 3 rd year, Computer Engineering Winter 2015 Lecture #4 Dr. Hazem Ibrahim Shehata Dept. of Computer.
RAID: High-Performance, Reliable Secondary Storage Mei Qing & Chaoxia Liao Nov. 20, 2003.
Input/OUTPUT [I/O Module structure].
Origianal Work Of Hyojun Kim and Seongjun Ahn
Logging in Flash-based Database Systems Lu Zeping
Three fundamental concepts in computer security: Reference Monitors: An access control concept that refers to an abstract machine that mediates all accesses.
/38 Lifetime Management of Flash-Based SSDs Using Recovery-Aware Dynamic Throttling Sungjin Lee, Taejin Kim, Kyungho Kim, and Jihong Kim Seoul.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
Speaker: 吳晋賢 (Chin-Hsien Wu) Embedded Computing and Applications Lab Department of Electronic Engineering National Taiwan University of Science and Technology,
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
Microcontroller Presented by Hasnain Heickal (07), Sabbir Ahmed(08) and Zakia Afroze Abedin(19)
2010 IEEE ICECS - Athens, Greece, December1 Using Flash memories as SIMO channels for extending the lifetime of Solid-State Drives Maria Varsamou.
Lecture 16: Storage and I/O EEN 312: Processors: Hardware, Software, and Interfacing Department of Electrical and Computer Engineering Spring 2014, Dr.
I/O Computer Organization II 1 Introduction I/O devices can be characterized by – Behavior: input, output, storage – Partner: human or machine – Data rate:
Design of Flash-Based DBMS: An In-Page Logging Approach Sang-Won Lee and Bongki Moon Presented by Chris Homan.
Embedded System Lab. Jung Young Jin The Design and Implementation of a Log-Structured File System D. Ma, J. Feng, and G. Li. LazyFTL:
EEE440 Computer Architecture
Wei-Shen, Hsu 2013 IEE5011 –Autumn 2013 Memory Systems Solid State Drive with Flash Memory Wei-Shen, Hsu Department of Electronics Engineering National.
Flash Memory. Points of Discussion  Flash Memory Generalities  Construction & Properties  History of Flash Memory  NOR & NAND Architectures  Optimizations.
Yi-Lin, Tu 2013 IEE5011 –Fall 2013 Memory Systems Wide I/O High Bandwidth DRAM Yi-Lin, Tu Department of Electronics Engineering National Chiao Tung University.
L/O/G/O Input Output Chapter 4 CS.216 Computer Architecture and Organization.
Shih-Fan, Peng 2013 IEE5008 –Autumn 2013 Memory Systems DRAM Controller for Video Application Shih-Fan, Peng Department of Electronics Engineering National.
연세대학교 Yonsei University Data Processing Systems for Solid State Drive Yonsei University Mincheol Shin
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Lecture 22 SSD. LFS review Good for …? Bad for …? How to write in LFS? How to read in LFS?
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
Overview von Neumann Architecture Computer component Computer function
1 Design Issues of Flash-based SSD& Hybrid Disks Han-Lin Li Dept. Computer Science and Information Engineering National Taiwan University Advisor: Prof.
Group 1 chapter 3 Alex Francisco Mario Palomino Mohammed Ur-Rehman Maria Lopez.
Lesson 2 Component Overview Core Hardware Fundamentals.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
1 CEG 2400 Fall 2012 Network Servers. 2 Network Servers Critical Network servers – Contain redundant components Power supplies Fans Memory CPU Hard Drives.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
ECE 456 Computer Architecture Lecture #9 – Input/Output Instructor: Dr. Honggang Wang Fall 2013.
Amdahl’s Law & I/O Control Method 1. Amdahl’s Law The overall performance of a system is a result of the interaction of all of its components. System.
대용량 플래시 SSD의 시스템 구성, 핵심기술 및 기술동향
 The emerged flash-memory based solid state drives (SSDs) have rapidly replaced the traditional hard disk drives (HDDs) in many applications.  Characteristics.
DATABASE OPERATORS AND SOLID STATE DRIVES Geetali Tyagi ( ) Mahima Malik ( ) Shrey Gupta ( ) Vedanshi Kataria ( )
Chin-Hsien Wu & Tei-Wei Kuo
Solid State Disk Prof. Moinuddin Qureshi Georgia Tech.
Internal Parallelism of Flash Memory-Based Solid-State Drives
Introduction I/O devices can be characterized by I/O bus connections
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
UNIT IV RAID.
Chapter 13: I/O Systems.
Design Tradeoffs for SSD Performance
Presentation transcript:

Yan-Yu Huang, 2013 IEE5008 –Autumn 2013 Memory Systems NAND Flash Memory Controller Yan-Yu Huang Department of Electronic Engineering National Chiao Tung University, Hsinchu, Taiwan, R.O.C.

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Outline Introduction Overview of a Basic Controller Structure Flash Translation Layer Multichip Parallelism in Flash memory A variety of Different Architectures Controllers Conclusion Reference 2

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Introduction Improve chip performance Bit-flipping errors Bad blocks Increase battery life Reduces the CPU load on the device Do the operation independently Increases the overall throughput Reduce the load on the system 3

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Introduction Integrated controller Smaller chip size Cheaper cost Inevitable delay between a new Flash technology Dedicated or External controller Sourced independently of other parts. More flexible design Cost more money 4

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Overview of a Basic Controller Structure Host may be a computer or a terminal. FTL translates host request into flash request. Controller decide what time and which chip should work. Flash chip do read, write page or erase block. 5 Flash Controller FTL Host

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Flash Translation Layer ( FTL ) Maintain a mapping between logic address and physical address. Page level  One logical sector maps one physical block.  More flexible  Requires a large amount of memory for mapping table. Block level  One logical block maps one physical block.  It requires extra flash operations when only a few pages in a logical block are modified. 6

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Flash Translation Layer ( FTL ) A basic structure of FTL Garbage Collection Bad Block Management Error Checking and Correcting Wear Leveling Low Level Driver 7 Flash Controller FTL Host

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Garbage Collection Collect the valid data from the scattered blocks 8

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Low Level Driver Provide basic operation. That executes the operation directly on NAND Flash memory device.  Read  Write  Erase 9

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Error Checking and Correcting ( ECC ) That can detect and correct the most common kinds of internal data corruption. Maintains a memory system immune to single-bit errors. 10 N: the number of bits of a block E : the number of errors in a block P : the bit error rate

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Wear Leveling Maximizes the life span of NAND flash as each cell is used evenly. Static Dynamic 11

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Wear Leveling Implementing static wear leveling. All good blocks are evenly distribute the wear. With an additional step Implementing dynamic wear leveling. Select the one with the lowest erase count for the next write Only the non-static part of array is wear-leveling 12

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Bad Block Management ( BBM ) Perform write verification and remapping to spare sectors in case of write failure. 13

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Bad Block Management ( BBM ) Skip Block Method With a bad block table when the target address is address of bad block then chose the next. Reverse Block Method re-directed to a 14 Reserved Block Area

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Multichip parallelism in Flash memory Flash memory management High data accessing speed Chip-level Bus-level 15 Flash Controller FTL Host

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Multichip parallelism in Flash memory Chip-level Increase the effective bandwidth of flash operations. Maximum bandwidth is limited by the bus. 16

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Multichip parallelism in Flash memory Bus-level Parallel flash operation can across chips by different flash bus. Cost more area than chip-level. 17

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 A variety of Different Architectures Controllers Chip-level For FPGA application Bus-level & Chip-level Scalable Multi-channel Parallel Controller 18 Flash Controller FTL Host

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Controller for FPGA Application Provides a main state-machine with an enhance command. 19 System reset Enable signal Sub-state machine Interrupt signal timing sequences Reverse Block Method

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Scalable Multi-channel Parallel Controller Multi-channel parallelism 20 Addressed uniformly state

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Scalable Multi-channel Parallel Controller Switching fabric to implement the multi-channel parallel access mechanism. 21 Stored the request Select signal Data path The number of the request Data command address

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Scalable Multi-channel Parallel Controller The single controller Main Control Module ECC Module 22 request Implement the control of flash operation control logic

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Scalable Multi-channel Parallel Controller Main Control Module Core of the single controller with a main state machine. 23 Stored the data need to input or output request Main control logic Main state machine Sub-state machine Generate different control signal

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Scalable Multi-channel Parallel Controller ECC Module Generates a ECC code of each page Detect the bit-flipping errors Modify one bit error 24 request Program page operation data ECC code Spare data area of the target chip

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Scalable Multi-channel Parallel Controller ECC Module Generates a ECC code of each page Detect the bit-flipping errors Modify one bit error 25 request read page operation Old code Bit-flipping error ? New code Address of error bit

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Conclusion Controller for FPGA Application Advantage  Without caring about the timing sequences  Replace the invalid block Disadvantage  Bit-flipping  Reliability The scalable Multi-channel Parallel Controller Advantage  Exploit the multi-chip parallelism to improve the bandwidth.  New dynamic replacing strategy for the mapping table. Disadvantage  For increase the bandwidth more channel will be needed. 26

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Conclusion Improve chip performance Handle the bit errors Bad blocks management Wear leveling High data accessing speed Flash memory management A well designed controller gets the maximum bandwidth of the NAND Flash device, whereas poorly designed one only reduces system performance. 27

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Reference [1] Jose, S.T., Pradeep, C., “Design of a Multichannel NAND Flash Memory Controller for Efficient Utilization of Bandwidth in SSDs”, 2013 International Multi-Conference on Automation, Computing, Communication, Control and Compressed Sensing (iMac4s), pp , Mar [2] Micron Technology, Inc. All Rights Reserved, (2013), Choosing the Right NAND, Retrieved 2013 Nov 30 form URL: [3] Yang Ou, Nong Xiao, Mingche Lai, “A Scalable Multi-channel Parallel NAND Flash Memory Controller Architecture”, 2011 Sixth Annual China Grid Conference, pp , Aug [4] Eyee Hyun Nam, Bryan Suk Joon Kim, Hyeonsang Eom, Sang Lyul Min, “Ozone (O3): An Out-of-Order Flash Memory Controller Architecture”, IEEE Transactions on Computers, vol. 60, no. 5, pp , May [5] Jose, S.T., Pradeep, C., “Design of a Multichannel NAND Flash Memory Controller for Efficient Utilization of Bandwidth in SSDs”, 2013 International Multi-Conference on Automation, Computing, Communication, Control and Compressed Sensing (iMac4s), pp , Mar [6] Chuan-Sheng Lin,Lan-Rong Dung, “A NAND Flash memory controller for SD/MMC flash memory card”, IEEE TRANSACTIONS ON MAGNETICS, vol. 43, no. 2, pp , Feb [7] Tang Lei, Zhou Xuan, Wu Yao, Li Jincheng, “Flash controller design for FPGA application”, ICEEE 2010 International Conference, pp. 1-4, Nov [8] Chanik Park, Prakash Talawar, Daesik Won, MyungJin Jung, JungBeen lm, Suksan Kim and Youngjoon Choi, “A high performance controller for NAND Flash-based solid state disk (NSSD)”, IEEE 21 st Non-Volatile Semiconductor Memory Workshop, pp , Feb [9] Y.J. Seong, E.H. Nam, J.H. Yoon, H. Kim, J.-y. Choi, S. Lee, Y.H. Bae, J. Lee, Y. Cho, nd S.L. Min, “Hydra: a block-mapped parallel flash memory solid-state disk architecture”, IEEE Transactions on Computers, vol. 59, no. 7, pp , Jul

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang, 2013 Reference [10] L.-P. Chang and T.W. Kuo, “An adaptive striping architecture for flash memory storage systems of embedded systems”, in Proceedings of the 8th Real-Time and Embedded Technology and Applications Symposium, San Jose, California, USA, pp , [11] N. Agrawal, V. Prabhakaran, T. Wobber, J.D. Davis, M. Manasse,and R. Panigrahy, “Design Tradeoffs for SSD Performance,” Proc.USENIX Ann. Technical Conf., [12] C. Dirik and B. Jacob, “The Performance of PC Solid-State Disks (SSDs) as a Function of Bandwidth, Concurrency, Device Architecture, and System Organization,” Proc. 36 th Int’l Symp.Computer Architecture, [13] Jin Hyuk Yoon, Eyee Hyun Nam, Yoon Jae Seong, Hongseok Kim, Bryan S. Kim, Sang Lyul Min, and Yookun Cho, “Chameleon: A High Performance Flash/FRAM Hybrid Solid State Disk Architecture”, IEEE Computer Architecture Letters, vol. 7, pp. 17, Jan [14] FUSION IO, ioDrive datasheet, [15] Denali, NAND Flash Controller IP,

NCTU IEE5011 Memory Systems 2013Yan-Yu Huang,