建材秒知道
登录
建材号 > 设计 > 正文

SSD之FTL技术

阔达的茉莉
细心的蛋挞
2023-02-17 10:42:49

SSD之FTL技术

最佳答案
瘦瘦的砖头
满意的奇异果
2026-05-10 17:54:19

  FTL指Flash Translation Layer(闪存转换层),这玩意儿的本职工作是完成Host的逻辑地址到Flash的物理地址的转换。

  controller每把一笔数据写入Flash中时,便会记录下该数据的逻辑地址到物理地址的映射关系,这样当Host想要读取这笔数据时就会根据这个映射读取到真实的数据。

首先说明一下闪存的特性:

  针对闪存的以上特性,FTL在完成本职工作逻辑地址到物理地址转换的同时,还要具有十八般武艺:

  垃圾回收(Garbage Collection),磨损平衡(Ware Leveling),坏块管理,读干扰处理,数据保持处理等事情。

  映射有基于块映射、基于页映射和混合映射。

   基于块映射 Host在读写小尺寸数据(随机性能)时性能较差,一般用在U盘中(ps:不要惊讶,U盘中也用到FTL的),所以U盘不适合装系统,适合用来读写大尺寸数据的数据传输用。

   基于页映射 对小尺寸数据(随机性能)有很好的性能,但是由于闪存的页要比闪存块多的多,需要更多的空间来存放映射表。为了追求更好的随机性能(操作系统对这个很在意)所以SSD都采用页映射。

   混合映射 的性能介于上边二者之间,当然存放映射表所用的空间也介于二者之间。

SSD内部FW维护了一张逻辑地址到物理地址的映射表(Map Table)。用户每写入一个逻辑页就需要更改一次MT;当读取一个逻辑页时,SSD会查找映射表中该逻辑页对应的物理页,然后再访问Flash读取所要的数据。

  一般映射的逻辑页的大小为4KB,物理地址的大小为4Byte,那么一个256GB的SSD的映射表大小为: 256GB/4KB*4B = 256MB ,也就是说映射表的大小是SSD容量的1/1024。

  为了存放这个映射表,SSD一般有两种设计方案:DRAM(带DRAM的)和DRAM-less(不带DRAM的)。带DRAM的一般会把缓冲数据和映射表统统存放在DRAM中,优点是查找更新映射表迅速,性能较好,劣势是多了一个DRAM,成本和功耗上升,当前的主流SSD是该方案;DRAM-less的会将少部分的映射表放在片内的SRAM上,其余部分的映射表则会放在Flash中,这种方案好处是节省了DRAM的成本和功耗,但是读写Flash要比读写DRAM要慢得多,所以速度上不如DRAM方案,性能较差,当前入门级的SSD多采用这种方案。

  一个小问题:我们都知道DRAM掉电数据是会丢失的,那么数据表怎么办?

答案是在SSD掉电之前,它会把映射表写入到Flash中去的,下次上电初始化时需要重新把映射表读出来放在DRAM或SRAM中。也就是说不管DRAM或DRAM-less,Flash中都需要储存映射表的。

  这年头收垃圾也成特色技能了,还是重要内功。。。哈哈

  垃圾回收,就是把某一个闪存块上的有效数据读出来,写入另一个数据块中,然后擦除原来的闪存块,使之可用。

  也许你会问,数据在原来的闪存块上待的好好的,为什么要费事吧连的读出来写入另外的块中呢?原因是原来闪存块上的垃圾(无效数据)太多了!如前文讲道,闪存块需要先擦除才能写入,不能覆盖写。如果一个块上只有一点点有效数据占着整个数据块,那么就需要把有效数据搬移出来,把这个块擦除掉使之变成可用状态,从而提高块的使用率。

  也许你又会问,为啥子数据会无效呢?原因还是因为闪存的特性导致的,为了延长每个闪存块的寿命,就需要均衡每个数据块的擦除次数,为了均衡每个数据块的擦除次数,数据写入时候就需要均衡的写入每个块,而不能照着一个块往死了写。当用户空间里的数据写满后,就需要把数据写备用空间(SSD的实际容量都比标称容量大,多出来的部分就是备用空间),因为备用空间对操作系统是不可见的,那么每往备用空间写一笔数据就会在用户空间产生一笔无效数据(垃圾)。

  江湖传言:SSD越用速度越慢。很不幸,这是真的,而且是有依据的。新盘没有垃圾可收,所以速度快!用久了产生的垃圾就多了,就需要用内功把垃圾逼出来,当然速度就慢下来了。

  其实在垃圾回收的时候已经提到磨损平衡的原因了:为了延长每个闪存块的寿命,就需要均衡每个数据块的擦除次数,为了均衡每个数据块的擦除次数,数据写入时候就需要均衡的写入每个块,而不能照着一个块往死了写。

