点击上方“朱小厮的博客”,选择“设为星标”

回复”1024“获取独家整理的学习资料

混迹技术版“十万个为什么”多日,皮皮特来分享,先讲一则“尬笑话”。一教授去中关村买电脑。售后推荐,我们的电脑性能卓越,不超过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之间的隧道效应,将注入到Floating Gate的负电荷吸引到Source,排空Floating 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克。不过,全世界的互联网大概也就一颗草莓那么重呢~

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

想知道更多?描下面的二维码关注我


加技术群入口(备注:技术):>>>Learn More<<

免费资料入口(备注:1024):>>>Learn More<<

免费星球入口:>>>Free<<<

内推通道>>>>


今天开始到9月7日,当当开学季促销,满600满300,用我的优惠码还可以减50,相当于250买600的书,支持全品类。结算的时候用优惠码 TMWCP4 即可。

点个"在看"呗^_^

呃... 写满数据的硬盘是否比空硬盘重?相关推荐

  1. 固态硬盘和机械硬盘的区别与硬盘的性能指标

    固态硬盘与机械硬盘的差异 固态硬盘是由控制单元和固态存储单元组成的硬盘.固态硬盘的介质分为两种,一种是采用闪存作为介质,另外一种是采用DRAM作为存储介质,目前绝大多数固态硬盘采用的是闪存介质. 存储 ...

  2. kubernetes 清理日志命令_Kubernetes之容器数据写满磁盘解决方法

    磁盘写满引发的后果 容器数据磁盘写满造成的后果: Pod 不能删除 (一直 Terminating) Pod 不能被创建 (一直 ContainerCreating) 磁盘写满分两种情况: 磁盘空间全 ...

  3. Kubernetes之容器数据写满磁盘解决方法

    磁盘写满引发的后果 容器数据磁盘写满造成的后果: Pod 不能删除 (一直 Terminating) Pod 不能被创建 (一直 ContainerCreating) 磁盘写满分两种情况: 磁盘空间全 ...

  4. linux数据库分析报告,写linux数据

    Linux 内存管理机制简介 在 Linux 中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉是内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在这方面,区别于 Windo ...

  5. oracle缩减临时表空间,oracle的临时表空间写满磁盘空间解决改问题的步骤

    oracle的临时表空间写满磁盘空间,解决改问题的具体步骤,以下的操作是用数据库的sys超级用户操作 刚开始打算把临时表空间的数据文件重新缩小就好了 执行: SQL> alter databas ...

  6. vSAN其实很简单-如何处理“vSAN磁盘写满”问题?

    最近处理了一些关于"vSAN磁盘被写满"和"vSAN被撑爆"的问题.关于存储被用满的问题一直以来经常发生,不仅包括传统存储,甚至是个人笔记本也经常出现" ...

  7. 删除计算机硬盘中的文件,硬盘上数据如何彻底删除 硬盘上数据彻底删除方法【详解】...

    上次我们说到,很多时候我们以为已经删除了硬盘上的数据,但是那些数据却还可以被恢复过来.这是非常不安全的.如果我们要弃用/报废旧的硬盘,那么我们如何彻底删除硬盘上的数据呢?今天小编就和大家分享一下彻底删 ...

  8. 读取其他软件页面数据_电脑软件分享之硬盘数据完美恢复

    #科技V计划# 硬盘数据恢复是指通过技术手段,将保存在台式机硬盘.笔记本硬盘.服务器硬盘移动硬盘等设备上丢失的电子数据进行抢救和恢复的技术. 硬盘维修只是将故障硬盘恢复到正常运转状态,在维修过程中不会 ...

  9. ORA-00257归档日志写满的解决方法 - xwdreamer - 博客园

    ORA-00257归档日志写满的解决方法 - xwdreamer - 博客园 参考文章: (1)ORA-00257归档日志写满的解决方法 - xwdreamer - 博客园 (2)https://ww ...

最新文章

  1. IBM Installation Manager 工具概述(转)
  2. Jquery 获取对象的几种方式介绍
  3. MySQL数据库(十) 一一 数据库的导出和导入
  4. Linux服务器下的HTTP抓包分析
  5. 《Java程序设计》实验报告——Java的基本程序设计结构
  6. 查看oracle连接数的消耗情况
  7. mysql 给列增加索引
  8. AtomicInteger使用非阻塞算法,实现并发控制多线程实现售票
  9. 开源绘画应用 Pinta 已移植到GTK 3和.NET 6
  10. 奇安信代码安全实验室帮助Red Hat修复多个QEMU高危漏洞,获官方致谢
  11. JavaScript面向对象详解
  12. 如何取得ISO 14001环境认证
  13. Yate架构分析概要
  14. session钝化活化
  15. 怎么减少别人屏蔽你的朋友圈(一)
  16. 我的世界基岩版json_我的世界 基岩版:官方服务器配置与使用
  17. electron app 模块说明
  18. 4 看电影--贪心算法
  19. 如何把图片分辨率调低?如何调整照片的分辨率?
  20. Tortoisegit 远端版本回退

热门文章

  1. 冒泡排序 java_冒泡排序Java版本
  2. Spring中如何使用注解来配置Bean?有哪些相关的注解?
  3. 【51NOD】1486 大大走格子
  4. 记一次小型生产事故 | BeyondComper跨编码方式复制文件内容
  5. InputStream,BufferedImage与byte数组之间的转换
  6. 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
  7. json_decode
  8. Tmux : GNU Screen 的替代品
  9. 定期清空Linux系统日志文件
  10. Web Service学习笔记(4)