KR100273268B1 - Read/write controller of flash memory - Google Patents
Read/write controller of flash memory Download PDFInfo
- Publication number
- KR100273268B1 KR100273268B1 KR1019970078884A KR19970078884A KR100273268B1 KR 100273268 B1 KR100273268 B1 KR 100273268B1 KR 1019970078884 A KR1019970078884 A KR 1019970078884A KR 19970078884 A KR19970078884 A KR 19970078884A KR 100273268 B1 KR100273268 B1 KR 100273268B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- write
- flag
- data
- flash memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
Landscapes
- Read Only Memory (AREA)
Abstract
Description
본 발명은 플래시 메모리 리드/라이트 제어기에 관한 것으로, 특히 엠씨유의 페리페럴로 사용하여 보다 쉽게 그리고 보다 빠른 속도로 액세스할 수 있도록 한 플래시 메모리 리드/라이트 제어기에 관한 것이다.TECHNICAL FIELD The present invention relates to a flash memory read / write controller, and more particularly, to a flash memory read / write controller, which is used as a peripheral of MCU for easier and faster access.
도1은 종래 플래시 메모리 리드/라이트 제어기의 구성을 보인 블록도로서, 이에 도시된 바와같이 어드레스신호(Address[15:0]),칩인에이블바신호(/CE),아웃인에이블바신호(/OE)를 순차적으로 출력한 후 소정 데이터(DATA[7:0])를 리드하거나 라이트하도록 제어하는 엠씨유(10)와; 상기 엠씨유(10)의 어드레스신호(Address[15:0]), 칩인에이블바신호(/CE),아웃인에이블바신호(/OE)를 순차적으로 입력받아 그에 따라 소정 데이터(DATA[7:0])를 리드하거나 라이트하는 플래시메모리(11)로 구성되며, 이와같이 구성된 종래 장치의 동작을 첨부한 도면을 참조하여 설명한다.FIG. 1 is a block diagram showing the configuration of a conventional flash memory read / write controller. As shown in FIG. 1, an address signal Address [15: 0], a chip enable bar signal / CE, and an out enable bar signal /
먼저, 데이터(DATA[7:0])를 리드할 경우 엠씨유(10)는 도4의 (a)와 같은 어드레스신호(Address[15:0])와 도4의 (b)와 같은 칩인에이블바신호(/CE) 및 도4의 (c)와 같은 아웃인에이블바신호(/OE)를 순차적으로 출력하고, 이에따라 플래시메모리(11)는 해당 어드레스(Address[15:0])의 데이터(DATA[7:0])를 출력하며, 이때 상기 엠씨유(10)는 상기 플래시 메모리(11)로부터 출력된 데이터(DATA[7:0])를 입력받아 이 데이터(DATA[7:0])를 소정 프로그래밍 처리한다.First, when the data DATA [7: 0] is read, the
반대로, 데이터(DATA[7:0])를 플래시 메모리(11)에 라이트할 경우 엠씨유(10)는 1 바이트를 라이트하기 위해서는 도2와 같이 4번의 싸이클동안 어드레스(Address[15:0])와 데이터(DATA[7:0])를 라이트하고, 그다음 상기 플래시 메모리(11)에 데이터(DATA[7:0])가 라이트되었는지를 확인한다.On the contrary, when data DATA [7: 0] is written to the
그리고, 엠씨유(10)가 플래시 메모리(11)에 1바이트를 1회에 걸쳐 라이트한 후, 다시 같은 어드레스(Address[15:0])에 1바이트를 라이트할 수 없기 때문에 칩전체를 지우거나 또는 섹터로 나누어서 지운다.After the
즉, 플래시 메모리(11)는 하나의 어드레스(Address[15:0])에 한 번만 라이트할 수 있고, 두 번은 라이트할 수 없기 때문에 다른 데이터(DATA[7:0])를 같은 어드레스(Address[15:0])에 기억시키려면 섹터를 지우거나 칩을 지워야한다.That is, the
이때, 상기 칩이레이즈(Chip_Erase)는 도2와 같이 6번의 싸이클까지 오퍼레이션을 행하여야 하고, 또한 섹터이레이즈(Sector_Erase)도 6싸이클 동안 오퍼레이션을 행하여야 한다.At this time, the chip erase (Chip_Erase) must be operated up to six cycles as shown in Figure 2, and the sector erase (Sector_Erase) must also be performed for six cycles.
상기와 같은 칩이레이즈(Chip_Erase)와 섹터이레이즈(Sector_Erase)후에 도5의 흐름도와 같은 체크동작을 수행한다..After the above-described chip raise (Chip_Erase) and sector erase (Sector_Erase) performs a check operation as shown in the flowchart of FIG.
즉, 칩 또는 섹터를 지운후에 데이터(DATA[7:0])가 FFH인지를 체크하는데, 플래시 메모리(11)를 라이트한 후 도3과 같은 데이터(DATA[7:0]) 폴링동작을 수행한다.That is, after erasing the chip or sector, it is checked whether the data DATA [7: 0] is FFH. After the
이때, 상기 도3의 데이터(DATA[7:0]) 폴링동작을 상세히 설명하면, 라이트후에는 플래시 메모리(11)의 데이터(DATA[7])의 비트가 데이터(DATA[7:0])의 7번째 비트와 동일한가를 비교해 보아야 한다.At this time, the data DATA [7: 0] polling operation of FIG. 3 will be described in detail. After writing, the bit of the data DATA [7] of the
그리고, 데이터(DATA[5])의 비트가 '1'인지 체크하고,'1'이면 마지막으로 데이터(DATA[7:0])를 리드한 후 다시 데이터(DATA[7])를 비교한 다음, 다르면 페일로 간주되고, 데이터(DATA[5])가 1이 아니면 계속 데이터(DATA[7:0])를 읽고 데이터(DATA[7:0])를 비교한다.Then, it checks whether the bit of data DATA [5] is '1', and if it is '1', finally reads data DATA [7: 0] and compares data DATA [7] again. If it is different, it is regarded as a fail. If the data DATA [5] is not 1, the data is read continuously and the data DATA [7: 0] are compared.
그러나, 상기와 같이 동작하는 종래 장치는 일반적인 메모리를 사용하는 방법과 동일하게 플래시 메모리를 사용할 수 있는 반면에 일반적인 메모리와 같이 리드/라이트할 수가 없고, 칩이레이즈(Chip_Erase) 또는 섹터이레이즈(Sector_Erase)시에 소프트웨어적으로 엠씨유에게 많은 시간을 시간을 요구함으로 엠씨유에게 시간적인 부담을 많이 주게 되고, 또한 엠씨유의 퍼포먼스를 저하시키는 문제점이 있었다.However, while the conventional device operating as described above can use the flash memory in the same manner as the method using the general memory, it cannot read / write like the general memory, and it can be chip erase (Chip_Erase) or sector erase (Sector_Erase). By requiring a lot of time for the MC in the city of the city to give a lot of time burden to the MC, and also had a problem of reducing the performance of the MC.
따라서, 상기와 같은 문제점을 감안하여 창안한 본 발명은 엠씨유의 페리페럴로 사용하여 보다 쉽게 그리고 보다 빠른 속도로 액세스할 수 있도록 한 플래시 메모리 리드/라이트 제어기를 제공함에 그 목적이 있다.Accordingly, an object of the present invention is to provide a flash memory read / write controller that can be accessed more easily and at a higher speed by using MC U as a peripheral.
도1은 종래 플래시 메모리 리드/라이트 제어기의 구성을 보인 블록도.1 is a block diagram showing the configuration of a conventional flash memory read / write controller.
도2는 도1에 있어서의 프로그램 싸이클을 보인도.FIG. 2 shows a program cycle in FIG. 1; FIG.
도3은 도1에 있어서, 데이터폴링의 흐름도.Figure 3 is a flowchart of data polling in Figure 1;
도4은 도1에 있어서의 타이밍도.4 is a timing diagram in FIG. 1;
도5는 도1에 있어서, 라이트동작시의 흐름도.Fig. 5 is a flowchart of a write operation in Fig. 1;
도6은 도1에 있어서, 데이터 이에이즈 동작의 흐름도.Figure 6 is a flowchart of a data ease operation in Figure 1;
도7은 본 발명 플래시 메모리 리드/라이트 제어기의 구성을 보인 블록도.Fig. 7 is a block diagram showing the configuration of the flash memory read / write controller of the present invention.
도8은 도7을 구현한 엠씨유 페리페럴을 이용한 구성을 보인 블록도.Figure 8 is a block diagram showing the configuration using the MC U peripheral to implement the Figure 7.
*도면의 주요부분에 대한 부호의 설명** Description of the symbols for the main parts of the drawings *
70,71:레지스터 72:제어부70, 71: register 72: control unit
73:플래그 74:멀티플렉서73: flag 74: multiplexer
75:명령발생기 76:싸이클카운터75: command generator 76: cycle counter
77:플래시제어기77: flash controller
상기와 같은 목적은 어드레스(Address[15:0]) 및 데이터(DATA[7:0])를 저장하는 제1,제2 레지스터와; 칩선택바신호(/CS)와 라이트바신호(/WR)를 입력받아 이를 오아연산하는 제1 오아게이트와; 상기 칩선택바신호(/CS)와 리드바신호(/RD)를 입력받아 이를 오아 연산하는 제2 오아게이트와; 데이터(DATA[7:0]) 및 어드레스와 라이트바신호를 입력받아 그에 따라 플래그비트가 셋되는 플래그와; 상기 제1,제2 오아게이트의 연산신호 및 플래그의 플래그신호를 입력받아 그에 따른 명령신호 및 플래시메모리의 리드/라이트동작 및 섹터/칩이레이저동작을 제어하는 제어신호를 출력하는 제어부와; 상기 제1,제2 레지스터의 신호 및 명령신호를 입력받아 이를 제어부의 제어신호에 의해 다중송신하는 멀티플렉서로 구성함으로써 달성되는 것으로, 이와같은 본 발명을 설명한다.The above object includes: first and second registers for storing an address Address [15: 0] and data DATA [7: 0]; A first oar gate that receives the chip select bar signal / CS and the light bar signal / WR and performs an operation on the chip select bar signal / CS and the write bar signal / WR; A second orifice that receives the chip select bar signal / CS and the lead bar signal / RD and calculates the result; A flag that receives data DATA [7: 0], an address and a write bar signal, and sets a flag bit accordingly; A control unit which receives the operation signals of the first and second orifices and the flag signals of flags and outputs command signals and control signals for controlling read / write operations and sector / chip laser operations of the flash memory; This is achieved by configuring a multiplexer which receives the signals of the first and second registers and the command signal and transmits them by the control signal of the controller.
도7은 본 발명 플래시 메모리의 리드/라이트제어기의 일실시예의 구성을 보인 블록도로서, 이에 도시된 바와같이 어드레스(Address[15:0]) 및 데이터(DATA[7:0])를 저장하는 제1,제2 레지스터(70),(71)와; 칩선택바신호(/CS)와 라이트바신호(/WR)를 입력받아 이를 오아연산하는 제1 오아게이트(OR1)와; 상기 칩선택바신호(/CS)와 리드바신호(/RD)를 입력받아 이를 오아 연산하는 제2 오아게이트(OR2)와; 데이터(DATA[7:0]) 및 어드레스와 라이트바신호를 입력받아 그에 따라 플래그비트가 셋되는 플래그(73)와; 상기 제1,제2 오아게이트(OR1),(OR2)의 연산신호 및 플래그(73)의 플래그신호를 입력받아 그에 따른 명령신호 및 플래시메모리의 리드/라이트동작 및 섹터/칩이레이저동작을 제어하는 제어신호를 출력하는 제어부(72)와; 상기 제1,제2 레지스터(70),(71)의 신호 및 명령신호를 입력받아 이를 제어부(72)의 제어신호에 의해 다중송신하는 멀티플렉서(74)로 구성한다.Fig. 7 is a block diagram showing an embodiment of the read / write controller of the flash memory of the present invention, which stores an address (Address [15: 0]) and data DATA [7: 0] as shown therein. First and
상기 제어부(72)는 플래그의 비트값에 의해 라이트 명령신호 및 칩이레이즈(Chip_Erase) 명령신호와 섹터이레이즈(Sector_Erase) 명령신호를 후술할 싸이클 카운터의 카운팅신호에 동기하여 출력하는 명령발생기(75)와; 첫 번째 싸이클부터 여섯 번째 사이클까지의 클럭을 카운트하는 싸이클카운터(76)와; 플래그(73)의 비트값에 의해 플래시 메모리(11)의 인터페이스를 제어하는 플래시 제어기(77)로 구성하며, 이와같이 구성한 본 발명의 일실시예의 동작을 도6에 적용하여 설명한다.The
먼저, 엠씨유(10)가 플래시 메모리(11)의 인터페이스를 통해서 플래시 메모리(11)에 데이터(DATA[7:0])를 라이트하기 위해 제1 레지스터(70)에 라이트하고자 하는 1 바이트의 어드레스(Address[15:0])를 셋팅한다.First, an address of one byte that MCU 10 intends to write to the
이후, 라이트하고자 하는 데이터(DATA[7:0])를 제2 레지스터(71)에 셋팅하고, 상기 어드레스(Address[15:0])와 데이터신호(DATA[7:0]) 및 라이트바신호(/WR_에 의해 플래그를 셋트하여 그 플래그(73) 중에 EN=1,WR=1로 하면 제어부(72)의 플래시제어기(77)는 플래시 메모리(11)에 라이트하라는 명령을 인지하여 싸이클카운터(76)를 업하면서 멀티플렉서(74)를 제어함과 아울러 칩인에이블신호(/CE) 및 라이트인에이블바신호(/WE)를 발생한다.Thereafter, the data DATA [7: 0] to be written is set in the
또한, 명령발생기(75)는 상기 플래그(73)의 플래그신호에 의해 그에 따른 명령어를 발생하여 마지막 네 번째 싸이클에서 멀티플렉서(74)를 통해 라이트하고자 하는 데이터(DATA[7:0])를 상기 멀티플렉서(74)를 통해 입력된 어드레스(Address[15:0])에 라이트한다.In addition, the
반대로, 엠씨유(10)가 플래시 제어기(77)의 인터페이스를 통해서 플래시 메모리(11)의 데이터(DATA[7:0])를 리드하기 위해서 플래그(73)의 비트(EN=1,RD=1)로 하면 제어부(72)의 플래시 제어기(77)는 리드하라는 명령을 인지하여 상기 멀티플렉서를 제어하여 어드레스신호를 플래시 메모리(11)에 인가함과 아울러 칩인에이블바신호(/CE) 및 아웃인에이블바신호(/OE)를 발생하여 상기 플래시 메모리(11)로부터 데이터(DATA[7:0])를 리드한다.Conversely, the bits of the flag 73 (EN = 1, RD = 1) in order for
마찬가지로, 칩이레이즈(Chip_Erase)시에 플래그(73)의 비트를 EN=1,CE=1로 셋팅하면 이를 플래시 제어기(77)가 입력받아 그에 따른 제어동작을 수행하는데, 즉 상기 플래시 제어기(77)와 동시에 명령어발생기(75)도 상기 플래그(73) EN=1,CE=1에 의해 그에 따른 칩이레이저명령신호를 발생하고, 그러면 상기 플래시제어기(77)의 제어신호(S1),(S2)에 의해 상기 칩이레이저명령신호가 멀티플렉서(74)를 통해 플래시메모리(11)에 인가되어 칩이 이레이즈된다.Similarly, when the chip sets the
여기서, 상기 명령어 발생기(75)의 명령신호는 싸이클카운터(76)의 카운팅신호에 동기하여 출력된다.Here, the command signal of the
또한, 섹터이레이즈(Sector_Erase)는 플래그 비트 EN=1,SE=1로 하면 리드/라이트동작과 마찬가지로 명령발생기(75)는 상기 플래그비트에 의해 섹터이레이즈명령신호를 싸이클카운터(76)의 카운팅신호에 동기하여 멀티플렉서(74)에 인가하고, 이때 플래시제어기(77)는 상기 플래그비트를 입력받아 그에 따른 제어신호를 상기 멀티플렉서(74)에 인가하여 상기 섹터이레이즈명령신호를 플래시메모리(11)에 인가하도록함으로써 섹터이레이즈 동작을 수행한다.In addition, when the sector erase (Sector_Erase) is set to the flag bits EN = 1 and SE = 1, the
이때, 상기 플래시제어기(77)는 칩이레이즈신호(/CE)와 라이트인에이블신호(/WE)를 상기 플래시메모리(11)에 인가한다.At this time, the
여기서, 레디신호(READY)는 라이트/리드신호 및 칩이레이즈(Chip_Erase)/섹터이레이스가 끝났을 때에 엠씨유(10)에 이를 알리는 신호이다.Here, the ready signal READY is a signal for notifying the
즉, 라이트시에 레디신호(READY)가 발생하면 엠씨유(10)는 다음번째 1바이트를 라이트하게 되고, 그 다음 칩이레이즈(Chip_Erase) 및 섹터이레이즈(Sector_Erase)가 끝났음을 알리고 난 후 엠씨유(10)는 플래시 메모리(11)에 다른 동작을 수행하게 된다.That is, when the ready signal READY occurs at the time of writing, the
이상에서 상세히 설명한 바와같이 본 발명은 하드웨어적으로 플래시 메모리를 제어하기 때문에 엠씨유의 부담을 줄일 수 있고, 또한 플래시 메모리를 하드웨어적으로 제어하기 때문에 속도가 향상되는 효과가 있다.As described in detail above, the present invention can reduce the burden of MC oil because the flash memory is controlled by hardware, and the speed is improved because the flash memory is controlled by hardware.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970078884A KR100273268B1 (en) | 1997-12-30 | 1997-12-30 | Read/write controller of flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019970078884A KR100273268B1 (en) | 1997-12-30 | 1997-12-30 | Read/write controller of flash memory |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990058730A KR19990058730A (en) | 1999-07-15 |
KR100273268B1 true KR100273268B1 (en) | 2001-01-15 |
Family
ID=40749328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019970078884A KR100273268B1 (en) | 1997-12-30 | 1997-12-30 | Read/write controller of flash memory |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100273268B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100321164B1 (en) * | 1999-12-30 | 2002-03-18 | 박종섭 | Data write/read control method and circuit in memory device |
-
1997
- 1997-12-30 KR KR1019970078884A patent/KR100273268B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR19990058730A (en) | 1999-07-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100232322B1 (en) | Synchronous semiconductor memory device | |
KR970702561A (en) | EEPROM ARRAY WITH FLASH-LIKE CORE | |
JPH02257494A (en) | Sequentral reading access for series memory having starting address determined by users | |
US5893135A (en) | Flash memory array with two interfaces for responding to RAS and CAS signals | |
KR20020040111A (en) | Method of drive word line and bit line for read and write in quad data rate synchronous sram and circuit of thereof | |
KR100212142B1 (en) | Synchronous semiconductor memory device with macro command | |
US7836263B2 (en) | Nonvolatile memory controlling method and nonvolatile memory controlling apparatus | |
US20020122335A1 (en) | Burst access memory system | |
KR100273268B1 (en) | Read/write controller of flash memory | |
US6560161B1 (en) | Synchronous flash memory command sequence | |
KR100365690B1 (en) | Nonvolatile memory, system comprising a plurality of nonvolatile memorys, and data read method thereof | |
KR20010076325A (en) | Semiconductor integrated circuit | |
JPH06282995A (en) | Method for uniform programming of electrically programmable memory and memory for execution of said method | |
KR100865828B1 (en) | Method of dividing bank of a flash memory and apparatus of dividing bank of a flash memory | |
JPH04106793A (en) | Memory interface circuit | |
KR20230036356A (en) | Address latch, address control circuit and semiconductor apparatus including the address control circuit | |
JPH05217386A (en) | Memory controller | |
KR100331782B1 (en) | Semiconductor memory device capable of multi-write operation | |
SU1283760A1 (en) | Control device for microprocessor system | |
KR0161483B1 (en) | Microcontroller internal ram data display device using memory | |
SU1589282A1 (en) | Memory controller | |
JPH0836524A (en) | Flash memory | |
JPH05290586A (en) | Semiconductor memory device | |
JPH02208896A (en) | Semiconductor memory circuit | |
JPS60254225A (en) | Access method of video ram |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20050824 Year of fee payment: 6 |
|
LAPS | Lapse due to unpaid annual fee |