  This paper investigates reducing sub-packetization of capacity-achieving
schemes for uncoded Storage Constrained Private Information Retrieval (SC-PIR)
systems. In the SC-PIR system, a user aims to retrieve one out of $K$ files
from $N$ servers while revealing nothing about its identity to any individual
server, in which the $K$ files are stored at the $N$ servers in an uncoded form
and each server can store up to $\mu K$ equivalent files, where $\mu$ is the
normalized storage capacity of each server. We first prove that there exists a
capacity-achieving SC-PIR scheme for a given storage design if and only if all
the packets are stored exactly at $M\triangleq \mu N$ servers for $\mu$ such
that $M=\mu N\in\{2,3,\ldots,N\}$. Then, the optimal sub-packetization for
capacity-achieving linear SC-PIR schemes is characterized as the solution to an
optimization problem, which is typically hard to solve because of involving
indicator functions. Moreover, a new notion of array called Storage Design
Array (SDA) is introduced for the SC-PIR system. With any given SDA, an
associated capacity-achieving SC-PIR scheme is constructed. Next, the SC-PIR
schemes that have equal-size packets are investigated. Furthermore, the optimal
equal-size sub-packetization among all capacity-achieving linear SC-PIR schemes
characterized by Woolsey et al. is proved to be $\frac{N(M-1)}{\gcd(N,M)}$.
Finally, by allowing unequal size of packets, a greedy SDA construction is
proposed, where the sub-packetization of the associated SC-PIR scheme is upper
bounded by $\frac{N(M-1)}{\gcd(N,M)}$. Among all capacity-achieving linear
SC-PIR schemes, the sub-packetization is optimal when $\min\{M,N-M\}|N$ or
$M=N$, and within a multiplicative gap $\frac{\min\{M,N-M\}}{\gcd(N,M)}$ of the
optimal one otherwise. In particular, for the case $N=d\cdot M\pm1$ where
$d\geq 2$, another SDA is constructed to obtain lower sub-packetization.