那么,一个闪存块的寿命有多长呢?

SLC:10万次

MLC:1~10千次

TLC:几百次~2千次

QLC:<TLC

3D:<QLC

所以,磨损平衡很重要!接下来几个概念:

冷数据(Cold Data),热数据(Hot Data)

年老块(Old Block),年轻块(Young Block)

  所谓 冷数据 就是用户不常更新的数据,比如音视频,只读数据等;相反 热数据 就是频繁更新的数据,比如软件使用等,会产生很多垃圾。

  所谓 年老块 是指擦写次数比较多的块;相反 年轻块 则指擦写次数比较少的块。ps:每个块都有EC(Erase Count),年轻还是年老SSD一下就可以看出来。

  SSD一般有两种(Ware Leveling)算法:动态磨损平衡(Dynamic WL)和静态磨损平衡(Static WL)。动态磨损平衡算法基本原理是把热数据写到年轻块上;静态磨损平衡的基本思想是把冷数据写到年老块上。这里可以停下来先品味一下这样的做的原因。

DWL好理解:写数据时找年轻的块写,避免往老年块上写数据,各个块就能保持一个比较均衡的值。

SWL呢?冷数据基本不更新,它所占用的块擦写次数就不会增加,而其他块会被经常写入数据,块擦写次数是会增加,这样就导致了 擦除不均衡 ,SSD最不喜欢这个了。所以需要把冷数据搬到老年块上,让年轻块替代老年块的工作。

最新回答
光亮的芝麻
秀丽的咖啡豆
2026-05-10 17:54:19

在苹果发布新款 Mac Pro 工作站的时候,花了较大的篇幅去描述其采用的可扩展模块化(MPX)设计。 然而外媒 Apple Insider 指出,客户或只能够通过苹果官方指定渠道来购买存储扩展产品,因其采用了不兼容市售 M.2 引脚标准的 SSD 专用接口。

该 SSD似乎采用了双排引脚(题图 viaApple Insider)

苹果表示,入门级 Mac Pro搭载了 256GB 固态存储,支持升级到 2×512GB、2×1TB、以及 2×2TB 容量。与其它苹果产品一样,Mac Pro 的存储由 T2 芯片提供安全加密。

从官方给出的参数来看,其顺序读取 / 写入性能可达 2600MB/s 和 2700MB/s,与 MacBookPro 上采用的闪存单元相当。

(Mac Pro 产品介绍页)

不过想要日后扩展的话,Mac Pro 提供了 SSD 模块和 SATA 扩展两种选项,后者如 Promise 提供的 Pegasus R4i(MPX RAID 模块)。

据悉,苹果还提供了两个位于 Mac Pro 后部的 SSD 模块插槽(与内存部件处于同一个隔间),但它并未透露其采用了哪种端口和连接技术。

(M.2 示意)

从官方给出的图片来看,其引脚和防呆口的设计明显不同于市售的 M.2 SSD(通常有 M.KEY 和 B.KEY),甚至也不同于英特尔的傲腾(Optane)方案。

然而从性能数据来看,Mac Pro 不可能采用 mSATA,毕竟该接口本质上还是 SATA 6Gbps 通道,与 PCIe NVMe SSD 的理论数值相距甚远。

(Optane 示意)

即便与苹果自家的 2016 年末款 13 英寸 MacBook Pro 相比(该机配备了可拆卸的 SSD 模块),两者似乎还是存在着较大的差别。

外媒从未经授权的内部消息人士处得知,Mac Pro 确实采用了非标准的 M.2 引脚,但拒绝谈论其与苹果旧版 SSD 模块的引脚兼容性。

(mSATA 示意)

从苹果历来的表现来看,Mac Pro 采用全新修改后的接口引脚,并不让我们感到意外。NVMe 驱动器可采用与 U.2 或 M.2 类似的外形,但提供比 SATA SSD 高得多的读写速度。

它很可能与 iMacPro 上采用的 SSD 模块非常相似或完全相同。但在产品正式上市、或者官方文档泄露之前,外界是难以知晓更多细节的。

(U.2 示意)

鉴于苹果已确定 Mac Pro 是一套高度模块化的系统平台,其驱动器也将是可以拆卸、并在日后获得更换和升级的。

然而非标准接口的采用,也为我们留下了一些问题,尤其是今后能否通过第三方获得更加实惠的驱动器升级或售后选项?

(Mac Pro 主板上提供了包括两个 SATA 在内的连接埠)

当然,这两个存储模块,并不是升级 Mac Pro 存储容量的唯一途径。即便 SATA 的性能较弱,但与出厂选择更高的配置相比,后续扩展能够带来更高的成本效益。

(Promise Pegasus R4i MPX Raid 模块)

