Space Bounds for Reliable Storage: Fundamental Limits of Coding We study the inherent space requirements of shared storage algorithms in asynchronous fault-prone systems. Previous works use codes to achieve a better storage cost than the well-known replication approach. However, a closer look reveals that they incur extra costs somewhere else: Some use unbounded storage in communication links, while others assume bounded concurrency or synchronous periods. We prove here that this is inherent, and indeed, if there is no bound on the concurrency level, then the storage cost of any reliable storage algorithm is at least f + 1 times the data size, where f is the number of tolerated failures. The lower bound is information theoretic - it applies to any storage algorithm, whether coded or uncoded. We further present a technique for combining erasure-codes with full replication so as to obtain the best of both. We present a storage algorithm whose storage cost is close to the lower bound in the worst case, and adapts to the concurrency level when it is low. Joint work with Alexander Spiegelman, Yuval Cassuto, and Gregory Chockler