Flash Translation Layer (FTL) Exploration Through SSDmodel Source Code

exploration ftl functionalities through ssdmodel n.w
1 / 16
Embed
Share

Explore the functionalities of Flash Translation Layer (FTL) through SSDmodel source code, investigating input and output parameters of DiskSim simulator. Learn about address mapping, wear leveling, interleaving, and more. Presentation for DSN Group Meeting at Sharif University of Technology.

  • Flash Translation Layer
  • FTL
  • SSDmodel
  • DiskSim
  • Sharif University

Uploaded on | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Exploration FTL Functionalities Through SSDmodel Source Code & Investigating the Input and Output Parameters of DiskSim Presentation for DSN Group Meeting By: Reza Faridmoayer Supervisor: Dr. Asadi Sharif University of Technology, Department of Computer Engineering April 12, 2011

  2. Outline Flash Translation Layer Exploration Available FTL Functionalities through SSDmodel Source Code Investigating the Input file of DiskSim Simulator Investigating the output file of DiskSim Simulator Demonstrating different functionalities of DiskSim FTL by running different available options in DiskSim (Next Presentation) 3/18/2025 2 Sharif University of Technology, Department of Computer Engineering

  3. Flash Translation Layer (FTL) SSD controller for handling three basic operations: Read, write , and erase FTL functionalities: 1) Page-mapping scheme 2) Block-mapping scheme 3) Hybrid-mapping scheme Address Mapping Wear Leveling Interleaving Bad block management Power-off-recovery 3/18/2025 3 Sharif University of Technology, Department of Computer Engineering

  4. Exploration FTL Functionalities Through SSDmodel Source Code Available Functionalities: Address Mapping Page-mapping scheme Wear Leveling Interleaving Unavailable Functionalities: Bad block management Power-off-recovery 3/18/2025 4 Sharif University of Technology, Department of Computer Engineering

  5. Exploration FTL Functionalities Through SSDmodel Source Code (Cont.) Address Mapping Page-mapping scheme Advantage o Writing data to any free pages in flash memory Shows better performance Disadvantages o Occupying Very large amount of memory space (both in RAM and flash memory) Utilization garbage collection: Increasing the number of copy and erase operations Performance degradation 3/18/2025 5 Sharif University of Technology, Department of Computer Engineering

  6. Exploration FTL Functionalities Through SSDmodel Source Code (Cont.) o Mapping function // void _ssd_write_page_osr Wear Leveling Three wear leveling algorithm: Greedy-wear-aware Greedy-wear-agnostic Random (Not supported) 3/18/2025 7 Sharif University of Technology, Department of Computer Engineering

  7. Exploration FTL Functionalities Through SSDmodel Source Code (Cont.) Greedy-wear-aware Selecting the block with the oldest erase time as a coldest block Selecting the block with the remaining lifetime less than retirement threshold Migrating the valid pages Cleaning the coldest block Allocating the coldest block //int ssd_pick_wear_aware_with_migration 3/18/2025 8 Sharif University of Technology, Department of Computer Engineering

  8. Exploration FTL Functionalities Through SSDmodel Source Code (Cont.) Greedy-wear-agnostic Creating the list of blocks with the least number of valid pages. Selecting the block at the head of the list Cleaning the selected block Selecting the block with oldest erase time as a coldest block. Migrating the valid pages from coldest block Cleaning & allocating the coldest block //static int ssd_pick_block_to_clean2 3/18/2025 Sharif Unversity of Technology, Department of Computer Engineering 9

  9. Investigating the Input file of DiskSim Simulator IOzone.parv as an example Options Comments Mapping schemes # A simple read-modify-erase-write policy = 1 # osr write policy =2 Write policy=2 # Random = 1 (not supp), greedy = 2, wear-aware = 3 Cleaning policy = 2 # Number of planes in each flash package (element) Planes per package = 8 Wear Leveling algorithms # Number of flash blocks in each plane Blocks per plane = 2048 Flash chip elements = 8 Page size = 8 Pages per block = 64 3/18/2025 Sharif Unversity of Technology, Department of Computer Engineering 10

  10. Investigating the Input file of DiskSim Simulator (Cont.) Options Comments # Changing the no of blocks from 16184 to 16384 Blocks per element = 16384 (1*8*2048) # Simple concatenation = 1, plane-pair stripping = 2 (not tested), full stripping = 3 Plane block mapping = 3 The blocks mapping on planes of an element. # Copy-back enabled (1) or not (0) Copy back = 1 # entire elem = 1, two dies = 2, four plane-pairs = 4 Number of parallel units = 1 # each gang = 0, each elem = 1, each plane = 2 Allocation pool logic = 1 Allocation pool # Elements are grouped into a gang Elements per gang = 1 3/18/2025 Sharif Unversity of Technology, Department of Computer Engineering 11

  11. Investigating the Output file of DiskSim Simulator Iozone.outv as an example ssd #0 elem #0 SSD cleaning statistics Total reqs issued: 1125180 o Total_reqs_issued=read_total+write_total Total time taken: 347662.760004 IOPS o (Tot_reqs_issued*1000)/(tot_time_taken) 3/18/2025 Sharif Unversity of Technology, Department of Computer Engineering 13

  12. Investigating the Ouput file of DiskSim Simulator (Cont.) Total cleaning reqs issued: 16228 o no of times cleaning on this element Total cleaning time taken: 24342.000000 Sum of cleaning time o Total pages migrated: 0 no of pages migrated o Clean IOPS: 666.666667 (Total cleaning reqs issued*1000)/(total cleaning time taken) o Overall IOPS: 3068.261815 3/18/2025 Sharif Unversity of Technology, Department of Computer Engineering 14

  13. Investigating the Ouput file of DiskSim Simulator (Cont.) (Total reqs issued*1000)/(Total cleaning time taken+ Total time taken) o Number of free blocks: 824 Number of free blocks in this element o Average lifetime: 49.009521 Average remaining lifetime on all of the blocks in the element o 50 16384 16228 ?? ?? ?????? ?? ? ? ??????? o ??????? ???????? = Plane Level Statistics 0:(2089) 1:(2041) 2:(1954) 3:(1959) 4:(2058) 5:(1952) 6:(2107) 7:(2068) 3/18/2025 Sharif Unversity of Technology, Department of Computer Engineering 15

  14. Investigating the Ouput file of DiskSim Simulator Block Lifetime Distribution < 20 < 40 < 60 0 0 o Bucket size=6 < 80 1049 < 100 627 >= 100 14708 0 4 0 1 2 3 5 o ???? =???_???????? 100 ???_ ???????? o Calculates the ???? for each block of element o If the ???? 100 no erase in block o Else increment the ( ??? ????) th element of the array 6 3/18/2025 Sharif Unversity of Technology, Department of Computer Engineering 16

  15. proposed method proposed method Previous page mapping scheme with a new garbage collection technique New garbage collection technique Selects a new block from a pool of free blocks Selects the block with minimum number of valid pages as a victim block Copies the valid pages from the victim block to a free block. Erase the victim block Update the mapping table to the new block. 3/18/2025 Sharif University of Technology, Department of Computer Engineering 17

  16. THANK YOU FOR YOUR ATTENTION 3/18/2025 Sharif University of Technology, Department of Computer Engineering 18

More Related Content