固态硬盘吧 关注:939,019贴子:7,087,952

【写意的科普】从底层来讨论SSD

只看楼主收藏回复

在固态硬盘界流传着一些说法,比如“mlc颗粒的PE次数比tlc高”,或者“xx颗粒的PE次数是xx”,还有对slc的迷信和对tlc的唾弃……通过本帖,作者希望通过从固态硬盘底层说明这些言论的问题。本帖主要观点来自@az6338890前辈的《从底层谈起,SSD的正确姿势》一帖和本人的一些学习,非专业人士,难免有各种纰漏和臆断,抛砖引玉,欢迎各路大神来充实。


IP属地:广东来自Android客户端1楼2015-11-12 20:27回复
    那厂家给出的某种颗粒多少次pe又是什么鬼?


    IP属地:广东2楼2015-11-12 20:29
    收起回复
      2025-07-17 01:28:18
      广告
      什么是P/E?
      program/erasure,编程/擦除,即俗称的“擦写”。固态硬盘编程时(P),控制栅用高电位将硅基底的电子拽过氧化层困在浮置栅,这个存储单元的就有了电势,也就存入了数据。擦除(E)时,控制栅用低电位将电子从浮置栅推出,回到硅基底,存储单元电势消失,数据擦除。


      IP属地:广东来自Android客户端3楼2015-11-12 20:36
      收起回复
        从接触SSD,我们就被告知颗粒的排序是slc,mlc ,tlc。他们有什么区别?
        SLC=Single Level Cell,单层存储单元,MLC=Multi level cell,多层存储,TLC=Trinary level cell,三层存储。slc每个单元的只存储一个二进制位,状态只有0或1,电气状态“无电势”或“有电势”。mlc每单元2bit数据,编程状态2²=4,00,01,10,11,电气状态“无电势”“电势1”“电势2”“电势3”。TLC每单元3bit,编程状态2³=8,000、001、010、011、100、101、110、111,电气状态“无电势”“电势1”……“电势7”


        IP属地:广东来自Android客户端4楼2015-11-12 20:54
        收起回复
          例如一段8bit数据101110100,slc需要动用8个单位,mlc需要4个单位,TLC需要3个单位。在同工艺同制程同晶圆的条件下,每个存储单元的面基是相等的,也就是说同样一张晶圆能切出更多容量,节约成本。也说明,所谓的slc,mlc,tlc,本质是一样的,只不过是软件编程不同。


          IP属地:广东来自Android客户端5楼2015-11-12 21:02
          收起回复


            IP属地:山东6楼2015-11-12 21:03
            回复
              继续啊


              IP属地:广东来自Android客户端7楼2015-11-12 21:08
              回复
                快更


                IP属地:广东来自Android客户端8楼2015-11-12 21:28
                回复
                  2025-07-17 01:22:18
                  广告
                  什么是P/E寿命?
                  很多人把PE寿命当做颗粒报废的寿命,这是完全错误的。P/E寿命的定义简单来说是“在满足纠错能力的条件下,在标准环境中所能进行的最少擦写次数”。其中的关键是“满足纠错能力”,即读写没有错误,这个一会儿再说,其次,这个标准是保守估计,大部分产品或多或少会比一个高一些,先看这个“标准环境”。每个厂商的测试环境不太一样,但负责任的厂商测试环境肯定和日常使用相仿或者稍微严苛一些,家用产品的标准差不多就是,40℃工作温度,每周通电5天,每天8小时。断电后在30℃环境中,数据保存周期为1年(52周)。也就是说,在厂商保证的PE寿命内,你的数据可以断电保持1年。
                  为什么数据会出错?前面提到了固态硬盘的工作原理,电子反复穿过氧化层会对其造成磨损,降低对电子的约束力,随着时间推移,本来应该呆在浮置栅的电子会被电场力推过氧化层回到硅基底,造成本单元编程状态扰动。另一方面,对某个存储单元进行操作势必会对周边单元造成影响,捎带着改变扰乱它们。所以,不管是在工作还是存储过程中,固态硬盘都会产生错误,这就需要主控来纠错。


                  IP属地:广东来自Android客户端9楼2015-11-12 21:34
                  收起回复
                    前排围观


                    IP属地:河南来自Android客户端10楼2015-11-12 21:35
                    回复
                      围观


                      IP属地:山东来自Android客户端12楼2015-11-12 21:38
                      回复
                        纠错能力。主控纠错靠的是数学算法,很深奥,不说。无论多么先进,主控的纠错能力是有限的,比如一款主控的纠错能力是40bit/4k,即每4K数据如果软硬错误≤40个,主控可以用自己的方法算出正确的并输出。超过这个限度,主控会屏蔽这个单元,这个单元的PE寿命到此为止,屏蔽的单元越来越多,开始丢数据,固态也就报废了。随着固态的错误率上升,读写纠错对主控性能的占用也会造成掉速。由此可见,一款固态的PE寿命是最起码由主控的纠错能力和颗粒的性能衰减两方面决定的。一款相同的颗粒,写入放大出不多的固件和主控,纠错能力高的主控PE寿命会比纠错能力低的主控高。所以PE寿命是对固态这个大系统说的,单独拿出颗粒说PE是不成立的。


                        IP属地:广东来自Android客户端14楼2015-11-12 21:48
                        收起回复
                          固态随时都需要纠错,纠错能力有限,但这个限度在不断增加。早期固态硬盘清一色slc并不是slc有多奢华,而是主控纠错能力太低下,只能使用编程状态和电气控制都最简单的slc。所谓的TLC寿命短,是因为他的编程和电气控制太复杂,容错量太小。随着主控纠错能力和制造工艺不断提高,TLC也在变得越来越可靠。三星850虽然是TLC到三桑给了5年保,看看镁光的MLC才3年,厂商信心高下立判。三桑的盘从来只见喷的,没见有说挂的,反倒前几天见了一个m6s出问题的貼。明年英特尔都要开始涉足TLC,不求大家现在改变对TLC的看法,但愿Intel出TLC盘的时候大家不要太失望就好。


                          IP属地:广东来自Android客户端15楼2015-11-12 22:03
                          收起回复
                            用手机码了这么多字,楼主已经精神错乱了,换电脑,捋捋思路,想到啥说啥


                            IP属地:广东来自Android客户端16楼2015-11-12 22:04
                            回复