提问

计算机储存器原理

搞机  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2017-3-19

跳转到指定楼层
       之前在谈到缓存的时候提及到了作为L1和L2以及内存条的不同种类的RAM,以及可以断电保存的闪存,我相信很多人都想知道,同样都是存储器,为什么会有如此大的差别呢?在此,我将会简单地讲一下其内部结构。

1.SRAM

        其中最快最大体积最大的是SRAM,常用于一级缓存。静态随机存取存储器(Static Random-Access Memory, SRAM)是随机存取储存器的一种。所谓的“静态”,是指这种存储器只要保持通电,里面储存的数据就可以恒常保持。通常是通过两个反门的互锁效应完成存储的。

当然也可以使用其他门电路,比如或非门。

四管SRAM,其反相器使用的是一个电阻和开关管,由于使用了电阻使得耗电较高,不过优势是价格便宜。

另一种是六管,这种成本较高,不过相对来说比较省电。微处理器中大部分都是六管结构。

虽然SRAM速度快,但是由于晶体管数量过多,使得成本高体积大,并不适合大容量储存器。

2.DRAM
         DRAMDynamicRandom Access Memory),即动态随机存取储存器,最为常见的系统内存DRAM 只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新一次,如果储存单元没有被刷新,存储的信息就会丢失。 (关机就会丢失数据)而且是破坏性读写,一旦读取后,就得重新写入。因此其速度不是很快,但是每个储存单元只需要一个电容器和开关管,结构简单,成本低。

虽然整体还是挺庞大,但是每个单元很简单,很容易扩大规模。

3.高频内存的意义
        在第一章中,我讲到了CPU的多级缓存机制,通过计算也证实了多级缓存使得内存的影响变得更小了。那么在实际应用中高频内存真的是完全没意义吗?在此我做了一个对比,很惭愧,因为测试的应用不是很多,只做了一个微小的工作。

测试内存:Kingston Hyper X Savage
频率:1600和2400(时序没有调,保持原本的)

首先是渲染对比:
软件:Solidworks
模型是随便画的,就是一个圆盘上面有几个弹簧,没事干的可以数数多少个。

1600: 1m 31.0s

2400: 1m 22.7s

性能提升:10%

视频转码测试:
软件:Xilisoft Video Converter Ultimate(这软件真坑,对290x的加速不支持,但是对cuda是滋磁的,不过上次测试cuda居然比CPU还慢~~)

1600:2m 2.79s            2400:1m 59.16s             性能提升:3%
  
使用核心显卡的测试
CPU:A8-7650K
内存:Kingston Hyper X Savage
游戏:使命召唤9,第一关,画质全部中等。(除了COD系列,我玩的游戏很少,所以只选择了这个~)
测试软件:Fraps

2400M:           Avg:32     Min:24    Max:62(这一段属于动画,结果没啥意义~)   
1600M:           Avg:23     Min:19    Max:62
1600M单通道: Avg:18   Min:17    Max:62

提升率:
单通道到双通道:27.8%
1600到2400: 39.1%
1600单通道到2400双通道:77.8%

测试结果:
       在使用核心显卡时,双通道高频内存和单通道低频相比有质的飞跃。为了完全发挥核心显卡的性能,应当适当(那种几千块的内存就别选了)选择频率较高的内存。
      在使用CPU进行大规模运算时,高频内存也能带来一定的性能提升,但是提升幅度远不如核心显卡那么明显,如果在价格差距不大的情况下还是可以选择高频内存。
       在购买内存条时,个人还是建议购买多通道,毕竟多通道带来的性能提升远高于频率的提升。

4.固态硬盘的存储原理:

4.1 储存方式
       首先需要讲一下MOS的结构: MOS管的工作原理(以N沟道增强型MOS场效应管)它是利用VGS来控制“感应电荷”的多少,以改变由这些“感应电荷”形成的导电沟道的状况,然后达到控制漏极电流的目的。在制造管子时,通过工艺使绝缘层中出现大量正离子,故在交界面的另一侧能感应出较多的负电荷,这些负电荷把高渗杂质的N区接通,形成了导电沟道,即使在VGS=0时也有较大的漏极电流ID。当栅极电压改变时,沟道内被感应的电荷量也改变,导电沟道的宽窄也随之而变,因而漏极电流ID随着栅极电压的变化而变化。

