You don't need an n-by-n block per row. One per partition would be sufficient.