为什么我的U盘比别人的快十倍?

fanfan   ·   发表于 6个月前   ·   趣味科技

    今年年初,我电脑256G的硬盘终于被填满了,于是我去中关村买了一块三星970EVO的1T硬盘给电脑升级,虽然破费不少,但是3000MB/s的读写速度实在是太香了,电脑使用体验获得显著提升。

    古语云:由简入奢易,由奢入简难。在体验过超快读写速度后,再看向陪伴我多年的那个U盘,在21世纪的第三个十年,拷贝1G的文件竟然要近三分钟。


    没办法,多年陪伴的感情也挡不住更新换代的浪潮,我想,是时候自己做个新的U盘了


怎么做呢?先来一点科普

    U盘,全称USB闪存驱动器,它的存储介质为闪存(Flash Memory)。一般来说,U盘会由两部分组成,其一是闪存颗粒,也就是装着闪存的芯片,U盘中的数据就存放在闪存颗粒中。其二是主控,主控芯片可以对闪存颗粒进行读写,然后通过USB协议和其他设备进行数据传输。

    如下图所示,上面的芯片就是闪存颗粒,下面PCB上的黑色芯片就是主控芯片。


    不只是U盘,固态硬盘等存储设备也主要由闪存颗粒和主控芯片组成,由于对读写速度的要求不同,它们的区别主要在于闪存颗粒的读写速度上限和主控支持的协议上。

    下图是从我电脑里拆出来的固态硬盘,实际上它只比U盘大一点,可以看到,主控和闪存颗粒占据了大部分面积,还有一块缓存芯片用于提高读取速度。


    因此要自己做一个U盘,你只需要去某宝买来主控板和闪存颗粒就行了。只要你钱多,你就能买最好的、速度最快的闪存颗粒,让你的U盘比别人的硬盘速度还快!

PS:如果你钱不多,可以选择加入电子系科协硬件部来薅羊毛。

    一般来说,主控的选择余地并不大,只要主控支持USB3.0协议,并且支持你选择的闪存芯片即可,本次我使用的IS903就是支持面非常广的一款主控芯片。

    而闪存颗粒的选择余地就很大了,闪存颗粒的主要指标是其存储容量和读写速度。举例来说,如果你给U盘装两块64G容量的闪存颗粒,那你的U盘就会拥有128G的空间,而目前已经能买到1T的闪存颗粒了!也就是说只要你钱多,就可以做出2T的U盘!??


    闪存颗粒的种类非常多,我们从NAND闪存的结构来简单认识下。闪存的最小存储单元叫做cell,它主要是一个MOSFET,如下图:


    数据就用floating gate中存放的电荷量来表示,这就像一个电容,当floating gate中电荷量不同时,在word line上检测到的电压就不同,这个电压值可以用来表示数据。

    如果我们认为,电压高于某个阈值Vth代表1,电压低于Vth代表0,这样每个cell就能存1bit数据,这种存储方式就叫做SLC(1bit/Cell)。

    一个cell只存储1bit数据好像有点浪费,我们完全可以把电压分成四个区间,分别编码为00,01,10,11这样1个cell就能存储2个bit了,这种存储方式叫做MLC(2bit/Cell),这样做的优点是一个cell存了更多的数据,因此同样存储容量的成本就大大降低了,但缺点是因为每个电压区间更小了,识别其中的数据需要更多时间,因此读写速度会下降。

    相应地,还有TLC和QLC,TLC就是把电压分成8份存3bit数据,QLC是把电压分成16份存4bit数据,如下图所示:


    显然,同样的容量下,成本从QLC到SLC逐渐升高,但是读取速度也从QLC到SLC逐渐提高。

    由于SLC成本太高,市面上比较难看到,少数发烧级别的存储设备会使用SLC颗粒。在几年前,市面上的U盘使用的主要是TLC颗粒,固态硬盘则以MLC和TLC为主。曾经TLC由于速度慢常常遭大家诟病,但是囊中羞涩者也只能选择便宜的TLC颗粒。

    不过近期闪存技术取得了飞速的进步,市场也在飞速变化,TLC颗粒的速度做了上来,由于其成本低而逐步主导了市场,当然高端一些的产品上用的还是MLC,比如我之前买的三星970EVO上用的就是MLC颗粒,那是真的快的飞起。QLC则是近一年才出现在市场上的,目前比较少见,由于QLC成本低,应该离普及也不远了。


    科普的内容结束了,接下来就是动手做U盘了,我买的主控型号是IS903,闪存颗粒选了东芝的一款32G的MLC颗粒,成本主要集中在闪存颗粒上,目前用于U盘的MLC颗粒价格大概是0.7元/G,本着够用就行的原则,我就装两片32G的闪存颗粒,成本50左右,如果有人想用U盘取代百度网盘,只需要装两个1T的闪存颗粒就行,这样成本2000RMB左右

    买来主控板和闪存颗粒后首先需要把闪存颗粒焊在主控板上,闪存颗粒的封装往往是BGA封装(球栅阵列封装),小小的芯片上有132个触点,焊接有一些难度。

    BGA封装的触点与焊盘:


    在电子系我常常觉得,自己和大家差得太远了,以后找工作恐怕是个难题,不过马上就是5G时代了,是我们电子人的天下了,把在电子系学的知识拿去修手机,应该还能混口饭吃,因此我去学了BGA封装芯片的焊接方法。考虑到系里对未来悲观的同学不在少数,我决定把以后吃饭的饭碗都分享出来,希望大家学会后对未来重新充满信心!


    拿出烙铁、热风枪等设备,如果没有的话可以等返校后去主楼903用。


    首先要仔细地清理焊盘,买来的主控板PCB焊盘上有一层锡,先要把这层锡除掉,涂一些焊油,用吸锡带盘它即可。

    接下来的步骤是BGA植球,全新的BGA芯片触点上是不带焊锡的,需要在焊点上加入焊锡,这个过程叫植球,植完球的芯片才能焊到焊盘上。手工植球首先需要一张和触点位置匹配的钢网,在准确对齐后往上撒锡珠,让每个孔里都有一颗锡珠,然后用热风枪吹化锡珠,锡珠就留在触点上了。如下图:


也可以用钢网上抹焊锡膏的方法植球,一个植完球的芯片如下图所示:


当然还要用洗板水把植好球的芯片擦得干干净净:


    由于我买的闪存芯片出厂就植好了球,所以我就不用做了,关于BGA植球,b站上有很多视频,自动化系卓晴老师的公众号里最近也有一篇文章讲了这件事,这极大降低了我写教程的动力,大家可以去那边看看。

    然后用洗板水充分刷洗焊盘,保证焊盘洁净,洗板水的成分是有机溶剂,本质上是溶解掉之前残留的松香、焊油这类难以洗掉的东西。

    再往焊盘上涂一些新的焊油,用风枪吹均匀,然后非常非常仔细地将闪存芯片与焊盘对齐,由于焊点之间间距只有零点几mm,差一点点都可能导致焊接失败。要注意芯片的方向正确,芯片的位置和方向可以参考在PCB上的丝印。由于焊盘上有焊油,贴好后闪存被粘着不会掉下来:

    然后就是难度最高的焊接,保持风枪温度不要超过350度,焊接速度越快越好,否则很容易烧毁闪存。

    首先用风枪对焊盘预热,这一步就是快速晃动,吹吹焊盘周围让PCB整体温度达到100度以上,这是为了降低焊接时PCB与芯片的温差,使得芯片下的焊锡能更快地熔化进而被焊在PCB上。

    预热好后对芯片部位集中加热,这一步会将芯片的温度提到300度以上,时间太长可能会损坏芯片。这一步的要点是风枪缓慢移动,对芯片部分集中加热,一般会用十几秒左右的时间来将芯片底部的焊锡熔化。

    在焊锡熔化的那一刻,芯片马上要被焊接上时,可以看到芯片四周往外冒焊油,这是因为焊锡熔化后芯片的高度下降了,把下面的焊油挤了出来。这时候,可以用镊子非常非常轻地触碰芯片一下,在焊锡熔化的时候,由于表面张力作用,芯片会自己”归位“,一般来说看到归位现象就说明基本成功了,可以撤掉风枪冷却。

    仔细看下图,你可以看到冒焊油和"归位"现象。

    怎么样,是不是非常简单,下次亲戚朋友问你学电子会不会修手机,你就可以回答:"略懂。"

    如果是新手的话焊上去一块闪存可以先插上电脑看看能不能识别,但我是老司机了,就顺手把背面的闪存也焊了。

都焊好后再刷洗一下,再装个壳,基本上就完成了!


    只差最后一步了,需要对闪存内部做一些初始化,也就是开卡,根据主控芯片选择U盘量产工具,做一些基本设置然后开卡,一般来说如果U盘的文件系统受到严重损坏,在格式化都修不好的情况下,也可以用量产工具彻底修复。


    只有焊接良好,没有烧毁闪存,量产工具才能识别到闪存芯片,开卡的过程比较傻瓜,简单设置需要的格式然后点开始键,等几分钟就成功了。

    然后,重新拔插下U盘,windows就认出新鲜出炉的它了!



    下面是show time。为了让大家看到自制的这个U盘到底有多快,我们用SSD benchmark跑个连续读写测试。据我观察,大部分人目前使用的U盘都还是USB2.0的,以我之前用的那个U盘为例去跑连续读写测试,如下图


主要看第一行数据,读16.94MB/s,写6.88MB/s

那自己做的呢???


 翻了十倍不止!这个速度已经超过了大部分机械硬盘!假如某一天你需要从室友那搞1G学习资料,用百度网盘下载可能需要一晚上,用普通U盘去烤可能需要三分钟,用这个U盘则只需要不到10s。

    然而这不是上限,我买的闪存颗粒一个才20块钱,完全可以通过氪金使这个数值再翻几倍。


顺手再多做些对比吧,下图是某2T的移动硬盘的读写速度:


下图是200多买的三星某高端U盘的速度,在读性能相近的情况下,自己做的U盘只花了50块钱。


而我为什么老是吹970EVO呢?


    近期已经可以用高价买到性能非常好的U盘了,随着科技的发展,技术的进步,产品的优化,DIY的意义变得越来越小了。不过我想,不管在什么时代,有点折腾的精神总是好的吧。


转载自:无限之声 

撰稿人:刘晰鸣

审稿人:钟宏涛



0 Reply   |  Until 6个月前 | 200 View
LoginCan Publish Content