我们可以通过在G下面再加一个浮动极,通过在里面注入电荷便能使保持导通与关断。

这时候肯定有人会问,这个浮动极周围都是绝缘的,怎么能注入电荷呢?
在宏观世界中确实是这样的,但在微观世界中存在隧道效应。

隧道效应:
        经典物理学认为,物体越过势垒,有一阈(读yu,阀实际上是一个错误的叫法)值能量;粒子能量小于此能量则不能越过,大于此能量则可以越过。例如骑自行车过小坡,先用力骑,如果坡很低,不蹬自行车也能靠惯性过去。如果坡很高,不蹬自行车,车到一半就停住,然后退回去。
        量子力学则认为,即使粒子能量小于阈值能量,很多粒子冲向势垒,一部分粒子反弹,还会有一些粒子能过去,好像有一个隧道,故名隧道效应(quantum tunneling)。可见,宏观上的确定性在微观上往往就具有不确定性。虽然在通常的情况下,隧道效应并不影响经典的宏观效应,因为隧穿几率极小,但在某些特定的条件下宏观的隧道效应也会出现。

         当电荷被成功注入后,由于周围都是绝缘的,这就使得导通关断状态可以长期保存下去。
         那么会不会因为绝缘不够造成电荷跑出去使得数据丢失呢?那么固态硬盘还能用吗?
         实际上电荷丢失的情况确实存在,不过这个时间是十年以上。你想想十年前用的硬盘才80G,现在手机都能128G,电脑硬盘都达到2000G。在十年之后这个硬盘你还会用吗?所以我们可以放心使用,因为这个硬盘寿命远远大于更新周期。

4.2 SLC/MLC/TLC的区别:
       最开始一个浮动极只有两种电位,这种叫SLC(Single-Level Cell)。
        随着时代的发展,技术越来越先进,人们渐渐发现了在原来只有两种高低电位的芯片内电压还能再细分出两种,于是就出现了MLC(Multi-Level Cell)。
        再后来还能分到第三层去,于是有了TLC(Trinary-Level Cell)。
        看起来TLC技术更先进,可以在相同体积下弄出三倍的容量。实际上这也得做出牺牲的,那就是寿命和速度。毕竟三层的情况下对电压的控制要求更精准。
         实际上也有QLC,不过就连TLC的寿命和速度相比MLC都有着较大的差距,QLC的寿命和速度就更没法看了,所以市场上通常最低都是TLC。


        由于TLC速度慢,寿命短,似乎不适合推广,不过现在也有技术给TLC续命。跟多级缓存机制相似,许多TLC的SSD也是多级设计,在TLC前面加入一块容量较小的SLC。在日常使用中,常用文件便在SLC中来回擦写,如果是较大的文件(这类文件通常也不会经常擦写)那么才调用TLC。这样可以使得TLC在日常使用中速度更快,寿命更长。不过这种设计也有问题,那就是当SLC存满后就容易出现掉速的现象。


4.3 寿命计算
         看了上面的寿命表,是不是感觉用不多久就会坏掉,毕竟有的文件一天就会擦写几十次。实际上SSD的寿命并不是这样计算的。现代的主控都会做到平衡磨损,也就是当你把之前不要的东西删掉后,它只是会把东西隐藏了而已,并没有真正擦除。当你又重新建立一个文件之后,就会在一块新的区域写入。这样就能使得整块SSD不同位置的闪存都能做到平衡磨损。

          我们可以发现,如果是一块全新的硬盘写入时直接写入就行。当硬盘使用了一次之后,因为之前删除的数据还保持在里面,所以需要先删除再写入,因此会出现掉速的现象,而且装得越满掉速越厉害。比如我之前的三星840,当装了超过70%以后就开始明显得感觉开始卡顿。所以个人建议SSD要买好一点的,刚开始可能用起来差距不大,但是用一段时间之后越好的SSD掉速现象越不明显,而且实际可用容量也会大一些(低端的可能装了60%就开始卡顿,高端的90%都感觉不明显)。
         总擦写量=总容量*擦写次数
        以500次寿命,128G的TLC为例,真正的寿命是500*128G=64000G,而且SSD的读取不会影响寿命(毕竟就相当于普通MOS管),仅仅是擦写才会。假如一天开车30G,这样一块SSD都足以使用六年之久,因此完全不必担心寿命,六年之后你肯定会更换硬盘了。
