A key-value storage method, wherein the method comprises: obtaining, by a storage controller, a first storage request instruction sequence, wherein the first storage request instruction sequence is constituted by writing, by a host, a first instruction code and first address information that are carried in a key-value storage request to a field defined in a storage protocol supported by the storage controller, wherein the first instruction code is an instruction code defined based on a reserved extension field in the storage protocol; extracting, by the storage controller, the first instruction code and the first address information from the first storage request instruction sequence; and performing, by the storage controller, an operation corresponding to the first instruction code on a block storage device based on the first instruction code and the first address information; wherein the method further comprises: obtaining, by the storage controller, a second storage request instruction sequence, wherein the second storage request instruction sequence is constituted by writing, by the host, a second instruction code and second address information that are carried in a non-key-value storage request to the field defined in the storage protocol, wherein the second instruction code is a standard instruction code of the storage protocol; extracting, by the storage controller, the second instruction code and the second address information from the second storage request instruction sequence; and performing, by the storage controller, an operation corresponding to the second instruction code on the block storage device based on the second instruction code and the second address information. obtaining, by a storage controller, a first storage request instruction sequence, wherein the first storage request instruction sequence is constituted by writing, by a host, a first instruction code and first address information that are carried in a key-value storage request to a field defined in a storage protocol supported by the storage controller, wherein the first instruction code is an instruction code defined based on a reserved extension field in the storage protocol; extracting, by the storage controller, the first instruction code and the first address information from the first storage request instruction sequence; and performing, by the storage controller, an operation corresponding to the first instruction code on a block storage device based on the first instruction code and the first address information; wherein the method further comprises: obtaining, by the storage controller, a second storage request instruction sequence, wherein the second storage request instruction sequence is constituted by writing, by the host, a second instruction code and second address information that are carried in a non-key-value storage request to the field defined in the storage protocol, wherein the second instruction code is a standard instruction code of the storage protocol; extracting, by the storage controller, the second instruction code and the second address information from the second storage request instruction sequence; and performing, by the storage controller, an operation corresponding to the second instruction code on the block storage device based on the second instruction code and the second address information. obtaining, by the storage controller, a second storage request instruction sequence, wherein the second storage request instruction sequence is constituted by writing, by the host, a second instruction code and second address information that are carried in a non-key-value storage request to the field defined in the storage protocol, wherein the second instruction code is a standard instruction code of the storage protocol; extracting, by the storage controller, the second instruction code and the second address information from the second storage request instruction sequence; and performing, by the storage controller, an operation corresponding to the second instruction code on the block storage device based on the second instruction code and the second address information.