  An $(n,k,d)$ cooperative regenerating code provides the optimal-bandwidth
repair for any $t~(t\!>\!1)$ node failures in a cooperative way. In particular,
an MSCR (minimum storage cooperative regenerating) code retains the same
storage overhead as an $(n,k)$ MDS code. Suppose each node stores $\alpha$
symbols which indicates the sub-packetization level of the code. A scalar MSCR
code attains the minimum sub-packetization, i.e., $\alpha=d-k+t$. By now, all
existing constructions of scalar MSCR codes restrict to very special
parameters, eg. $d=k$ or $k=2$, etc. In a recent work, Ye and Barg construct
MSCR codes for all $n,k,d,t$, however, their construction needs
$\alpha\approx{\rm exp}(n^t)$ which is almost infeasible in practice. In this
paper, we give an explicit construction of scalar MSCR codes for all $d\geq
\max\{2k-1-t,k\}$, which covers all possible parameters except the case of
$k\leq d\leq 2k-2-t$ when $k<2k-1-t$. Moreover, as a complementary result, for
$k<d<2k-2-t$ we prove the nonexistence of linear scalar MSCR codes that have
invariant repair spaces. Our construction and most of the previous scalar MSCR
codes all have invariant repair spaces and this property is appealing in
practice because of convenient repair. As a result, this work presents an
almost full description of linear scalar MSCR codes.
