Semiconductor chip and method of controlling memory
First Claim
1. A semiconductor chip for adaptively processing a plurality of commands to request memory access, comprising:
- a storage unit storing a current memory access request and a plurality of memory access requests received before the current memory access request in received order;
a control unit processing the current memory access request and the plurality of memory access requests received before the current memory access request, which have been stored in the storage unit, in received order, except that memory access requests attempting to access a same bank and a same row are successively processed; and
a re-ordering unit placing a Quality of Service (QoS) request in a foremost part of the storage unit in order to process the QoS request earlier than the plurality of memory access requests, and to determine whether a priority of the QoS request is present, executing commands according to the priority of the QoS request if the priority of the QoS request is present, and executing commands according to an order of the QoS request as received if the priority of the QoS request is not present, andwherein the QoS request guarantees a predetermined data transmission bandwidth for a network and a destination,wherein the priority of the QoS is determined based on a predetermined priority policy, andwherein the control unit further comprises an inquiry unit analyzing memory addresses that the current memory access request and the plurality of memory access requests received before the current memory access request in reverse order; and
wherein if there is no request accessing to the same bank and the same row with the current memory access request, the re-ordering unit compares memory addresses between an n-th request and an (n−
1)-th request which are a latest memory access request and a second latest memory access request, respectively, in the storage unit before the current memory access request, and places the current memory access request between the (n−
1)-th request and the n-th request if the memory addresses of the n-th request and the (n−
1)-th request addresses are assigned to different rows of a same bank and if the n-th request and the current memory access request are assigned to different banks.
1 Assignment
0 Petitions
Accused Products
Abstract
Disclosed herein are a semiconductor chip for adaptively processing a plurality of commands to request memory access, and a method of controlling memory. The semiconductor chip includes a storage unit ad a control unit. The storage unit stores a memory access request to be currently processed and a plurality of memory access requests received before the memory access request to be currently processed in received order. The control unit processes the memory access request to be currently processed and the plurality of memory access requests received before the memory access request to be currently processed, which have been stored in the storage unit, in received order, except that memory access requests attempting to access the same bank and the same row are successively processed.
72 Citations
7 Claims
-
1. A semiconductor chip for adaptively processing a plurality of commands to request memory access, comprising:
-
a storage unit storing a current memory access request and a plurality of memory access requests received before the current memory access request in received order; a control unit processing the current memory access request and the plurality of memory access requests received before the current memory access request, which have been stored in the storage unit, in received order, except that memory access requests attempting to access a same bank and a same row are successively processed; and a re-ordering unit placing a Quality of Service (QoS) request in a foremost part of the storage unit in order to process the QoS request earlier than the plurality of memory access requests, and to determine whether a priority of the QoS request is present, executing commands according to the priority of the QoS request if the priority of the QoS request is present, and executing commands according to an order of the QoS request as received if the priority of the QoS request is not present, and wherein the QoS request guarantees a predetermined data transmission bandwidth for a network and a destination, wherein the priority of the QoS is determined based on a predetermined priority policy, and wherein the control unit further comprises an inquiry unit analyzing memory addresses that the current memory access request and the plurality of memory access requests received before the current memory access request in reverse order; and wherein if there is no request accessing to the same bank and the same row with the current memory access request, the re-ordering unit compares memory addresses between an n-th request and an (n−
1)-th request which are a latest memory access request and a second latest memory access request, respectively, in the storage unit before the current memory access request, and places the current memory access request between the (n−
1)-th request and the n-th request if the memory addresses of the n-th request and the (n−
1)-th request addresses are assigned to different rows of a same bank and if the n-th request and the current memory access request are assigned to different banks. - View Dependent Claims (2, 3)
-
-
4. A method of controlling memory, the method being performed by an apparatus for controlling semiconductor chip memory for adaptively processing a plurality of commands to request memory access, the method comprising the steps of:
-
storing a current memory access request and a plurality of memory access requests received before the current memory access request in a storage unit in received order, and inquiring memory addresses that the requests attempt to access sequentially in reverse order; if it is determined that there is a request attempting to access a same bank and a same row with the current memory access request based on the memory addresses inquired in reverse order, placing the current memory access request after the request attempting to access the same bank and the same row; placing a Quality of Service (QoS) request in a foremost part of the storage unit in order to process the QoS request earlier than the plurality of normal memory access requests; and determining whether a priority of the QoS request is present, executing commands according to the priority of the QoS request if the priority of the QoS request is present, and executing commands according to an order of the QoS request as received if the priority of the QoS request is not present, wherein the QoS request guarantees a predetermined data transmission bandwidth for a network and a destination, wherein the priority of the QoS is determined based on a predetermined priority policy, and wherein the placing the current memory access request further comprises analyzing memory addresses that the current memory access request and the plurality of memory access requests received before the current memory access request in reverse order; and wherein if there is no request accessing to the same bank and the same row with the current memory access request, a step of the placing the QoS request further comprises comparing memory addresses between an n-th request and an (n−
1)-th request which are a latest memory access request and a second latest memory access request, respectively, in the storage unit before the current memory access request, and placing the current memory access request between the (n−
1)-th request and the n-th request if the memory addresses of the n-th request and the (n−
1)-th request addresses are assigned to different rows of a same bank and if the n-th request and the current memory access request are assigned to different banks. - View Dependent Claims (5, 6)
-
-
7. A semiconductor chip for adaptively processing a plurality of commands to request memory access, comprising:
-
a storage unit storing a current memory access request and a plurality of memory access requests received before the current memory access request in received order; a control unit processing the current memory access request and the plurality of memory access requests received before the current memory access request, which have been stored in the storage unit, in received order, except that memory access requests attempting to access a same bank and a same row are successively processed; and a re-ordering unit placing a Quality of Service (QoS) request in a foremost part of the storage unit in order to process the QoS request earlier than the plurality of memory access requests, and to determine whether a priority of the QoS request is present, executing commands according to the priority of the QoS request if the priority of the QoS request is present, and executing commands according to an order of the QoS request as received if the priority of the QoS request is not present, wherein the QoS request guarantees a predetermined data transmission bandwidth for a network and a destination, wherein the priority of the QoS is determined based on a predetermined priority policy, wherein if there are a plurality of consecutive requests attempting to access the same bank and the same row with the current memory access request, the re-ordering unit places the current memory access request after a latest request of the consecutive requests, wherein if the plurality of consecutive requests attempt to access the same bank and the same row with the current memory access request, and if a number of the plurality of consecutive requests exceeds a preset number, the current memory access request is placed in a received order.
-
Specification