了解硬件特性有助于我们针对特性进行进一步的探索与优化;本文主要介绍SSD的FTL(Flash Translation Layer);

FTL所在的位置:

在设备端:

在主机端:

Interface Adapter——接口适配:

在内部FTL中主要关联eMMC/SCSI/SATA/PCIe/NVMe等接口,而在外部FTL中主要关联Linux Block Device。

Address Translation——映射管理

地址映射,也可以叫做mapping,负责逻辑地址和物理地址之间的映射,多技术模块都以该机制为核心进行。众所周知,Nand Flash具有写时擦除的特性,因此写入数据时不得不异地更新。

Garbage Collection——垃圾回收

垃圾回收,简称GC,回收异地更新产生的脏数据所占空间的回收工作。

Trim

Trim是一种用来增加GC垃圾回收效率的算法。

没有Trim的话,会出现这样一种情况:在操作系统删除一个文件,实际上数据在物理层面上并没有被删除。

Wear Leveling——磨损平衡

缩短不同块之间的擦写次数差别,均衡闪存块的寿命;分为动态磨损平衡和静态磨损平衡;

掉电恢复——Power off Recovery:

掉电恢复,简称POR。正常掉电,SSD会把缓存中的数据刷新到闪存,重新加载保存的数据即可。如果是异常掉电,因为某些人为或自然外力的原因导致数据没有成功写入到Nand中,掉电恢复要恢复到掉电前的安全状态,比如恢复RAM中的数据和Address Translation中的映射表。

Error Handler——坏块管理

处理读写操作中遇到的Fatal Error或ECC Error状况,以及Bad Block或Weak Block的管理。略过坏块或者跳过坏块;

SLC cache

SLC cache是把MLC或者TLC的一部分闪存块,配置为更优速度优势的SLC模式来作为Cache使用,让SSD具有更好的突发性能。不过一般主要用于消费级SSD或者移动存储中,主要原因是SLC Cache具有更好的突然性能,但是企业级SSD更追求稳定的速度;

RD & DR

RD指的是Read Disturb,DR指的是Data Retention。两者都能导致数据丢失,但原理和固件处理方式都不一样;

RD——对一个闪存块来说,每次读其中的一个闪存页,都需要在其他字线(Wordline)上加较高的电压以保证晶体管导通。这个操作有点类似于轻量的写操作;长期会导致比特翻转;因此需要在达到读阈值之前对这个闪存块上的数据进行刷新;

DR——电子从浮栅极跑出,导致比特翻转;由FTL定期扫描,翻转超出阈值进行数据刷新,避免数据丢失;

Host Based FTL

SSD有Host Based FTL和Device Based FTL两种模式。

Host Based把FTL放在主机驱动程序中,Device Based则是把FTL放在SSD主控内部。

Host Based SSD一般的模式是把闪存的读写接口直接开放给驱动程序,这样驱动程序就能自行管理闪存内部资源。控制器大都采用可编程逻辑器件FPGA,功能比较简单,主要实现ECC纠错和闪存时序控制。