转播转播 分享淘帖
回复

使用道具

0

主题

0

帖子

0

积分

列兵

积分
0
沙发
法式油炸 发表于 2017-3-19 19:41:46
不错,学习了
回复

使用道具 举报

74

主题

229

帖子

2282

积分

认证自媒体

积分
2282
板凳
猎鹰 发表于 2017-3-21 02:30:52
机械硬盘原理


        简单地说就是一个可以充磁与消磁的盘子,还有一个磁头。通过磁头便可以对记录在盘片上数据的读取。当然,也可以通过磁头对盘片进行数据写入。

        很多人可能会想,这个磁盘的磁性那么弱,为什么磁头也能轻松读写数据?其实磁头与盘片的距离是非常小的,大约0.1um。为了保持如此接近,在硬盘内充入十分纯净的气体(一点小小的尘埃在如此近距离下都会对硬盘造成极大的损害,所以千万不能自行拆硬盘),当硬盘开始旋转的时候气流会使得磁头悬浮在空中,这样既不接触,也不会远离。

降低距离是一种办法,另一种办法是提高磁头灵敏度,巨磁阻效应的发现,使得磁盘的容量密度发生了数量级的提升。

巨磁阻效应
        磁性材料的电阻率在有外磁场作用时较之无外磁场作用时存在巨大变化的现象。巨磁阻是一种量子力学效应,它产生于层状的磁性薄膜结构。这种结构是由铁磁材料和非铁磁材料薄层交替叠合而成。当铁磁层的磁矩相互平行时,载流子与自旋有关的散射最小,材料有最小的电阻。当铁磁层的磁矩为反平行时,与自旋有关的散射最强,材料的电阻最大。上下两层为铁磁材料,中间夹层是非铁磁材料。铁磁材料磁矩的方向是由加到材料的外磁场控制的,因而较小的磁场也可以得到较大电阻变化的材料。

        为了追求容量,现在很多硬盘都是多块盘片在一起的。



工作过程


