Storage systems become heterogeneous with the scale increasing, because they consist of a lot of different types of servers with various I/O capacities. Slow servers usually lead to long response time, raising a negative impact on the Quality of Service (QoS) of storage. In this paper, we exploit the heterogeneity of the storage system to shorten the user access latency. We propose a QoS-Aware Read Optimization Scheme (ROS) based on historical statistics of storage nodes in heterogeneous erasure-coded storage clusters. In ROS, degraded reads are triggered according to the estimation of response time, and the requests located on slow servers can be redirected to other light-load servers by virtue of the I/O redundancies of erasure codes. To evaluate the I/O performance of ROS, we carry out a set of comparative tests together with two conventional read-optimization strategies (Speculative read and Fastest1 read) in an erasure-coded storage cluster, on which real-world traces are replayed. The experimental results indicate that ROS can speed up the average response time of Fastest1 and Speculative under small-size reads by a factor of 1.71 and 1.99, respectively. The comparative tests show that ROS outperforms all other strategies in the small-read case.