Code rate
For a block code encoding k equal-size information symbols into n encoded symbols of the same size, code rate is the dimensionless ratio k/n.
For 0 < k <= n, the redundancy fraction of encoded length is (n-k)/n = 1-R, while extra encoded size relative to the information payload is (n-k)/k = 1/R-1. At R=4/5 these are 20% and 25%, respectively. Neither ratio measures an SSD's complete capacity overhead. [1]
For the linear code defined by Hx^T=0, k=n-rank(H), with rank computed over the code's finite field. An m-row matrix gives R=1-m/n only when those checks are independent; duplicate or dependent rows add no independent constraints. [2]
Rate alone does not specify correction capability or read cost. In a 2011 NAND simulation, BCH dimensions (n,k)=(9152,8256) and LDPC dimensions (9118,8225) yield different exact rates that both round to 0.9021. The comparison also depends on the selected codes, channel and decoder inputs. [3]
Relations
- related
- Codeword (storage ECC), Error-correcting code, LDPC (NAND ECC), BCH code, Reed–Solomon codes (storage), Soft-decision decoding
Citations
- RFC 5510 (2009): Reed-Solomon FEC schemes, sections 3.1-3.2, symbol definitions and code rate
- G. D. Forney, MIT 6.451 (2005), sections 6.2.2 and 13.1: dual dimension and dependent parity checks
- Wang et al., GLOBECOM 2011, section IV: BCH and LDPC code dimensions and decoding comparison
Further reading
Sources & caveats
- The denominator identities are arithmetic for fixed-length equal-size symbols; RFC 5510 specifies a packet-erasure scheme, not SSD capacity accounting.
- The 2011 comparison is a Gaussian-channel simulation, not measured performance of current NAND devices.