A memory management method, comprising: receiving a memory access request; determining an access type of the memory access request, wherein the access type of the memory access request comprises a read access or a write access; and executing a row management policy corresponding to the access type of the memory access request, wherein the row management policy comprises a policy of closing an opened row, or of closing a row buffer after data of a row enters the row buffer, wherein the memory access request belongs to a first batch of memory access requests and is used for accessing a target row, and the method further comprises: determining that the first batch of memory access requests are completely performed and a second batch of memory access requests are to be performed, wherein the target row is a currently opened row; and keeping the target row in the open state if both the first batch of memory access requests and the second batch of memory access requests are read access requests; if an access type of the first batch of memory access requests is different from an access type of the second batch of memory access requests, closing the target row in case the access type of the first batch is a read access and in case the access type of the first batch is a write access. receiving a memory access request; determining an access type of the memory access request, wherein the access type of the memory access request comprises a read access or a write access; and executing a row management policy corresponding to the access type of the memory access request, wherein the row management policy comprises a policy of closing an opened row, or of closing a row buffer after data of a row enters the row buffer, wherein the memory access request belongs to a first batch of memory access requests and is used for accessing a target row, and the method further comprises: determining that the first batch of memory access requests are completely performed and a second batch of memory access requests are to be performed, wherein the target row is a currently opened row; and keeping the target row in the open state if both the first batch of memory access requests and the second batch of memory access requests are read access requests; if an access type of the first batch of memory access requests is different from an access type of the second batch of memory access requests, closing the target row in case the access type of the first batch is a read access and in case the access type of the first batch is a write access. determining that the first batch of memory access requests are completely performed and a second batch of memory access requests are to be performed, wherein the target row is a currently opened row; and keeping the target row in the open state if both the first batch of memory access requests and the second batch of memory access requests are read access requests; if an access type of the first batch of memory access requests is different from an access type of the second batch of memory access requests, closing the target row in case the access type of the first batch is a read access and in case the access type of the first batch is a write access.