百科问答小站 logo
百科问答小站 font logo



不同闪存容量大小的 iPhone 7 的写入速度的差异是什么原因造成的? 第1页

  

user avatar    网友的相关建议: 
      

我现在工作就是做SSD(flash)控制芯片。不过是企业级的,但应该和终端级的在原理上差别不会太大。

首先通道数对写性能影响很大,一般有4/8/16 channels,如果是相同的flash颗粒和相同的控制芯片,通道数就决定了写性能的上限,写性能上限与通道数基本成正比。但是,这仅仅是理想情况。

另外,假如两者所用flash颗粒不同,如SLC,MLC,TLC,读写性能当然会有差异,价格也差异明显。

即使是同一块flash和同一颗控制芯片,在不同使用情况下,写性能差异也很大。这是因为flash是需要擦除的,即写过数据的地方想要二次写,是需要先进行擦除才能二次写;并且,写和擦的最小单位是不同的。以服务器所用的SSD为例,写是以page单位写的,page的大小一般在0.5~16 kbytes;而擦是以block来擦,block的大小一般在1024~8192个page之间。实际设计中,控制芯片一般更是将大概16~512个block捆绑为raid block,作为一组,一起拿来用于写和擦。

在使用过程中,随着用户的不同操作,没写过的raid block依次被逐渐写入数据;而已经写过的raid block里面,有的数据变为无效。最后,没写过的raid block越来越少,写过的raid block里有效的数据也越来越少,假如继续写下去而不进行其他操作,所有的raid block将被写完,假设没有一个写过的raid block中的数据全变无效,那么盘就被写死了,因为擦任意一个raid block 都会擦到有效数据造成数据丢失。这就需要gc(garbage collection)。

gc一般将会在剩余未写的raid block不多时启动,它会将所剩有效数据最少得raid block中的所有有效数据读出来重新写,这样一来该raid block就可以拿去被擦了,擦完之后就重新变成未写的raid block作为备用。通过gc,就可以保持整个盘可以一直被往复写。但问题是,gc的读写会占用flash的读写带宽,并且为了防止gc太慢赶不上用户写数据的速度而导致盘被写死,控制芯片在进入gc阶段时会限制用户的写入速度,并且剩余raid block越少,将用户写入速度限制得越低,gc则被允许更大速率的读写以产生足够多新的未写的raid block。所以,SSD使用时不要写太满,并不是因为上面

@北极

所提到的平衡磨损,而是因为gc。

因此在不清楚题主所提到的写入速度测试的flash的存储情况的条件下,不能断定32g比256g写速率慢这么多。当然,256g很可能通道数要比32g的多,写性能的上限本来就比32g的高。

所以,要比较两者真实写性能的差异,最好在两者都空盘的情况下测试,并且测试所用的写入数据也不能大到使32g盘进gc。


user avatar   bei-ji-85 网友的相关建议: 
      

1. 麻烦仔细看视频42MB/s和341MB/s都是写速度,不是读速度,读速度一个是600+另一个是800+,差距没那么大:

2. iPhone7的32G和其它版本用的Flash不一样,好像一个是MLC一个是TLC,主控的设计不同可能会影响测试结果。

3. 因为不知道他的测试参数,目测可能是持续写128M数据,对于256G的iPhone7来说,这点数据可能还没填满缓存,而另一个很有可能已经满了,做设备performance测试的一个原则就是要填满缓存,否则测试没意义。换句话说,如果256G版本的iPhone写的数据足够大,可能看着也没那么好看。

4. 注意视频开头有提到两个设备剩余空间不一样,一个剩余200多G,另一个只有一半的样子。闪存类的存储设备,剩余空间比较少的时候,可能会触发回收机制,性能有可能急剧下降。从视频中看,手机都是装了一些东西了,肯定用了一段时间,所以不好说过去写了多少数据。

5. 不同容量的存储器,通道数是不同的,通道越多,并发效果越好,自然速度就快一些,已知的是256G的通道数肯定大于32G。


我的结论是:肯定有差别,但不代表差别就一定是实情(注:同样的设备,不同的测试方案能得到很多不同的结果),设备本身强大与否,与所在的整个系统的方案有很大关联。

要说这个视频有没有意义,我觉得也有意义,至少说明在实际使用中32G的确实不尽人意,至于是不是苹果故意阉割,那还不好说。


至于后面那个复制4.2G数据的东西,可能是因为lightning线接到USB2.0口上的原因,没有参考价值。


还有,如果拿这个跟华为P10去比就比错地方了,flash持续写性能,不管是什么设备都好不到哪去,P10的问题是在读上面的巨大差异。截图就可以看出来苹果不同设备的读性能差距没那么大,还有,华为洗地的水平太差,不说别的,就性能测试这块,我手头同样的一个华为手机、同样的一个软件,就能跑出好几种结果,真要洗地麻烦提高点知识水平好不?




  

相关话题

  Face ID是苹果战略方向上的错误吗? 
  MacBook Pro 2016 出门需要带多少转接头? 
  想买苹果12什么时候入手合适 值得入手吗? 
  如何看待苹果 CEO 库克表示「想要侧载 App 的用户应该去买安卓手机」? 
  有哪些让你一眼就爱上的 iPad 壁纸? 
  如何看待苹果2020财年第三季度财报?疫情对苹果有多大的影响? 
  iPhone用户是什么原因才用苹果手机? 
  计算机硬件可以像软件一样拥有属于自己的哲学吗? 
  如何评价何同学最新视频:我做了苹果放弃的产品——AirDesk? 
  iPhone 在很多数据上都比不过友商,但是什么造就了超高的销售量? 

前一个讨论
为什么大型路由器交换机再另开发 CPU 而不用 Intel 至强系列的呢?
下一个讨论
小米手机6运行内存为什么是6GB而不是8GB?





© 2024-11-21 - tinynew.org. All Rights Reserved.
© 2024-11-21 - tinynew.org. 保留所有权利