简介:这份资源是 Marvell 88SF9110B0 的官方数据手册,面向从事企业级存储系统设计、SAS/SATA 桥接方案选型与调试的硬件工程师及存储开发人员,用于解决单端口 SATA 硬盘或固态硬盘接入高可用双端口 SAS 存储架构时的协议转换与兼容性问题。压缩包内共 1 个 PDF 文件,约 541KB,完整收录了该 6Gb/s SAS 到 SATA 桥接芯片的规格说明。手册围绕 600MHz ARM 处理器、双端口 SAS 目标模式、SATA 1.0a/2.6/3.0 主机接口、512/520/524/528 字节扇区转换,以及 XDREAD、XDWRITE、XPWRITE 与 Write/Verify 命令支持等关键特性展开,并给出 T10 承诺信息模型与并发 I/O 能力说明,可帮助读者快速核对寄存器、时序与协议细节,为方案评估和故障排查提供一手依据。目前已有 383 人学习下载,适合需要深入理解桥接芯片底层行为的中高级存储工程师参考。
1. 一块芯片的“翻译官”角色:SAS 和 SATA 到底在聊什么
如果你拆过企业级存储服务器,可能会发现一个奇怪的现象:机箱里插着几十块看起来和普通台式机硬盘没什么两样的 SATA 盘,但背板上的接口却是 SAS 的。这两种接口明明不是一回事,怎么就接上了?答案就藏在一颗不起眼的桥接芯片里,比如 88SF9110B0 这颗 6Gb/s SAS 到 SATA 桥接芯片。通俗地说,它干的事就像一位随身翻译——SAS 那头说“SSP 协议”,SATA 这头只懂“ATA 指令”,中间全靠它实时转述,让便宜的 SATA 盘能堂而皇之地住进高可用企业存储系统。
搞懂这颗芯片,其实就搞懂了企业存储里一个很实在的取舍:为什么不用清一色的 SAS 盘?因为贵。为什么又不能全用 SATA 盘?因为原生 SATA 是单端口,没有冗余路径,一台服务器挂了链路,盘就失联了。桥接芯片的存在,就是让 SATA 盘“伪装”成双端口 SAS 设备,既保住成本,又拿到高可用。这份数据手册讲的,正是这个“伪装”是怎么做到的、边界在哪里。
2. 为什么需要桥接:单端口 SATA 盘进不了双端口世界
2.1 高可用存储的硬性门槛:双端口与双 initiator
企业存储系统里有个词叫 HA(高可用),落到硬件上就是“任何一条链路断了,业务不能停”。实现方式通常是双控或双服务器,各自通过一条 SAS 链路连到同一批硬盘。这就要求硬盘本身至少有两个独立端口,或者能被两个 SAS initiator 同时访问。原生 SATA 硬盘只有一个端口,物理上就做不到。
桥接芯片的做法是:对外呈现两个 6Gb/s SAS 目标端口,对内接一到两个 SATA 主机端口。SAS 那一侧,它按 SAS SSP 目标设备的行为应答,支持最多 32 个 SAS initiator 并发访问,单芯片最多 128 个并发 I/O。换句话说,从服务器视角看,这就是一块正经的双端口 SAS 盘;只有拆开看,才知道背后是 SATA。
打个比方,这就像一家只接受预约的餐厅(SAS 双端口),而厨师(SATA 盘)只会做菜不会接电话。桥接芯片就是前台,两部电话同时接单,把订单翻译成厨师听得懂的纸条。前台还能记住一些厨师不关心的规矩,比如客人对座位的要求(Mode Select 配置),断电重启后照样记得。
2.2 协议翻译不是“转发”:ARM 核在中间做了什么
很多人以为桥接就是一根线,把 SAS 命令原样丢给 SATA。实际远不止。芯片内部集成了一颗 ARM 处理器,运行在 600MHz,专门处理协议转换、内部错误处理,以及那些 SATA 协议里根本没有对应功能的 SCSI 命令——典型的就是 Mode Select 和 Mode Sense。SATA 盘不理解“模式页”这种概念,ARM 核就替它接住,把配置信息存在自己这边,跨复位和掉电还能保住。
它还负责终结 SAS SSP 协议,管理 expander 与桥接芯片之间的链路效率,并且在用 SAS expander 的配置里消除 STP 协议的开销。这些细节听起来玄学,但落到系统层面就是一句话:别让翻译本身成为瓶颈。600MHz 的 ARM 核加上专门的 SAS/SATA payload buffer 和队列逻辑,才撑得起全双工 active-active 并发命令和数据传输。
2.3 扇区大小转换:SATA 盘不懂 520 字节怎么办
企业存储有个习惯,扇区不一定是 512 字节,可能是 520、524 或 528 字节,多出来的字节用来放校验信息。原生 SATA 设备只认 512 字节扇区,这是硬限制。桥接芯片在内部做扇区大小转换:SAS initiator 那边可以按 512/520/524/528 配置,芯片负责映射和转换,对 SATA 盘完全透明。
这个转换由内部处理器完成,不是简单改个数字。读写路径上,数据流要按目标扇区大小重新组织,同时保证 T10 Protection Information(也就是 DIF 字段)能正确校验、插入或删除。DIF 是企业存储防静默损坏的重要手段,桥接芯片让 SATA 盘也能参与这套模型,而盘本身毫不知情。这就是“透明”两个字的含金量:上层拿到的是符合 T10 保护模型的设备,下层用的还是普通 SATA 盘。
3. 三个型号怎么选:9210、9110、9118 的区别在哪
3.1 一张表看清端口数、封装与功耗
数据手册里给了三个型号,名字接近,定位不同。先把关键参数摆出来:
| 型号 | SAS 目标端口 | SATA 主机端口 | 封装 | 功耗(室温) | 典型定位 |
|---|---|---|---|---|---|
| 88SF9210 | 2 | 2 | 10×10mm 84-pin QFN | 1.35W | 单芯片带两块盘,高密度 |
| 88SF9110 | 2 | 1 | 10×10mm 84-pin QFN | 1.10W | 3.5 英寸单盘 dongle 板 |
| 88SF9118 | 2 | 1 | 8×11mm 117-ball TFBGA | 1.25W | 2.5 英寸单盘 dongle 板 |
三款都符合 SAS 2.0,支持 SSP 和 SAT-2 规范;SATA 侧符合 SATA 3.0,6Gb/s PHY 可向下协商到 3Gb/s 和 1.5Gb/s。每芯片 128 个并发 I/O、最多 32 个 SAS initiator、每个 SATA 主机端口 32 个 NCQ 未完成命令,这些是三款共有的底子。
3.2 9210 的双盘共载:省空间也省电
88SF9210 的特殊之处是两颗 SATA 主机端口,允许在同一个驱动器托架里装两块 SATA 硬盘或固态盘。SAS 主机连接保持完整冗余,同时把两块盘都作为 LUN 呈现出来。好处很直接:一块桥接芯片服务两块盘,板面空间更小、功耗更低、性能更集中。手册里明确说它适合高密度存储系统,以及低成本近线/归档的 Tier-2/3 场景。
这里有个容易忽略的点:双盘共载不等于双盘互为镜像。冗余发生在链路层,不是数据层。两块盘各自是独立的 LUN,RAID 由上层做。桥接芯片保证的是“两条 SAS 路径都能到达这两块盘”,而不是“两块盘内容一样”。
3.3 9110 与 9118:3.5 寸和 2.5 寸的 dongle 板之分
88SF9110 面向 3.5 英寸硬盘或固态盘的 dongle 板设计,88SF9118 面向 2.5 英寸。两者都是单 SATA 主机端口,SAS 侧仍是双端口。区别主要在封装:9110 是 10×10mm QFN,9118 是更紧凑的 8×11mm TFBGA,适配小尺寸盘体的空间约束。功耗上 9110 标 1.10W,9118 标 1.25W,都在无额外散热的可接受范围。
选型逻辑不复杂:一个托架一块盘、盘是 3.5 寸,看 9110;盘是 2.5 寸,看 9118;一个托架想塞两块盘、追求密度,看 9210。三款共享同一套开发资料,参考原理图、BOM、Gerber、固件手册都在开发套件里,换型号不用从头再来。
4. 易混概念辨析:桥接芯片不是 RAID 卡,也不是 expander
4.1 桥接芯片 vs SAS expander:一个翻译,一个交换
易混点:两者都出现在“服务器—硬盘”的链路上,都跟 SAS 有关。为什么混:拓扑图里 expander 和桥接芯片经常挨着画,手册里的框图也有 SAS Expander A/B 连到多个驱动器托架。怎么区分:expander 是端口扩展和交换设备,把少量 SAS 上行端口扇出成大量下行端口,它不翻译协议,下游接的必须是 SAS 设备;桥接芯片是协议翻译设备,把 SAS 命令转成 SATA 能懂的形式,下游接的是 SATA 盘。一句话,expander 解决“口不够”,桥接解决“话不通”。
4.2 桥接芯片 vs RAID 控制器:冗余在链路,不在数据
易混点:都跟“高可用”挂钩,都插在盘和主机之间。为什么混:双端口、冗余路径这些词两边都用。怎么区分:RAID 控制器做的是数据层面的条带、镜像、校验,盘坏了靠冗余重建;桥接芯片做的是链路层面的双端口呈现,链路断了靠另一条路径接管,但盘本身坏了它不管。桥接芯片不产生任何数据冗余,它只是让单端口盘具备被双路径访问的能力。
4.3 双端口 SAS 目标 vs 双盘共载:两回事
易混点:9210 支持两块盘,又支持双 SAS 端口,容易以为“双盘就是为了双端口”。为什么混:数字都是二。怎么区分:双 SAS 目标端口是三款共有的,目的是让两个 initiator 都能访问同一块盘;双 SATA 主机端口是 9210 独有的,目的是一个托架装两块盘。前者是冗余连接,后者是密度提升,两者独立存在,9210 只是恰好都有。
4.4 扇区转换 vs 格式化:透明不等于改写盘
易混点:看到“支持 520 字节扇区”,以为桥接芯片把 SATA 盘重新格式化了。为什么混:“扇区大小”听起来像盘的低级格式参数。怎么区分:SATA 盘始终是 512 字节扇区,桥接芯片在数据流经时做映射,盘上的物理布局没变。对 SAS 侧呈现 520 字节逻辑扇区,对 SATA 侧仍是 512,转换由内部处理器完成,盘无感知。拔掉桥接芯片直接把盘接普通 SATA 口,读到的还是 512 字节扇区的原始数据。
4.5 在线固件升级 vs 热插拔:别把两件事混成一件
易混点:手册提到支持通过 GUI 固件工具在线升级,又提到高可用,容易以为升级过程可以随便拔盘。为什么混:“在线”两个字给人错觉。怎么区分:在线固件升级指的是不拆机、不停系统的情况下更新桥接芯片的固件,走的是 SPI Flash 接口里存的配置和代码;热插拔是另一套机制,由背板和连接器保障。升级期间链路行为要看具体实现,不能想当然认为对业务零影响。
5. 什么时候该用这颗芯片,什么时候别碰
先说该用的场景。第一种是近线与归档存储,也就是 Tier-2/3。这类业务对单盘性能不敏感,但对每 TB 成本和机架密度极其敏感,用 SATA 盘加桥接芯片把双端口冗余补上,是性价比很高的路子。第二种是双控存储的盘柜,两个控制器各走一条 SAS 链路,桥接芯片让 SATA 盘能被两边同时看到,链路切换不丢盘。第三种是高密度托架设计,9210 一颗芯片带两块盘,省下来的板面空间和功耗在几十盘位的机箱里会放大成可观的数字。
再说别碰的边界。如果你的业务要求极高的随机 IOPS 和极低延迟,原生双端口 SAS 固态盘仍然是更稳的选择,桥接毕竟多了一层协议转换,600MHz 的 ARM 核再强也是在替别人干活。如果盘本身需要非 512 字节的原生扇区支持,桥接的转换是逻辑层的,某些底层诊断工具直接对盘操作时可能看到不一样的结果,这类场景要提前验证。还有,桥接芯片不提供数据冗余,别指望它替代 RAID——它只保证路径冗余,盘坏了该重建还得重建。
有个容易翻车的地方值得单独提:DIF 字段的校验、插入、删除是桥接芯片在数据流里做的,对 SATA 盘透明。这意味着如果上层按 T10 保护模型配置了 520 字节扇区,而中途有人把盘直接接到普通 SATA 控制器上读,看到的数据布局和预期会对不上。做故障排查时,这个“透明层”很容易变成黑匣子,血泪经验是:任何绕过桥接芯片的直接挂盘操作,先确认扇区和 DIF 配置,别上来就怀疑盘坏。
我自己的习惯是,拿到这类桥接方案,先画一张三层图:SAS initiator 层、桥接翻译层、SATA 设备层,每一层的扇区大小、DIF 开关、端口角色都标清楚,再动手配。从那以后每次评估类似方案,我都强制走一遍这张图,省下的调试时间远比画图多。希望帮到你。
本文还有配套的精品资源,点击获取