Housekeeping for Paper: Erasure coding and Read/Write Separation in Flash Storage

解决了在闪存阵列下性能不一致的问题。
原有的Flash on Rails的设计,利用副本进行了读写分离,以达到性能一致性问题。
本论文基于Flash on Rails,研究了EC+读写分离下的性能一致性。
主要贡献在于发现在中等大小阵列下,虽然EC计算开销随着阵列增大快速增长,但并没有明显的影响。
但对于大规模阵列确实有影响,作者根据crush建议了一种重叠的逻辑冗余组概览,以hypergraph表示,生成小的阵列保持EC计算开销低,同时保持读写分离。
作者未对读写分离的写进行研究,只是建议batch写, 例如利用journal方式。

关于读写分离,对于2副本盘,read一般经过缓存,然后到ssd1, write周期到缓存,同时前面周期的缓存写到SSD2. 然后一定时间SSD切换读写角色。对于EC多个盘,类似。

https://www.usenix.org/system/files/conference/inflow14/inflow14-skourtis.pdf