固态硬盘掉盘了怎么解决,固态硬盘掉盘但是检测又没问题

首页 > 实用技巧 > 作者:YD1662023-12-08 19:48:23

什么时间写回,这是SSD固件的核心机密之一。另一方面,随着SSD容量的提高,FTL表的容量也快速上涨。我们以8GB的为例,FTL表不加处理可以达到8MB;以此类推,800G的SSD,FTL表可以有800MB!有些省空间的方案可以大大减小FTL表的大小,但也高达数十MB。这么大,FTL表也就有了部分被换入换出的过程。如何设计,也是很讲究技巧的。

FTL表如此重要,没了它,整个SSD/SD卡就没法工作了。如果在FTL写回Flash之前,还在内存的时候,忽然没电了,内存数据丢失,FTL表也就丢失了。有鉴于此,高端SSD和服务器SSD都加上了电容,来作为应急供电方案,让SSD控制器有时间把内存中的FTL表和一些缓存内容存到Flash上去:

固态硬盘掉盘了怎么解决,固态硬盘掉盘但是检测又没问题(5)

现实中的例子,我们在M.2的SSD上面有很多很小的电容:

固态硬盘掉盘了怎么解决,固态硬盘掉盘但是检测又没问题(6)

在Vcc没电的时候,这些电容的gate就会打开,会为主控争取1ms左右的时间。主控会立刻放弃现在所有没有存储的数据,而立刻开始存储FTL表,保证不会出大问题。

在企业级的SSD中,有的DRAM大小将近1GB,而企业SSD的数据完整性要求极高,不容有失,不但FTL表要存好,DRAM中没有存储过的,也必须全部存下来。这就需要很大的电容,来争取更多的时间,如果我们拆开企业SSD,就会发现很多大黄快:

固态硬盘掉盘了怎么解决,固态硬盘掉盘但是检测又没问题(7)

它们也是为了这个目的。

但是,一些低端消费级的SSD,没有这种措施,忽然掉电,会造成FTL丢失。那么发生这种情况是不是SSD就报废了呢?也不是。

FTL表的重建

在内存中FTL丢失之前,Flash上还有上次的FTL内容,虽然已经过时了,但总比没有好吧!于是可以搜索SSD中的Flash,找到上次的FTL,这样尽管会丢失一些信息,但大部分数据可以保持。于此同时,有些实际块已经被分配使用过了,再次用会发生错误,就需要修正最后的FTL。那么怎么修正呢?

每个Flash的page都有一些额外的空间,这些空间大部分做ECC校验用,但还有些富余,我们拿来做Mapping Flag(MF):

固态硬盘掉盘了怎么解决,固态硬盘掉盘但是检测又没问题(8)

上一页123下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.