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 download one out of K files from N servers while revealing nothing about the identity of the requested file 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 µK equivalent files, where µ 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 µN servers for µ such that M = µN ∈ {2, 3, . . . , 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 since it involves non-continuous 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 N(M −1) gcd(N,M ) , which is achieved by a construction of SDA. Finally, by allowing unequal size of packets, a greedy SDA construction is proposed, where the subpacketization of the associated SC-PIR scheme is upper bounded by 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 min{M,N−M } gcd(N,M ) of the optimal one in general. In particular, for the special case N = d • M ± 1 where the positive integer d ≥ 2, we propose another SDA construction to obtain lower sub-packetization.