A data storage method, wherein the method comprises: receiving, by a first server, a write instruction sent by a second server, wherein the first server comprises a non-volatile memory, the non-volatile memory comprises a controller and a storage medium, the first server communicates with the second server through a first network, and the write instruction comprises target data; storing, by the first server, the target data in a cache of the controller; detecting, by the first server, a read instruction for the target data, wherein the read instruction is used to instruct the first server to store the target data in the storage medium of the non-volatile memory; and storing, by the first server, the target data in the storage medium of the non-volatile memory based on the read instruction, wherein either the first server further comprises a first network interface card, and the detecting, by the first server, a read instruction for the target data comprises: when the first network interface card determines that the target data is written to the cache, generating, by the first network interface card, the read instruction for the target data; and detecting, by the controller, the read instruction, OR wherein the detecting, by the first server, a read instruction for the target data comprises: when the first server determines that the target data is written to the cache, sending, by the first server, a second acknowledgment message for the write instruction to the second server, to enable the second server to send the read instruction for the target data to the first server when receiving the second acknowledgment message; and receiving, by the first server, the read instruction for the target data, to enable the first server to detect the read instruction. receiving, by a first server, a write instruction sent by a second server, wherein the first server comprises a non-volatile memory, the non-volatile memory comprises a controller and a storage medium, the first server communicates with the second server through a first network, and the write instruction comprises target data; storing, by the first server, the target data in a cache of the controller; detecting, by the first server, a read instruction for the target data, wherein the read instruction is used to instruct the first server to store the target data in the storage medium of the non-volatile memory; and storing, by the first server, the target data in the storage medium of the non-volatile memory based on the read instruction, wherein either the first server further comprises a first network interface card, and the detecting, by the first server, a read instruction for the target data comprises: when the first network interface card determines that the target data is written to the cache, generating, by the first network interface card, the read instruction for the target data; and detecting, by the controller, the read instruction, OR wherein the detecting, by the first server, a read instruction for the target data comprises: when the first server determines that the target data is written to the cache, sending, by the first server, a second acknowledgment message for the write instruction to the second server, to enable the second server to send the read instruction for the target data to the first server when receiving the second acknowledgment message; and receiving, by the first server, the read instruction for the target data, to enable the first server to detect the read instruction. when the first network interface card determines that the target data is written to the cache, generating, by the first network interface card, the read instruction for the target data; and detecting, by the controller, the read instruction, OR wherein the detecting, by the first server, a read instruction for the target data comprises: when the first server determines that the target data is written to the cache, sending, by the first server, a second acknowledgment message for the write instruction to the second server, to enable the second server to send the read instruction for the target data to the first server when receiving the second acknowledgment message; and receiving, by the first server, the read instruction for the target data, to enable the first server to detect the read instruction. when the first server determines that the target data is written to the cache, sending, by the first server, a second acknowledgment message for the write instruction to the second server, to enable the second server to send the read instruction for the target data to the first server when receiving the second acknowledgment message; and receiving, by the first server, the read instruction for the target data, to enable the first server to detect the read instruction.