关于固态硬盘的寻址原理和寻址速度的一个疑问? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
aiqier
V2EX    编程

关于固态硬盘的寻址原理和寻址速度的一个疑问?

  •  
  •   aiqier 2017-04-20 11:08:23 +08:00 5870 次点击
    这是一个创建于 3163 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我从书中大概了解到固态硬盘。使用闪存而不是像机械硬盘那样要旋转磁头,所以读取速度很快。

    但是我很难理解,固态硬盘是如何找到某个地址的,我看到有一些文章提到它和内存寻址基本一样,还有文章提到它和内存寻址是一个数量级的。

    查阅了了相关资料。要么是太专业完全看不懂,要么也只是简单的说固态硬盘没有磁头,使用电门寻址要快很多。但是我还是无法想象它到底是如何寻址(随机读写)的。

    6 条回复    2017-05-22 11:28:40 +08:00
    BOYPT
        1
    BOYPT  
       2017-04-20 11:18:21 +08:00   1
    SSD 并不需要“寻址”,和内存一样,他的存储空间的地址都是一一对应的;
    但是为了兼容接口,需要模拟一个协议层的寻址指令,当接收到一个寻址指令时候马上会回应准备完成,所以很快。

    不过实际产品当中,不同 SSD 的厂商都有自己的技术,为了最大化磁盘效益,平均化读写单元寿命,利用冗余空间等过程,在 SSD 的内置固件里面会有非线性的寻址映射,跟内存的一一对应也不是完全一回事。
    kokutou
        2
    kokutou  
       2017-04-20 11:23:43 +08:00 via Android   1
    机械,找地址要磁头转个角度,然后再读。而且盘片速度就那么多,最快也就 7200 转,速度上不去,随机读就更惨,磁头不停地移动。

    固态,直接对着地址读就行了,不需要等。
    aiqier
        3
    aiqier  
    OP
       2017-04-20 11:34:58 +08:00
    @BOYPT 是“不是完全一回事”,还是“完全不是一回事”。。。
    liuhaotian
        4
    liuhaotian  
       2017-04-20 11:44:17 +08:00
    SSD 的结构和内存确实是很像的,实质上是 Flash Chip Block
    http://www.extremetech.com/wp-content/uploads/2015/07/2006640.jpg

    @BOYPT 说的非线性寻址映射就是因为 SSD 的擦写次数有限制,为了避免某一些 chip 被过度擦写坏掉,增加整体可靠性,来做的一个操作,实际上就是损耗均衡 ( wear leveling )。

    常见的有两类 wear leveling 算法, dynamic 和 static 。 dynamic 就是动态的把数据请求地址映射到擦写次数少的地址, static 是把擦写次数少的地址中的数据和热数据进行交换。

    具体的算法就有很多了,比如 LAST, FAST, BAST 等等等等。
    Halry
        5
    Halry  
       2017-04-20 12:12:33 +08:00 via iPhone
    有一个 ftl ,读取的时候直接从数片 nand 里面读取
    helloallen
        6
    helloallen  
       2017-05-22 11:28:40 +08:00
    固态盘一般以 nand flash 为介质存储数据。

    你可以了解一下 NAND 芯片的引脚定义还有编程接口,这个现在都是标准的。

    NANDflash 不同于传统磁性介质。没有寻到这个概念。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3425 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 23ms UTC 00:43 PVG 08:43 LAX 16:43 JFK 19:43
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86