暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

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

混迹技术版“十万个为什么”多日,场主特来分享,先讲一则“尬笑话”。一教授去中关村买电脑。售后推荐,我们的电脑性能卓越,不超过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 GateDrain之间的隧道效应,将注入到Floating Gate的负电荷吸引到Source,排空Floating Gate的电子。这时读取的状态是1。
那为什么有电子是0,没电子是1呢?因为读取的时候,需要给Control Gate加一个低的读取电压,对于被Program过的闪存单元来说,被囚禁的电子可以抵消该读取电压,造成Source和Drain之间是处于被关闭的状态:
如果是被擦除过的就刚好相反,Source和DrainControl 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、后台回复000,获得完整职位清单



养码场助力招聘服务:
  • 帮助企业招人:有技术招聘需求的企业方可联系小西详聊,有机会在养码场内容渠道发布岗位信息。


  • 帮助技术人找工作:每周三发布岗位推文和职位清单,大厂、独角兽企业的优质技术岗位集合,帮助技术人匹配更好的岗位。

记得添加小西


本文技术原理部分参考自网络

如有侵权请联系删除


“养码场”
现有技术人80000+
覆盖JAVA/PHP/IOS/测试等领域
80%级别在P6及以上,含P9技术大咖30人
技术总监CTO 500余人


文章转载自养码场,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论