认识固态:SSD硬盘内外结构解析

固态硬盘(Solid State Drive),简称固态盘(SSD),是用固态电子存储芯片阵列而制成的硬盘,由控制单元和存储单元(FLASH芯片、DRAM芯片)以及缓存单元组成。区别于机械硬盘由磁盘、磁头等机械部件构成,整个固态硬盘结构无机械装置,全部是由电子芯片及电路板组成。
 
根据固态硬盘的定义,我们可以知道固态硬盘的内部结构,其实就是由三大块主控芯片、闪存颗粒、缓存单元构成。接下来,我们逐一来看。
 

 
固态硬盘大脑:主控芯片
 
正如同CPU之于PC一样,主控芯片其实也和CPU一样,是整个固态硬盘的核心器件,其作用一是合理调配数据在各个闪存芯片上的负荷,二则是承担了整个数据中转,连接闪存芯片和外部SATA接口
 
不同的主控之间能力相差非常大,在数据处理能力、算法上,对闪存芯片的读取写入控制上会有非常大的不同,直接会导致固态硬盘产品在性能上产生很大的差距。
 

 
慧荣主控
 
当前主流的主控芯片厂商有Marvell(俗称“马牌”)、SandForce、Silicon Motion慧荣、Phison群联、JMicron智微等,而这几大主控厂商,又都有着自己的相应特点,应用于不同层级的固态产品。
 
以台系厂商慧荣为例,此款主控芯片主要特点在于能够为固态硬盘厂商提供包括软件和硬件在内的一体化主控方案,包括主控芯片、电路板以及存储单元,能够极大的提升产品的更新速度和使用寿命,并且不存在兼容等问题。
 
核心器件:闪存颗粒单元
 
作为硬盘,存储单元绝对是核心器件。在固态硬盘里面,闪存颗粒则替代了机械磁盘成为了存储单元。
 
闪存(Flash Memory)本质上是一种长寿命的非易失性(在断电情况下仍能保持所存储的数据信息)的存储器,数据删除不是以单个的字节为单位而是以固定的区块为单位。
 

 
固态硬盘中闪存颗粒占据大部分比重
 
在固态硬盘中,NAND闪存因其具有非易失性存储的特性,即断电后仍能保存数据,被大范围运用。
 
根据NAND闪存中电子单元密度的差异,又可以分为SLC(单层次存储单元)、MLC(双层存储单元)以及TLC(三层存储单元),此三种存储单元在寿命以及造价上有着明显的区别。
 
SLC(单层式存储),单层电子结构,写入数据时电压变化区间小,寿命长,读写次数在10万次以上,造价高,多用于企业级高端产品。
 
MLC(多层式存储),使用高低电压的而不同构建的双层电子结构,寿命长,造价可接受,多用民用高端产品,读写次数在5000左右。
 
TLC(三层式存储),是MLC闪存延伸,TLC达到3bit/cell。存储密度最高,容量是MLC的1.5倍。 造价成本最低, 使命寿命低,读写次数在1000~2000左右,是当下主流厂商首选闪存颗粒。
 

 
海力士16nm TLC闪存颗粒
 
当前,固态硬盘市场中,主流的闪存颗粒厂商主要有Toshiba东芝、Samsung三星、Intel英特尔、Micron美光、SKHynix海力士、Sandisk闪迪等。
告别小白:固态硬盘内外结构解析
 

东芝闪存颗粒
 
由于闪存颗粒是固态硬盘中的核心器件,也是主要的存储单元,因而它的制造成本占据了整个产品的70%以上的比重,极端一点说,选择固态硬盘实际上就是在选择闪存颗粒。
 
锦上添花:缓存芯片
 
缓存芯片,是固态硬盘三大件中,最容易被人忽视的一块,也是厂商最不愿意投入的一块。和主控芯片、闪存颗粒相比,缓存芯片的作用确实没有那么明显,在用户群体的认知度也没有那么深入,相应的就无法以此为噱头进行鼓吹。
 

 
南亚缓存
 
实际上,缓存芯片的存在意义还是有的,特别是在进行常用文件的随机性读写上,以及碎片文件的快速读写上。
 
由于固态硬盘内部的磨损机制,就导致固态硬盘在读写小文件和常用文件时,会不断进行数据的整块的写入缓存,然而导出到闪存颗粒,这个过程需要大量缓存维系。特别是在进行大数量级的碎片文件的读写进程,高缓存的作用更是明显。
 
这也解释了为什么没有缓存芯片的固态硬盘在用了一段时间后,开始掉速。
 
当前,缓存芯片市场规模不算太大,主流的厂商基本也集中在南亚、三星、金士顿等。根据最新消息,无外置缓存的固态硬盘产品将于不久后问世,虽然很早之前就有诸SandForce SF2281自带缓存主控产品,但是市场反响却差强人意,不知道最新的无外置缓存的固态硬盘的表现如何,也请大家拭目以待。
 
主控芯片、闪存颗粒、缓存芯片,这三者有机的结合在一块PCB板上,构成了固态硬盘的整体形态。我们在选购固态硬盘或是评价固态硬盘的时候,可以从这三者出发,进行产品性能的预估,避免被有些商贩鼓吹的高速读写,蒙蔽双眼。

