Mobile cloud storage (MCS) is being extensively used nowadays toprovide data access services to various mobile platforms such assmart phones and tablets. For cross-platform mobile apps, MCS is afoundation for sharing and accessing user data as well as supportingseamless user experience in a mobile cloud computing environment. However, the mobile usage of smart phones or tablets is quite differentfrom legacy desktop computers, in the sense that each user hashis/her own mobile usage pattern. Therefore, it is challenging todesign an efficient MCS that is optimized for individual users. Inthis paper, we investigate a distributed MCS system whoseperformance is optimized by exploiting the fine-grained contextinformation of every mobile user. In this distributed system,lightweight storage servers are deployed pervasively, such that datacan be stored closer to its user. We systematically optimize thedata access efficiency of such a distributed MCS by exploiting threetypes of user context information: mobility pattern, networkcondition, and data access pattern. We propose two optimizationformulations: a centralized one based on mixed-integer linearprogramming (MILP), and a distributed one based on stable matching. We then develop solutions to both formulations. Comprehensivesimulations are performed to evaluate the effectiveness of theproposed solutions by comparing them against their counterpartsunder various network and context conditions.