在实际的读写中大概有以下步骤
       1.寻道:移动摇臂,将其对准所需要的磁道(磁盘在格式化时被划分成许多同心圆,这些同心圆轨迹叫做磁道
       2.等待目标到磁头下方:只有当存储了所需数据的点到达磁头下方才可以读取。
       3.数据传输:把磁信号转换为数据

       实际读取时间=寻道时间+旋转时间+传输时间
       为了提高读写速度,可以提高硬盘的转速,用于缩小等待旋转的时间。不过高速耗电高,振动大,所以笔记本用的2.5寸基本上是5400转每分钟,而台式机的3.5英寸是7200转每分钟。

       当文件零散分布于硬盘中时,读写并不连续,而是需要不断寻道、等待,因此机械硬盘对于零散文件的读写就要慢很多。而操作系统的文件的读取基本上都是零散文件,因此使用固态硬盘可以有效提高操作系统的流畅度。当然为了解决这些问题也是有办法的,比如加入缓存。甚至后来还出现了混合硬盘,也就是在机械硬盘的前端加入一块小容量的固态硬盘,不过这种结构相比于传统机械硬盘提升不大,因此慢慢被淘汰。


数据恢复
        稍有常识的人都看得出,当你复制一个文件时会耗时很久,而删除时却是一瞬间,这是为什么呢?其实当我们点击删除文件之后文件并没有马上被删除,而是被隐藏了,硬盘也会标记这是可以写入的部分。
再次引用之前的图


       所以我们完全可以通过软件将这些隐藏的文件再次找出(淘宝输入数据恢复软件就有,这类软件较贵100-200元一年,与实体店的收费差不多,这类软件只能使用付费版,免费版很多被强行阉割根本没法用),当然前提是,这些没有被覆盖,当多次覆盖之后恢复的可能性会大大降低。因此个人建议硬盘容量还是要买大一点,使用中还得保留一些空余,免得出现手贱的时候被多次覆盖,难以恢复。
如果已经被多次覆盖的那么就完全没法恢复吗?
       当然对于普通人来说确实不行,但是对于一些专业人士(克格勃,FBI这类),这完全没啥难度,甚至直接拆了盘,使用显微镜等专业设备将其从出厂到现在的全部数据弄出来也不算难。

固态硬盘和机械硬盘的主要性能区别:
      1.固态硬盘对于零散文件的读取速度比机械硬盘不知道快到哪里去了,毕竟不需要像机械硬盘一样寻道和等待旋转到合适位置的时间。
      2.固态硬盘成本高,毕竟新技术,成本肯定高,不过之后会有降价趋势。
      3.固态硬盘的数据安全性比机械硬盘低,毕竟机械硬盘的数据是保存在实体盘子上面,就算电路全部烧毁了也可以取下盘子找回数据,相比之下固态硬盘烧毁了数据基本上就丢失了很难找回。不过固态硬盘没有运动的机械结构,不会像机械硬盘一样出现碰撞损坏。
      4.固态硬盘的容量密度高很多,2.5英寸的固态硬盘现在可以做到4TB,而3.5英寸的机械硬盘也才10TB。



硬盘的选择
       1.操作系统最好使用固态硬盘。由于固态硬盘在随机读取速度比机械硬盘不知道高到哪里去了,而系统流畅度很大程度上取决于硬盘速度(很多人都会发现,有时候CPU并没有满载,内存也没有满,但是电脑却感觉不流畅,总是会卡住,其实这就是因为硬盘读取速度跟不上)。所以装系统一定要使用固态硬盘,之前实际测试,使用SSD的A8日常使用流畅度可以完全吊打HDD的i7,SSD不光是提高了开机速度,在日常使用中可以给流畅度带来数量级的提升。
       2. 闪存类型的选择,个人建议使用MLC(SLC价格太高,完全没有优势,TLC寿命其实还算不错,就是写入速度有些慢,而且价格相比于MLC并没有便宜太多)。容量上个人建议就算预算不足也得120G/128G保底,最好上240G/256G。更低的60G/64G很容易满,而且根据SSD的原理我们就能知道,如果装得太满就会掉速严重,而且严重影响寿命。120G/128G的容量足以安装操作系统和一些常用的软件。在价格上120G/128G大概300元左右,240G/256G大概500元左右,480G/512G大概1100元左右。相比之下240G/256G的性价比是坠吼的,此容量基本上足以放置所有的软件。如果购买更大的480G/512G,感觉价格贵,而且一般人根本没有这么多软件,除非是游戏,不过我并没有感觉游戏放在SSD里面性能有多大的提升,包括载入速度提升也不是很大。
        3.是非需要使用机械硬盘?如果是经常在移动中使用的笔记本,个人建议使用全固态架构外加移动硬盘,毕竟机械硬盘内有高速旋转的磁盘,在移动中使用极易造成损坏。如果是台式机个人感觉是必须的,因为机械硬盘就算出现问题后也能将磁盘取出进行数据恢复,而固态硬盘出现问题后大部分情况下会出现数据丢失,毕竟数据的安全是坠重要的。
回复

使用道具 举报

0

主题

5

帖子

42

积分

列兵

积分
42
地板
1634962651 发表于 2019-1-15 09:14:59
写的好详细
回复

使用道具 举报

B Color Link Quote Code Smilies
Archiver|手机版|小黑屋|MakerTime 创客时代  
Powered by Discuz! X3.3  © 2001-2017 Comsenz Inc.