你觉得树莓派上的SD卡好用吗?

树莓派的SD卡/MicroSD卡,坏掉的例子屡见不鲜,我觉得这种卡看上去就挺脆弱的,如果再加上经常插拔,那坏掉也正常。但问题是,SD卡是树莓派官方推荐的启动方式,一旦坏了你的Pi也就歇菜了,不像USB坏掉一个还能剩一个,你说是吧。

所以我们今天就来了解一下关于SD卡的话题:

  • SD卡的工作原理是什么
  • 树莓派与SD卡是怎么连接的?
  • 推荐给树莓派用什么类型的SD卡?
  • SD卡有什么代替方案,eMMC?USB?

SD卡的工作原理是什么

首先要说到NAND,这是一种基于晶体管的逻辑门电路。然后是NAND Flash,这是一种基于NAND的存储结构,但你需要基于某种方式来访问它(读写它)。

比如,可以在PCB上放置一个NAND Flash存储芯片,然后添加一个控制芯片及其接口。如果是USB接口,你就得到一个U盘。如果是SD接口,那就是SD卡了。

图1-U盘或SD卡内部有NAND Flash存储芯片和控制芯片,见参考链接[1]

U盘或者SD卡都是相对简单的设备,这两者主要是接口形态的不同。当你在上面存储信息时,控制器会将信息写入某些固定位置,这可能会损坏NAND Flash,因为他们的写入次数是有限的。

而对于固态硬盘(SSD),其内部的控制器就复杂的多,会做很多资源平衡与调度。并且,SSD中的NAND Flash从工艺加工角度也更为高级,可分为SLC、MLC等,就不展开了。


树莓派与SD卡是怎么连接的?

树莓派4B上装配的是一种更小型化的SD卡,称之为Micro SD卡。与普通SD卡原理类似,但接口有区别,对比示意图如下:

图2-SD卡、Mini SD卡、Micro SD卡接口引脚对比

看起来这些卡的接口都是一种基于Clk+4 Data的总线。由于区别只在于体积和引脚定义,本文不特别区分,统称为SD卡。

关于树莓派4B的主芯片SoC BCM2711与SD卡是如何连接的,这个在官方的原理图上并未显示(阉割版原理图嘛……)。

不过我们可以从树莓派3B上找到一些蛛丝马迹,看下图,树莓派3B主芯片SoC BCM2837与MicroSD卡是直连的:

图3-树莓派3B 主芯片SoC BCM2837与MicroSD卡直连

也可以从官方提供的树莓派4B《bcm2711-peripherals.pdf》中看到一些蛛丝马迹。总之结论就是,对于树莓派4B,主芯片SoC BCM2711是与MicroSD卡直连的。猜测BCM2711内部应该是有SD卡及其总线的外设控制器。


推荐给树莓派用什么类型的SD卡?

存储大厂金士顿(Kingston)写过这么一片文章《Choosing Storage for Raspberry Pi》,出处见参考链接[2]:

图4-金士顿推荐给树莓派用8GB Class 10 UHS 类型的SD卡

其中说到:对于安装Raspbian OS操作系统,SD卡(MicroSD卡)的存储容量至少要8GB。然后对于SD卡的等级,要达到Class 10 UHS-I。

Class 10 UHS-I,如果看下图,也就是10MB/s的水平(但我没看出上述金士顿文章截图说的95MB/s是如何实现的)。

图5-SD卡Class 10 UHS-I等级图

国外http://Tomshardware.com也做过树莓派SD卡读写测试,对于UHS-I的连续写入速度,也就是在10~20MB/s的水平。详情可参见链接[3]。

图6-Tomshardware做树莓派4对于SD卡的读写测试


SD卡有什么代替方案,eMMC?USB?

SD卡的代替方案有eMMC或USB。

先说下eMMC,eMMC和SD卡按照相同的技术标准构建,原理相同。但eMMC的芯片通常采用小型球栅阵列(BGA)封装,是永久焊接在PCB的,不可拆卸。我们在树莓派CM4版本上看到eMMC芯片:

图7-树莓派CM4上的eMMC芯片

http://jeffgeerling.com测试过树莓派CM4上的eMMC读写速率,确实比SD卡要快很多,如你对树莓派存储媒介的读写速率有要求,可以看看它的评测,并考虑用树莓派CM4的版本,详见参考链接[4]。

当然你也可以将树莓派的启动媒介切换到USB上,不过会占用USB口,而且功耗和发热应该也更高,因为会用到USB控制器VLI VL805。具体将树莓派的启动媒介切换到USB的办法网上有很多,我看的是参考链接[5]。


总结

总结一下树莓派上使用SD卡优点:

  • 树莓派SoC能直接控制读写SD卡,不需要额外占用USB口
  • SD卡的卡槽在PCB背面,不影响体积
  • SD卡可以插拔,使得用户可以在PC上烧录操作系统

而SD卡缺点在于:

  • SD卡易坏,特别是买到山寨品牌的时候
  • SD卡易坏,特别是在SD卡需要频繁读写,以及在写操作时发生断电,都会增加SD卡损坏的概率
  • SD卡的读写速度较慢,这个可以考虑用eMMC或者用USB作为代替方案

整体来说,SD卡的优点还是大于缺点,这是为了兼顾开发难易的一种折中。

这不树莓派5也出来了吗,官方推荐的存储媒介仍然是SD卡(MicroSD卡),而且还支持了SD卡的SDR104标准,即更高的时钟频率和读写速率。所以,继续用SD卡吧。

图8-树莓派5B上的MicroSD卡


参考链接

(全文完)


可以关注我的微信公众号“疯狂的运放”,及时收到最新的推文。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gilbertjuly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值