今天我们很高兴地宣布一些新的配件,我们认为这些配件将大大改善您使用Raspberry Pi的体验。随着最新版本的Raspberry Pi OS的发布,Raspberry Pi 5可以利用Class A2 SD卡提供的额外性能;为了帮助您充分利用这一点,我们推出了我们自己的一系列高品质、低成本的Raspberry Pi SD卡。我们还发布了Raspberry Pi保护套,这是一个可爱的小硅胶套,用来保护您的Raspberry Pi 5的底部和边缘。
Raspberry Pi SD 卡和Raspberry Pi 保护套可以直接在树莓派的经销商进行购买,购买方式;https://www.edatec.cn/cn/ac/raspberrypi_bumper.html
2.私信联系方式给我们,直接下单购买。
正如你们中的许多人亲身体验过的,您选择的SD卡对您的Raspberry Pi体验有着巨大的影响。从历史上看,我们与我们的认证转售商合作伙伴合作,测试并认可第三方SD卡。但随着SD卡变得更加复杂,特别是随着Class A2卡的出现,这个过程变得越来越繁琐。为了确保您以尽可能低的成本获得尽可能好的体验,我们与我们的合作伙伴Longsys合作开发了一系列品牌的Raspberry Pi SD卡。这些Class A2卡在所有Raspberry Pi计算机上提供了卓越的随机读写吞吐量,并且在Raspberry Pi 5上使用时支持命令队列,以实现更高的性能。从今天起,我们的认证转售商将只在Raspberry Pi计算机旁边推广Raspberry Pi SD卡,您可以确信它们的质量。支持应用程序性能等级A2的SD卡,比如我们的新Raspberry Pi SD卡,可以实现更快的读写操作,Raspberry Pi 5包含了允许它充分利用这种额外性能的硬件特性。要启用这些特性,您将需要使用最新版本的Raspberry Pi OS,或者用最新的软件包更新您的Raspberry Pi OS安装。运行以下命令进行更新:sudo apt update && sudo apt full-upgrade
Class A2卡是如何实现更好的性能的呢?继续阅读!SD主机控制器接口(SDHCI)规范标准化了控制与SD卡通信的硬件(主机控制器)。在Raspberry Pi计算机上,主机控制器位于Broadcom应用程序处理器内部。命令队列主机控制器接口(CQHCI)扩展了SDHCI,增加了一组额外的控制寄存器,以及一个CQ引擎,在检测到合适的卡时,它将接管传统的主机控制器。必须明确地将卡置于命令队列(CQ)模式,之后一组新的SD命令变得可用,许多现有的SD命令变得无效。新的命令将读取或写入卡扇区的_请求_与卡的_响应_解耦。每个读写操作都被标记,读写操作总共可以使用多达32个标签。卡可以选择它返回命令响应的顺序,并且可以选择缓冲写入数据而不是立即将其提交到闪存。通过允许它有效地“看到未来”,命令队列让闪存控制器隐藏了更多与访问不同NAND闪存页面相关的延迟。这至少在理论上——在Raspberry Pi OS生成的随机I/O工作负载中实现了更好的吞吐量。CQ支持首次出现在2015年的JEDEC规范JESD84-B51中的eMMC设备中。SD规范的等效版本在2017年的SD v6.00中出现。然而,在2023年Raspberry Pi 5发布时,Linux只支持eMMC设备上的CQHCI——所以我们没有充分利用性能。在2024年初,我开始实现SD卡上缺失的CQ支持。仔细解析SD规范让我开发了一个可选卡特性的依赖链,如果使用CQ模式,所有这些特性都需要得到支持。这些按顺序是:- 卡必须支持扩展寄存器访问,这是一种通用方法,通过512字节的页面访问可选特性,每个页面都有一个类型标识它指的是哪个特性扩展- 由于支持写入缓存,卡还必须支持电源扩展寄存器,并至少支持电源关闭通知- 卡必须声明满足Class A2性能所需的队列深度——从2到32个标签
由于Linux已经支持eMMC卡上的CQ,我所要做的就是找出SD实现的不同之处——确实有几种这样的情况。在正常操作中,主机操作系统有时需要发出“元操作”,这些操作不直接传输数据,但做相关的事情,比如重新校准主机到卡的数据路径延迟,请求卡状态作为卡移除的代理,以及执行闪存维护操作,比如信号块丢弃。对于eMMC设备,大多数元操作是通过发出带有32位参数的命令CMD6来执行的。CQHCI支持在CQ模式下注入这些操作,通过指定控制器中的“顶部”标签来执行DCMDs(直接命令)。然而,对于SD卡,执行元操作的命令集通常需要我们停止CQ引擎,并使用常规SD主机控制器寄存器发出非CQ命令。一旦这些差异被解决,我就有了一个可用的Linux驱动程序,它被推送到`rpi-update`。我在论坛上为冒险者创建了一个测试线程,并开始评估我大量的零售卡收藏。https://forums.raspberrypi.com/viewtopic.php?t=367459
SanDisk卡,特别是Extreme和Extreme Pro产品线,是我的第一选择——它们的表现很好。然而,其他制造商的产品由于一个或多个常见缺陷而受到影响,这些缺陷排除了CQ模式操作,或者导致它们在使用中出现问题:- 在CQ模式被激活然后停用后,接收到缓存刷新请求时挂起- 卡没有正确实现“CQ启用”扩展寄存器位——如果我写入1,我将永远读回0
甚至有一种类型的卡声称支持Class A2,但忽略了任何读取扩展寄存器以探测这些特性的请求!Raspberry Pi内核在功能探测期间或使用与卡标识符匹配的显式quirk时过滤掉这些测试失败的卡。如果您发现A2品牌卡在Raspberry Pi 5上表现不正常,那么请在上述论坛线程中报告。启用CQ模式的一个潜在陷阱是,它为卡提供了新的机会,在电源意外移除时破坏您的文件系统。在CQ模式下,主机应该遵守维持卡的电源供应的要求,只有在发送了电源关闭通知后才移除它;这为闪存控制器提供了一个机会,将所有未完成的写入提交到闪存。对于像手机这样有隐藏SD插槽的电池供电主机来说,这是一个容易履行的合同——请求设备关闭或揭开插槽可以触发电源关闭通知。Raspberry Pi,有暴露的SD插槽和可插拔的PSU,很难提供这种保证。有多个写入在飞行,或者有多个待处理写入的通知,我们不能再保证写入提交到闪存的顺序。如果电源意外移除,最近的任意集合的写入可能没有被提交,而不是严格按照最近的_n_次写入;这极大地复杂化了使文件系统对腐败有弹性的任务。Raspberry Pi内核通过将CQ模式下的最大发布写入数量限制为一个来规避这个问题。虽然理论上这可能会导致顺序写入吞吐量降低,但我测试的卡在性能上最多只有2-3%的降低。一旦很明显Class A2 SD卡在Raspberry Pi 5上运行CQ模式时提供了显著的性能提升,我们就开始与几家卡OEM讨论,目标是验证一个成本效益高的报价,它将在每一代Raspberry Pi计算机上都很好用。在与他们的工程团队合作,使他们的卡的声明特性集与我们的要求一致;通过在I/O重负载下自动执行超过100,000次意外断电循环来证明这些卡的鲁棒性;并调整这些卡以充分利用Raspberry Pi 5之后,我们选择了Longsys作为我们的供应商。虽然在Raspberry Pi 5上的最佳性能是我们的主要目标,但这些卡的非CQ性能仍然非常快,您通常会在旧的Raspberry Pi计算机上看到显著的性能提升。Raspberry Pi 5的Raspberry Pi保护套今天的另一个配件发布为您带来了Raspberry Pi保护套:这个简单的外壳解决方案你从未意识到你需要,已经成为Pi Towers的最爱。这是一个即插即用的硅胶底座,它可以轻松地保护您的Raspberry Pi 5的底部和边缘,以及您放置它的表面,还可以使电源按钮更容易使用。它与Raspberry Pi Active Cooler兼容,并且只需3美元。就是这样。两个不起眼的,但极好的配件,我们想知道我们没有它们是怎么过的。我们希望你们喜欢它们。Raspberry Pi SD 卡和Raspberry Pi 保护套可以直接在树莓派的经销商进行购买,购买方式;https://www.edatec.cn/cn/ac/raspberrypi_bumper.html
2.私信联系方式给我们,直接下单购买。
我们会定期更新~
关注上海晶珩电子科技~
了解更多树莓派相关内容~