[转帖]认识固态:SSD硬盘内外结构解析的更多相关文章

  1. 如何判断是否是ssd硬盘?win10查看固态硬盘的方法

    转自:http://www.w10zj.com/Win10xy/Win10yh_7732.html 如何判断是否是ssd硬盘?在win10操作系统中我们该如何查看当前主机中安装的是固态硬盘还是机械硬盘 ...

  2. IDE、SATA、SCSI、SAS、FC、SSD硬盘类型介绍[zz]

    目前所能见到的硬盘接口类型主要有IDE.SATA.SCSI.SAS.FC等等. IDE是俗称的并口,SATA是俗称的串口,这两种硬盘是个人电脑和低端服务器常见的硬盘.SCSI是"小型计算机系 ...

  3. SATA SAS SSD 硬盘介绍和评测

    SATA SATA的全称是Serial Advanced Technology Attachment,是由Intel.IBM.Dell.APT.Maxtor和Seagate公司共同提出的硬盘接口规范. ...

  4. Macbook SSD硬盘空间不够用了?来个Xcode大瘦身吧!

    原文转自:http://www.jianshu.com/p/03fed9a5fc63    日期:2016-04-22 最近突然发现我的128G SSD硬盘只剩下可怜的8G多,剩下这么少的一点空间连X ...

  5. SSD硬盘的4K对齐

    4K对应4096 硬盘模式: 一.让SSD运行在AHCI模式下: AHCI,全称Advanced Host Controller Interface,即高级主机控制器接口,相比老旧的“IDE“ 虚拟模 ...

  6. ssd硬盘u盘装win7扩展文件时0x80070570错误

    搞了个minisata ssd 硬盘,80G正好,只用来装操作系统. 这个u盘装了很多系统了,没感觉会有什么问题,但在安装过程中出现0x80070570错误.见图 网上有很多方法. 最后的解决方法是: ...

  7. 换SSD硬盘,重装系统,一阵子忙乱

    许久没重装过系统了,低声下气地问老板要了一块SSD硬盘,不马上安装上手痒得难受,但年底这个时候重装系统绝对忙乱,差点耽误了一份申请表和一份培训记录表.   SSD安装:先从网上找相关贴子,最主要的一个 ...

  8. [Mac] Mac book pro互换SSD硬盘、生产启动U菜、TimeMachine恢复 小记

    Mac book pro 硬盘故障.互换SSD硬盘.启动U磁盘生产 小记 2012新年买Mbp了.尽管各种功能都能用,但常常频繁的出现鼠标风火轮,已经下好的电影在本地播放时都会隔个几分钟卡一下. 拿到 ...

  9. 给笔记本更换SSD硬盘

    给笔记本更换SSD硬盘... ---------- 给笔记本更换SSD硬盘 带活动字样的一个新的系统盘,一个之前的主分区的系统盘 ----------------------------

随机推荐

  1. selenium-登录C语言中文网

    from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait from seleni ...

  2. Codeforces 469 D. Two Sets (并查集)

    题目链接:Two Sets 题意: 有n个数,要分成A.B两组,要求如果x∈A则a-x∈A,如果x∈B则b-x∈B,问是否存在一种符合要求的分法. 题解: 并查集,先增加两个点表示A和B集合的根,对于 ...

  3. Redis 为什么使用单进程单线程方式也这么快

    Redis 采用的是基于内存的采用的是单进程单线程模型的 KV 数据库,由 C 语言编写.官方提供的数据是可以达到100000+的 qps.这个数据不比采用单进程多线程的同样基于内存的 KV 数据库 ...

  4. 如何写一个Xss Bot

    如何写一个Xss Bot 现在的ctf比赛里 xss的出题方式比较特殊,一般使用xss bot,所以借鉴大佬经验尝试弄一个xss题目. xss bot 就是代替管理员去完成点击页面的任务,bot需要能 ...

  5. let与var区别

    <!DOCTYPE html> <html> <head> <title>let与var区别</title> <meta charse ...

  6. TensorFlow Python3.7环境下的源码编译(三)编译

    这里要为仅支持 CPU 的 TensorFlow 构建一个 pip 软件包,需要调用以下命令: $ bazel build --cxxopt="-D_GLIBCXX_USE_CXX11_AB ...

  7. c#简易学生信息管理系统

    在近期的学习中,我们学习了泛型及泛型集合的概念和使用,泛型是c#中的一个重要概念,为了巩固我们学习的成果,我们可以使用一个实例来进行练习 题目及要求 要求使用Windows窗体应用程序,制作出如上图的 ...

  8. 在Visual Studio中使用.lib和.dll的环境搭建

    1 静态库和动态链接库的区别 动态链接库是在运行的时候被调用的,静态库在链接的时候被链接到最终生成的应用程序(.exe)中 静态库需要用到的文件 (.lib .h) 头文件(.h)提供接口,库文件(. ...

  9. Docker 入门之docker容器创建

    使用docker容器的大多数人都是因为想要隔离不同运行环境的差异,使得自己的应用能更好的移植和部署.那么我们来看看掌握docker需要掌握哪些方面. 1,搭建docker环境 2,编译镜像并将其运行成 ...

  10. mysql 伪列

    select  @rownum:=@rownum+1 AS rownum,b.* from (SELECT @rownum:=0) r ,goods_description_new  b