Multi-port cache is used in disk arrays to realize interface processors connecting in switch and to make disk arrays high band and high expandability. To improve the performance of disk arrays, a good cache replacement algorithm is needed in the cache. In this paper, we propose a new algorithm named the write-prior partitioning least recently used (WPP-LRU) algorithm, which distinguishes the ports and distinguishes the write blocks from the read blocks in the cache. The LRU algorithm is only used to the read blocks in each port and some especial operations are performed for all write blocks in the cache. A simulation model is developed and the simulation results show that the WPP-LRU algorithm can improve the performance of disk arrays by reducing the hit service time remarkably while it keeps the same hit ratio as the standard LRU. The WPP-LRU algorithm has a good expandability because some good algorithms can be used in the read blocks of each port to improve the hit ratio, such as the LRU-K algorithm, the 2-Q algorithm and so on, and this will not change the idea of the WPP-LRU algorithm.