Sep 27, 1999 ... pps. 1—2. LOI'dSOII L- Yue, Foster City, both 0f. “Direct RambusTM Memory for ...
A bank Con?lct .detecpr Compares at least a Porno“ of a.
US006393512B1
(12) United States Patent
(10) Patent N0.:
Chen et al.
(45) Date of Patent:
(54) CIRCUIT AND METHOD FOR DETECTING BANK CONFLICTS IN ACCESSING ADJACENT BANKS (75) I A d Y J Ch S 1 nventors:
n rea
.
.
en,
Notice:
unnyva e;
pps. 1—2.
LOI‘dSOII L- Yue, Foster City, both 0f
“Direct RambusTM Memory for Desktop PC Systems”,
CA (Us)
Rambus, Inc., ©May 1998, pps. 1—4. Crisp, “Applications for Rambus® Interface Technology”, Rambus, Inc” ©Feb_ 1998, PPS 1_6_
Subject to any disclaimer, the term of this patent is extended or adjusted under 35
* Cited by examiner Primary EX?min€r—MattheW M. Kim
U_S,C, 154(b) by 0 days,
Assistant Examiner—Christian P. Chace (74) Attorney, Agent, or Firm—Vedder, Price, Kaufman &
(21) Appl. N0.: 09/407,224
Kammholl
(22) Filed:
( )
(51)
52 (
56 (
)
57
Sep. 27, 1999
ABSTRACT
Int. c1.7 .............................................. .. G06F 12/00
A bank Con?lct .detecpr Compares at least a Porno“ of a
U S C]
current address signal (1.e. an address signal generated by a
)
(58)
May 21, 2002
Crisp, “Direct Rambus Technology: The NeW Main Memory Standard”, IEEE Micro, Nov/Dec. 1997, pps. 18—28. “Direct RAC (Rambus® ASIC Cell)”, Rambus Advance Information, Direct RAC Product Summary, ©May 1998,
(73) Assignee: ATI International SRL (BB) (*)
US 6,393,512 B1
I. .
711 5 . ......................................................... ..
/
Fleld 0f Search ............................... .. 711/103, 210, 711/5> 158’ 167 R f Ct d e erences l e
U_S_ PATENT DOCUMENTS
request Currently issued to main memory) With a Corre_
sponding portion of a tobedssued memory address Signal, to determine if a bank con?ict exists. Speci?cally, in one embodiment, the bank con?ict detector includes a number of exclusive OR gates that receive as inputs the tWo addresses to be compared, and generate an output (also called “XOR
result”) that is compared With predetermined patterns to 5,249,280 A :
9/1993 Nfish et al' """"""""" " 711/5
determine if a bank con?ict exists. For example, if the bank
5’323’489 A
6/1994 Bud """" "
711/167
con?ict detector ?nds that the XOR result is 0 (Zero) then the
7/1995
Stamm .... ..
711/156
Lin et a1. ........ ..
711/158
5,432,918 A
5 440 713 A ,
,
*
*
8
/1995
.
.
tWo addresses access the same bank. The bank con?ict _
5,522,059 A * 5/1996 Marushima et aL _
711/149
detector also the XORl‘?SllliWlih patterns that are formed by
5,692,209 A 4 11/1997 Meaney et a1_ 5,740,402 A * 4/1998 Bran et a1_
710/244 711 /157
a number of consecutive 1s 1n the least sigm?cant bits and a number of consecutive Us in the most signi?cant bits. If no
* * *
5/1998 Tran ............... .. 711/125 7/1998 Lieberman et al---- -- 711/5 8/1998 Levitan ~~~~~~~~~~~~~~~~~~~~ ~~ 714/800
match, then the bank con?ict detector determines that no bank con?ict exists. OtherWise, the bank con?ict detector compares at least one of the addresses (both addresses in one
6:029:25 A :
2/2000 McGeheartY et al' ~~~~~~~~ " 711/5
implementation) With one or more predetermined patterns
6935376 A
3/2000 James """""""" "
(e.g. tWo patterns in one implementation), and in case of a
5,752,259 A 5,781,918 A 5,796,758 A
6,125,422 A
*
6,192,487 B1 *
711/145
9/2000 May ........ .. 2/2001
711/5
Douceur ...................... .. 714/8
thdt m C
.
tht
e ermmes
b
a a
k an
?. t
.t
Con 16 6X15 5’ an
d
th 0
. “W156
determines that no bank con?ict exists. These patterns also OTHER PUBLICATIONS
“Direct RDRAMTM 64/72—Mbit (256Kx16/18x16d)”, Ram bus Advance Information, 64M/72M Direct RDRAM Data Sheet, last modi?ed on Mar. 12, 1998; 48 pps. a[n:0]
[11010]
C [n.0] .
I I
I
have Us in the least signi?cant positions and 1s in the most signi?cant positions or vice versa, depending on the imple mentation.
10 Claims, 26 Drawing Sheets
SAME BANK DETECTION UNIT
335
sAME
3
BANK
311 LJ [.1
CONFLICT LJ
2 L858
NH
+1» 326A
1» 327.4 3/‘ 328A ZLSBs 3 L588
340
325A
_
ADJACENCY CiRCUlT
n+1
$329,
+3» 3268 1» 327B 3» 3235
r 3255
ADJACENCY ClRCU/T
32512
SL553
DEPENDENCY DETECTlON UNIT
3291b ‘
W i LSBs
’
3291 w
ADJACENT 3
E
Cg?g?-CT
w 325]
n+1
W329},
n+1LSBS +3» 3261’ 1» .7271J 3’ 3231’
n+1 LSBS
ADJACENCY ClRCUIT
ADJACENT BANK $3251’ DETECTlON WT E
BANK.
CONFLICT
ADJACENCY CIRCUIT
1,1231
ILSBS
0R
326'
N327]
3 41 3
2
DEPENDENT SAME IADJACENT FLAG BANK DETECTOR
H1
M
U.S. Patent
May 21, 2002
Sheet 1 0f 26
US 6,393,512 B1
10
8
MAIN I
MEMORY
-PRIOR ART
FIGJA
U.S. Patent
May 21, 2002
Sheet 2 0f 26
US 6,393,512 B1
22052 WRITE BUFFER
I“? k i i i { H
N?m
3% 3 Q
$3
CO
woa_m.go_
8%
mE/wzm
Em
@HHHH
5.J02 W101
U.S. Patent
May 21, 2002
Sheet 4 0f 26
US 6,393,512 B1
213A
213.]
213N
8
8
8
I
223M
223A
223J
224 241A~
f r
2411*»
1
v
v
r
v
1
v
i if
r
v
v
222A
22“
224 541”
r v
5 v
222J
v
’
v
v
v
v
1
ZZZN
BANKvCONFLICTv DETEQia22?
READ WRITE OPTIMIZER
(OPTIONAL) '
8
227 CURRENT CONTROL '
Ff58¥|§NTAQ§
"—’
ARBITER
(OPTIONAL)
\
‘*8
Y
225
221*» v
203w MEMORY
FIG.2B
REFRESH REQUESTOR
(OPTIONAL)
U.S. Patent
May 21, 2002
261 w
262 "'
Sheet 5 0f 26
US 6,393,512 B1
@
FIG.2C
COMPUTE ADDRESS OF LOW ADJACENT BANK
SAME IADJACENT
A
2221
BANK DETECTOR
COMPUTE ADDRESS OF HIGH ADJACENT BANK
A; 260 263
268
DDES
8
'PEND ADDR HAVE
BANK ADDR SAME AS
CURRENT BANK
264 DOES BANK AT PEND ADDR HAVE DEPENDENCY
FLAS) SET
DOES
PEND ADDR HAVE BANK ADDR SAME AS
LOW ADJACENT BANK?
266 DOES PEND ADDR HAVE BANK ADDR SAME AS HIGH ADJACENT BANK?
2677\,
BANK CONFL|CT=
TALSE
_
BANKQFQLNELICT -
A A
U.S. Patent
May 21, 2002
Sheet 6 6f 26
mm.
mmm
mmm mm
Eda “ u W? E _ _
m n
_ _
New EN
5.02 @Z H
_
NP CH J :25 _
US 6,393,512 B1
I1“iQal_
_:m
; * nwHmx-wwm BANK_CONFL|CT= TRUE _>
[C0_U_NT7-_1:0] + 324 *v
BANK_CONFL|CT = FALSE
FIG.3C
U.S. Patent
m
May 21, 2002
Sheet 14 0f 26
FIG.3D
US 6,393,512 B1
BANK CONFLICT _@ FLAG = TRUE
J
341
IS
3423
C[5:0JDEQUAL 6 000001 TO
IS TO a[1:0] EQUAL
7
2'b01
NO 342
BANK CONFLICT FLAG= FALSE
BANK CONFLICT |S
YES
340
FLAG = TRUE
CIBOJDEQLIALTO 0 000011 ? NO
343
IS
CFQJDESOLTAFTO 7
YES
BANK CONFLICT FLAG = FALSE
BANK CONFLICT
FLAG I TRUE
W 3443 Is NO 01301 EQUAL T0 YES
N0
BANK CONFLICT
BANK CONFLICT
FLAG = FALSE
FLAG = TRUE
EXIT
345
345A
345B
IS
IS
C[5:0lDEQUAL 6 0171111 TO
@1412 EQUAL T0
YES
|
NO
BANK CONFLICT FLAG=FALSE
'b01111
b[4:0g‘001111 EQUAL TO
?
?
YES BANK C_ONFLICT
C520 EQUAL TO
[ 610111111 ? NO
IS
NO
346A YES
IS aIBOIDEOLIALTO 6011111 YES BANK CONFLICT
YES
3463
BANK CONFLICT FLAG = FALSE
Is 015:0] EQUAL T0 000171111 YES
NO
NO
BANK CONFLICT _ FLAG — FALSE
@W FLAG=TRUE
U.S. Patent
May 21, 2002
Sheet 16 0f 26
%
US 6,393,512 B1
BANK CONFLICT T_,@ FLAG = TRUE
1 360
3628 IS
b[1:0] EQUAL TO 2'b10
NO T
YES
BANK CONFLICT
FLAC = TRUE
BANK CONFLICT
FLAG= FALSE
W 3633 IS
b[2:0] EQUAL TO 3'b100 YES BANK CONFLICT
FLAG = FALSE
364A '8
CIBOIDEQIIAL TO
YES
364B '5
am? EQUAL TO
6 0%1111
NO
‘b12000
'8
b[3:0] EQUAL TO
NO
4'b17000
YES
YES
BANK CONFLICT
365
BANK CONFLICT
BANK CONFLICT
FLAG= FALSE
FLAG = TRUE
W
YES BANK CONFLICT
YES
FLAC -TRUE
W 3663 IS
365A IS
C[5IOJDEQUAL 6 0171111 TO YES NO
366
IS [ 6'LT111111
05:0 EQUAL TO ?
366A
NO
YES
NO BANK CONFLICT
YES
FLAG = FALSE
BANK C_ONFL|CT
BANK CONFLICT FLAG= FALSE
D[5IO1DEQUAL 6 1%0000 TO YES
NO
BANK CONFLICT _ FLAG - FALSE
U.S. Patent
May 21, 2002
Sheet 17 0f 26
US 6,393,512 B1
$.65 2am.
m=2