数字化的存储介质有很多。类似机械磁盘,固态盘,磁带,光盘,等都是不同的介质而已。整个世界都在数字化,而数据就存在这些介质中。
存储介质作为数字化的基石,它们的重要性可想而知,而近些年 SSD 的带来的革命则更为深刻,原本毫秒、秒级别的时延被优化到微秒级别,几百的 IOPS 优化到万,十万级别。这样带来的变化进一步影响软件的变革,并且还在继续。今天就简单聊聊 SSD 的一些原理。
跟着奇伢先给自己预设一些问题:
希望这篇文章能给到你帮助。
机械盘主要是用磁性物质的极性来表示状态 0,1 ,读写过程是磁头来做的。磁头利用其变化的磁场改变磁盘磁粒的极性,这样就做到写入数据。磁头通过识别磁盘磁粒的极性来读取数据了。
大家都瞧不起机械盘 ,觉得性能太慢是技术能力不行?
其实机械盘是一种尖端技术,世界上只有那么两三家公司(比如希捷,西数等)有能力生产机械硬盘,国内还没这技术。也算是我们卡脖子的技术之一吧。不过好在 SSD 给了我们新的历史机遇,可以迎头赶上,甚至弯道超车也有可能。
它对比 SSD 为什么慢?
一个是机械运动,一个是电子的流动。这个速度差别可想而知。
目前大部分的固态硬盘都是以闪存芯片为存储介质。所以本文简单默认 SSD 盘的介质就是闪存。
闪存的基本存储单元是一种叫做浮栅晶体管的东西。于 1967年由华裔美国工程师施敏和韩裔美国工程师姜大元发明。浮栅管也属于半导体晶体管的一种,浮栅晶体管太学术的原理这就不讲。我们思考一个问题:它为什么可以作为存储设备的单元?
因为浮栅晶体管很特殊,它捕捉到电子之后可以保存起来数十年之久,电子保存在绝缘材料包裹的浮栅层中。示意图如下:
1 思考:为什么浮栅管可以作为是持久化的介质 ?
因为电子一旦进入浮栅层,就逃不出去了。掉电之后浮栅层的电子也不会消散。相当于就把状态持久化下来。
2 思考:闪存介质如何是标识 0,1 两种状态呢 ?
是否可以通过测量浮栅层里面有多少电子来判断?
理论上好像可以。比如假定电子数量超过一个阈值就认为是 0,否则就是 1。但现实是电子数量非常难测量,所以我们通过另一种等价的方式来体现了 0 和 1,就是电流是否导通,也就是开关性。
浮栅层是否有足够的电子能够影响电路的开关,也等价标识了 0 和 1 的状态。浮栅管就是这样做的,具体来看一下。
给控制极加一个低压,漏极加一个电压。如果电流是导通的,那么说明浮栅层里是空的(或者说没有足够的电子),状态为 1。如果电流不通,那么说明浮栅层里有足够的电子,状态为 0 。
注意,电压数值都是为了具现化随手拍出来的,并不是真实厂家的数值。一般阈值电压都是厂家出厂前测出并设置好的的。
其中导通的原理是什么?
第一种情况:浮栅层是空的,没多余电子(初始状态)。
这个时候给控制极加一个低压,漏极加一个电压。这个时候,电子会尽量被控制极吸引,但由于电压不够击穿绝缘层,所以就只是累积在N+源极和N+漏极之间,形成一条通路。
电子被漏极电压吸引,进而流向源极形成通路。这个“电流导通”的状态就表示 1 。
第二种情况:浮栅层有足够电子(电子跃迁进来被捕获的)。
浮栅层中如果有很多电子,那么它们会抵消掉很大一部分控制极对衬底里电子的吸引力。从而导致中间是一条断开的路,无法形成电流。这种状态表示 0 。
划重点:漏极和源极如果导通标识为 1 ,不通为 0 。影响这个的因素就是浮栅层是否有足够电子。
3 思考:源极和漏极有啥区别?
物理结构上没啥区别,它们就是对称的结构。源极和漏极是以电子流动的方向做的划分而已。电子从源极往漏极流动,电流方向相反。
高中物理:电流的方向和电子移动方向相反,电子往高电压方向流动。
4 思考:浮栅层的电子又是怎么来的呢 ?
顶部控制极加高电压,就能把电子吸上来,往控制极流动。高压的吸引力会大到让部分电子因为量子隧穿效应穿过绝缘的二氧化硅进入浮栅。 请注意,进去之后就出不来了(完成持久化),除非衬底 P 加高电压,原路径把电子吸出来。
![[浮栅管写操作 1.png]]
5 思考:浮栅层捕获电子是从 1 到 0 的过程,那从 0 到 1 的过程是怎样?
从 0 到 1 的过程其实就是如何把浮栅层里的捕获的电子掏出来。之前是在控制极加高电压,让电子跃迁到浮栅层,掏出来的话,自然是在相反的方向(衬底P)加高电压喽,让电子重新吸出来。
6 思考:为什么初始状态 SSD 是全 1 数据?
因为浮栅层初始状态是没有电子在里面的,只有当电力驱动的时候,电子才能跃迁到浮栅层。所以初始化状态是全 1 的数据。
SSD 的闪存介质就是由成千上万个上面的浮栅晶体管组成的,由它们组成 0101010 这样的一系列数据,从而形成我们想要的存储数据。
闪存本质上是用电路的开关来表示 0,1 的状态,所以本质上 SSD 怎么去组织这些存储单元(浮栅晶体管),换句话说,就就是一个电路设计的事情。
SSD 盘内部按照 LUN,Plane,Block,Page,存储单元(浮栅管) 这样的层次。不同的层次共用了不同的资源。整体的闪存内部的组织:
LUN 是接收和执行闪存的基本单元,换句话说,不同的 LUN 之间可以并发执行命令。一个 LUN 内,同一时间只能有一个命令在执行。
每个 Plane 有自己独立的缓存,这个缓存是读写数据的时候用的。举个例子,写数据的时候,先把数据从主控传输到这个 Cache ,然后再把 Cache 写到闪存阵列,读的时候则是把 Page 的数据从闪存介质读取到 Cache ,然后传输主控。
擦除的粒度是 Block , Block 里所有的存储单元共用衬底。
SSD 盘 IO 的单元是 Page 。也就是说,无论是从闪存介质中读数据到 Cache ,还是把 Cache 的数据写到闪存介质,都是以 Page 为单位。
其实这里还有两个概念,一个是 Wordline ,还有一个 Bitline 。这两个概念得去看一下 Block 的组织结构,很关键:
一个 Wordline 对应一个或多个 Page 。如果是 1 个 Page 那就是 SLC,2 个的是 MLC,3 个就是 TLC 。SLC 可靠性最高。一个 Block 中所有的存储单元(浮栅管)共用一个衬底。
下面为了简单,就只讨论 SLC 的场景。
读一个 Page 的时候,其实就是监测 Bitline 的导通性即可。
SSD 以闪存为介质,闪存的存储单元是浮栅管,但是读写擦的单元肯定不能以浮栅管为粒度,因为代价太大了。它们的操作粒度肯定是权衡出一个批量操作的值来,一次性操作一批。
1 闪存的读
把每个存储单元的导通性监测一遍,导通的表示 1,不通的表示 0 。所以得到的数据就是 0101101001 这样的数据了。Bitline 是和 Wordline 相交的,通过每个 Bitline 来监测导通性即可。
2 闪存的写
按照数据 01010111 把对应位置的导通性重新设置,Page 对应的 Wordline 加高电压,并且根据 0,1 的标识来控制一条条 Bitline 的电压,对应位置为 0 的 Bitline 电压为 0,让电子吸到浮栅层。对应位置为 1 的 Bitline 加低电压阻碍隧道效应,这样就完成了闪存的写。
3 闪存的擦除
闪存的擦除就是把所有的存储单元都恢复到初始状态,也就是浮栅层里无电子,存储单元全 1 的状态。这个只需要在衬底加高电压,电子就会从浮栅层吸出来。闪存的擦除以 Block 为单元。
1 闪存的擦除是以 Block 为单元的,为什么呢?
因为在电路设计上, Block 的所有存储单元(浮栅晶体管)是共用一个衬底的(Substrate)。当对衬底施加高电压的时候,那么所有的存储单元浮栅层的电子都会被吸出来。电子吸出来,就是擦除的过程喽。
2 SSD 没有覆盖写?
是的。从上面的设计来看,浮栅管的开关标识了 0 和 1 的状态。数据的写入是改变这个开关导通性,数据的读取是监测这个导通性。SSD 盘的设计本质上是电路的设计,当前的电路设计上来讲,无法做到直接在原地修改每个存储单元的导通性。因为它的设计关联到给谁加高电压,给谁加低电压。
所以最简单的方法,就是给一初始状态(全 1),然后把指定的位置加高电压即可。这样的设计应该是最简单,成本上最可控。
3 SSD 随机写和顺序写还有区别吗?
如果是对一个 SSD 新盘来讲,性能没啥区别。但是读写久而久之就会有区别了,顺序写会导致需要擦除的 Block 比较集中,比较好处理一些。也更容易做读写的均衡。随机的 IO 则会带来更复杂的 GC 。所以它可能进一步影响后续的寿命,并且久了还可能影响性能。因为找到一个新 Block 的时间可能不一样。
4 非对齐的 IO 性能很差?
是的。IO 大小不按照 Page 对齐,那么可能导致 IO 的次数变多,可能会严重影响性能。你多一次 IO ,那么对整个盘跑满来讲,可能性能就降低一倍。IO 的放大还可能影响寿命。
简单的 SSD 原理科普,希望对你有帮助。
~完~
本文由哈喽比特于2年以前收录,如有侵权请联系我们。
文章来源:https://mp.weixin.qq.com/s/_uiCsFXWjepeHSdgiUABhg
京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。
日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。
据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。
今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。
日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。
近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。
据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。
9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...
9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。
据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。
特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。
据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。
近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。
据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。
9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。
《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。
近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。
社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”
2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。
罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。