KR20060038981A - Memory system with lockable buffer memory and information processing system including the same - Google Patents
Memory system with lockable buffer memory and information processing system including the same Download PDFInfo
- Publication number
- KR20060038981A KR20060038981A KR1020060033643A KR20060033643A KR20060038981A KR 20060038981 A KR20060038981 A KR 20060038981A KR 1020060033643 A KR1020060033643 A KR 1020060033643A KR 20060033643 A KR20060033643 A KR 20060033643A KR 20060038981 A KR20060038981 A KR 20060038981A
- Authority
- KR
- South Korea
- Prior art keywords
- write protection
- write
- memory
- address
- volatile memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/1425—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/82—Protecting input, output or interconnection devices
- G06F21/85—Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0634—Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
- Read Only Memory (AREA)
Abstract
여기에 개시되는 메모리 장치는 불 휘발성 메모리, 버퍼 메모리로서 휘발성 메모리, 쓰기 방지 제어 회로 그리고 제어 회로를 포함한다. 쓰기 방지 제어 회로는 휘발성 메모리의 소정 영역을 지정하는 어드레스를 입력받고, 입력된 어드레스가 휘발성 메모리의 쓰기 방지 영역에 대응하는 어드레스인 지의 여부를 나타내는 쓰기 방지 플래그 신호를 발생한다. 제어 회로는 쓰기 방지 플래그 신호에 응답하여 불 휘발성 메모리 및 휘발성 메모리의 읽기 및 쓰기 동작들을 제어한다. 특히, 제어 회로는 쓰기 방지 플래그 신호가 활성화될 때 휘발성 메모리의 쓰기 동작이 수행되지 않도록 휘발성 메모리를 제어한다.The memory device disclosed herein includes a nonvolatile memory, a volatile memory as a buffer memory, a write protection control circuit, and a control circuit. The write protection control circuit receives an address designating a predetermined area of the volatile memory, and generates a write protection flag signal indicating whether the input address is an address corresponding to the write protection area of the volatile memory. The control circuit controls read and write operations of the nonvolatile memory and the volatile memory in response to the write protection flag signal. In particular, the control circuit controls the volatile memory so that a write operation of the volatile memory is not performed when the write protection flag signal is activated.
Description
도 1은 본 발명에 따른 메모리 장치를 포함하는 정보 처리 시스템을 보여주는 블록도; 그리고1 is a block diagram showing an information processing system including a memory device according to the present invention; And
도 2는 본 발명의 바람직한 실시예에 따른 도 1의 쓰기 방지 제어기를 보여주는 블록도이다.2 is a block diagram illustrating the write protection controller of FIG. 1 in accordance with a preferred embodiment of the present invention.
* 도면의 주요 부분에 대한 부호 설명 *Explanation of symbols on the main parts of the drawings
1000 : 호스트 2000 : 메모리 장치1000: host 2000: memory device
2100 : 호스트 인터페이스 2200 : 쓰기 방지 제어기2100: host interface 2200: write protection controller
2300 : 레지스터 2400 : 상태 머신2300: Register 2400: State Machine
2500 : 버퍼 제어기 2600 : 버퍼 메모리2500: buffer controller 2600: buffer memory
2700 : ECC & DQ 2800 : 플래시 제어기2700: ECC & DQ 2800: Flash Controller
2900 : 플래시 메모리 2210 : 어드레스 레지스터2900
2220 : 상태 레지스터 2300 : 비교기2220: Status register 2300: Comparator
2400 : 쓰기 방지 플래그 발생기2400: write protection flag generator
본 발명은 정보 처리 시스템에 관한 것으로, 좀 더 구체적으로는 버퍼 메모리를 포함하는 메모리 장치에 관한 것이다.The present invention relates to an information processing system, and more particularly to a memory device including a buffer memory.
모바일 시스템 및 각종 어플리케이션의 개발에 따라 비휘발성 메모리인 플래시 메모리와 더불어 플래시 메모리를 제어하는 메모리 시스템의 요구가 증가되고 있다. 플래시 메모리는 대용량의 데이터 정보를 저장할 수 있는 능력을 갖는 반면에 데이터 읽기 및 쓰기 시간이 램에 비교해서 다소 길다는 단점을 갖는다.With the development of mobile systems and various applications, there is an increasing demand for a memory system that controls a flash memory along with a nonvolatile memory. Flash memory has the disadvantage of having the ability to store large amounts of data information, while the data read and write times are rather long compared to RAM.
이러한 단점은 버퍼 메모리를 이용함으로써 해결될 수 있다. 예를 들면, 호스트로부터의 데이터는 직접 플래시 메모리에 저장되는 것이 아니라 버퍼 메모리에 먼저 저장된다. 그 다음에, 버퍼 메모리에 저장된 데이터가 읽혀지며, 그렇게 읽혀진 데이터가 플래시 메모리에 저장된다. 마찬가지로, 플래시 메모리에서 읽혀진 데이터는 직접 호스트로 전송되는 것이 아니라 버퍼 메모리에 먼저 저장된다. 그 다음에, 버퍼 메모리에 저장된 데이터가 읽혀지며, 그렇게 읽혀진 데이터가 호스트로 전송된다. 이러한 데이터 전송 방식에 따라 메모리 시스템 또는 그를 포함하는 정보 처리 시스템 (또는 모바일 어플리케이션)의 성능을 향상시킬 수 있다.This disadvantage can be solved by using a buffer memory. For example, data from the host is not stored directly in flash memory but first in buffer memory. Then, the data stored in the buffer memory is read, and the data thus read is stored in the flash memory. Similarly, data read from flash memory is first stored in buffer memory rather than transferred directly to the host. Then, the data stored in the buffer memory is read, and the read data is transferred to the host. According to such a data transmission scheme, the performance of the memory system or the information processing system (or mobile application) including the same can be improved.
메모리 시스템의 버퍼 메모리에는 호스트에 의해서 사용되는 중요한 정보 (예를 들면, 부트 코드)가 저장될 수 있다. 예를 들면, 부트 코드와 같은 중요한 정보는 전원이 켜질 때 플래시 메모리에서 버퍼 메모리로 로드될 수 있다. 또한, 버퍼 메모리에 저장된 부트 코드는 다시 플래시 메모리에 저장될 수 있다. 부트 코 드와 달리, 호스트에 의해서 참조되는 중요한 정보가 버퍼 메모리에 저장될 수 있다. 잘못된 명령 또는 바이어스와 같은 원인으로 인해서, 예를 들면, 버퍼 메모리에 저장된 중요한 정보가 변경될 수 있다. 따라서, 버퍼 메모리에 중요한 정보가 저장되는 경우, 의도되지 않은 쓰기 동작에 의해서 중요한 정보가 변경되어서는 안된다.The buffer memory of the memory system may store important information (eg, boot code) used by the host. For example, important information such as boot code can be loaded from flash memory into buffer memory at power up. In addition, the boot code stored in the buffer memory may be stored in the flash memory again. Unlike the boot code, important information referenced by the host can be stored in the buffer memory. Due to a cause such as an incorrect command or bias, for example, important information stored in the buffer memory may be changed. Therefore, when important information is stored in the buffer memory, the important information should not be changed by an unintended write operation.
본 발명의 목적은 버퍼 메모리의 쓰기 방지 영역에 대한 의도되지 않은 쓰기 동작을 방지할 수 있는 메모리 장치 및 그것을 포함하는 정보 처리 시스템을 제공하는 것이다.It is an object of the present invention to provide a memory device capable of preventing unintended write operations to a write protection area of a buffer memory and an information processing system comprising the same.
상술한 제반 목적을 달성하기 위한 본 발명의 일 특징에 따르면, 메모리 장치는 불 휘발성 메모리와; 상기 불 휘발성 메모리에 저장될 데이터 또는 상기 불 휘발성 메모리로부터 읽혀진 데이터를 저장하는 휘발성 메모리와; 상기 휘발성 메모리의 소정 영역을 지정하는 어드레스를 입력받고, 상기 입력된 어드레스가 상기 휘발성 메모리의 쓰기 방지 영역에 대응하는 어드레스인 지의 여부를 나타내는 쓰기 방지 플래그 신호를 발생하는 쓰기 방지 제어 회로와; 그리고 상기 쓰기 방지 플래그 신호에 응답하여 상기 불 휘발성 메모리 및 상기 휘발성 메모리의 읽기 및 쓰기 동작들을 제어하되, 상기 쓰기 방지 플래그 신호가 활성화될 때 상기 휘발성 메모리의 쓰기 동작이 수행되지 않도록 상기 휘발성 메모리를 제어하는 제어 회로를 포함한다.According to one aspect of the present invention for achieving the above object, a memory device includes a nonvolatile memory; A volatile memory for storing data to be stored in the nonvolatile memory or data read from the nonvolatile memory; A write protection control circuit which receives an address specifying a predetermined area of the volatile memory and generates a write protection flag signal indicating whether the input address is an address corresponding to a write protection area of the volatile memory; And controls read and write operations of the nonvolatile memory and the volatile memory in response to the write protection flag signal, and controls the volatile memory so that a write operation of the volatile memory is not performed when the write protection flag signal is activated. It includes a control circuit.
이 실시예에 있어서, 상기 휘발성 메모리, 상기 불 휘발성 메모리, 상기 쓰기 방지 제어기, 그리고 상기 제어 회로는 단일 칩으로 형성된다.In this embodiment, the volatile memory, the nonvolatile memory, the write protection controller, and the control circuit are formed of a single chip.
이 실시예에 있어서, 상기 쓰기 방지 플래그 신호가 활성화될 때, 상기 제어 회로는 상기 휘발성 메모리로부터 데이터가 읽혀지고 그렇게 읽혀진 데이터가 상기 불 휘발성 메모리에 저장되도록 상기 휘발성 및 불 휘발성 메모리들을 제어한다.In this embodiment, when the write protection flag signal is activated, the control circuit controls the volatile and nonvolatile memories such that data is read from the volatile memory and the read data is stored in the nonvolatile memory.
이 실시예에 있어서, 상기 쓰기 방지 플래그 신호가 활성화될 때 상기 제어 회로는 상기 불 휘발성 메모리의 읽기 동작이 수행되지 않도록 상기 불 휘발성 메모리를 제어한다.In this embodiment, when the write protection flag signal is activated, the control circuit controls the nonvolatile memory such that a read operation of the nonvolatile memory is not performed.
이 실시예에 있어서, 상기 쓰기 방지 플래그 신호가 비활성화될 때, 상기 제어 회로는 상기 휘발성 메모리의 쓰기 동작 및 상기 불 휘발성 메모리의 읽기 동작이 수행되도록 상기 휘발성 및 불 휘발성 메모리들을 제어한다.In this embodiment, when the write protection flag signal is deactivated, the control circuit controls the volatile and nonvolatile memories to perform a write operation of the volatile memory and a read operation of the nonvolatile memory.
이 실시예에 있어서, 상기 쓰기 방지 제어 회로는 상기 휘발성 메모리의 쓰기 방지 영역을 지정하기 위한 어드레스를 저장하는 어드레스 레지스터와; 상기 휘발성 메모리의 일부 영역 또는 전체 영역이 쓰기 방지 영역으로 지정되었는 지의 여부를 나타내는 정보를 저장하는 상태 레지스터와; 외부로부터 전달된 어드레스가 상기 어드레스 레지스터에 저장된 어드레스와 일치하는 지의 여부를 판별하는 비교기와; 그리고 상기 상태 레지스터의 출력 및 상기 비교기의 출력에 응답하여 상기 쓰기 방지 플래그 신호를 발생하는 신호 발생기를 포함한다.In this embodiment, the write protection control circuit includes an address register for storing an address for designating a write protection area of the volatile memory; A status register for storing information indicating whether a part or all of the area of the volatile memory is designated as a write protect area; A comparator for determining whether an address transferred from the outside matches an address stored in the address register; And a signal generator for generating the write protection flag signal in response to an output of the status register and an output of the comparator.
이 실시예에 있어서, 상기 상태 레지스터에 저장된 정보가 상기 휘발성 메모리의 일부 영역 또는 전체 영역이 쓰기 방지 영역으로 지정되었음을 나타낼 때, 상 기 신호 발생기는 상기 비교기의 출력에 따라 상기 쓰기 방지 플래그 신호를 활성화/비활성화시킨다.In this embodiment, when the information stored in the status register indicates that some or all areas of the volatile memory are designated as write protect areas, the signal generator activates the write protect flag signal according to the output of the comparator. / Deactivate
이 실시예에 있어서, 상기 상태 레지스터에 저장된 정보가 상기 휘발성 메모리의 일부 영역 또는 전체 영역이 쓰기 방지 영역으로 지정되어 있지 않음을 나타낼 때, 상기 신호 발생기는 상기 비교기의 출력에 관계없이 상기 쓰기 방지 플래그 신호를 비활성화시킨다.In this embodiment, when the information stored in the status register indicates that some or all areas of the volatile memory are not designated as write-protected areas, the signal generator generates the write-protect flag regardless of the output of the comparator. Deactivate the signal.
이 실시예에 있어서, 상기 제어 회로는 하드웨어 리세트, 소프트웨어 리세트 또는 파워-온시에 어드레스 레지스터 및 상기 상태 레지스터가 초기화되도록 상기 쓰기 방지 제어 회로를 제어한다.In this embodiment, the control circuit controls the write protection control circuit to initialize the address register and the status register upon hardware reset, software reset or power-on.
이 실시예에 있어서, 상기 제어 회로는 외부로부터 제공되는 상기 쓰기 방지 영역의 어드레스 및 쓰기 방지 명령을 저장하는 레지스터를 포함하며, 상기 제어 회로는 상기 쓰기 방지 명령이 입력될 때 상기 쓰기 방지 영역의 어드레스 및 상기 쓰기 방지 명령이 상기 어드레스 레지스터 및 상기 상태 레지스터에 각각 저장되도록 상기 쓰기 방지 제어 회로를 제어한다.In this embodiment, the control circuit includes a register for storing an address of the write protection area and a write protection command provided from the outside, wherein the control circuit includes an address of the write protection area when the write protection command is input. And control the write protection circuit so that the write protection command is stored in the address register and the status register, respectively.
본 발명의 다른 특징에 따르면, 메모리 장치는 휘발성 메모리와; 상기 휘발성 메모리의 쓰기 방지 영역을 지정하기 위한 쓰기 방지 어드레스 및 쓰기 방지 명령을 임시 저장하는 레지스터와; 상기 레지스터에 상기 쓰기 방지 명령이 입력될 때, 상기 쓰기 방지 어드레스, 상기 쓰기 방지 명령, 그리고 제어 신호를 출력하는 상태 머신과; 상기 제어 신호에 응답하여 상기 쓰기 방지 어드레스 및 명령을 저장하며, 상기 휘발성 메모리의 소정 영역을 지정하기 위한 어드레스가 상기 쓰기 방 지 영역을 지정하기 위한 어드레스인 지의 여부를 나타내는 쓰기 방지 플래그 신호를 발생하는 쓰기 방지 제어 회로와; 그리고 쓰기 명령이 입력될 때, 상기 쓰기 방지 플래그 신호가 활성화되었는 지의 여부에 따라 상기 휘발성 메모리의 쓰기 동작을 제어하는 제 1 메모리 제어기를 포함하며, 상기 메모리 제어기는 상기 쓰기 방지 플래그 신호가 활성화될 때 상기 휘발성 메모리의 쓰기 동작을 차단한다.According to another aspect of the invention, the memory device comprises a volatile memory; A register for temporarily storing a write protection address and a write protection command for designating a write protection area of the volatile memory; A state machine for outputting the write protect address, the write protect command, and a control signal when the write protect command is input to the register; Storing the write protection address and command in response to the control signal, and generating a write protection flag signal indicating whether an address for designating a predetermined area of the volatile memory is an address for designating the write protection area; A write protection control circuit; And a first memory controller that controls a write operation of the volatile memory according to whether the write protection flag signal is activated when a write command is input, wherein the memory controller is activated when the write protection flag signal is activated. The write operation of the volatile memory is blocked.
이 실시예에 있어서, 상기 쓰기 방지 플래그 신호가 비활성화될 때, 상기 제 1 메모리 제어기는 상기 휘발성 메모리가 입력 명령에 대응하는 동작을 수행하게 한다.In this embodiment, when the write protection flag signal is deactivated, the first memory controller causes the volatile memory to perform an operation corresponding to an input command.
본 발명의 또 다른 특징에 따르면, 시스템은 호스트와; 그리고 상기 호스트의 요구에 따라 데이터를 저장하거나 저장된 데이터를 출력하는 메모리 장치를 포함한다. 상기 메모리 장치는 불 휘발성 메모리와; 상기 불 휘발성 메모리에 저장될 데이터 또는 상기 불 휘발성 메모리로부터 읽혀진 데이터를 저장하는 휘발성 메모리와; 상기 휘발성 메모리의 소정 영역을 지정하는 어드레스를 입력받고, 상기 입력된 어드레스가 상기 휘발성 메모리의 쓰기 방지 영역에 대응하는 어드레스인 지의 여부를 나타내는 쓰기 방지 플래그 신호를 발생하는 쓰기 방지 제어 회로와; 그리고 상기 쓰기 방지 플래그 신호에 응답하여 상기 불 휘발성 메모리 및 상기 휘발성 메모리의 읽기 및 쓰기 동작들을 제어하되, 상기 쓰기 방지 플래그 신호가 활성화될 때 상기 휘발성 메모리의 쓰기 동작이 수행되지 않도록 상기 휘발성 메모리를 제어하는 제어 회로를 포함한다.According to another feature of the invention, a system comprises a host; And a memory device for storing data or outputting the stored data according to a request of the host. The memory device comprises a nonvolatile memory; A volatile memory for storing data to be stored in the nonvolatile memory or data read from the nonvolatile memory; A write protection control circuit which receives an address specifying a predetermined area of the volatile memory and generates a write protection flag signal indicating whether the input address is an address corresponding to a write protection area of the volatile memory; And controls read and write operations of the nonvolatile memory and the volatile memory in response to the write protection flag signal, and controls the volatile memory so that a write operation of the volatile memory is not performed when the write protection flag signal is activated. It includes a control circuit.
본 발명의 또 다른 특징에 따르면, 시스템은 호스트와; 그리고 상기 호스트 의 요구에 따라 데이터를 저장하거나 저장된 데이터를 출력하는 메모리 장치를 포함한다. 상기 메모리 장치는 휘발성 메모리와; 상기 휘발성 메모리의 쓰기 방지 영역을 지정하기 위한 쓰기 방지 어드레스 및 쓰기 방지 명령을 상기 호스트로부터 입력받는 레지스터와; 상기 레지스터에 상기 쓰기 방지 명령이 입력될 때, 상기 쓰기 방지 어드레스, 상기 쓰기 방지 명령, 그리고 제어 신호를 출력하는 상태 머신과; 상기 제어 신호에 응답하여 상기 쓰기 방지 어드레스 및 명령을 저장하며, 상기 휘발성 메모리의 소정 영역을 지정하기 위한 어드레스가 상기 쓰기 방지 영역을 지정하기 위한 어드레스인 지의 여부를 나타내는 쓰기 방지 플래그 신호를 발생하는 쓰기 방지 제어 회로와; 그리고 상기 호스트 또는 상기 상태 머신으로부터 쓰기 명령이 입력될 때, 상기 쓰기 방지 플래그 신호가 활성화되었는 지의 여부에 따라 상기 휘발성 메모리의 쓰기 동작을 제어하는 제 1 메모리 제어기를 포함하며, 상기 메모리 제어기는 상기 쓰기 방지 플래그 신호가 활성화될 때 상기 휘발성 메모리의 쓰기 동작을 차단한다.According to another feature of the invention, a system comprises a host; And a memory device for storing data or outputting the stored data according to a request of the host. The memory device includes a volatile memory; A register configured to receive a write protection address and a write protection command from the host to designate a write protection area of the volatile memory; A state machine for outputting the write protect address, the write protect command, and a control signal when the write protect command is input to the register; A write storing the write protection address and the command in response to the control signal, and generating a write protection flag signal indicating whether an address for designating a predetermined area of the volatile memory is an address for designating the write protection area; Anti-control circuit; And a first memory controller that controls a write operation of the volatile memory according to whether the write protection flag signal is activated when a write command is input from the host or the state machine, wherein the memory controller includes the write operation. The write operation of the volatile memory is blocked when the prohibition flag signal is activated.
이 실시예에 있어서, 상기 쓰기 방지 플래그 신호가 비활성화될 때, 상기 제 1 메모리 제어기는 상기 휘발성 메모리가 입력 명령에 대응하는 동작을 수행하게 한다.In this embodiment, when the write protection flag signal is deactivated, the first memory controller causes the volatile memory to perform an operation corresponding to an input command.
이 실시예에 있어서, 상기 메모리 장치는 불 휘발성 메모리와; 상기 상태 머신에 의해서 제어되며, 상기 제 1 메모리 제어기와 상기 불 휘발성 메모리 사이에서 전송되는 데이터의 에러를 정정하는 에러 정정 및 데이터 입출력 회로와; 그리고 상기 상태 머신에 의해서 제어되며, 상기 불 휘발성 메모리의 읽기 및 쓰기 동 작을 제어하는 제 2 메모리 제어기를 더 포함한다. 상기 쓰기 방지 플래그 신호가 활성화될 때, 상기 상태 머신은 상기 휘발성 메모리로부터 데이터가 읽혀지고 그렇게 읽혀진 데이터가 상기 불 휘발성 메모리에 저장되도록 상기 제 1 및 제 2 메모리 제어기들을 제어한다. 상기 쓰기 방지 플래그 신호가 활성화될 때 상기 상태 머신은 상기 불 휘발성 메모리의 읽기 동작이 수행되지 않도록 상기 제 2 메모리 제어기를 제어한다. 상기 쓰기 방지 플래그 신호가 비활성화될 때, 상기 상태 머신은 상기 휘발성 메모리의 쓰기 동작 및 상기 불 휘발성 메모리의 읽기 동작이 수행되도록 상기 제 1 및 제 2 메모리 제어기들을 제어한다.In this embodiment, the memory device comprises a nonvolatile memory; An error correction and data input / output circuit controlled by the state machine and correcting an error of data transmitted between the first memory controller and the nonvolatile memory; And a second memory controller, controlled by the state machine, that controls read and write operations of the nonvolatile memory. When the write protection flag signal is activated, the state machine controls the first and second memory controllers so that data is read from the volatile memory and the data so read is stored in the nonvolatile memory. When the write protection flag signal is activated, the state machine controls the second memory controller such that a read operation of the nonvolatile memory is not performed. When the write protection flag signal is deactivated, the state machine controls the first and second memory controllers to perform a write operation of the volatile memory and a read operation of the nonvolatile memory.
이 실시예에 있어서, 상기 쓰기 방지 제어 회로는 상기 제어 신호에 응답하여 상기 쓰기 방지 어드레스를 저장하는 어드레스 레지스터와; 상기 제어 신호에 응답하여 상기 쓰기 방지 명령을 저장하는 상태 레지스터와; 상기 호스트 또는 상기 상태 머신으로부터 전달된 어드레스가 상기 어드레스 레지스터에 저장된 어드레스와 일치하는 지의 여부를 판별하는 비교기와; 그리고 상기 상태 레지스터의 출력 및 상기 비교기의 출력에 응답하여 상기 쓰기 방지 플래그 신호를 발생하는 신호 발생기를 포함한다.In this embodiment, the write protection control circuit comprises: an address register which stores the write protection address in response to the control signal; A status register for storing the write protection command in response to the control signal; A comparator for determining whether an address passed from the host or the state machine matches an address stored in the address register; And a signal generator for generating the write protection flag signal in response to an output of the status register and an output of the comparator.
이 실시예에 있어서, 상기 상태 레지스터에 저장된 정보가 상기 휘발성 메모리의 일부 영역 또는 전체 영역이 쓰기 방지 영역으로 지정되었음을 나타낼 때, 상기 신호 발생기는 상기 비교기의 출력에 따라 상기 쓰기 방지 플래그 신호를 활성화/비활성화시킨다. 또한, 상기 상태 레지스터에 저장된 정보가 상기 휘발성 메모리의 일부 영역 또는 전체 영역이 쓰기 방지 영역으로 지정되어 있지 않음을 나타 낼 때, 상기 신호 발생기는 상기 비교기의 출력에 관계없이 상기 쓰기 방지 플래그 신호를 비활성화시킨다.In this embodiment, when the information stored in the status register indicates that some or all areas of the volatile memory are designated as write protect areas, the signal generator activates / writes the write protect flag signal according to the output of the comparator. Deactivate Further, when the information stored in the status register indicates that some or all areas of the volatile memory are not designated as write protect areas, the signal generator deactivates the write protection flag signal regardless of the output of the comparator. Let's do it.
이 실시예에 있어서, 상기 상태 머신은 하드웨어 리세트, 소프트웨어 리세트 또는 파워-온시에 어드레스 레지스터 및 상기 상태 레지스터를 초기화시키기 위한 초기화 신호를 발생한다.In this embodiment, the state machine generates an initialization signal for initializing the address register and the state register at hardware reset, software reset or power-on.
본 발명의 바람직한 실시예들이 참조 도면들에 의거하여 이하 상세히 설명될 것이다. 본 발명에 따른 메모리 장치는 시스템 성능을 향상시키기 위해서 버퍼 메모리를 포함하며, 버퍼 메모리는 일반적인 정보를 저장하도록 또는 일반적인 정보와 중요한 정보 (예를 들면, 부트 코드)를 저장하도록 또는 중요한 정보만을 저장하도록 구현될 수 있다. 중요한 정보가 버퍼 메모리에 저장되는 경우, 본 발명에 따른 메모리 장치는 의도되지 않은 동작에 의해서 버퍼 메모리에 저장된 중요한 정보가 변경되는 것을 방지할 수 있다. 이는 이하 상세히 설명될 것이다.Preferred embodiments of the present invention will be described in detail below on the basis of reference drawings. The memory device according to the present invention includes a buffer memory to improve system performance, which is configured to store general information or to store general and important information (e.g., boot code) or to store only important information. Can be implemented. When important information is stored in the buffer memory, the memory device according to the present invention can prevent the important information stored in the buffer memory from being changed by an unintended operation. This will be explained in detail below.
본 발명에 따른 메모리 장치를 포함하는 정보 처리 시스템을 보여주는 블록도가 도 1에 도시되어 있다. 도 1을 참조하면, 정보 처리 시스템은 버스를 통해 호스트 (1000)와 연결된 메모리 장치 (2000)를 포함한다. 메모리 장치 (2000)는 호스트 (1000)의 제어에 따라 데이터를 저장하거나 저장된 데이터를 출력한다. 메모리 장치 (2000)는 호스트 (1000)와 인터페이스 역할을 수행하는 호스트 인터페이스 (2100)를 포함하며, 호스트 인터페이스 (2100)는 다양한 인터페이스 방식들로 구현될 수 있다. 예를 들면, 호스트 인터페이스 (2100)는 에스램 인터페이스 방식을 갖도록 구현될 수 있다. 또는, 호스트 인터페이스 (2100)는 에스램 인터페이스 방식 과 유사한 노어 플래시 메모리의 인터페이스 방식을 갖도록 구현될 수 있다.A block diagram showing an information processing system including a memory device according to the present invention is shown in FIG. Referring to FIG. 1, an information processing system includes a
메모리 장치 (2000)는 버퍼 메모리 (2600)과 플래시 메모리 (2900)를 포함한다. 플래시 메모리 (2900)에 데이터를 저장하기 위해서, 호스트 (1000)는 저장될 데이터를 메모리 장치 (2000)로 전송하고 메모리 장치 (2000)는 전송된 데이터를 버퍼 메모리 (2600)에 일시 저장한다. 그 다음에, 메모리 장치 (2000)는 버퍼 메모리 (2600)에 저장된 데이터를 내부적으로 읽고, 읽혀진 데이터를 플래시 메모리 (2900)에 저장한다. 플래시 메모리 (2900)에 저장된 데이터를 호스트로 전송하는 경우, 먼저, 플래시 메모리 (2900)에서 데이터가 읽혀지고, 그렇게 읽혀진 데이터는 버퍼 메모리 (2600)에 일시 저장된다. 그 다음에, 메모리 장치 (2000)는 버퍼 메모리 (2600)에 저장된 데이터를 내부적으로 읽고, 그렇게 읽혀진 데이터를 호스트로 전송한다. 버퍼 메모리 (2600)를 이용한 데이터 읽기/쓰기 동작은 호스트 (1000)의 성능이 향상되게 한다.The
이 실시예에 있어서, 버퍼 메모리 (2600)는, 예를 들면, 에스램을 이용하여 구현될 수 있다. 또한, 버퍼 메모리 (2600)가 다른 랜덤 액세스 메모리를 이용하여 구현될 수 있음은 자명하다. 이 경우, 버퍼 메모리 (2600)로서 채택된 램의 인터페이스 방식에 따라 호스트 인터페이스의 방식이 결정될 것이다. 앞서 설명된 바와 같이, 부트 코드와 같은 중요한 정보를 저장하도록 버퍼 메모리 (2600)의 일부 영역 또는 전체 영역이 지정될 수 있다. 부트 코드와 달리, 호스트 (1000)에 의해서 사용되는 중요한 정보가 버퍼 메모리 (2600)의 일부 영역 또는 전체 영역에 저장될 수 있다. 부트 코드와 같은 중요한 정보는 플래시 메모리 (2900)의 특정 영역에 저 장될 것이다. 버퍼 메모리 (2600)에 저장된 부트 코드는 파워-업시 플래시 메모리 (2900)에서 버퍼 메모리 (2600)로 전송되며, 호스트 (1000)에 의해서 사용되는 중요한 정보는 메모리 장치 (2000)의 외부로부터 전송될 것이다. 일단 버퍼 메모리 (2600)에 중요한 정보가 저장되면, 원하지 않는 동작 (예를 들면, 바이러스 또는 실수)에 의해서 중요한 정보가 변경되어서는 안된다. 본 발명에 따른 메모리 장치 (2000)는 호스트 (1000)에 의해서 지정된 버퍼 메모리 (2600)의 일부 영역 또는 전체 영역에 저장된 중요한 정보가 변경되는 것을 방지할 수 있다. 이는 이하 상세히 설명될 것이다.In this embodiment, the
계속해서 도 1을 참조하면, 본 발명에 따른 메모리 장치 (2000)는 쓰기 방지 제어기 (lock controller or write protection controller) (2200), 레지스터 (register) (2300), 상태 머신 (state machine) (2400), 버퍼 제어기 (buffer controller) (2500), 에러 정정 및 데이터 입출력 블록 (error collection and data input/output block) (도면에서 "ECC & DQ"로 표기됨) (2700), 그리고 플래시 제어기 (flash controller) (2800)를 더 포함한다.1, a
쓰기 방지 제어기 (2200)는 호스트 인터페이스 (2100)를 통해 호스트 (1000)로부터 전송되는 어드레스 (BUF_ADDR1)가 버퍼 메모리 (2600)의 쓰기 방지 영역 (locked region or write-protected region)을 지정하기 위한 어드레스인 지의 여부를 판별한다. 쓰기 방지 제어기 (2200)는 판별 결과에 따라 쓰기 방지 플래그 신호 (LOCK_F)를 활성화시킨다. 예를 들면, 호스트 인터페이스 (2100)를 통해 호스트 (1000)로부터 전송되는 어드레스 (BUF_ADDR1)가 버퍼 메모리 (2600)의 쓰기 방지 영역을 지정하기 위한 어드레스이면, 쓰기 방지 제어기 (2200)는 쓰기 방지 플래그 신호 (LOCK_F)를 하이로 활성화시킨다. 호스트 인터페이스 (2100)를 통해 호스트 (1000)로부터 전송되는 어드레스 (BUF_ADDR1)가 버퍼 메모리 (2600)의 쓰기 방지 영역을 지정하기 위한 어드레스가 아니면, 쓰기 방지 제어기 (2200)는 쓰기 방지 플래그 신호 (LOCK_F)를 로우로 비활성화시킨다. 마찬가지로, 상태 머신 (2400)으로부터 전송되는 어드레스 (BUF_ADDR2)가 버퍼 메모리 (2600)의 쓰기 방지 영역을 지정하기 위한 어드레스이면, 쓰기 방지 제어기 (2200)는 쓰기 방지 플래그 신호 (LOCK_F)를 하이로 활성화시킨다. 상태 머신 (2400)으로부터 전송되는 어드레스 (BUF_ADDR2)가 버퍼 메모리 (2600)의 쓰기 방지 영역을 지정하기 위한 어드레스가 아니면, 쓰기 방지 제어기 (2200)는 쓰기 방지 플래그 신호 (LOCK_F)를 로우로 비활성화시킨다.The
이하, 버퍼 메모리 (2600)의 쓰기 방지 영역을 지정하기 위한 어드레스를 "쓰기 방지 어드레스"라 칭하고, 버퍼 메모리 (2600)의 쓰기 영역을 지정하기 위한 어드레스를 "쓰기 어드레스"라 칭한다.Hereinafter, an address for designating the write protection area of the
레지스터 (2300)는 호스트 인터페이스 (2100)를 통해 호스트 (1000)로부터 전달되는 어드레스 및 명령을 저장하는 데 사용된다. 예를 들면, 레지스터 어드레스 (REG_ADDR)에 대응하는 레지스터 (2300)의 영역에 레지스터 데이터 (REG_DATA)가 저장된다. 여기서, 레지스터 데이터 (REG_DATA)는 버퍼 메모리의 어드레스, 플래시 메모리의 어드레스, 읽기/쓰기 명령, 쓰기 방지 어드레스, 쓰기 방지 명령 등을 포함한다. 레지스터 어드레스 (REG_ADDR)에 지정된 영역에 버퍼 메모리의 어드 레스, 플래시 메모리의 어드레스, 읽기/쓰기 명령, 쓰기 방지 어드레스, 그리고 쓰기 방지 명령이 각각 저장될 것이다.The
상태 머신 (2400)은 레지스터 (2300)에 저장된 값들을 참조하여 동작한다. 예를 들면, 레지스터 (2300)에 쓰기 방지 명령 및 쓰기 방지 어드레스가 로드될 때, 상태 머신 (2400)은 쓰기 방지 어드레스 (LOCK_ADD) 및 쓰기 방지 상태 정보 (LOCK_STATUS)가 쓰기 방지 제어기 (2200)에 저장되도록 제어 신호 (LOCK_REG_CNT)를 발생한다. 또한, 상태 머신 (2400)는 쓰기 방지 제어기 (2200)에 저장된 어드레스 및 쓰기 방지 상태 정보가 초기화되도록 초기화 신호 (LOCK_RST)를 발생한다. 쓰기 방지 제어기 (2200)로부터의 쓰기 방지 플래그 신호 (LOCK_F)가 활성화될 때, 상태 머신 (2400)은 플래시 메모리 (2900)의 읽기 동작이 수행되지 않도록 제어한다. 상태 머신 (2400)은 레지스터 (2300)에 저장된 명령에 따라 버퍼 제어기 (2500), 에러 정정 및 데이터 입출력 블록 (2700), 그리고 플래시 제어기 (2800)를 제어하며, 이에 대한 설명은 이하 상세히 설명될 것이다.
계속해서 도 1을 참조하면, 버퍼 제어기 (2500)는 쓰기 방지 플래그 신호 (LOCK_F) 및 상태 머신 (2400)에 의해서 제어되며, 버퍼 메모리 (2600)의 데이터 읽기 및 쓰기 동작들을 제어한다. 마찬가지로, 플래시 제어기 (2800)는 상태 머신 (2400)에 의해서 제어되며, 플래시 메모리 (2900)의 데이터 읽기 및 쓰기 동작들을 제어한다. 에러 정정 및 데이터 입출력 블록 (2700)은 상태 머신 (2400)의 제어에 따라 버퍼 제어기 (2500)와 플래시 메모리 (2700) 사이에 전송되는 데이터의 에러를 정정한다. 에러 정정 및 데이터 입출력 블록 (2700)은, 또한, 플래시 메모리 (2900)에 전송될 데이터 및 어드레스를 정해진 타이밍에 따라 멀티플렉싱한다.With continued reference to FIG. 1, the
이 실시예에 있어서, 메모리 장치 (2000)의 구성 요소들 (2100-2900)은 단일 칩을 구성하도록 하나의 기판에 형성된다. 즉, 메모리 장치 (2000)는 단일 칩이다. 이에 반해서, 메모리 장치 (2000)가 다중칩 기술을 이용하여 구현될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.In this embodiment, the components 2100-2900 of the
본 발명에 따른 도 1의 쓰기 방지 제어기 (2200)를 보여주는 블록도가 도 2에 도시되어 있다. 도 2를 참조하면, 쓰기 방지 제어기 (2200)는 어드레스 레지스터 (address register) (2210), 상태 레지스터 (status register) (2220), 비교기 (comparator) (2230), 그리고 쓰기 방지 플래그 발생기 (lock flag generator) (2240)를 포함한다.A block diagram showing the
어드레스 레지스터 (2210)는 상태 머신 (2400)의 제어에 따라 쓰기 방지 영역으로 지정된 버퍼 메모리 (2600)의 어드레스 (LOCK_ADD)를 저장한다. 예를 들면, 어드레스 레지스터 (2210)는 제어 신호 (LOCK_REG_CNT)에 응답하여 어드레스 (LOCK_ADD)를 저장한다. 상태 레지스터 (2220)는 상태 머신 (2400)의 제어에 따라 버퍼 메모리 (2600)의 일부 또는 전체가 쓰기 방지 영역으로 지정되었는 지의 여부를 나타내는 쓰기 방지 상태 정보 (LOCK_STATUS)를 저장한다. 예를 들면, 상태 레지스터 (2220)는 제어 신호 (LOCK_REG_CNT)에 응답하여 쓰기 방지 정보 (LOCK_STATUS)를 저장한다. 어드레스 레지스터 (2210) 및 상태 레지스터 (2220)는 상태 머신 (2400)으로부터의 초기화 신호 (LOCK_RST)에 의해서 초기화된다. 상태 머신 (2400)은 하드웨어 리세트, 소프트웨어 리세트, 또는 파워-업시 활성화되도록 초기화 신호 (LOCK_RST)를 발생한다.The
비교기 (2230)는 호스트 인터페이스 (2100)로부터의 입력 어드레스 (BUF_ADDR1) 또는 상태 머신 (2400)으로부터의 입력 어드레스 (BUF_ADDR2)가 어드레스 레지스터 (2210)에 저장된 어드레스와 일치하는 지의 여부를 판별한다. 쓰기 방지 플래그 발생기 (2240)는 상태 레지스터 (2220)로부터의 쓰기 방지 상태 신호 (LOCK_STATUS)와 비교기 (2230)의 출력 신호에 응답하여 쓰기 방지 플래그 신호 (LOCK_F)를 발생한다. 예를 들면, 쓰기 방지 상태 신호 (LOCK_STATUS)가 버퍼 메모리 (2600)의 일부 또는 전체가 쓰기 방지 영역으로 지정되어 있음을 나타낼 때, 쓰기 방지 플래그 신호 (LOCK_F)는 비교기 (2230)의 출력 신호에 따라 활성화되거나 비활성화된다. 이에 반해서, 쓰기 방지 상태 신호 (LOCK_STATUS)가 버퍼 메모리 (2600)의 일부 또는 전체가 쓰기 방지 영역으로 지정되어 있지 않음을 나타낼 때, 쓰기 방지 플래그 신호 (LOCK_F)는 비교기 (2230)의 출력 신호에 관계없이 비활성화된다.The
이하 본 발명에 따른 정보 처리 시스템의 동작이 도 1 및 도 2를 참조하여 상세히 설명될 것이다.The operation of the information processing system according to the present invention will now be described in detail with reference to FIGS. 1 and 2.
먼저, 버퍼 메모리 (2600)의 일부 영역 또는 전체가 쓰기 방지 영역으로 지정될 것이다. 설명의 편의상, 버퍼 메모리 (2600)의 일부 영역이 쓰기 방지 영역으로 지정된다고 가정하자. 이를 위해서, 호스트 (1000)는 레지스터 어드레스 (REG_ADDR) 및 레지스터 데이터 (REG_DATA)를 메모리 장치 (2000)로 전송하며, 메모리 장치 (2000)는 호스트로부터의 레지스터 어드레스 (REG_ADDR) 및 레지스터 데 이터 (REG_DATA)를 레지스터 (2300)에 저장한다. 레지스터 데이터 (REG_DATA)는 쓰기 방지 어드레스 및 쓰기 방지 명령을 포함한다. 그 다음에, 상태 머신 (2400)은 레지스터 (2300)에 저장된 값들에 따라 제어 신호 (LOCK_REG_CNT), 쓰기 방지 어드레스 (LOCK_ADD), 그리고 쓰기 방지 상태 정보 (LOCK_STATUS)를 발생한다. 쓰기 방지 제어기 (2200)의 어드레스 레지스터 (2210) 및 상태 레지스터 (2220)는 제어 신호 (LOCK_REG_CNT)에 응답하여 쓰기 방지 어드레스 (LOCK_ADD) 및 쓰기 방지 상태 정보 (LOCK_STATUS)를 각각 래치한다. 제어 신호 (LOCK_REG_CNT)는, 예를 들면, 펄스 클록 신호이다.First, some or all of the
쓰기 방지 영역에는 호스트 (1000)에 의해서 관리되는 중요한 정보 또는 부트 코드가 저장될 것이다. 쓰기 방지 영역에 중요한 정보를 저장하는 동작은 쓰기 방지 영역을 설정하기 이전에 수행될 것이다. 이후, 쓰기 방지 제어기 (2200)의 어드레스 및 상태 레지스터들 (2210, 2220)이 초기화되기 이전까지 쓰기 방지 영역에는 어떠한 정보도 저장될 수 없다. 버퍼 메모리의 쓰기 방지 동작이 이하 상세히 설명될 것이다. 호스트에서 플래시 메모리로의 데이터 전송 과정에서 또는 플래시 메모리에서 호스트로의 데이터 전송 과정에서 버퍼 메모리에는 데이터가 쓰여질 수 있다. 먼저 호스트에서 플래시 메모리로의 데이터 전송 과정에서 생기는 버퍼 메모리의 쓰기 방지 동작이 설명될 것이다.The write protection area may store important information or boot code managed by the
호스트 (1000)는 어드레스 (BUF_ADDR1), 데이터 (BUF_DATA) 그리고 제어 신호들 (BUF_CNT1)을 메모리 장치 (2000)로 전달한다. 데이터 (BUF_DATA)는 플래시 메모리 (2900)에 저장될 데이터이며, 어드레스 (BUF_ADDR1)는 버퍼 메모리 (2600) 의 어드레스이다. 그 다음에, 호스트 (1000)는 플래시 메모리 (2900)의 어드레스, 버퍼 메모리 (2600)의 어드레스 그리고 읽기/쓰기 명령을 메모리 장치 (2000)로 전달하며, 메모리 장치 (2000)의 호스트 인터페이스 (2100)는 레지스터 (2300)에 플래시 메모리 (2900)의 어드레스, 버퍼 메모리 (2600)의 어드레스 그리고 읽기/쓰기 명령을 레지스터 (2300)로 전달한다. 레지스터 (2300)에 데이터를 저장하는 동작은 어드레스 (BUF_ADDR1), 데이터 (BUF_DATA) 그리고 제어 신호들 (BUF_CNT1)의 전송 동작 이전에 수행될 수 있다.The
쓰기 방지 제어기 (2200)의 비교기 (2230)는 입력 어드레스 (BUF_ADDR1)를 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 비교한다. 입력 어드레스 (BUF_ADDR1)가 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 일치하면, 쓰기 방지 플래그 발생기 (2240)는 상태 레지스터 (2220)의 출력 신호 (LOCK_STATUS) 및 비교기 (2230)의 출력 신호에 응답하여 쓰기 방지 플래그 신호 (LOCK_F)를 하이로 활성화시킨다. 쓰기 방지 플래그 신호 (LOCK_F)가 하이로 활성화될 때, 버퍼 제어기 (2500)는 호스트 인터페이스 (2100)를 통해 전달된 데이터 (BUF_DATA)가 버퍼 메모리 (2600)에 저장되지 않도록 제어한다. 이는, 예를 들면, 쓰기 동작에 필요한 제어 신호들 중 하나 또는 모두가 비활성화되게 함으로써 달성될 수 있다.The
비록 버퍼 메모리 (2600)에 데이터가 저장되는 동작이 차단되었지만, 버퍼 메모리 영역에 저장된 데이터는 상태 머신 (2400)의 제어에 따라 읽혀지며, 그렇게 읽혀진 데이터는 플래시 메모리 (2900)에 저장될 것이다. 이는 버퍼 메모리 (2600) 의 쓰기 방지 영역에 저장된 데이터를 플래시 메모리 (2900)에 백업하는 데 필요하다. 좀 더 구체적으로 설명하면 다음과 같다.Although the operation of storing data in the
버퍼 메모리 (2600)의 데이터 쓰기 동작이 차단된 후, 상태 머신 (2400)은 레지스터 (2300)에 저장된 값들에 따라 버퍼 메모리 (2600)에 저장된 데이터가 읽혀지도록 그리고 그렇게 읽혀진 데이터가 플래시 메모리 (2900)에 저장되도록 버퍼 제어기 (2500), ECC & DQ 블록 (2700) 그리고 플래시 제어기 (2800)를 제어한다. 예를 들면, 상태 머신 (2400)은 읽기 동작을 알리는 명령 플래그 신호 (CMD_FLAG), 제어 신호들 (BUF_CNT2), 그리고 어드레스 (BUF_ADDF2)를 출력한다. 쓰기 방지 제어기 (2200)의 비교기 (2230)는 입력 어드레스 (BUF_ADDR2)를 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 비교한다. 입력 어드레스 (BUF_ADDR2)가 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 일치하지 않으면, 쓰기 방지 플래그 신호 (LOCK_F)는 계속해서 비활성화 상태로 유지된다.After the data write operation of the
명령 플래그 신호 (CMD_FLAG)가 읽기 동작을 나타내고 쓰기 방지 플래그 신호 (LOCK_F)가 비활성화 상태를 가질 때, 또는 명령 플래그 신호 (CMD_FLAG)가 읽기 동작을 나타내고 쓰기 방지 플래그 신호 (LOCK_F)가 활성화 상태를 가질 때, 버퍼 제어기 (2500)는 어드레스 (BUF_ADDR2)에 대응하는 버퍼 메모리 영역에서 데이터가 읽혀지도록 제어한다. 그렇게 읽혀진 데이터는 ECC & DQ 블록 (2700)으로 전달된다. 그 다음에, 상태 머신 (2400)은 레지스터 (2300)에 저장된 플래시 어드레스를 참조하여 플래시 어드레스 (F_ADDR)를 ECC & DQ 블록 (2700)으로 출력한다. ECC & DQ 블록 (2700)은 상태 머신 (2400)의 제어 하에 에러 정정 기능을 수행하고 정해진 타이밍에 따라 쓰기 커맨드, 어드레스 그리고 데이터를 플래시 메모리 (2900)로 출력한다. 이와 동시에, 플래시 제어기 (2800)는 상태 머신 (2400)으로부터의 제어 신호들 (F_CNT)을 플래시 메모리 (2900)에 적합한 제어 신호들로 변환하여 출력한다. 이후, 잘 알려진 방법에 따라 플래시 메모리의 데이터 쓰기 동작이 수행될 것이다.When the command flag signal CMD_FLAG indicates a read operation and the write protection flag signal LOCK_F has an inactive state, or when the command flag signal CMD_FLAG indicates a read operation and the write protection flag signal LOCK_F has an active state. The
호스트 (1000)로부터 전달된 어드레스 (BUF_ADDR1)가 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 일치하지 않으면, 쓰기 방지 플래그 발생기 (2240)는 쓰기 방지 플래그 신호 (LOCK_F)를 로우로 비활성화시킨다. 쓰기 방지 플래그 신호 (LOCK_F)가 로우로 비활성화되는 경우, 버퍼 제어기 (2500)는 입력 데이터 (BUF_DATA)가 어드레스 (BUF_ADDR1)에 대응하는 버퍼 메모리 영역에 정상적으로 저장되도록 제어한다. 버퍼 메모리 (2600)의 데이터 쓰기 동작이 수행된 후, 상태 머신 (2400)은 레지스터 (2300)에 저장된 값들에 따라 버퍼 메모리 (2600)에 저장된 데이터가 읽혀지도록 그리고 그렇게 읽혀진 데이터가 플래시 메모리 (2900)에 저장되도록 버퍼 제어기 (2500), ECC & DQ 블록 (2700) 그리고 플래시 제어기 (2800)를 제어한다. 이후 동작은 앞서 설명된 것과 동일하게 수행되며, 그것에 대한 설명은 그러므로 생략된다.If the address BUF_ADDR1 transferred from the
앞서의 설명으로부터 알 수 있듯이, 버퍼 메모리 (2600)의 쓰기 방지 영역에 데이터를 저장하고자 할 때 쓰기 방지 제어기 (2200)의 제어에 따라 쓰기 방지 영역의 데이터 쓰기 동작은 차단된다.As can be seen from the above description, when data is to be stored in the write protection area of the
플래시 메모리에서 호스트로의 데이터 전송 과정에서 생기는 버퍼 메모리의 쓰기 방지 동작이 참조 도면들에 의거하여 이하 설명될 것이다. 플래시 메모리에서 호스트로 데이터를 전송하기 위해서, 플래시 메모리 (2900)에서 데이터가 읽혀지고, 그렇게 읽혀진 데이터가 버퍼 메모리 (2600)에 저장될 것이다. 플래시 메모리 (2900)로부터 데이터를 읽기 이전에, 쓰기 방지 제어기 (2200)를 통해 플래시 메모리 (2900)로부터 데이터가 버퍼 메모리 (2600)에 쓰여진 영역이 쓰기 방지 영역인 지의 여부가 판별된다.The write protection operation of the buffer memory occurring in the process of transferring data from the flash memory to the host will be described below with reference to the accompanying drawings. In order to transfer data from the flash memory to the host, the data is read from the
좀 더 구체적으로, 호스트 (1000)는 플래시 메모리 (2900)의 어드레스, 버퍼 메모리 (2600)의 어드레스 그리고 읽기/쓰기 명령을 메모리 장치 (2000)로 전달하며, 메모리 장치 (2000)의 호스트 인터페이스 (2100)는 레지스터 (2300)에 플래시 메모리 (2900)의 어드레스, 버퍼 메모리 (2600)의 어드레스 그리고 읽기/쓰기 명령을 레지스터 (2300)로 전달한다. 그 다음에, 쓰기 방지 제어기 (2200)의 비교기 (2230)는 상태 머신 (2400)으로부터의 입력 어드레스 (BUF_ADDR2)를 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 비교한다. 입력 어드레스 (BUF_ADDR2)가 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 일치하면, 쓰기 방지 플래그 발생기 (2240)는 상태 레지스터 (2220)의 출력 신호 (LOCK_STATUS) 및 비교기 (2230)의 출력 신호에 응답하여 쓰기 방지 플래그 신호 (LOCK_F)를 하이로 활성화시킨다. 쓰기 방지 플래그 신호 (LOCK_F)가 하이로 활성화될 때, 상태 머신 (2400)은 플래시 메모리 (2900)의 데이터 읽기 동작이 수행되지 않도록 제어한다. 이는, 예를 들면, 플래시 메모리 (2900)의 데이터 읽기 동작에 필요한 제어 신호들 중 하나 또는 모두가 비활성화되게 함으로써 달성될 수 있다.More specifically, the
만약 입력 어드레스 (BUF_ADDR2)가 어드레스 레지스터 (2210)에 저장된 쓰기 방지 어드레스와 일치하지 않으면, 상태 머신 (2400)은 어드레스 및 커맨드가 정해진 타이밍에 따라 플래시 메모리 (2900)로 전달되도록 ECC & DQ 블록 (2700)을 제어함과 동시에 데이터 읽기 동작에 필요한 제어 신호들이 플래시 메모리 (2900)에 전달되도록 플래시 제어기 (2800)를 제어한다. 잘 알려진 방법으로 플래시 메모리 (2900)에서 읽혀진 데이터는 ECC & DQ 블록 (2700)을 통해 버퍼 제어기 (2500)로 전달된다. 그 다음에, 상태 머신 (2400)은 어드레스 (BUF_ADDR2), 명령 플래그 신호 (CMD_FLAG) 그리고 제어 신호들 (BUF_CNT2)을 버퍼 제어기 (2500)로 출력한다. 버퍼 제어기 (2500)는 플래시 메모리로부터 읽혀진 데이터가 어드레스 (BUF_ADDR2)에 대응하는 버퍼 메모리 영역에 저장되도록 그리고 그렇게 저장된 데이터가 읽혀지도록 버퍼 메모리 (2600)를 제어한다. 버퍼 메모리 (2600)에서 출력된 데이터는 버퍼 제어기 (2500) 및 호스트 인터페이스 (2100)를 통해 호스트 (1000)로 전달된다.If the input address BUF_ADDR2 does not match the write protect address stored in the
플래시 메모리 (2900)와 버퍼 메모리 (2600) 간의 동작에서 호스트 (1000)가 플래시 메모리 (2900)의 데이터를 버퍼 메모리 (2600)의 쓰기 방지 영역에 옮기려고 할 경우 메모리 장치 (2000)는 앞서 설명된 것과 같이 동작을 정지하고 호스트 (1000)에 오류 정보를 보낼 수 있다. 또는, 플래시 메모리 (2900)와 버퍼 메모리 (2600) 간의 동작에서 호스트 (1000)가 플래시 메모리 (2900)의 데이터를 버퍼 메모리 (2600)의 쓰기 방지 영역에 옮기려고 할 경우 메모리 장치 (2000)는 앞서 설명된 것과 같이 동작을 정지하고 호스트 (1000)가 오류 정보를 가져가게 할 수 있 다. 쓰기 방지 제어기 (2200)의 상태 레지스터 (2220)에 저장된 쓰기 방지 상태 정보는 전원이 꺼질 때 소멸되거나, 전원이 껴질 때 소멸될 수 있다.When the
이상에서, 본 발명에 따른 회로의 구성 및 동작을 상기한 설명 및 도면에 따라 도시하였지만, 이는 예를 들어 설명한 것에 불과하며 본 발명의 기술적 사상 및 범위를 벗어나지 않는 범위 내에서 다양한 변화 및 변경이 가능함은 물론이다.In the above, the configuration and operation of the circuit according to the present invention has been shown in accordance with the above description and drawings, but this is only an example, and various changes and modifications can be made without departing from the spirit and scope of the present invention. Of course.
상술한 바와 같이, 중요한 정보를 저장하는 버퍼 메모리 영역을 쓰기 방지 영역으로 설정하고 쓰기 방지 영역에 대한 쓰기 동작을 차단함으로써 쓰기 방지 영역에 저장된 중요한 정보가 실수로 또는 바이러스에 의해서 변경되는 것을 방지할 수 있다.As described above, by setting a buffer memory area storing important information as a write protection area and blocking a write operation to the write protection area, important information stored in the write protection area can be prevented from being accidentally changed by a virus or by a virus. have.
Claims (34)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060033643A KR20060038981A (en) | 2006-04-13 | 2006-04-13 | Memory system with lockable buffer memory and information processing system including the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060033643A KR20060038981A (en) | 2006-04-13 | 2006-04-13 | Memory system with lockable buffer memory and information processing system including the same |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020030051029A Division KR100614639B1 (en) | 2003-07-24 | 2003-07-24 | Memory system with lockable buffer memory and information processing system including the same |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20060038981A true KR20060038981A (en) | 2006-05-04 |
Family
ID=37146373
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060033643A KR20060038981A (en) | 2006-04-13 | 2006-04-13 | Memory system with lockable buffer memory and information processing system including the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20060038981A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT202200002960A1 (en) * | 2022-02-17 | 2023-08-17 | St Microelectronics Srl | Processing system, related integrated circuit, device and process |
-
2006
- 2006-04-13 KR KR1020060033643A patent/KR20060038981A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
IT202200002960A1 (en) * | 2022-02-17 | 2023-08-17 | St Microelectronics Srl | Processing system, related integrated circuit, device and process |
EP4231161A1 (en) * | 2022-02-17 | 2023-08-23 | STMicroelectronics S.r.l. | A processing system, related integrated circuit, device and method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12001689B2 (en) | Transparently attached flash memory security | |
KR100614639B1 (en) | Memory system with lockable buffer memory and information processing system including the same | |
US10354073B2 (en) | Information processor device verifying software and method of controlling information processor device | |
KR0138697B1 (en) | Microcomputer | |
JP2001014871A (en) | Non-volatile semiconductor storage | |
US9891908B2 (en) | Updatable integrated-circuit radio | |
US6292012B1 (en) | Device for protecting a programmable non-volatile memory | |
US6510501B1 (en) | Non-volatile memory read/write security protection feature selection through non-volatile memory bits | |
WO2018166201A1 (en) | Data reading method, low-voltage detection logic circuit, integrated circuit and chip | |
US20080034150A1 (en) | Data processing circuit | |
JP2004038569A (en) | Data protection system for nonvolatile memory | |
US20080162837A1 (en) | Nonvolatile Memory System | |
KR20180066601A (en) | Method of driving memory system | |
JP2002015584A (en) | Read/protect circuit for non-volatile memory | |
KR20060038981A (en) | Memory system with lockable buffer memory and information processing system including the same | |
US9275709B2 (en) | Electronic apparatus | |
JP2003051195A (en) | Semiconductor memory device | |
US11281576B2 (en) | Memory device | |
KR20080112601A (en) | Memory device sharing bootram and dataram and system booting method including the memory device | |
JP2005209178A (en) | Memory protection unit, memory protection method, and memory protection program | |
JP2007206909A (en) | Data processor and data processing method | |
CN112417528A (en) | Method and electronic device for managing security library supporting data storage | |
JP2012073755A (en) | Semiconductor device | |
JP2000181510A (en) | Backup data protecting method for programmable controller, and programmable controller | |
JP2009020880A (en) | Register having security function and computer system equipped with the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
WITN | Withdrawal due to no request for examination |