The channel capacity is defined to be the maximum achievable rate and is equal to maximum over input distributions of the mutual information between output and input. i.e.
Also the information rate is defined as
where $M$ is the number of messages and $n$ is the blocklength.
Here is my question: If we have $M$ messages and $n$ as the blocklength, we would need $\log_2(M)$ bits to represents the $M$ messages. To avoid channel error however, we may add redundancy and transmit the messages in $n$ bits for $n>\log_2 (M)$ which results in $R\leq 1$. Consequently $C\leq 1$.
Is there any other ways of coding (not necessarily adding redundancy) such that the capacity is larger than $1$?
I mean, with this definition of rate, I always think of it to be less than 1 but from the mutual information point of view, I don't see a reason that it should be less than 1. Can please someone clarify?