SSD的FTL——深入浅出SSD笔记相关推荐

  1. 深入浅出SSD 学习笔记整理——Johnathan Sung

    SSD ( Solid State Drive),即固态硬盘,是一种以半导体闪存( NAND Flash)作为介质的存储设备.和传统机械硬盘(Hard Disk Drive,HDD)不同,SSD以半导 ...

  2. 深入浅出SSD笔记 第1章 SSD综述

    深入浅出SSD笔记 第1章 SSD综述 第1章 SSD综述 1.1.1 存储技术概览 易失性存储器(VM,Volatile memory) 非易失性存储器(`NVM, Non-Volatile mem ...

  3. 【读书笔记】深入浅出SSD

    本篇文章大部分都是转载,少部分内容为个人补充,作为存储行业SSD部分入门很有帮助. 转载自 https://www.cnblogs.com/lmhyhblog/p/12508849.html ,辛苦作 ...

  4. 在线ssd测试软件,AS SSD Benchmark测试

    AS SSD Benchmark测试 ● AS SSD Benchmark AS SSD是基于全方位性能的测试软件,它使用了非常深度的Queue Depth(QD)队列深度,以及非压缩测试. • AS ...

  5. 徐无忌深入浅出网络笔记:什么是OSI七层网络模型

    徐无忌深入浅出网络笔记:什么是OSI七层网络模型 完成:第一遍 1.什么是OSI? OSI即开放式系统互联(Open System Interconnection) 是期望的标准框架 2.OSI自下向 ...

  6. 你知道企业级SSD与消费级SSD的区别吗?

    [引语] 前两天,一位从事大数据工作的好朋友问我: "企业级SSD与消费级SSD的区别是什么?" "大数据中心能否采用消费级SSD?" 我想,大部分朋友应该都知 ...

  7. 产品经理深入浅出学习笔记

    @TOC产品经理深入浅出学习笔记 发现市场需求 -> 商业需求文档(BRD)-> 组织团队头脑风暴(关键节点把控,梳理思路)-> 面对团队中出现的各种阻力与不同意见.能有效的化解与统 ...

  8. mysql ssd优化_针对 SSD 的 MySQL IO 优化

    现在数据库标配基本都是SSD了,在使用SSD之前,对SSD进行了充分的测试,这其中当然包括最为关键的性能测试部分.下面就跟大家分享一下在SSD性能测试过程中遇到的一个问题和解决问题的思路. 我们的性能 ...

  9. 24考研深入浅出计算机网络笔记【更新中】

    24考研深入浅出计算机网络笔记 文章目录 24考研深入浅出计算机网络笔记 前言 第一章 概述 1.1 因特网概述 1.2 电路交换.分组交换和报文交换 1.3 计算机网络的定义和分类 1.3.1 计算 ...

  10. ssd网络结构_封藏的SSD(Single Shot MultiBox Detector)笔记

    关注oldpan博客,侃侃而谈人工智能深度酝酿优质原创文! 阅读本文需要xx分钟 ? 前言 本文用于记录学习SSD目标检测的过程,并且总结一些精华知识点. 为什么要学习SSD,是因为SSD和YOLO一 ...

最新文章

  1. Tomcat异常退出
  2. [**经典**] 电脑故障检查不完全流程图
  3. BZOJ 2669 Luogu P3160 [CQOI2012]局部极小值 (容斥原理、DP)
  4. 我的Java知识复习回顾笔记
  5. mysql表连接_mysql表连接
  6. Silverlight 图片路径问题
  7. paip.java 开发中web server的选择jboss resin tomcat比较..
  8. OpenSSL常用命令总结
  9. JMeter压力测试步骤
  10. 本篇文章带你秒懂——区块链到底是什么鬼?
  11. 自然语言处理技术的进展和趋势
  12. mysql 查找差值最小_mysql获取两个表中日期字段的最小差值
  13. React中文文档 7. 条件渲染
  14. java实现生成验证码图片
  15. 网站的中英文切换--i18next
  16. 2022年数维杯国际大学生数学建模挑战赛C题如何利用大脑结构特征和认知行为特征诊断阿尔茨海默病解题过程
  17. 台式机电源科普 ATX SFX FLEX
  18. vue绑定background_vue动态绑定background:url绑不上的问题
  19. 我的世界服务器截图文件在哪个文件夹,迷你世界W7截图保存在哪个文件夹 | 手游网游页游攻略大全...
  20. AutoHotkey 鼠标控制命令

热门文章

  1. linux kernel配置调试方法
  2. 【PB】动态报表格式自由定义的实现
  3. AutoIt的录制(AU3Record)
  4. Android之drawable下快速生成icon图片vector
  5. 读书若谈恋爱:如何阅读一本书?
  6. linux删除大量过期文件,linux删除大量文件的6种方法
  7. python 004 __小斌文档 | 判断和循环
  8. Snapchat面试题:移除K位
  9. 设计稿750px 配置rem
  10. 智能手机业务的最新发展趋势