An apparatus for accessing memory based on message packets, comprising: a CPU, configured to convert a memory access instruction into a message-based memory access request on a message-based command bus; a message channel; a message-based memory controller, configured to: - receive the message-based memory access request transmitted from the message-based command bus, - set attributes for the message-based memory access request, - package a plurality of message-based memory access requests into a request message packet, - place the request message packet on the message channel, - parse a response message packet returned by a storage module and transmitted from the message channel, and - unpack the response message packet to obtain return data included in the response message packet; the storage module, comprising a buffer scheduler configured to: - receive the request message packet from the message-based memory controller, - unpack the request message packet to get the plurality of message-based memory access requests, - schedule the execution sequence of the plurality of message-based memory access requests according to the attributes of the plurality of message-based memory access requests, - produce a response message packet, and - send the response message packet to the message-based memory controller. a CPU, configured to convert a memory access instruction into a message-based memory access request on a message-based command bus; a message channel; a message-based memory controller, configured to: - receive the message-based memory access request transmitted from the message-based command bus, - set attributes for the message-based memory access request, - package a plurality of message-based memory access requests into a request message packet, - place the request message packet on the message channel, - parse a response message packet returned by a storage module and transmitted from the message channel, and - unpack the response message packet to obtain return data included in the response message packet; - receive the message-based memory access request transmitted from the message-based command bus, - set attributes for the message-based memory access request, - package a plurality of message-based memory access requests into a request message packet, - place the request message packet on the message channel, - parse a response message packet returned by a storage module and transmitted from the message channel, and - unpack the response message packet to obtain return data included in the response message packet; the storage module, comprising a buffer scheduler configured to: - receive the request message packet from the message-based memory controller, - unpack the request message packet to get the plurality of message-based memory access requests, - schedule the execution sequence of the plurality of message-based memory access requests according to the attributes of the plurality of message-based memory access requests, - produce a response message packet, and - send the response message packet to the message-based memory controller. - receive the request message packet from the message-based memory controller, - unpack the request message packet to get the plurality of message-based memory access requests, - schedule the execution sequence of the plurality of message-based memory access requests according to the attributes of the plurality of message-based memory access requests, - produce a response message packet, and - send the response message packet to the message-based memory controller.