With the increased density of three-dimensional (3D) processor arrays, faults can potentially occur quite often due to power overheating during massively parallel computing. In order to achieve fault-tolerance under such a scenario, an effective way is to find an as large as possible logical fault-free subarray of $m^{\prime }\;\times\;$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq1-2389846.gif"/> </alternatives>$n^{\prime }\;\times\;$<alternatives> <inline-graphic xlink:type="simple" xlink:href="jiang-ieq2-2389846.gif"/></alternatives> $h^{\prime }$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq3-2389846.gif"/></alternatives> from a faulty array of $m\;\times\;$<alternatives> <inline-graphic xlink:type="simple" xlink:href="jiang-ieq4-2389846.gif"/></alternatives> $n\;\times\;$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq5-2389846.gif"/></alternatives> $h$<alternatives> <inline-graphic xlink:type="simple" xlink:href="jiang-ieq6-2389846.gif"/></alternatives> ( $m^{\prime }$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq7-2389846.gif"/></alternatives> $\;\le\;$<alternatives> <inline-graphic xlink:type="simple" xlink:href="jiang-ieq8-2389846.gif"/></alternatives> $m,n^{\prime }$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq9-2389846.gif"/></alternatives> $\;\le\;$<alternatives> <inline-graphic xlink:type="simple" xlink:href="jiang-ieq10-2389846.gif"/></alternatives> $n, h^{\prime }$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq11-2389846.gif"/> </alternatives>$\;\le\;$<alternatives> <inline-graphic xlink:type="simple" xlink:href="jiang-ieq12-2389846.gif"/></alternatives> $h$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq13-2389846.gif"/></alternatives> ), such that an original application can still work on the $m^{\prime }\;\times\;$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq14-2389846.gif"/> </alternatives>$n^{\prime }\;\times\;$<alternatives> <inline-graphic xlink:type="simple" xlink:href="jiang-ieq15-2389846.gif"/></alternatives> $h^{\prime }$<alternatives><inline-graphic xlink:type="simple" xlink:href="jiang-ieq16-2389846.gif"/></alternatives> subarray. This paper investigates the problem of constructing maximum fault-free subarrays with minimum interconnection length from 3D arrays with faults. First, we prove that constructing maximum logical array (MLA) is NP-complete. We propose a linear-time algorithm which is capable of producing an MLA for the problem with the constraint of selected indexes. Second, we prove that minimizing the interconnection length (inter-length) of the MLA is NP-hard. We propose an efficient heuristic which significantly reduces the inter-length by revising each logical plane of the MLA. This leads to the reduction of communication cost, capacitance and dynamic power dissipation. In addition, we propose a lower bound for the inter-length of the MLA to evaluate the proposed algorithms. Simulation results show that, the size of logical array can be improved up to 62.6 percent in average, and the inter-length redundancy can be reduced by 22.7 percent in average, compared to the state-of-the-art, for all cases considered.