Toggle是一种接口协议,它与ONFI的大部分针脚定义是一致的,但运行协议自成一派。 这个协议由东芝发起,闪迪、三星、海力士四家日韩企业抱团响应,并各自应用到他们所有的NAND闪存中 上面这段话翻译过来类似于美国人和中国人外表看着都差不多,大脑四肢啥的功能也基本一致,但有着不同语言文化和习惯 就算缩小范围到国内,大家都是中国人也都能相互沟通,但还是有着一定的地区差异
不同主控厂商对待这些不同的协议有着不同的看法 群联这边贯彻它的“一体化OEM”政策,并没设计物理跳线来将其区分,而是使用主控或固件去直接兼容他们 国产大厂联芸则是将Toggle、ONFI、5/6 byte、制程转换、颗粒支持等全部杂糅起来,然后用几个GPIO的电平去控制 虽然有点反人类,但胜在自由和直接
而慧荣这边,则单独为这俩协议设计了一个“Toggle”跳线,玩家们戏称为“土狗”跳线 并经常为是否应该上这个跳线而头晕、恶心、呕吐、心率加快、呼吸急促、手脚冰冷、失眠盗汗,内分泌严重失调! 每每此时看到这些彷徨的灵魂,善良的我都于心不忍决定出手相告: I Don’t Know
如果单从原理上看,三星这边比较简单,因为全是DDR Toggle,遇到了就跳准没错!
海力士在HYV5制程之前都是走的Legacy Toggle(传统模式,以SDR方式传输),理论上不应该跳 HYV5之后根据ID的最后一位来判断 0=Legacy Toggle=不跳 2=DDR Toggle=跳 例: AD,7E,28,33,00,A0=Legacy Toggl=不跳 AD,7E,28,33,00,A2=DDR Toggle=跳
东芝闪迪看第六位ID是否由数字开头 英文开头=DDR Toggle=跳 数字开头=Legacy Toggle=不跳 例: 45,3E,98,03,76,E4=DDR Toggle=跳 45,3E,98,03,76,64=Legacy Toggle=不跳 45,3E,98,03,76,EC=DDR Toggle=跳 45,3E,98,03,76,6C=Legacy Toggle=不跳
理论很美好,实际很懵逼 明面上白纸黑字写好了这是用来切换SDR和Toggle的,但为啥镁光英特尔长江也要跳这个啊? (我写这一段的时候参考的是SM2262的经验,而非上图中的SM2259XT2,只是拿这个作为一个对比和参考)
OK,OK 理论上和SDR对应的应该是DDR,也就是说我们应该以”DDR高频跳线“这个概念来解释,因为现在不论是ONFI还是Toggle,为了达到高频其底层大多都是以DDR来实现的
然后你就没法解释为啥同为Toggle阵营,同走SDR Toggle,海力士就要而东芝闪迪却不要... 所以这个Toggle跳线现在既代表不了Toggle(ONFI阵营的要) 也代表不了DDR(某些SDR的也要) 更代表不了高频(没了它也能上高频,不强绑定) 甚至和低电压都不完全绑定 本来在正常的物理限制下“高频率需要低电压”,各种文档里也都是这么描述的 然后三星颗粒告诉你:我跑高频率不仅要高电压(1.8V),还得要Toggle跳线! 就...很没有道理 感觉像是你在路上走的好好的莫名其妙有人跑过来扇了你一巴掌... 就算咱们把时间线往前,拨回到“土狗跳线”这个概念发扬光大的SM2246系列主控上,也能拉出一些比如“不带土狗却要跳土狗”的奇怪闪迪颗粒 如果再把时间往后,那就更JB乱的不行 SM2320这种高科技上,R8都不知道想要表达什么
我还反复确定了很多次,这个R8确实就是咱们传统意义上的Toggle 但是并没有什么屌用,这里的Toggle跳线什么都不代表 不按厂商,不按制程,不按协议 一切都是那么的美好,都是那么的有趣 让我很想fuck一下SMI 所以到底是怎么个事呢? 这就要聊到一个致命的理解问题:Power On Interface 慧荣设计的Toggle跳线,其实并非指的实际在运行的协议,而是一个“上电模式”
看不懂是吧,那我们看看颗粒的上电流程: 1.启动电源(Power On )→ 2.颗粒以默认模式(Default Mode)运行 →3. 主控通过设定好的默认模式访问固件和进行初始化 → 4.主控和颗粒握手发命令切换到高频DDR模式 →5. 初始化完毕
Toggle跳线在这影响的就是第三步,决定主控以什么模式去访问固件进行初始化 这么说还是不太直观,我们掏出联芸的开卡工具辅助讲解 联芸的跳线用于控制主控的ROM Code以什么模式上电,当使用带Toggle的BICS5时这里是空的,上ONFI的TAS时这里也是空的,但如果上Legacy Toggle,也就是不带Toggle的颗粒时,他会默认启动SDR模式并以一个较低的频率去初始化颗粒 当沟通完毕,颗粒完成初始化,再切换为DDR模式,去运行设置的高频率和最佳时序(Best Timing)
设计这个Power On Interface的目的,就是为了控制这个默认模式 如果以SDR模式访问默认DDR模式的颗粒,或以DDR模式访问默认SDR模式的颗粒,主控都会因为模式错误而无法握手,也就无法执行后续的流程 而且都到了这个年代,无论是ONFI系第几代的NV-DDR,还是Toggle系第几代的Toggle-DDR,为了支持更高的频率,他们都只能采用DDR模式去运行,只在上电时颗粒会有着不同的默认模式罢了 叫了这么多年的Toggle跳线,哦不好意思,是土狗跳线,正确的叫法应该是Power On Interface跳线,或者简称Interface跳线 DIY圈最大的问题就是野路子 无论看起来这个屌人有多么多么牛逼,玩了多么多么多的东西,始终是知其然而不知其所以然 这就跟很多人把黑片白片原片放在一起说是一个操性,判断颗粒的质量好坏不用专业仪器检测运行时的电压/阻值,不用跑RDT看看原厂/新增的坏快数,甚至不用高温加热测测数据保持时间,连能稳定跑到多少频率这种最基础的测试都没有,就盯着门锁画质的照片看颗粒打的标字体正不正,不正的统统黑片! 我还能说什么呢? 然后我又想到SMI文档里的“Lecacy”其实对应的是SDR上电,“Toggle”对应的是DDR上电 但在SM2320里却把这个反着设计,拆了是DDR,贴上反而是SDR... SMI,你过来我再fuck fuck
以后谁再TM问我土狗跳线的事,我就要让他先过来给我fuck fuck
FUCK!
power by:@Avidia and 风沙
慧荣主控固态硬盘上的土狗(Toggle)跳线到底是啥(科普)
https://www.mydigit.cn/thread-371401-1-1.html
|