For reliability purpose, data redundancy is an essential in distributed storage system. In the evolving of data redundancy schemes, storage-reliability-repair trade-offs always exist. From replication to erasure codes, higher reliability achieves with lower storage cost, but the higher repair penalty can not be ignored. Optimized data redundancy schemes like regenerating codes or basic pyramid codes are proposed to relieve the high repair penalty. In order to study the storage-reliability-repair trade-offs, we propose a new model based on the standard Markov Chain, it takes the irregular fault tolerance, latent sector error and correlated failures into account, and measures the storage and repair cost from system perspective. Through inter-scheme and intra-scheme discussions, we find some principles about choosing data redundancy schemes and corresponding parameters to achieve better storage-reliability-repair trade-offs. Our goal is to provide system designers and administrators with concrete information to help them achieve proper storage-reliability-repair trade-offs.