Académique Documents
Professionnel Documents
Culture Documents
(54)
(58)
(56)
NONVOLATILE MEMORY
References Cited
U.S. PATENT DOCUMENTS
2002/0083262 A1 *
6/2002
2003/0028704 A1 *
2/2003
Tokyo (JP)
(57)
Feb. 7, 2002
(51)
(52)
ABSTRACT
(30)
CON R
COMMAND REGISTER((T5C), 15
2
HOST DATA
11
TRANSFER
2,
14
CPU
FERRET?
2_>
CONTROL
UNIT
HEND IHQ
FEND [RQ
\ CONTROL
UNIT
13
HWAIT
T OLL R
CONTROL REGISTER
HOST
365/18509
* cited by examiner
Notice:
Jun. 1, 2004
(*)
US 6,744,692 B2
31\
1224
TRANSFER ARBTTRATOR
32
SR/NR3 RTTFR N
21
DIR
>
TRANSFER
HDHQ
REQUEST
HDACK
FOR HOST
FOR FLASH
PM
DATA
DATA
TRANSFER TRANSFER
l
FDRQ
Ef?l?EER PERMISSION
FDACK ; REOUEST
CIRCUIT
1_
>
BUFFER
30
20
FLASH MEMORY CARD
'
$253M
DATA
BUFFER
'
K
1
TRANSFER
OTROUTT
DATA
23
22)
R
BUFFER MEMORY ~5
(SDHAM)
U.S. Patent
Jun. 1, 2004
Sheet 2 0f 14
US 6,744,692 B2
0
1
GOOD BLOCK
GOOD BLOCK
GOOD BLOCK
K-I
k
DEFECTIVE BLOCK
GOOD BLOCK
INVALID DATA
USER DATA (k)
"-1
GOOD BLOCK
GOOD BLOCK
FIG. 3
\__/\
DATA REGISTER
ADDRESS REGISTER
STATUS REGISTER
COMMAND REGISTER
U.S. Patent
Jun. 1, 2004
Sheet 3 0f 14
US 6,744,692 B2
FIG. 4
@
WRITE
POINTER
X Word
READ
POINTER P"
ywrd
U.S. Patent
Jun. 1, 2004
Sheet 4 0f 14
US 6,744,692 B2
FIG. 5
CST-ART?
II
HOST DATA
TRANSFER REQUEST
DETECTED ?
TI
JSIA
;
A
FLASH DATA
TRANSFER REQUEST
DETECTED '?
NO
82
II
I,
XSZA
REFRESH SDRAM
; SBA
U.S. Patent
Jun. 1, 2004
FIG. 6
Sheet 5 0f 14
START
US 6,744,692 B2
S10
WRITE
ACCESS REQUEST
DETECTED ?
S811
I
INSTRUCT HOST DATA TRANSFER
CONTROL UNIT TO START V
' TRANSFERRING DATA FROM HOST
5812
TO TRANSFER ARBITRATOR
I
SET TRANSFER ENABLE STATUS IN
STATUS REGISTER AND NOTIFY HOST
51813
5-814
i
SET WRITE TRANSFER COMMAND
TO CALCULATED FLASH MEMORYS
ADDRESS INTO FLASH MEMORY
Ir
ISIS
I816
II
NO
p S17
S18
BOTH
HEND_IRQ AND FEND_IRO
ACTIVE ?
U.S. Patent
Jun. 1, 2004
'
START
T"
READ
ACCESS REQUEST
DETECTED ?
NO
US 6,744,692 B2
Sheet 6 0f 14
620
I
SET READ TRANSFER COMMAND TO
I
INSTRUCT FLASH DATA TRANSFER
CONTROL UNIT TO START
TRANSFERRING DATA FROM FLASH
MEMORY TO TRANSFER ARBITRATOR
I
SET ADDRESS COUNTER FOR
HOST DATA TRANSFER
5825
I
INSTRUCT HOST DATA TRANSFER
CONTROL UNIT TO START
TRANSFERRING DATA FROM SDRAM
5826
TO TRANSFER ARBITRATOR
I
SET TRANSFER ENABLE STATUS IN
STATUS REGISTER AND NOTIFY HOST
II
No
$827
S28
BOTH
HEND_IRQ AND FEND_IRQ
ACTIVE ?
U.S. Patent
Jun. 1, 2004
Sheet 7 0f 14
US 6,744,692 B2
3$852;
2I::bElm? 3 ;
E;:5ED(soE2?g5%x8330%w34N6e2;m
$5E%25.
P
/
\
E@.g925532801a;
03 25J
me;
aimGEm3.
Imk6E4;
1%.wt
U.S. Patent
52,
GE
2_
P25)?
Jun. 1, 2004
Sheet 9 0f 14
US 6,744,692 B2
HH
35
:
2%
.XxmiXsmVUAZsXENxJQ;
.L
a
LA,
JV Q,
E?xX552LQIUQT
f
z
218
56
2.20
O0
82.10
U.S. Patent
Jun. 1, 2004
Sheet 10 0f 14
US 6,744,692 B2
IGE
zlwo
00
co2mg
U.S. Patent
Jun. 1, 2004
Sheet 11 0f 14
US 6,744,692 B2
FIG. 12
Tfw
COMMAND/
ADDRESS
SAN)
SA(2)|
PROGRAM
START
FIG. 13
Tfr
COMMAND/
ADDRESS
OOH/FOH SA(1)
SA(2)'
U.S. Patent
Jun. 1, 2004
Sheet 12 0f 14
US 6,744,692 B2
FLASH
HOST
CONTROLLER
MEMORY
WRITE TRANSFER
WRITE TRANSFER
WRITE TRANSFER TEMPORARY
INTERRUPTION REQUEST
II
WRITE TRANSFER
RESTART NOTIFICATION
NORMAL END
f
WRITE TRANSFER
NOTIFICATION OF
WRITE TRANSFER END
U.S. Patent
Jun. 1, 2004
Sheet 13 0f 14
US 6,744,692 B2
FIG. 15
FLASH
HOST
CONTROLLER
MEMORY
=STATUS NOTIFICATION
WRITE TRANSFER REQUEST A
WRITE TRANSFER
&
WRITE TRANSFER
WRITE TRANSFER
RESTART NOTIFICATION
TRANSFER REQUEST
WRITE TRANSFER
WRITE TRANSFER
WRITE TRANSFER
t?
WRITE TRANSFER
TRANSFER REQUEST
P
i
D
NOTIFICATION OF
WRITE TRANSFER END
U.S. Patent
Jun. 1, 2004
Sheet 14 0f 14
US 6,744,692 B2
FIG. 16
HOST
FLASH
MEMORY
CONTROLLER
: STATUS NOTIFICATION
READ TRANSFER
READ TRANSFER
READ TRANSFER
READ TRANSFER
READ TRANSFER
READ TRANSFER
NORMAL END
NOTIFICATION OF
US 6,744,692 B2
1
10
15
stores data read out from the ?ash memory into the buffer
memory and outputs the stored data to the outside. As a
conventional buffer memory, an SRAM (Static Random
25
by the ?rst data transfer and, in parallel With the read data
outputting process, input the folloWing read data from the
nonvolatile memory by the second data transfer.
By the buffering function of the buffer memory, long
Waiting time is unnecessary for the timing of supplying a
plurality of Write data pieces by an external apparatus such
as a host, and long Waiting time is unnecessary for the timing
of obtaining a plurality of read data pieces by the host.
35
Waiting time of the host in the data transfer betWeen the host
operation is performed ?rst, the next Write data from the host
cannot be received by the buffer memory. Consequently, due
to a problem betWeen the ?ash memory and the controller,
data transfer betWeen the host and the controller has to be
Waited. It increases burden on the host and processing time,
and a problem such that the data processing ef?ciency
the ?rst data transfer. In theory, the Waiting time of the host
becomes Zero.
deteriorates occurs.
65
US 6,744,692 B2
4
3
buffer memory in response to a transfer request from the ?rst
data transfer control unit and a transfer request from the
second data transfer control unit. The ?rst data transfer
control unit is connected to the external apparatus and the
transfer arbitrator via a dual-port data buffer and outputs a
transfer request to the transfer arbitrator. The second data
transfer control unit is connected to the nonvolatile memory
and the transfer arbitrator via a dual-port data buffer and
outputs a transfer request to the transfer arbitrator. The
transfer arbitrator controls transfer of Write data to the buffer
memory and transfer of read data from the buffer memory in
a time sharing manner in response to a transfer request from
the ?rst data transfer control unit and a transfer request from
the second data transfer control unit.
request from the outside, the controller stores Write data into
the buffer memory and outputs the Write data stored in the
buffer memory in a time sharing manner. In parallel With the
Write data storing process, transfer of Write data from the
of an SDRAM.
35
45
request.
FIG. 15 is a ?oWchart shoWing a case Where there is a
access.
access request from the outside, the ?rst data transfer control
unit outputs a transfer request for Writing data to the buffer
memory to the transfer arbitrator When a predetermined
amount of data is stored in the data buffer from the external
apparatus, and the second data transfer control unit outputs
a transfer request for reading data from the buffer memory
to the data buffer to the transfer arbitrator When data in the
data buffer is less than the predetermined amount. In
request.
FIG. 16 is a ?oWchart of the How of a data transferring
process performed in response to a read access request.
55
data storage area and an area for managing the data storage
US 6,744,692 B2
6
5
The ?ash memory 2 has, although not particularly shown,
25
area.
control unit (?rst data transfer control unit) 11, a ?ash data
transfer control unit (second data transfer control unit) 12, a
55
a memory interface With the ?ash memory 2, a control on a 65 address pointer at the time of Writing data from the data
buffer 20 to the SDRAM 5 and functions as a read address
US 6,744,692 B2
7
data buffer 20. The address counter 32 for ?ash data transfer
functions as a Write address pointer at the time of Writing
data from the data buffer 22 to the SDRAM 5 and functions
as a read address pointer at the time of reading data from the
SDRAM 5 to the data buffer 22. The transfer permission
14 sets the address counter 32 for ?ash data transfer, that is,
initialiZes or presets an initial value (S16). Each time 8-byte
data is input from the SDRAM 5 to the data buffer 22, the
CPU 14 instructs the ?ash data transfer control unit 12 to
enable the data to be transferred to the ?ash memory 2 (S17).
eight bytes.
25
35
read access request from the host 3, reading of data from the
address in the SDRAM 5 indicated by the address counter 31
and Writing of data to the address in the SDRAM 5 indicated
by the address counter 32 can be performed in a time sharing
manner, that is, alternately on the 8-byte unit basis or the
like.
FIG. 6 illustrates a control operation of the CPU When the
45
bytes.
When the process performed in response to the host
transfer request in FIG. 5 and the process performed in
response to the ?ash data transfer request are repeated in a
time sharing manner, the CPU 14 detects a state in Which
65
US 6,744,692 B2
10
FIG. 8 shows the correlation of data transfer operations of
the host 3, SDRAM 5, and ?ash memory 2 When a Write
access request is received. (A) shoWs the operation state of
the host 3, (B) shoWs the operation state of the SDRAM 5,
and (C) shoWs the operation state of the ?ash memory 2.
15
25
performed.
According to the example, during the controller 4 reads
out the data of the data block 3 from, for example, the port
35
data block 4.
According to the example, When the controller 4 reads the
data of the data block 3 from the port on the transfer
arbitrator 13 side of the data buffer 20, stores it into the
45
65