Cloud computing has evolved into an important corporate tool that offers substantial cost savings, The cloud computing platform is fraught with dangers, which act as a partial obstacle to companies' use of it, Security and protection of data are considered to be one of the most important points in the use of cloud computing, the most important modern methods of data protection is the distributed storage of data. In this paper we will propose a system for distributed storage of data to more than one service provider, the system consist of three phases, the first phase is receive the data from user as a file and divide it to chunks and uploading this chunks to more than one service provider in cloud using predefined data fragmentation algorithm that divides the data in a way that can only be reconstructed by knowing the pre-pattern, so the data will be incomprehensible even by the cloud service provider and cannot be used in any way. the second phase is receive data requests from users and reconstruct original file to be delivered to them.in third phase, we will use data mining techniques and a concept of a cache memory, which will play an important role to increasing the speed of the system's efficiency by identifying the data repeatedly required by customers and storing it in a file that acts as a cache memory, to be delivered data directly upon request by customers and shortening the time required to collect data from different service providers and rebuild it. The expected results of this work are in average of 90% accuracy. [ABSTRACT FROM AUTHOR]