需要指出的是,Mac Pro 没有额外的驱动器托架插槽或支架,隐私消费者不得不参考其它售后选项,比如 Promise 提供的 Pegasus R4i 模块(包含四个 7200 转的硬盘,采用 MPX 托架和电源接口)。

(PCIe 转 NVMe SSD 扩展卡)

第二种方法是利用 Mac Pro 内部提供的多条 PCIe 插槽。尽管最常见的用途是连接显卡,但市面上还有不少 PCIe 转 NVMe SSD 适配器。当然,如果实在懒得折腾,不如就用雷电 3 外置存储来解决问题吧。

凶狠的含羞草
悲凉的酸奶
2026-05-10 17:54:19

1、任何ssd都有缓存的,只是有的做到了主控里,有的外置了,有的小有的大而已。

2、不同的主控算法对缓存大小的需求不同。

缓存的定义:

其实“缓存”一词单纯从字面上理解可解释为延缓存放,简单的说“缓存”是为了平衡高速设备和低速设备之间的速度差异而存在的。作用是让低速设备尽量的不拖高速设备的后退。这里之所以用“尽量”一词,主要是各类产品中的缓存容量有限,算法也不可能100%的准确命中。

缓存在机械硬盘中的作用:

以上是以CPU缓存做例子。但是在电脑系统里,缓存并不仅仅是CPU独有,因为高速设备与低速设备的矛盾并不仅仅体现在CPU和内存之间。现在假如说,我要把数据从内存写入硬盘,由于硬盘相当缓慢,需要等待很长的时间才能完成此任务。那么用户体验就是电脑非常慢。实际上,这里CPU不慢,内存不慢,只是硬盘太慢了。

缓存在SSD固态硬盘中的作用:

刚才为大家介绍了什么是缓存,以及它在机械硬盘和内存中发挥的作用,其实缓存在SSD固态硬盘中发挥的作用也相差不远。SSD上的缓存一般都是1或者2颗DRAM颗粒构成,起到数据交换缓冲作用。一款SSD产品是否有缓存这样的设计,往往是厂商根据产品定位和用途做得决定,一般一些入门级产品或者低速产品,在设计上就会考虑不带缓存方案,而一些高速产品由于数据交换量大,就设计有缓存,以提高产品的读写效率。

冷静的含羞草
活力的发卡
2026-05-10 17:54:19
SSD是全球首个使用固态硬盘挖矿新型虚拟货币,一经推出就备受行内关注,被认为是最有希望,真正能够实际落地的虚拟货币。有人还将SSD称为新万币之王,那为什么SSD能在众多虚拟货币中脱颖而出呢?

1.SSD和Lightning SN是什么?

SSD是一个采用了区块链通证体系的Lightning SN激励层。SSD的很多设计,都是为Lightning SN生态服务的。SSD基于Lightning SN构建了一个具备流转价值的货币体系,所以,它也是Lightning SN上的一个非常重要的应用。

简单说,Lightning SN技术领先,在行业内是应用广泛,可靠稳定,但是在面对普通消费者应用层面时,缺少一定利益驱动。这就使得Lightning SN有时候酒香也怕巷子深,所以就需要SSD作为激励机制进行鼓励普通消费者接受Lightning SN分布式网络存储网络,然后可以通过固态硬盘作为存力来获取SSD。

 

2.SSD 分配

1、85%分配给Filecoin矿工(挖矿奖励)维持数据存储,维护区块链,分配数据,运行合约等。

2、10%分配给Lightning SN实验室(原始分配,)用于研究,工程,开发,商业发展,市场营销,分销等。

3、5%分配给推广人,为长期的网络管理,合作伙伴支持,学术资助,公共工作,社区建设等。

3.SSD为什么能被称为 新万币之王?

SSD是Lightning SN 的激励层,作为首个全球使用固态硬盘进行挖矿的新型数字货币,一方面既满足固态硬盘的储存需求,也就是满足了网络实用性需求的数字应用,另一方面又以Lightning SN为技术基础,产生极深的协同作用,进行推广耦合作用。

同时,伴随着固态硬盘的流行开来,会涉及到亿万普通消费者,SSD必然会辐射到超过比以往虚拟货币更广范围!称之为新一代万币之王绝对不成问题。

 

 

 

4. 双向耦合更强发展

而且我们还采用了双重推广机制,SSD可以激励更多的人加入Lightning SN网络中。Lightning SN网络使用的越多,对SSD的需求就越大;SSD的矿工越多,对Lightning SN网络的也就支持越大。所以Lightning SN和SSD形成了有机协同关系。SSD的诞生是为了支持Lightning SN的发展,Lightning SN也需要SSD为其丰富生态。

这样就保证了SSD的推广和使用,比之前虚拟货币应用范围更广 ,更贴近市场需求!