专栏名称: 养码场
养码场,一个技术人职场社交平台。 现有“养码人”80000+,覆盖JAVA/PHP/iOS/测试/运维等领域。80%级别在P6及以上,含P9技术大咖30人,技术总监和CTO 500余人。
目录
相关文章推荐
人民日报评论  ·  菜可以预制,那人呢?丨睡前聊一会儿 ·  7 小时前  
CHINADAILY  ·  Life丨Staging a ... ·  3 天前  
CHINADAILY  ·  Top News丨200 telecom ... ·  3 天前  
51好读  ›  专栏  ›  养码场

写满数据的硬盘是否比空硬盘重?

养码场  · 公众号  ·  · 2019-08-28 16:34

正文

这是养码场 技术岗 位推荐板块
每周三定期放送!
可别错过~

混迹技术版“十万个为什么”多日,场主特来分享,先讲一则“尬笑话”。一教授去中关村买电脑。售后推荐,我们的电脑 性能卓越, 不超过2kg,适合您使用, 于是买之。


次日,教授又来,“我昨天称量,一共2.04kg,你们这是欺骗消费者。”客服解释,“您称不准。”教授暴怒:“我是国内首屈一指的称类专家,标准砝码就是从我手里出去的!”


客服退下,经理上,“您看,当天买下的时候,确实少于2kg,但是您在这里装了很多软件,还存了很多东西,您想想,这些东西换成书,要多重啊,即使我们这么先进的电脑,也要重一点啊。”


遂教授满意而归。


场主只想真诚地发问: so? 存满数据的硬盘比空硬盘重?



为此,场主决定从多方渠道资料入手,找到真相。


在验证真相之前,首先我们要对硬盘有一个浅显的认识。 空硬盘什么样?


空硬盘什么也没有?其实并不是。磁介质机械硬盘出厂时做过低级格式化,拿到用户的手上时已经被写入柱面、磁道、扇区等等信息,在没有内容的数据区,都被磁化成0的内容。所以空机械硬盘是绝大部分为0的内容,很小部分为数据(假设0,1参半)。


/ 存满数据后有什么变化?/


磁介质硬盘数据是通过调整磁介质磁极方向来存储的。有人比喻:机械硬盘是一个筐子,磁介质是里面放的很多香蕉。0是香蕉柄朝北,1是香蕉柄朝南。 存满数据就相当于,原来香蕉柄都朝北,现在一半朝北一半朝南。 请问筐子重量会不会变化呢? 当然不会!


SSD的NAND Flash存储,有人认为是测量被囚禁在浮动栅(Floating Gate)里面的电子的数量,大于100就是1,小于就是0。因为电子有质量,空的SSD以前都是0,现在被囚禁了很多电子,导致0,1参半,所以会重一点点。但是空SSD实际上绝大部分是1,存满数据实际上是0变多了, 那是不是意味着存满数据,SSD变轻了呢?


实际上,存0比存1重,所以SSD会变重。那么为什么存0反倒比存1重呢?这要从NAND Flash的存储原理说起。


/ 闪存的工作原理 /


闪存采用MOSFET来存放数据, 它由: 源极(Source)、漏极(Drain)、浮动栅(Floating Gate)和控制栅(Control Gate)组成。 相对场效应管的单栅极结构,闪存是双栅极结构。 浮动栅是由氮化物夹在二氧化硅材料(Insulator)之间构成。 MOSFET结构如下图:
数据就存放在Floating Gate之中,一个门可以存放1bit数据。如图所示,门中电压有个阈值Vth。如果检测到电压超过Vth,那么便认为这个bit是0,数据的写入和擦除,都通过Control Gate来完成。

Control Gate 加正电压,将电子(带负电)吸入 Floating Gate 。在此后,由于 Floating Gate 上下的二氧化硅材料并不导电,这些电子被囚禁(Trap)在 Floating Gate 之中,出不去了。这样无论今后 Control Gate 电压有否,这个状态都会保持下去,所以闪存可以掉电保存数据。操作完毕后,该闪存单元存储的是0,擦除操作(Erase)刚好相反:
Source 加正电压利用 Floating Gate Drain 之间的隧道效应,将注入到 Floa ting Gate 的负电荷吸引到 Source ,排空 Floa ti ng Gate 的电子。这时读取的状态是1。
那为什么有电子是0,没电子是1呢?因为读取的时候,需要给 Control Gate 加一个低的读取电压,对于被Program过的闪存单元来说,被囚禁的电子可以抵消该读取电压,造成 Source和Drain 之间是处于被关闭的状态:
如果是被擦除过的就刚好相反, Source和 Drain Control Gate 的低电压作用下,处于导通状态:
通过向 Control Gate 加读取电压,判断 Source- Drain 之间是否处于导通状态来读取闪存单元的状态,如果被Program过的,就是处于关闭OFF状态,为0;而被Erase过的,就是处于导通状态ON,为1。

总结一下,就是Floating Gate里面没有电子,就是1; 如果有电子,就是0。 因为0有少许电子,比没有电子的1的状态要重一些。 空的SSD大部分是1,没有电子; 写满后0状态变多了,有了更多的电子,所以重一些。

/ 结论 /
存满数据后,机械硬盘只有磁级变化,质量不变;而SSD因为锁住了更多的电子,所以变重了。尽管只重了0.00000(此处省略多个0)1克。 不过,全世界的互联网大概也就一颗草莓那么重呢~

最后,好奇场主再一次上线:学习会让体重增加吗? (毕竟知识就是力量


/今日岗位推荐/


感兴趣的朋友可以撩一下小西,了解职位JD和其他详细信息。
注:后台回复 000 ,还可查看完整岗位清单

更多技术岗位招聘中……
1、添加小西了解更多信息
2、后台回复






请到「今天看啥」查看全文