Oblivious RAM (ORAM) is a provable technique to protect a user's access pattern to outsourced data. Recently, many ORAM constructions have been proposed, but most of them are impractical due to high communication and user-side storage costs. Motivated by Partition ORAM (P-ORAM) [16], a stateof-the-art communication-efficient ORAM construction, this paper proposes GPORAM (Generalized Partition ORAM) as a new framework to assemble multiple ORAM partitions together while overcoming the limitations of the P-ORAM construction. GP-ORAM allows smaller and adjustable number of partitions, fully utilizes the available user-side storage to reduce communication cost, and can efficiently export the index table to the server. As a result, GP-ORAM incurs low bandwidth cost (i.e., O(logN) data blocks per query in practice) and has significantly less user-side storage cost than P-ORAM.We demonstrate the security and practicality of GP-ORAM through extensive performance analysis. , a stateof-the-art communication-efficient ORAM construction, this paper proposes GP-ORAM (Generalized Partition ORAM) as a new framework to assemble multiple ORAM partitions together while overcoming the limitations of the P-ORAM construction. GP-ORAM allows smaller and adjustable number of partitions, fully utilizes the available user-side storage to reduce communication cost, and can efficiently export the index table to the server. As a result, GP-ORAM incurs low bandwidth cost (i.e., O(log N ) data blocks per query in practice) and has significantly less user-side storage cost than P-ORAM. We demonstrate the security and practicality of GP-ORAM through extensive performance analysis.