Reliability-driven ECC allocation for multiple bit error resilience in processor cache