Corfu exposes a cluster of flash devices to applications as a single, shared log. Applications can append data to this log or read from the middle. Internally, this shared log is implemented as a distributed log spread over the flash cluster. There are two reasons why this design makes sense: From a bottom-up perspective, flash requires log-structured writes to ensure even and minimal wear-out as
![Going beyond Paxos - Microsoft Research](https://cdn-ak-scissors.b.st-hatena.com/image/square/785af067ea0ae941e85f9c4fdb5e7c5662894e02/height=288;version=1;width=512/https%3A%2F%2Fwww.microsoft.com%2Fen-us%2Fresearch%2Fuploads%2Fprod%2F2018%2F11%2FAutomated_Hero_Image_MSR_Social_11_2018_1200x627.png)