Published on

1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Today, I’ll introduce the overview of flash memory, especially focused on the NAND-typed one. You may think that “why this topic is possible? It’s not related to virtual machine technology.” Yes, that’s right. Actually this topic is not related to virtual machine directly. But, as the first speaker said, the stateless PC, I mean, SoulPad is suggested recently thanks to the availability of portable storage. So I chose this topic as a connected issue of previous presentation. OK, let’s go to the next page.
  • This is the contents of today’s presentation. At first, I’ll introduce the basic concept of the stateless PC. And next, I’ll explain the flash memory basics. Then, FTL will be introduced. And the recent technology in this area and the research issues will be introduced. At last, I’ll summarize today’s presentation topic briefly.
  • You know, the concept of stateless PC has already been explained in the previous presentation. But I defined the terminology in more brief fashion It is like this. The PC that has no states, especially non-volatile states.
  • This is the simple picture that summarizes the main idea of stateless PC. Current PC consists of processor, main memory, main board, hard disk drive and so on. If we remove the hard disk from the PC, then the PC will be an stateless PC. Then where should we store the programs and data? The answer is a portable storage. Portable storage contains some essential software and private data. Yon can make your own computing environment in some other computers located in anywhere possible. At this moment, you can ask a question like this. What is the physical storage that can be used as a storage for states? OK, the answer is on the next page.
  • As you may predict, the answer is a flash memory. Then Why flash memory? There are many properties that the flash memory has in common. … 죽 읽는다 … ㅋㅋㅋ Among these properties, 4 properties are very good to be applied in the state storage. If we can access storage faster, then the suspend & resume time of private environment will be saved. And If the storage is not affected from any external shocks seriously, then we can take the storage and move to somewhere else with it more comfortably. The smaller size and lighter weight features are also good for portable environment.
  • ppt

    1. 1. Introduction to Flash Memory 2006. 11. 15. Mobile Embedded System Lab. Kiseok, Choi
    2. 2. Table of Contents <ul><li>Stateless PC </li></ul><ul><li>Flash Memory Basics </li></ul><ul><ul><li>NAND vs. NOR </li></ul></ul><ul><ul><li>SLC vs. MLC </li></ul></ul><ul><ul><li>NAND Flash Memory </li></ul></ul><ul><li>FTL (Flash Translation Layer) </li></ul><ul><ul><li>An FTL Design Based on Log Blocks </li></ul></ul><ul><ul><ul><li>The Log Block </li></ul></ul></ul><ul><ul><ul><li>The Map Block </li></ul></ul></ul><ul><ul><li>SSD (Solid State Disk) </li></ul></ul><ul><li>State-of-the-art Technologies </li></ul><ul><li>Research Issues </li></ul><ul><li>Summary </li></ul>
    3. 3. Stateless PC <ul><li>Definition : The PC that has no states, especially non-volatile states. </li></ul>
    4. 4. Stateless PC Stateless PC State <ul><li>What’s in the portable storage? </li></ul><ul><li>Operating Systems </li></ul><ul><li>File Systems </li></ul><ul><li>Private data </li></ul><ul><li>Applications </li></ul>Current PC Remove non-volatile states
    5. 5. Stateless PC <ul><li>Storage for the states </li></ul><ul><ul><li>Flash memory is a good solution for the physical storage. </li></ul></ul><ul><li>Why flash memory? </li></ul><ul><ul><li>Faster access </li></ul></ul><ul><ul><li>Shock / Temperature resistance </li></ul></ul><ul><ul><li>Smaller size </li></ul></ul><ul><ul><li>Lighter weight </li></ul></ul><ul><ul><li>Lower power </li></ul></ul><ul><ul><li>Noiseless (0dB) </li></ul></ul>
    6. 6. Flash Memory Basics <ul><li>Flash memory </li></ul><ul><ul><li>A non-volatile semiconductor memory device </li></ul></ul><ul><ul><li>Key feature : </li></ul></ul><ul><ul><ul><li>To overwrite data, the memory cell should be erased first. </li></ul></ul></ul><ul><li>Kinds of flash memory </li></ul><ul><ul><li>NOR </li></ul></ul><ul><ul><ul><li>Introduced by Intel in 1988 </li></ul></ul></ul><ul><ul><ul><li>Randomly access data, like a computer’s main memory </li></ul></ul></ul><ul><ul><ul><li>Use for executing program code </li></ul></ul></ul><ul><ul><li>NAND </li></ul></ul><ul><ul><ul><li>Introduced by Toshiba in 1989 </li></ul></ul></ul><ul><ul><ul><li>Smaller and denser. </li></ul></ul></ul><ul><ul><ul><li>-> NAND is better at storing data. </li></ul></ul></ul><ul><ul><ul><li>Faster erase and write time </li></ul></ul></ul>NOR NAND
    7. 7. NAND vs. NOR Pros of NAND Pros of NOR Cons of NAND Cons of NOR For Mass Storage For Code Storage 1. Smaller cell size 2. Limited bad blocks allowed 3. Fast writing 4. Lower power consumption 1. Fast random (read) access 1. Slow random (read) access 1. Larger cell size 2. No bad blocks are allowed 3. Slow writing 4. Higher power consumption We focus on the NAND flash memory!
    8. 8. NAND Flash Memory <ul><li>Organization of NAND flash memory </li></ul><ul><ul><li>Small-block flash memory </li></ul></ul><ul><ul><ul><li>Each page is (512 + 16) bytes long </li></ul></ul></ul><ul><ul><ul><li>32 pages in each block </li></ul></ul></ul><ul><ul><li>Large-block flash memory </li></ul></ul><ul><ul><ul><li>Each page is (2048 + 64) bytes long </li></ul></ul></ul><ul><ul><ul><li>64 pages in each block </li></ul></ul></ul>Page 0 Block 1 Page 1 Page m -1 Block n -1 Block 0 512 16 2048 64 <ul><li>Page layout for small-block flash memory </li></ul><ul><li>Page layout for large-block flash memory </li></ul>Main Area Spare Area chip
    9. 9. NAND Flash Memory <ul><li>Primitive operations of NAND flash memory </li></ul><ul><ul><li>Read page </li></ul></ul><ul><ul><ul><li>(chip #, block #, page #) </li></ul></ul></ul><ul><ul><ul><li>~20 us </li></ul></ul></ul><ul><ul><li>Write (program) page </li></ul></ul><ul><ul><ul><li>(chip #, block #, page #) </li></ul></ul></ul><ul><ul><ul><li>~200 us </li></ul></ul></ul><ul><ul><li>Erase block </li></ul></ul><ul><ul><ul><li>(chip #, block #) </li></ul></ul></ul><ul><ul><ul><li>~2 ms </li></ul></ul></ul>
    10. 10. FTL (Flash Translation Layer) + Device Driver Read Write Erase File System Read Sectors Write Sectors Mismatch! + Device Driver FTL + Read Sectors Write Sectors File System Read Sectors Write Sectors Flash Memory Flash Memory Flash Memory Flash Memory
    11. 11. FTL (Flash Translation Layer) <ul><li>Definition </li></ul><ul><ul><li>Software layer that makes flash memory appear to the system like a disk drive </li></ul></ul><ul><li>Challenges in FTL </li></ul><ul><ul><li>Asymmetry in read and write speeds </li></ul></ul><ul><ul><li>No overwrite is allowed without erasing </li></ul></ul>
    12. 12. FTL basics <ul><li>Read request from upper layer </li></ul><ul><ul><li>No problem. </li></ul></ul><ul><li>Write request from upper layer </li></ul><ul><ul><li>There is a problem. </li></ul></ul><ul><ul><ul><li>Erase operation must be done first (the erase operation is performed in a block unit) to overwrite data. </li></ul></ul></ul>
    13. 13. An FTL Design Based on Log Blocks <ul><li>Background </li></ul><ul><ul><li>2 kinds of blocks </li></ul></ul><ul><ul><ul><li>Data block: block level managed block (most) </li></ul></ul></ul><ul><ul><ul><li>Log block: page level managed block (a few) </li></ul></ul></ul><ul><ul><ul><ul><li>Temporary storage for small size writes to data blocks </li></ul></ul></ul></ul>valid valid valid valid Write! Data is written to the log block Data Block Log Block
    14. 14. An FTL Design Based on Log Blocks <ul><li>Whenever the log block is full, </li></ul><ul><ul><li>We need to merge the data block and the log block. </li></ul></ul>
    15. 15. An FTL Design Based on Log Blocks <ul><li>Merge Operation </li></ul><ul><ul><li>Log Block Merge </li></ul></ul>valid valid valid valid valid valid valid valid Free blocks Data Block Log Block Data Block Free Block
    16. 16. An FTL Design Based on Log Blocks <ul><li>Merge Operation (cont’d) </li></ul><ul><ul><li>Log Block Switch </li></ul></ul>valid valid valid valid valid valid valid valid Free blocks Data Block Data Block Log Block
    17. 17. An FTL Design Based on Log Blocks <ul><li>Where is the mapping information? </li></ul><ul><ul><li>Mapping information : logical address to physical address </li></ul></ul><ul><ul><li>It is stored in map blocks. </li></ul></ul>
    18. 18. Map Block <ul><li>The Map Block </li></ul><ul><ul><li>Where to store the mapping information </li></ul></ul><ul><ul><ul><li>Previous scheme: each page/block in the associated spare area in the form of logical address tags </li></ul></ul></ul><ul><ul><ul><ul><li> requiring scanning of the entire space of flash memory to collect logical address tags </li></ul></ul></ul></ul><ul><ul><ul><li>Map blocks: dedicated blocks to enable faster startup and on-demand fetching </li></ul></ul></ul><ul><ul><ul><ul><li> using map blocks in a round robin manner </li></ul></ul></ul></ul><ul><ul><ul><li>Map Directory: the map of the mapping table in SRAM and is used to locate each portion of the mapping table stored in map blocks </li></ul></ul></ul><ul><ul><ul><ul><li> the map directory is stored in a reserved area of the flash memory </li></ul></ul></ul></ul>
    19. 19. SSD (Solid State Disk) <ul><li>The disk that uses the semiconductor as storage </li></ul><ul><ul><li>DRAM-based </li></ul></ul><ul><ul><li>Flash-based </li></ul></ul><ul><ul><ul><li>P-ATA / S-ATA interface </li></ul></ul></ul><ul><ul><ul><li>FTL </li></ul></ul></ul><ul><ul><ul><li>NAND flash memory </li></ul></ul></ul><ul><li>Target markets </li></ul><ul><ul><li>Enterprise server storage </li></ul></ul><ul><ul><li>Mainstream PC storage </li></ul></ul>
    20. 20. SSD (Solid State Disk) <ul><li>HYDRA project </li></ul><ul><ul><li>2005.9 ~ </li></ul></ul><ul><ul><li>Mtron + SNU </li></ul></ul><ul><ul><li>3.5 inch engineering sample already released </li></ul></ul>(PCMark 04) 46.2 8.4 General HDD Usage 56.3 27.8 File Copying 58.2 10.0 Application loading 54.8 11.0 XP Startup 30787 6110 Overall score SSD (HYDRA) HDD (Rapter 10krpm)
    21. 21. State-of-the-art Technologies <ul><li>In the perspective of the pure NAND </li></ul><ul><ul><li>Copy-back operation </li></ul></ul><ul><ul><ul><li>Using internal data copies, data transfer overhead can be removed (used for merge operations). </li></ul></ul></ul><ul><ul><li>Cache programming </li></ul></ul><ul><ul><ul><li>Besides the page register, there’s a cache register. </li></ul></ul></ul><ul><ul><ul><li>Using double buffering, throughput can be increased. </li></ul></ul></ul>
    22. 22. State-of-the-art Technologies <ul><li>In the perspective of new-typed NAND </li></ul><ul><ul><li>Hybrid systems are proposed. </li></ul></ul><ul><ul><ul><li>Pure NAND is not well suitable for running applications </li></ul></ul></ul><ul><ul><ul><li>dynamic/static RAM component + NAND </li></ul></ul></ul><ul><ul><ul><ul><li>OneNAND = SRAM + NAND </li></ul></ul></ul></ul><ul><ul><ul><li>High performance (read/write) </li></ul></ul></ul><ul><ul><ul><li>More expensive and less energy efficient </li></ul></ul></ul>
    23. 23. Research Issues <ul><li>How to handle of bad blocks </li></ul><ul><ul><li>Initial bad block and run-time bad block </li></ul></ul><ul><ul><li>Usually handled by the “bad block table” method </li></ul></ul><ul><li>Wear-Leveling </li></ul><ul><ul><li>There’s a limit on the number of erases </li></ul></ul><ul><ul><li>About 100,000 times </li></ul></ul><ul><ul><li>Need to erase flash memory blocks evenly </li></ul></ul><ul><li>How to improve performance effectively </li></ul>
    24. 24. Summary <ul><li>Stateless PC will replace the current PC in the future. </li></ul><ul><li>Reliable & fast portable storage is required for non-volatile storage of states. </li></ul><ul><li>Flash memory is a good choice for storage. </li></ul><ul><li>So the research focused on how to improve flash memory performance/capacity/durability is required. </li></ul>