KR20000011226A - Memory control method, memory unit and controller - Google Patents
Memory control method, memory unit and controller Download PDFInfo
- Publication number
- KR20000011226A KR20000011226A KR1019990011111A KR19990011111A KR20000011226A KR 20000011226 A KR20000011226 A KR 20000011226A KR 1019990011111 A KR1019990011111 A KR 1019990011111A KR 19990011111 A KR19990011111 A KR 19990011111A KR 20000011226 A KR20000011226 A KR 20000011226A
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- processing function
- internal processing
- internal
- command
- Prior art date
Links
Classifications
-
- 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
- G06F13/1673—Details of memory controller using buffers
-
- 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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Read Only Memory (AREA)
- Bus Control (AREA)
- Memory System (AREA)
Abstract
Description
본 발명은 메모리 제어를 내부 처리하는 기능을 갖는 메모리를 제어 대상으로 하고, 다른 처리 유닛도 사용하는 버스의 사용권을 취득하여 내부 처리 기능을 구비한 메모리에 명령을 송신함으로써 내부 처리 기능을 구비한 메모리를 제어하는 메모리 제어 방법과, CPU와 내부 처리 기능을 구비한 메모리 및 공통 버스의 사용권을 취득하여 내부 처리 기능을 구비한 메모리에 명령을 송신하는 콘트롤러를 구비하고, 그 공통 버스에 CPU와 내부 처리 기능을 구비한 메모리와 콘트롤러가 접속되는 메모리 장치와, CPU와 내부 처리 기능을 구비한 메모리에 공통 버스를 통해 접속되고, 버스의 사용권을 취득하여 내부 처리 기능을 구비한 메모리에 명령을 송신함으로써 내부 처리 기능을 구비한 메모리를 제어하는 콘트롤러에 관한 것으로, 특히 버스 사용권의 효율적인 운용을 실현하는 메모리 제어 방법, 메모리 장치 및 콘트롤러에 관한 것이다.The present invention is a memory having an internal processing function by subjecting a memory having a function of internal processing of memory control to a control object, acquiring a license of a bus that is also used by another processing unit, and sending a command to a memory having internal processing function. And a controller for acquiring a right to use a CPU and a memory having an internal processing function and a common bus, and sending a command to a memory having an internal processing function, the CPU and the internal processing on the common bus. The memory device to which the memory with the function and the controller are connected, the CPU and the memory with the internal processing function are connected via a common bus, and the command is acquired by sending a command to the memory having the internal processing function. The present invention relates to a controller for controlling a memory having a processing function. The present invention relates to a memory control method, a memory device, and a controller for realizing efficient operation.
메모리를 탑재하는 메모리 카드와 같은 메모리 장치로서, 호스트로부터 지시를 수취하는 CPU와는 별도로, 메모리를 제어하는 하드웨어 구성의 콘트롤러를 구비하는 구성을 취하여, 그 콘트롤러는 CPU가 송신하는 명령에 응답하여, 메모리에 대한 메모리 제어의 명령을 송신하여 메모리를 제어하는 장치 구성을 취하는 것이 있다.A memory device, such as a memory card having a memory, having a configuration having a controller of a hardware configuration that controls the memory, apart from a CPU receiving instructions from the host, the controller responding to instructions sent by the CPU. There is a device configuration for controlling a memory by sending a command of a memory control to the.
이러한 장치 구성을 갖는 메모리 장치에서, 메모리로서 메모리 제어를 내부 처리하는 기능을 갖는 메모리를 탑재할 때 그러한 메모리의 특성에 적합한 구성을 구축해감으로써 처리 효율의 향상을 실현하여 갈 필요가 있다.In a memory device having such a device configuration, when mounting a memory having a function of internally processing memory control as a memory, it is necessary to realize an improvement in processing efficiency by constructing a configuration suitable for the characteristics of such a memory.
호스트로부터의 지시를 수취하는 CPU와는 별도로, 메모리를 제어하는 하드웨어 구성의 콘트롤러를 구비하는 구성을 취하여, 그 콘트롤러는 CPU가 송신하는 명령에 응답하여 메모리에 대한 메모리 제어의 명령을 송신함으로써 메모리를 제어하는 메모리 장치가 있다.Apart from the CPU receiving instructions from the host, a configuration is provided having a controller of a hardware configuration that controls the memory, and the controller controls the memory by sending a command of memory control to the memory in response to a command sent by the CPU. There is a memory device.
이 구성을 취하는 종래의 메모리 장치에서는 도 20에 도시하는 바와 같이, CPU와 콘트롤러 사이를 접속하는 버스(도면에는 CPU 버스라고 기술되어 있음)와, 콘트롤러와 메모리 사이를 접속하는 버스(도면에는 메모리 버스라고 기술되어 있음)를 별개의 것으로 하는 구성을 취하고 있다.In the conventional memory device having this configuration, as shown in Fig. 20, a bus connecting a CPU and a controller (described as a CPU bus in the drawing) and a bus connecting a controller and a memory (a memory bus in the drawing) Is described separately).
또, 도면 중에 나타내는 버스 셀렉터는 콘트롤러가 동작 상태에 있을 때, 메모리 버스를 선택함으로써 메모리와 버퍼 사이를 접속하고, 콘트롤러가 비동작 상태에 있을 때 CPU 버스를 선택함으로써 CPU와 버퍼 사이를 접속하도록 동작한다.In addition, the bus selector shown in the figure operates to connect between the memory and the buffer by selecting the memory bus when the controller is in the operating state, and to connect between the CPU and the buffer by selecting the CPU bus when the controller is in the inactive state. do.
따라서, 이 구성을 취하는 메모리 장치에서는 콘트롤러는 CPU가 스스로 메모리 버스의 사용권을 취득하는 일이 없다는 것과, 메모리에 대한 명령을 송신한 후 이에 계속하여 메모리로부터 그 명령에 대한 메모리의 상태 정보를 취득하는 처리를 행하기 때문에, 메모리 버스의 사용권을 취득하여 메모리에 명령을 송신한 후에도, 메모리 버스의 사용권을 해방하지 않고 계속 유지하며, 그 동안에 메모리의 상태 정보 취득 명령을 송신함으로써 그 명령에 대한 메모리의 상태 정보를 취득하도록 처리하고 있다.Therefore, in a memory device having this configuration, the controller does not allow the CPU to acquire a license for the memory bus by itself, and sends a command to the memory and subsequently obtains memory state information for the command from the memory. Since the processing is performed, even after the license of the memory bus is acquired and the instruction is transmitted to the memory, the memory bus is held without releasing the license of the memory bus. Processing is performed to obtain status information.
최근에는 앞서 말한 구성을 취하는 메모리 장치를 내장하는 장치에 대한 소형화의 요구로 인해 이 메모리 장치에 대한 소형화의 요구도 한층 더 커지고 있다.In recent years, the demand for miniaturization of a device incorporating the memory device having the above-described configuration has further increased the demand for miniaturization of this memory device.
따라서, 앞서 말한 CPU 버스와 메모리 버스라고 하는 2개의 버스를 구비하는 것이 아니라, 이 2개의 버스를 공통화 할 필요가 생겼다.Therefore, rather than having two buses, a CPU bus and a memory bus, the two buses need to be common.
한편, 최근 플래시 메모리가 보급되고 있다. 이 플래시 메모리는 메모리 내용을 일괄해서 소거할 수 있는 기능을 가지는 EEPROM이고, 집적도가 높은 것으로 소형 사이즈를 실현할 수 있다고 하는 특징도 있으므로, 여러 가지 전자기기에 탑재되리라 예상된다.On the other hand, flash memory has become popular recently. This flash memory is an EEPROM that has a function of erasing the contents of the memory collectively, and it is expected to be mounted on various electronic devices because of its high density and its small size.
이 플래시 메모리에서는 고속처리를 실현하기 위해서, 내부에 콘트롤러와 버퍼를 구비한 구성을 취하고, 외부의 콘트롤러로부터 메모리 제어의 명령이 송신되면, 그 내부 콘트롤러가 이에 응답하여 플래시 메모리의 데이터를 소거하거나, 버스를 통해 외부로부터 송신되는 데이터를 내부 버퍼에 기록한 후, 내부 버퍼로부터 플래시 메모리에 데이터를 기록하거나, 플래시 메모리로부터 데이터를 판독하여 내부 버퍼에 기록한 후, 버스를 통해 그 데이터를 외부에 출력하는 처리를 한다.In this flash memory, in order to realize high-speed processing, a configuration having a controller and a buffer therein is taken, and when a command of memory control is sent from an external controller, the internal controller erases data in the flash memory in response thereto, The process of writing data transmitted from the outside via the bus to the internal buffer, writing data to the flash memory from the internal buffer, or reading data from the flash memory and writing the data to the internal buffer, and then outputting the data to the outside via the bus. Do
이러한 처리에 있어서, 내부 콘트롤러가 플래시 메모리의 데이터를 소거하고 있는 동안과, 내부 콘트롤러가 내부 버퍼로부터 플래시 메모리에 데이터를 기록하고 있는 동안 및 내부 콘트롤러가 플래시 메모리로부터 내부 버퍼에 데이터를 독출하고 있는 동안은 외부와 주고받음을 행할 수 없으므로 플래시 메모리는 사용(busy) 상태가 된다.In this process, while the internal controller is erasing data in the flash memory, while the internal controller is writing data from the internal buffer to the flash memory, and while the internal controller is reading data from the flash memory into the internal buffer. Cannot communicate with the outside, and the flash memory is busy.
따라서, 전술한 구성을 취하는 메모리 장치에서, 메모리로서 플래시 메모리를 탑재함과 함께, CPU 버스와 메모리 버스를 공통화 하는 구성을 취할 때, CPU 버스와 메모리 버스를 별도로 구비하는 구성에 따라서, 콘트롤러가 버스의 사용권을 취득하여 플래시 메모리에 대하여 명령을 송신한 후, 플래시 메모리의 상태 정보를 취득하기까지의 기간 동안, 버스의 사용권을 해방하지 않는다고 하는 구성을 취하고 있으면, 콘트롤러가 쓸데없이 버스의 사용권을 유지하게 된다고 하는 문제점이 있었다.Therefore, in the memory device having the above-described configuration, when the flash memory is mounted as a memory and the CPU bus and the memory bus are configured in common, the controller is provided with a bus according to the configuration including the CPU bus and the memory bus separately. If the controller is configured to not release the bus for the period until the license is obtained and the command is sent to the flash memory and the status information of the flash memory is acquired, the controller maintains the bus license unnecessarily. There was a problem that was done.
즉, 플래시 메모리에 대하여 명령이 송신되면, 그 후 플래시 메모리는 내부 콘트롤러를 사용하여 내부 처리에 들어감으로써 사용 상태가 되고, 따라서 종래 기술에 따르고 있으면, 이 동안에 콘트롤러는 버스의 사용권을 유지하는 필요가 없는 데도 버스의 사용권을 유지함으로써 CPU가 그 버스를 사용할 수 없다고 하는 문제점이 있었다.That is, when a command is sent to the flash memory, the flash memory is then in use by entering the internal processing using the internal controller, and according to the prior art, the controller needs to maintain the bus license during this time. There was a problem that the CPU could not use the bus by keeping the bus license even when it was not there.
본 발명은 이러한 문제점을 감안하여 이루어진 것으로, 내부 처리 기능을 구비한 메모리를 제어 대상으로 하고, 다른 처리 유닛도 사용하는 버스의 사용권을 취득하여 내부 처리 기능을 구비한 메모리에 명령을 송신함으로써 내부 처리 기능을 구비한 메모리를 제어할 때, 버스의 사용권의 효율적인 운용을 실현하는 새로운 메모리 제어 방법의 제공과, CPU와 내부 처리 기능을 구비한 메모리와 공통 버스의 사용권을 취득하여 내부 처리 기능을 구비한 메모리에 명령을 송신하는 콘트롤러를 구비하고, 그 공통 버스에 CPU와 내부 처리 기능을 구비한 메모리와 콘트롤러가 접속될 때, 버스 사용권의 효율적인 운용을 실현하는 새로운 메모리 장치의 제공과, CPU와 내부 처리 기능을 구비한 메모리가 공통 버스를 통해 접속됨과 함께, 버스의 사용권을 취득하여 내부 처리 기능을 구비한 메모리에 명령을 송신함으로써 내부 처리 기능을 구비한 메모리를 제어할 때, 버스 사용권의 효율적인 운용을 실현하는 새로운 콘트롤러의 제공을 목적으로 한다.SUMMARY OF THE INVENTION The present invention has been made in view of the above problems, and the internal processing is performed by acquiring a license to use a bus having an internal processing function and using a different processing unit to transmit a command to a memory having an internal processing function. In the case of controlling a memory having a function, providing a new memory control method for realizing the efficient use of the bus license, acquiring the license of a memory having a CPU and an internal processing function and a common bus, and having an internal processing function. Providing a new memory device having a controller for sending commands to the memory, and when a memory and a controller having a CPU and an internal processing function are connected to the common bus, thereby realizing efficient operation of the bus right, and providing the CPU and internal processing. The memory with the function is connected via a common bus, and the bus license is acquired. When controlling a memory having an internal processing function by sending a command to the memory having the internal processing function, an object of the provision of the new controller to realize the efficient operation of the bus use.
도 1은 본 발명의 원리 구성도.1 is a principle block diagram of the present invention.
도 2는 본 발명의 메모리 카드의 회로 구성도.2 is a circuit configuration diagram of the memory card of the present invention.
도 3은 플래시 메모리의 설명도.3 is an explanatory diagram of a flash memory;
도 4는 플래시 콘트롤러의 설명도.4 is an explanatory diagram of a flash controller.
도 5는 CPU가 실행하는 처리 플로우의 일 실시예를 나타내는 도면.5 illustrates one embodiment of a processing flow executed by a CPU.
도 6은 플래시 콘트롤러가 실행하는 처리의 설명도.6 is an explanatory diagram of a process executed by a flash controller;
도 7은 시퀀서가 실행하는 처리의 설명도.7 is an explanatory diagram of a process executed by a sequencer.
도 8은 시퀀서가 실행하는 처리의 설명도.8 is an explanatory diagram of a process executed by a sequencer;
도 9는 시퀀서가 실행하는 처리의 설명도.9 is an explanatory diagram of a process executed by a sequencer;
도 10은 시퀀서가 실행하는 처리의 설명도.10 is an explanatory diagram of a process executed by a sequencer;
도 11은 시퀀서가 실행하는 처리의 설명도.11 is an explanatory diagram of a process executed by a sequencer;
도 12는 시퀀서가 실행하는 처리의 설명도.12 is an explanatory diagram of a process executed by a sequencer;
도 13은 소거 처리의 타임 챠트.13 is a time chart of an erase process.
도 14는 소거 처리의 타임 챠트.14 is a time chart of an erase process;
도 15는 CPU가 실행하는 처리 플로우의 일 실시예.15 illustrates one embodiment of a processing flow executed by a CPU.
도 16은 CPU가 실행하는 처리 플로우의 일 실시예.16 illustrates one embodiment of a processing flow executed by a CPU.
도 17은 메모리 카드의 설명도.17 is an explanatory diagram of a memory card.
도 18은 검사 처리의 타임 챠트.18 is a time chart of an inspection process;
도 19는 CPU가 실행하는 처리 플로우의 다른 실시예.19 is another embodiment of a processing flow executed by a CPU.
도 20은 종래 기술의 설명도.20 is an explanatory diagram of a prior art.
〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>
1: 메모리 장치1: memory device
10: 내부 처리 기능을 구비한 메모리10: memory with internal processing
11: CPU11: CPU
12: 콘트롤러12: controller
13: 버스13: bus
14: 제1 실행 수단14: first execution means
15: 제2 실행 수단15: second execution means
16: 제3 실행 수단16: third execution means
17: 검출 수단17: detection means
18: 지시 수단18: indicating means
24: 취득 수단24: acquisition means
25: 설정 수단25: setting means
도 1은 본 발명의 원리 구성을 도시한다.1 shows a principle configuration of the present invention.
도면 중 도면 부호 1은 본 발명을 구비하는 메모리 장치로서, 내부 버퍼를 사용하여 메모리 제어를 내부 처리하는 기능을 갖는 메모리(10)와, 호스트 장치(2)가 송신하는 액세스 요구를 수취하는 CPU(11)와, CPU(11)의 지시에 응답하여 메모리 제어의 명령을 송신함으로써 내부 처리 기능을 구비한 메모리(10)를 제어하는 콘트롤러(12)와, 내부 처리 기능을 구비한 메모리(10)와 CPU(11)와 콘트롤러(12) 사이를 접속하는 공통 버스(13)를 구비하고, 도면 부호 2는 호스트 장치로서 메모리 장치(1)에 대하여 내부 처리 기능을 구비한 메모리(10)로 액세스 요구를 송신하는 것이다.In the drawings, reference numeral 1 denotes a memory device having the present invention, which includes a memory 10 having a function of internally processing memory control using an internal buffer, and a CPU that receives an access request sent by the host device 2 ( 11), a controller 12 for controlling a memory 10 having an internal processing function by sending a memory control command in response to an instruction of the CPU 11, a memory 10 having an internal processing function, and A common bus 13 is provided for connecting between the CPU 11 and the controller 12, and reference numeral 2 denotes a memory device 1 having an internal processing function with respect to the memory device 1 as a host device. To transmit.
이 콘트롤러(12)는 상태 정보의 취득 등으로 종결되는 처리 도중에, 공통 버스(13)의 사용권을 해방하는 처리를 행하는 제1 실행 수단(14)과, 내부 처리 기능을 구비한 메모리(10)가 사용 상태로부터 준비 상태로 이행하는 것을 대기하는 처리를 하는 제2 실행 수단(15)과, 공통 버스(13)의 사용권을 취득하여 처리를 계속하는 제3 실행 수단(16)을 구비한다.The controller 12 includes a first execution means 14 for performing a process of releasing a right of use of the common bus 13 during a process terminated by acquiring state information or the like, and a memory 10 having an internal processing function. The second execution means 15 which performs the process waiting to transition from a use state to a ready state, and the 3rd execution means 16 which acquire the usage right of the common bus 13 and continue a process are provided.
도면 부호 17은 검출 수단으로서, CPU(11) 상에서 동작하여 콘트롤러(12)의 동작 상태를 감시함으로써 내부 처리 기능을 구비한 메모리(10)가 준비 상태로 이행하지 않은 상태의 시간 경과를 검출한다.Reference numeral 17 denotes a detection means, which operates on the CPU 11 and monitors the operation state of the controller 12 to detect the passage of time when the memory 10 having the internal processing function does not shift to the ready state.
도면 부호 18은 지시 수단으로서, CPU(11) 상에서 동작하고, 검출 수단(17)이 규정 시간의 경과를 검출할 때, 콘트롤러(12)에 대하여 내부 처리 기능을 구비한 메모리(10)의 제어 처리를 강제적으로 종료하는 것을 지시한다.Reference numeral 18 denotes a control means of the memory 10 having an internal processing function for the controller 12 when the detection means 17 operates on the CPU 11 and detects the elapse of the prescribed time. Instructs to forcibly terminate.
이와 같이 구성되는 본 발명의 메모리 장치(1)에서는 호스트 장치(2)의 요구에 응답하여 내부 처리 기능을 구비한 메모리(10)를 액세스할 때, 콘트롤러(12)의 제1 실행 수단(14)은 명령을 내부 처리하는 기능을 구비한 메모리(10)에 송신한 후, 상태 정보의 취득 등으로 종결하는 처리 도중에, 내부 처리 기능을 구비한 메모리(10)가 사용 상태로 이행할 때, 공통 버스(13)의 사용권을 해방한다.In the memory device 1 of the present invention configured as described above, the first execution means 14 of the controller 12 when accessing the memory 10 having an internal processing function in response to a request from the host device 2. Is transmitted to the memory 10 having a function of internal processing, and then, when the memory 10 having an internal processing function shifts to a use state during a process of terminating by acquiring status information or the like, the common bus We release right of use of (13).
이러한 실행 처리를 수용하여, 콘트롤러(12)의 제2 실행 수단(15)은 내부 처리 기능을 구비한 메모리(10)가 사용 상태로부터 준비 상태로 이행하는 것을 대기한다.Accepting this execution process, the second execution means 15 of the controller 12 waits for the memory 10 having an internal processing function to transition from the use state to the ready state.
이 대기 상태에 있을 때, 콘트롤러(12)의 제3 실행 수단(16)은 내부 기능을 구비한 메모리(10)가 준비 상태로 이행하는 것을 검출하면, 공통 버스(13)의 사용권을 취득하고, 처리를 계속하여 내부 처리 기능을 구비한 메모리(10)의 상태 정보를 취득하는 등의 처리를 한다.When in the standby state, the third execution means 16 of the controller 12 acquires the right to use the common bus 13 when it detects that the memory 10 having an internal function moves to the ready state, Processing is continued, and processing such as obtaining state information of the memory 10 having an internal processing function is performed.
이 때, 검출 수단(17)은 콘트롤러(12)의 동작 상태를 감시함으로써 내부 처리 기능을 구비한 메모리(10)가 준비 상태로 이행하지 않은 상태의 시간 경과를 검출하여 이것을 수용하고, 지시 수단(18)은 검출 수단(17)이 규정 시간의 경과를 검출할 때, 콘트롤러(12)에 대하여, 내부 처리 기능을 구비한 메모리(10)의 제어 처리를 강제적으로 종료하는 것을 지시한다.At this time, the detection means 17 monitors the operation state of the controller 12, detects the elapsed time of the state in which the memory 10 having the internal processing function does not shift to the ready state, receives this, and indicates the indication means ( 18 instructs the controller 12 to forcibly terminate the control process of the memory 10 having the internal processing function when the detection means 17 detects the passage of the prescribed time.
따라서 본 발명에서는 내부 버퍼를 사용하여 메모리 제어를 내부 처리하는 기능을 갖는 내부 처리 기능을 구비한 메모리(10)를 제어 대상으로 하고, 내부 처리 기능을 구비한 메모리(10)와 CPU(11)와 콘트롤러(12) 사이를 공통 버스(13)로 접속하는 구성을 취할 때, 내부 처리 기능을 갖는 내부 처리 기능을 구비한 메모리(10)의 특성에 착안하여, 콘트롤러(12)의 송신하는 명령에 응답하여 내부 처리 기능을 구비한 메모리(10)가 내부 처리에 들어갈 때 콘트롤러(12)는 취득하고 있는 공통 버스(13)의 사용권을 일시적으로 해방하도록 처리하기 때문에, 쓸데없이 공통 버스(13)의 사용권을 유지하는 일이 없어진다.Therefore, in the present invention, a memory 10 having an internal processing function having a function of internally processing memory control using an internal buffer is a control object, and the memory 10 and the CPU 11 having an internal processing function and When taking the configuration of connecting the controllers 12 to the common bus 13, paying attention to the characteristics of the memory 10 having an internal processing function having an internal processing function, the controller 12 responds to a command to be transmitted. When the memory 10 having the internal processing function enters the internal processing, the controller 12 processes the license 12 of the acquired common bus 13 to be temporarily released. Therefore, the usage right of the common bus 13 is unnecessarily used. It keeps going.
이에 따라, CPU(11)는 공통 버스(13)를 사용하는 별도의 처리를 실행할 수 있게 되며, 공통 버스(13)의 사용권이 효율적인 운용을 실현할 수 있으므로, 처리효율을 향상시킬 수 있다.As a result, the CPU 11 can execute separate processing using the common bus 13, and the operating right of the common bus 13 can realize efficient operation, thereby improving processing efficiency.
또한, 이렇게 구성되는 본 발명의 메모리 장치(1)에서는 호스트 장치(2)의 요구에 응답하여 내부 처리 기능을 구비한 메모리(10)를 액세스 할 때, 콘트롤러(12)의 제1 실행 수단(14)은 내부 처리 기능을 구비한 메모리(10)의 사용 상태를 일으키는 명령을 내부 처리 기능을 구비한 메모리(10)에 송신할 때, 내부 처리 기능을 구비한 메모리(10)가 사용 상태로 이행하는 것을 확인하지 않고, 공통 버스(13)의 사용권을 해방한다.Further, in the memory device 1 of the present invention configured as described above, the first execution means 14 of the controller 12 when accessing the memory 10 having an internal processing function in response to a request of the host device 2. ) Transmits a command to the memory 10 having an internal processing function to cause the memory 10 having an internal processing function to transition to the use state. Without confirming that, the right to use the common bus 13 is released.
이러한 실행 처리를 수용하여, 콘트롤러(12)의 제2 실행 수단(15)은 내부 처리 기능을 구비한 메모리(10)의 사용 상태를 일으키는 명령의 송신에 응답하여 내부 처리 기능을 구비한 메모리(10)가 내부 처리를 하여 사용 상태로 이행한 후, 그 내부 처리가 종료되어 내부 처리 기능을 구비한 메모리(10)가 사용 상태로부터 준비 상태로 이행하는 것을 대기한다.By accepting this execution process, the second execution means 15 of the controller 12 responds to the transmission of a command causing a use state of the memory 10 having an internal processing function (10) with an internal processing function. After the internal processing moves to the use state by the internal processing, the internal processing is terminated and the memory 10 having the internal processing function is waited for to transition from the use state to the ready state.
이 대기 상태에 있을 때, 콘트롤러(12)의 제3 실행 수단(16)은 내부 처리 기능을 구비한 메모리(10)가 준비 상태로 이행하는 것을 검출하면, 공통 버스(13)의 사용권을 취득하여, 처리를 계속함으로써 내부 처리 기능을 구비한 메모리(10)의 상태 정보를 취득하는 등의 처리를 한다.When in this standby state, the third execution means 16 of the controller 12 acquires the right to use the common bus 13 when it detects that the memory 10 having the internal processing function shifts to the ready state. Then, processing such as acquiring state information of the memory 10 having the internal processing function is performed by continuing the processing.
이 때, 검출 수단(17)은 콘트롤러(12)의 동작 상태를 감시함으로써 내부 처리 기능을 구비한 메모리(10)가 준비 상태로 이행하지 않는 상태의 시간 경과를 검출하여 이것을 수용하고, 지시 수단(18)은 검출 수단(17)이 규정 시간의 경과를 검출할 때, 콘트롤러(12)에 대하여 내부 처리 기능을 구비한 메모리(10)의 제어 처리를 강제적으로 종료하도록 지시한다.At this time, the detection means 17 monitors the operation state of the controller 12, detects the elapsed time of the state where the memory 10 having the internal processing function does not shift to the ready state, accepts this, and indicates the indication means ( 18) instructs the controller 12 to forcibly terminate the control process of the memory 10 having the internal processing function when the detection means 17 detects the passage of the prescribed time.
이렇게 하여, 본 발명에서는 내부 버퍼를 사용하여 메모리 제어를 내부 처리하는 기능을 갖는 메모리(10)를 제어 대상으로 하고, 내부 처리 기능을 구비한 메모리(10)와 CPU(11)와 콘트롤러(12) 사이를 공통 버스(13)로 접속하는 구성을 취할 때, 내부 처리 기능을 갖는 메모리(10)의 특성에 착안하여, 내부 처리 기능을 구비한 메모리(10)가 내부 처리하여 사용 상태를 일으키는 명령을 송신할 때 콘트롤러(12)는 내부 처리 기능을 구비한 메모리(10)가 사용 상태로 이행하는 것을 확인하지 않고, 즉시 공통 버스(13)의 사용권을 해방하도록 처리하기 때문에, 쓸데없이 공통 버스(13)의 사용권을 유지하는 일이 없어진다.In this way, in the present invention, a memory 10 having a function of internally processing memory control using an internal buffer is a control object, and the memory 10 having the internal processing function, the CPU 11, and the controller 12 are controlled. When taking a configuration in which the common bus 13 is connected to each other, paying attention to the characteristics of the memory 10 having an internal processing function, the memory 10 having an internal processing function internally processes an instruction that causes a use state. At the time of transmission, since the controller 12 processes to immediately release the right of use of the common bus 13 without confirming that the memory 10 having the internal processing function shifts to the use state, the common bus 13 is unnecessary. You do not have to maintain the license.
이에 따라, CPU(11)는 공통 버스(13)를 사용하는 별도의 처리를 실행할 수 있게 되어, 공통 버스(13)의 사용권이 효율적인 운용을 실현할 수 있으므로, 처리효율의 향상을 실현할 수 있게 된다.As a result, the CPU 11 can execute a separate process using the common bus 13, and the use right of the common bus 13 can realize efficient operation, thereby improving the processing efficiency.
이하, 실시예에 따라서 본 발명을 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to examples.
도 2는 본 발명을 구비하는 메모리 카드(1a)의 회로 구성의 일례를 도시한다.2 shows an example of a circuit configuration of a memory card 1a according to the present invention.
이 메모리 카드(1a)는 커넥터를 구비하고, 퍼스널 컴퓨터나 디지털 카메라 등의 호스트에 설치된 슬롯에 자유롭게 착탈이 가능하게 접속되어 사용된다. 이 때, 메모리 카드(1a)에 대한 전력 공급은 접속지의 호스트로부터 커넥터를 통해 행하여지게 된다.The memory card 1a is provided with a connector and is freely detachably connected to a slot provided in a host such as a personal computer or a digital camera. At this time, the power supply to the memory card 1a is performed through the connector from the host of the destination.
메모리 카드(1a)는 도 2에 도시하는 바와 같이, 복수의 플래시 메모리(20)(1개밖에 내장되지 않은 경우도 있음)를 탑재하고, 퍼스널 컴퓨터(2a)가 송신하는 액세스 요구에 응답하여, 이 플래시 메모리(20)로의 액세스 처리를 실행함으로써 이 처리를 실현하기 위해서, 플래시 메모리(20) 외에 ROM(22)을 가지는 CPU(21), 플래시 콘트롤러(23), 호스트 콘트롤러(24), 버퍼(25), RAM(26) 등을 구비하고, 이들을 접속하는 CPU 버스(27)를 구비하고 있다.As shown in FIG. 2, the memory card 1a is equipped with a plurality of flash memories 20 (only one may be built in), and in response to an access request sent by the personal computer 2a, In order to realize this process by executing the access process to the flash memory 20, the CPU 21 having the ROM 22 in addition to the flash memory 20, the flash controller 23, the host controller 24, and the buffer ( 25), RAM 26, etc., and a CPU bus 27 for connecting them.
플래시 메모리(20)는 도 3에 도시하는 바와 같이, 플래시 메모리 셀(200)과, 내부 콘트롤러(201)와 내부 버퍼(202)를 구비하고, 이 내부 콘트롤러는 플래시 콘트롤러(23)로부터 메모리 제어의 명령(이하 콘트롤러(23)가 송신하는 명령을 플래시 명령으로 칭함)이 송신되면, 이에 응답하여 플래시 메모리 셀(200)에 기록되는 데이터를 소거하거나, CPU 버스(27)로부터 들어오는 데이터를 내부 버퍼(202)에 기록한 후, 내부 버퍼(202)로부터 플래시 메모리 셀(200)에 데이터를 기록하거나, 플래시 메모리 셀(200)로부터 데이터를 판독하여 내부 버퍼(202)에 기록한 후, 내부 버퍼(202)로부터 CPU 버스(27)에 출력하는 등의 처리를 행한다.As shown in FIG. 3, the flash memory 20 includes a flash memory cell 200, an internal controller 201, and an internal buffer 202, which are configured to control memory from the flash controller 23. When a command (hereinafter, a command transmitted by the controller 23 is referred to as a flash command) is transmitted, in response thereto, data written to the flash memory cell 200 is erased, or data received from the CPU bus 27 is stored in an internal buffer ( After writing to 202, data is written from the internal buffer 202 to the flash memory cell 200, or data is read from the flash memory cell 200 and written to the internal buffer 202, and then from the internal buffer 202. Processing such as output to the CPU bus 27 is performed.
이러한 처리를 할 때, 내부 콘트롤러(201)는 플래시 콘트롤러(23)에 대하여, 준비 상태에 있는 것인가 사용 상태에 있는가를 표시하는 준비/사용 신호를 출력한다.In this process, the internal controller 201 outputs a ready / use signal to the flash controller 23 indicating whether it is in the ready state or in the used state.
이 준비/사용 신호는 플래시 메모리 셀(200)의 데이터를 소거하고 있는 동안과, 내부 버퍼(202)로부터 플래시 메모리 셀(200)에 데이터를 기록하고 있는 동안 및 플래시 메모리 셀(200)로부터 내부 버퍼(202)에 데이터를 판독하고 있는 동안은 사용 상태를 표시하고, 그 이외의 경우에는 준비 상태를 표시하게 된다.This ready / use signal is used while erasing data of the flash memory cell 200, while writing data from the internal buffer 202 to the flash memory cell 200, and from the flash memory cell 200. While the data is being read out at 202, the use state is displayed; otherwise, the ready state is displayed.
ROM(22)에는 플래시 메모리(20)에의 액세스를 실현하는 프로그램이 기록되어 있고, CPU(21)는 퍼스널 컴퓨터(2a)가 액세스 요구를 송신할 때, 그 프로그램에 따라서, 플래시 콘트롤러(23)에 대하여 액세스 지시를 송신함으로써 플래시 메모리(20)에 액세스를 실행하는 처리를 한다.In the ROM 22, a program for realizing access to the flash memory 20 is recorded. When the personal computer 2a transmits an access request, the CPU 21 writes to the flash controller 23 in accordance with the program. A process of executing access to the flash memory 20 is performed by sending an access instruction.
더욱 상세히 설명하면, 선두의 플래시 메모리(20)에는 탑재되는 플래시 메모리(20)의 개수 등의 구성 정보가 기록되어 있기 때문에, CPU(21)는 메모리 카드(1a)를 기동할 때 ROM(22)에 기록되는 프로그램에 따라서, 플래시 메모리(20)에 기록되는 1칩 단위의 메모리 용량과 그 구성 정보를 판독함으로써 전 메모리 용량을 특정하고, 그것을 퍼스널 컴퓨터(2a)에 통지하거나 통상의 동작 시에 퍼스널 컴퓨터(2a)가 어드레스를 지정하여 액세스 요구를 송신하면, ROM(22)에 기록되는 프로그램에 따라서, 그 1칩 단위의 메모리 용량으로부터, 액세스되는 플래시 메모리(20)의 칩 번호를 특정하고, 그 플래시 콘트롤러(23)에 대하여 액세스 지시를 송신함으로써 플래시 메모리(20)에의 액세스를 실행하는 등의 처리를 한다.In more detail, since the configuration information such as the number of flash memories 20 to be mounted is recorded in the head flash memory 20, the CPU 21 starts the ROM 22 when the memory card 1a is started. According to the program recorded on the memory device, the memory capacity in units of one chip recorded in the flash memory 20 and its configuration information are read out to specify the total memory capacity, and the personal computer 2a is notified to it or the personal computer is operated during normal operation. When the computer 2a designates an address and transmits an access request, the chip number of the flash memory 20 to be accessed is specified from the memory capacity in units of one chip according to the program recorded in the ROM 22. By sending an access instruction to the flash controller 23, processing such as executing access to the flash memory 20 is performed.
플래시 콘트롤러(23)는 CPU(21)로부터 플래시 메모리(20)에의 액세스 지시가 송신될 때, 플래시 메모리(20)에 플래시 명령을 송신함으로써 플래시 메모리(20)에 액세스를 실행한다. 버퍼(25)는 플래시 메모리(20)에 기록하는 데이터와, 플래시 메모리(20)로부터 판독한 데이터를 기록한다. 호스트 콘트롤러(24)는 퍼스널 컴퓨터(2a) 사이의 인터페이스 처리를 실행한다. RAM(26)은 CPU(21)의 작업용 메모리 등에 사용된다.The flash controller 23 executes access to the flash memory 20 by sending a flash command to the flash memory 20 when an access instruction to the flash memory 20 is transmitted from the CPU 21. The buffer 25 records data written to the flash memory 20 and data read from the flash memory 20. The host controller 24 executes interface processing between the personal computer 2a. The RAM 26 is used for the work memory of the CPU 21 and the like.
플래시 콘트롤러(23)는 플래시 메모리(20)에의 액세스 처리를 실행하기 위해서, 도 4에 도시하는 바와 같이, CPU(21)가 송신하는 명령을 수취하는 명령 레지스터(230)와, 명령 레지스터(230)가 유지하는 명령을 디코딩하는 명령 디코더(231)와, 명령 디코더(231)의 디코딩 결과에 따른 메모리 제어의 시퀀스 동작을 하는 하드웨어 구성의 시퀀서(232)와, 시퀀스(232)의 지시에 응답하여 플래시 메모리(20)에 대하여 플래시 명령을 송신하는 하드웨어 구성의 플래시 명령 송신 기구(233)와, 시퀀서(232)의 시퀀스 동작의 종료·미종료를 표시하는 플래그를 수취하는 종료 표시 레지스터(234)를 구비한다.In order to execute the access processing to the flash memory 20, the flash controller 23 includes an instruction register 230 that receives a command transmitted by the CPU 21, and an instruction register 230 as shown in FIG. A command decoder 231 for decoding a command held by the user, a sequencer 232 of a hardware configuration for sequencing memory control according to the decoding result of the command decoder 231, and a flash in response to an instruction of the sequence 232. A flash command transmission mechanism 233 having a hardware configuration for transmitting a flash command to the memory 20, and an end display register 234 for receiving a flag indicating completion or non-end of the sequence operation of the sequencer 232; do.
플래시 콘트롤러(23)가 송신하는 플래시 명령에는 데이터 입력 명령과, 라이트 명령과, 리드 명령과, 소거 명령과, 상태 명령 등이 있다.The flash command transmitted by the flash controller 23 includes a data input command, a write command, a read command, an erase command, a status command, and the like.
플래시 메모리(200)의 내부 콘트롤러(201)는 플래시 콘트롤러(23)로부터 이 데이터 입력 명령이 송신되면, 기록 요구가 있는 데이터를 내부 버퍼(202)에 기록 처리를 한다. 또한, 라이트 명령이 송신되면, 내부 버퍼(202)에 기록한 데이터를 플래시 메모리 셀(200)에 기록한 처리를 한다. 또한, 리드 명령이 송신되면, 플래시 메모리 셀(20)로부터 지정되는 데이터를 판독하여 내부 버퍼(202)에 기록하고, 그것을 CPU 버스(27)에 출력하는 처리를 한다. 또한, 소거 명령이 송신되면, 플래시 메모리 셀(20)로부터 지정되는 데이터를 소거하는 처리를 한다. 또한, 상태 명령이 송신되면, 플래시 콘트롤러(23)에 상태 정보를 대답하는 처리를 한다.When the data input command is transmitted from the flash controller 23, the internal controller 201 of the flash memory 200 writes data to which the write request is written to the internal buffer 202. When a write command is transmitted, the process of writing data written to the internal buffer 202 to the flash memory cell 200 is performed. In addition, when a read command is transmitted, a process of reading the specified data from the flash memory cell 20, writing it to the internal buffer 202, and outputting it to the CPU bus 27 is performed. In addition, when an erase command is transmitted, a process of erasing data designated from the flash memory cell 20 is performed. When the status command is transmitted, the flash controller 23 performs a process of returning status information.
내부 콘트롤러(201)는 이 처리를 할 때, 상술한 바와 같이, 플래시 메모리 셀(200)의 데이터를 소거하는 동안과, 내부 버퍼(202)로부터 플래시 메모리 셀(200)에 데이터를 기록하는 동안 및 플래시 메모리 셀(200)로부터 내부 버퍼(202)에 데이터를 판독하는 동안, 준비/사용 신호를 사용하고, 플래시 콘트롤러(23)에 대하여 사용 상태를 표시하도록 처리하게 된다.When the internal controller 201 performs this process, as described above, while erasing data of the flash memory cell 200, while writing data from the internal buffer 202 to the flash memory cell 200, and While reading data from the flash memory cell 200 to the internal buffer 202, a process of using the ready / use signal and processing the display to the flash controller 23 is performed.
도 5는 CPU(21)의 실행하는 처리 플로우의 일 실시예를 도시하고, 도 6은 하드웨어로 구성되는 플래시 콘트롤러(23)의 실행하는 처리를 처리 플로우의 형식으로 도시한다.FIG. 5 shows one embodiment of the processing flow executed by the CPU 21, and FIG. 6 shows the processing executed by the flash controller 23 composed of hardware in the form of a processing flow.
CPU(21)는 퍼스널 컴퓨터(2a)로부터 플래시 메모리(20)에 대한 액세스 지시가 송신되면, 도 5의 처리 플로우에 도시하는 바와 같이, 우선 최초에 단계 1에서 플래시 콘트롤러(23)에 대하여, 액세스 지시의 지정 명령을 송신한다.When the CPU 21 transmits an access instruction to the flash memory 20 from the personal computer 2a, as shown in the processing flow of Fig. 5, the CPU 21 first accesses the flash controller 23 in step 1 first. Send an instruction specifying the instruction.
다음 단계 2에서 플래시 콘트롤러(23)의 종료 표시 레지스터(234)를 참조하여 송신한 명령에 대한 처리의 종료 여부를 판단하고, 송신한 명령에 대한 처리가 종료하였다고 판단할 경우에는 처리를 종료한다.In the next step 2, it is determined with reference to the end display register 234 of the flash controller 23 whether or not the processing for the transmitted command is terminated, and when it is determined that the processing for the transmitted command is finished, the processing is terminated.
한편, 단계 2에서 송신한 명령에 대한 처리가 종료하지 않았다고 판단할 경우에는 단계 3으로 진행하고, 명령 송신으로부터 규정 시간이 경과함으로써 플래시 메모리(20)가 준비 상태로 이행하지 않은 시간의 규정 시간 경과 여부를 판단하고, 규정 시간이 경과하지 않았다고 판단할 경우에는 단계 2로 되돌아가고, 규정 시간이 경과하였다고 판단할 경우에는 단계 4로 진행하여, 플래시 콘트롤러(23)에 대하여, 처리의 중지를 지시하는 중지 명령을 송신하여 처리를 종료한다.On the other hand, if it is determined that the processing for the command sent in step 2 has not ended, the process proceeds to step 3, where the prescribed time elapses since the prescribed time has elapsed from the command transmission and the flash memory 20 does not shift to the ready state. If it is determined whether or not the prescribed time has elapsed, the process returns to step 2, and if it is determined that the prescribed time has elapsed, the process proceeds to step 4 to instruct the flash controller 23 to stop the processing. Send a stop command to end the process.
또, CPU(21)가 플래시 콘트롤러(23)의 종료 표시 레지스터(234)를 참조할 경우에는 CPU 버스(27)의 사용권을 취득해 놓을 필요가 있다.In addition, when the CPU 21 refers to the end display register 234 of the flash controller 23, it is necessary to acquire a right to use the CPU bus 27.
이 CPU(21)가 송신하는 명령을 수용하여, 플래시 콘트롤러(23)는 도 6의 처리 플로우의 형식에 도시하는 바와 같이, 우선 최초 단계 1에서 명령 디코더(231)를 사용하여 CPU(21)가 송신하는 명령을 해석하고, 다음 단계 2에서 시퀀서(232)를 사용하여 그 해석한 명령에 대한 플래시 명령을 송신함으로써 플래시 메모리(20)로 액세스 처리를 실행한다.The CPU 21 accepts the command sent by the CPU 21, and the flash controller 23 first uses the instruction decoder 231 in the first step 1, as shown in the form of the processing flow of FIG. The command to be transmitted is interpreted, and the access process is executed to the flash memory 20 by transmitting the flash command for the interpreted command using the sequencer 232 in the next step 2.
다음 단계 3에서 시퀀서(232)에 의한 액세스 처리의 종료 여부를 판단하고, 액세스 처리의 종료를 판단할 경우에는 종료 표시 레지스터(234)에 처리 종료의 플래그를 세트하여 처리를 종료한다.In the next step 3, it is determined whether or not the access process is terminated by the sequencer 232, and when the end of the access process is determined, the end of the process is set in the end display register 234 to end the process.
한편, 단계 3에서 시퀀서(232)에 의한 액세스 처리가 종료하지 않음을 판단할 경우에는 단계 4로 진행하고, CPU(21)로부터 전술의 중지 명령이 송신되었는지 여부를 판단하고, 중지 명령이 송신되어 있지 않았다고 판단할 경우에는 단계 3으로 되돌아가고, 중지 명령이 송신되었다고 판단할 경우에는 단계 5로 진행하여 시퀀서(232)의 액세스 처리를 강제 종료한다.On the other hand, if it is determined in step 3 that the access processing by the sequencer 232 has not ended, the process proceeds to step 4, it is determined whether or not the aforementioned stop command has been sent from the CPU 21, and the stop command is transmitted. If it is determined that there is no information, the process returns to step 3, and if it is determined that the stop command has been transmitted, the process proceeds to step 5, where the access process of the sequencer 232 is forcibly terminated.
이렇게 하여, 플래시 콘트롤러(23)는 CPU(21)로부터 플래시 메모리(20)에 액세스 지시가 송신되면, 플래시 메모리(20)에 플래시 명령을 송신하여 플래시 메모리(20)로 액세스를 실행하도록 처리하게 된다.In this way, when the access instruction is transmitted from the CPU 21 to the flash memory 20, the flash controller 23 transmits a flash command to the flash memory 20 to process the access to the flash memory 20. .
그리고, CPU(21)는 플래시 콘트롤러(23)가 규정 시간 경과하더라도 송신한 플래시 명령에 대한 처리를 종료하지 않을 경우에는 플래시 메모리(20)에 장애가 발생하였다고 판단하여, 플래시 콘트롤러(23)에 대하여, 처리의 중지를 지시하여 처리하게 된다.The CPU 21 determines that a failure has occurred in the flash memory 20 even when the flash controller 23 does not finish the processing of the transmitted flash command even after the prescribed time has elapsed. Processing is instructed to stop processing.
도 7 내지 도 9에, 플래시 콘트롤러(23)가 구비하는 시퀀서(232)가 실행하는 처리를 처리 플로우의 형식으로 도시한다. 여기서, 도 7은 CPU(21)로부터 데이터의 기입의 액세스 지시를 수취할 때에 실행하는 처리를 나타내고, 도 8은 CPU(21)로부터 데이터의 판독 액세스 지시를 수취할 때 실행하는 처리를 나타내고, 도 9는 CPU(21)로부터 데이터가 소거의 액세스 지시를 수취할 때 실행하는 처리를 나타내고 있다.7 to 9 show the processing executed by the sequencer 232 included in the flash controller 23 in the form of a processing flow. Here, FIG. 7 shows a process to be executed when receiving an access instruction for writing data from the CPU 21, and FIG. 8 shows a process to be executed when receiving a read access instruction of data from the CPU 21. FIG. 9 shows a process to be executed when the data from the CPU 21 receives an erase instruction.
다음에, 이 도 7 내지 도 9은 시퀀서(232)가 실행하는 처리에 대하여 설명한다.Next, Figs. 7 to 9 illustrate the processing executed by the sequencer 232. Figs.
시퀀서(232)는 CPU(21)로부터 데이터의 기입에 대한 액세스 지시를 수취하면, 데이터 기록의 경로 처리에 들어와, 도 7의 처리 플로우 형식으로 도시하는 바와 같이, 우선 최초에 단계 1에서 CPU 버스(27)의 사용권을 취득한다. 다음 단계 2에서 플래시 메모리(20)에 대하여, 데이터 입력의 플래시 명령을 송신하고, 단계 3에서 기입 데이터를 플래시 메모리(20)에 송신한다.When the sequencer 232 receives an access instruction for writing data from the CPU 21, the sequencer 232 enters the path processing of data recording, and as shown in the processing flow form of FIG. 27) to obtain a license. In a next step 2, a flash command of data input is sent to the flash memory 20, and in step 3, write data is sent to the flash memory 20. FIG.
이 데이터 입력의 플래시 명령을 수용하여, 명령 대기 상태에 있는 플래시 메모리(20)의 내부 콘트롤러(201)는 이에 계속해서 보내지는 기록 데이터를 내부 버퍼(202)에 기록한다.Accepting the flash command of this data input, the internal controller 201 of the flash memory 20 in the command standby state writes the write data which is subsequently sent to the internal buffer 202.
시퀀서(232)는 단계 3에서 기입 데이터를 플래시 메모리(20)에 송신하면, 다음 단계 4에서 데이터 기입의 플래시 명령을 플래시 메모리(20)에 송신한다.When the sequencer 232 transmits write data to the flash memory 20 in step 3, the sequencer 232 transmits a flash command for writing data to the flash memory 20 in the next step 4.
이 데이터 기입의 플래시 명령을 수용하여, 명령의 대기 상태에 있는 플래시 메모리(20)의 내부 콘트롤러(201)는 내부 버퍼(202)에 기록한 데이터를 플래시 메모리 셀(200)에 기록한 처리에 들어감으로써 시퀀서(232)에 대하여 사용 상태에 있는 것을 통지해 온다.The internal controller 201 of the flash memory 20, which accepts this data write flash command and is in the standby state of the command, enters a process in which data written to the internal buffer 202 is written to the flash memory cell 200, thereby entering a sequencer. It is notified about the state of the use of 232.
다음으로 시퀀서(232)는 단계 4에서 데이터의 기입의 플래시 명령을 송신하면, 다음 단계 5에서 플래시 메모리(20)로부터 사용 상태가 통지되어 오는 것을 대기하여, 사용 상태가 통지되어 오면, 단계 6으로 진행하여, CPU 버스(27)의 사용권을 일시적으로 해방한다.Next, when the sequencer 232 transmits a flash command for writing data in step 4, the sequencer 232 waits for the usage status to be notified from the flash memory 20 in the next step 5, and if the usage status is notified, returns to step 6. In progress, the right to use the CPU bus 27 is temporarily released.
이 CPU 버스(27)의 사용권의 해방 중에, 플래시 메모리(20)의 내부 콘트롤러(201)는 내부 버퍼(202)에 기록한 데이터를 플래시 메모리 셀(200)에 기록하게 되지만, 이 기록을 종료시키면, 시퀀서(232)에 대하여 준비 상태에 있는 것을 통지하여 온다.During the release of the right to use the CPU bus 27, the internal controller 201 of the flash memory 20 writes data written in the internal buffer 202 to the flash memory cell 200. The sequencer 232 is notified that it is in a ready state.
다음으로 시퀀서(232)는 단계 6에서, CPU 버스(27)의 사용권을 해방하면, 다음 단계 7에서 플래시 메모리(20)로부터 준비 상태가 통지되어 오는 것을 대기하여, 준비 상태가 통지되어 오면 단계 8로 진행하고, 다시 CPU 버스(27)의 사용권을 취득하고, 계속되는 단계 9에서, 상태 취득의 플래시 명령을 플래시 메모리(20)에 송신한다.Next, when the sequencer 232 releases the use of the CPU bus 27 in step 6, it waits for the ready status to be notified from the flash memory 20 in the next step 7, and if the ready status is notified, step 8 Proceeds to and acquires the right to use the CPU bus 27, and in step 9, the flash command for state acquisition is transmitted to the flash memory 20.
이 상태 취득의 플래시 명령을 수용하여, 명령의 대기 상태에 있는 플래시 메모리(20)의 내부 콘트롤러(201)는 시퀀서(232)에 대하여, 플래시 메모리 셀(200)로 데이터 기입의 성공 여부의 상태를 통지하여 온다.The internal controller 201 of the flash memory 20 which is in this state of acquiring the flash command for acquiring this state acquires the status of whether data writing is successful to the flash memory cell 200 with respect to the sequencer 232. Come to notice.
다음으로 시퀀서(232)는 단계 9에서 상태 취득의 플래시 명령을 송신하면, 다음 단계 10에서 플래시 메모리(20)로부터 들어오는 상태를 취득하고, 다음 단계 11에서 CPU 버스(27)의 사용권을 해방한다. 그리고 마지막 단계 12에서, 종료 표시 레지스터(234)에 처리 종료의 플래그를 세트하여 처리를 종료한다.Next, when the sequencer 232 transmits the state acquisition flash command in step 9, the sequencer 232 acquires the state coming from the flash memory 20 in the next step 10, and releases the right to use the CPU bus 27 in the next step 11. In the final step 12, the processing end flag is set in the end display register 234 to end the process.
이와 같이, 본 발명에 따르는 경우, 시퀀서(232)는 상태의 취득으로 종결하는 플래시 메모리(20)로 데이터 기입 처리하는 것에 따라, 상태의 취득이 완료하기까지의 동안 CPU 버스(27)의 사용권을 계속 유지하는 구성을 취하는 것은 아니며, 플래시 메모리(20)가 내부 처리하여 사용 상태가 될 때, CPU 버스(27)의 사용권을 일시적으로 해방하고, 그 내부 처리가 종료하는것으로 플래시 메모리(20)가 준비 상태가 될 때, 다시 CPU 버스(27)의 사용권을 취득하여 상태를 취득하는 구성을 취한다.As described above, according to the present invention, as the sequencer 232 performs data write processing to the flash memory 20 which terminates with the acquisition of the state, the right of use of the CPU bus 27 is acquired until the acquisition of the state is completed. It does not take the structure to hold | maintain continuously, when the flash memory 20 internally processes and becomes a use state, it temporarily releases the license of the CPU bus 27, and the internal process is complete | finished, and the flash memory 20 terminates. When it is ready, the structure which acquires a license by using the CPU bus 27 again is taken.
이에 따라, 플래시 메모리(20)가 사용 상태가 될 때에는 CPU 버스(27)의 사용권이 CPU(21)에 이르고, 다음으로 CPU(21)는 이 동안 CPU 버스(27)를 사용하는 별도의 처리를 실행할 수 있게 된다.Accordingly, when the flash memory 20 is in the use state, the usage right of the CPU bus 27 reaches the CPU 21, and the CPU 21 then performs a separate process of using the CPU bus 27 during this time. You can run it.
또한, 시퀀서(232)는 CPU(21)로부터 데이터의 판독의 액세스 지시를 수취하면, 데이터 판독의 경로 처리에 따라, 도 8의 처리 플로우 형식에 도시하는 바와 같이, 우선 최초에 단계 1에서 CPU 버스(27)의 사용권을 취득한다. 다음 단계 2에서 플래시 메모리(20)에 대하여 데이터 판독의 플래시 명령을 송신한다.In addition, when the sequencer 232 receives an access instruction for reading data from the CPU 21, first, in step 1, as shown in the processing flow diagram of FIG. Obtain the right to use (27). In the next step 2, a flash command for reading data is sent to the flash memory 20. FIG.
이 데이터의 판독의 플래시 명령을 수용하여, 명령의 대기 상태에 있는 플래시 메모리(20)의 내부 콘트롤러(201)는 플래시 메모리 셀(200)로부터 지정된 데이터를 판독하여 내부 버퍼(202)에 수취하는 처리를 하고 시퀀서(232)에 대하여 사용 상태에 있는 것을 통지하여 온다.A process of receiving a flash command for reading this data, and the internal controller 201 of the flash memory 20 in the standby state of the command reads the specified data from the flash memory cell 200 and receives it into the internal buffer 202. And notifies the sequencer 232 that it is in use.
다음으로 시퀀서(232)는 단계 2에서 데이터의 판독의 플래시 명령을 송신하면, 다음 단계 3에서 플래시 메모리(20)로부터 사용 상태가 통지되어 오는 것을 대기하고, 사용 상태가 통지되면 단계 4로 진행하여, CPU 버스(27)의 사용권을 일시적으로 해방한다.Next, when the sequencer 232 transmits the flash command for reading the data in step 2, it waits for the usage status to be notified from the flash memory 20 in the next step 3, and proceeds to step 4 if the usage status is notified. The license for the CPU bus 27 is temporarily released.
이 CPU 버스(27)의 사용권의 해방 중에, 플래시 메모리(20)의 내부 콘트롤러 (201)는 플래시 메모리 셀(200)로부터 내부 버퍼(202)에 데이터를 판독하게 되지만, 이 판독을 종료하면, 시퀀서(232)에 대하여 준비 상태에 있는 것을 통지하고, 내부 버퍼(202)에 판독한 데이터의 송신을 통지한다.During the release of the right to use this CPU bus 27, the internal controller 201 of the flash memory 20 reads data from the flash memory cell 200 to the internal buffer 202, but when this reading is finished, the sequencer 232 is notified that the device is in the ready state, and the internal buffer 202 is notified of the transmission of the read data.
다음으로 시퀀서(232)는 단계 4에서, CPU 버스(27)의 사용권을 해방하면, 다음 단계 5에서 플래시 메모리(20)로부터 준비 상태가 통지되는 것을 대기하고, 준비 상태가 통지되면 단계 6으로 진행하여, 다시 CPU 버스(27)의 사용권을 취득한다.Next, when the sequencer 232 releases the license of the CPU bus 27 in step 4, it waits for the ready state to be notified from the flash memory 20 in the next step 5, and proceeds to step 6 if the ready state is notified. Then, the usage right of the CPU bus 27 is acquired again.
다음 단계 7에서 플래시 메모리(20)로부터 송신되는 데이터를 수취하고, 계속되는 단계 8에서 CPU 버스(27)의 사용권을 해방한다. 그리고, 마지막 단계 9에서 종료 표시 레지스터(234)에 처리 종료의 플래그를 세트하여 처리를 종료한다.In step 7, data transmitted from the flash memory 20 is received, and in step 8, the right to use the CPU bus 27 is released. Then, in the final step 9, the end of processing register is set in the end display register 234 to end the processing.
이와 같이, 본 발명에 따르는 경우, 시퀀서(232)는 데이터 판독을 종결하는 플래시 메모리(20)로부터의 데이터 판독 처리에 대응하여, 데이터 판독이 완료하기까지의 기간 동안 CPU 버스(27)의 사용권을 계속해서 유지하는 구성을 취하는 것이 아니라, 플래시 메모리(20)가 내부 처리에 들어감으로써 사용 상태가 될 때에는 CPU 버스(27)의 사용권을 일시적으로 해방하고, 그 내부 처리가 종료함으로써 준비 상태가 될 때, 다시 CPU 버스(27)의 사용권을 취득하여 데이터를 수취하는 구성을 취한다.As described above, in accordance with the present invention, the sequencer 232 corresponds to the data read processing from the flash memory 20 which terminates the data read, and thus the right of use of the CPU bus 27 for the period until the data read is completed. When the flash memory 20 enters an internal process and enters an internal state instead of being held continuously, when the flash memory 20 enters an internal state, the license of the CPU bus 27 is temporarily released, and when the internal process ends, it becomes a ready state. Then, a configuration in which the right to use the CPU bus 27 is acquired to receive data is obtained.
이에 따라, 플래시 메모리(20)가 사용 상태가 될 때에는 CPU 버스(27)의 사용권이 CPU(21)에 이르고, 이후로 CPU(21)는 이 동안에 CPU 버스(27)를 사용하는 별도의 처리를 실행할 수 있게 된다.Accordingly, when the flash memory 20 is in the use state, the right of use of the CPU bus 27 reaches the CPU 21, and the CPU 21 then performs a separate process of using the CPU bus 27 during this time. You can run it.
또한, 시퀀서(232)는 CPU(21)로부터 데이터를 소거하는 액세스 지시를 수취하면, 데이터 소거의 경로 처리에 들어가, 도 9의 처리 플로우 형식으로 도시하는 바와 같이, 우선 최초의 단계 1에서 CPU 버스(27)의 사용권을 취득한다. 다음 단계 2에서 플래시 메모리(20)에 대하여, 데이터의 소거의 플래시 명령을 송신한다.In addition, when the sequencer 232 receives an access instruction for erasing data from the CPU 21, the sequencer 232 enters a data erasing path process, and as shown in the processing flow form of FIG. 9, first, in the first step 1, the CPU bus. Obtain the right to use (27). In the next step 2, the flash command for erasing data is transmitted to the flash memory 20.
이 데이터의 소거의 플래시 명령을 수취하여, 명령의 대기 상태에 있는 플래시 메모리(20)의 내부 콘트롤러(201)는 플래시 메모리 셀(200)에 기록되어 있는 지정의 데이터를 소거하는 처리를 하여 시퀀서(232)에 대하여 사용 상태에 있는 것을 통지하여 온다.Receiving the flash command for erasing this data, the internal controller 201 of the flash memory 20 in the standby state of the command performs a process of erasing the specified data recorded in the flash memory cell 200 and performing the sequencer ( 232) is notified that it is in use.
다음으로 시퀀서(232)는 단계 2에서, 데이터의 소거의 플래시 명령을 송신하면, 다음 단계 3에서 플래시 메모리(20)로부터 사용 상태가 통지되어 오는 것을 기다리고, 사용 상태가 통지되어 오면 단계 4로 진행하여, CPU 버스(27)의 사용권을 일시적으로 해방한다.Next, when the sequencer 232 transmits the flash command for erasing data in step 2, the sequencer 232 waits for the usage status to be notified from the flash memory 20 in the next stage 3, and proceeds to step 4 if the usage status is notified. In this way, the right to use the CPU bus 27 is temporarily released.
이 CPU 버스(27)의 사용권의 해방 중에, 플래시 메모리(20)의 내부 콘트롤러(201)는 플래시 메모리 셀(200)에 기록되어 있는 지정 데이터를 소거하는 것이 되지만, 이 소거를 종료하면 시퀀서(232)에 대하여 준비 상태에 있는 것을 통지해 온다.During the release of the right to use the CPU bus 27, the internal controller 201 of the flash memory 20 erases the designated data recorded in the flash memory cell 200, but when the erasing is completed, the sequencer 232 is terminated. You are notified that you are in the ready state.
다음으로 시퀀서(232)는 단계 4에서 CPU 버스(27)의 사용권을 해방하면, 다음 단계 5에서 플래시 메모리(20)로부터 준비 상태가 통지되어 오는 것을 대기하고, 준비 상태가 통지되어 오면 단계 6으로 진행하여, 다시 CPU 버스(27)의 사용권을 취득하고, 다음 단계 7에서 상태 취득의 플래시 명령을 플래시 메모리(20)에 송신한다.Next, when the sequencer 232 releases the use of the CPU bus 27 in step 4, it waits for the ready status to be notified from the flash memory 20 in the next step 5, and if the ready status is notified, the process proceeds to step 6. It proceeds and acquires the usage right of the CPU bus 27 again, and transmits the flash command of a state acquisition to the flash memory 20 in next step 7.
이 상태 취득의 플래시 명령을 받아, 명령의 대기 상태에 있는 플래시 메모리(20)의 내부 콘트롤러(201)는 시퀀서(232)에 대한 플래시 메모리 셀(200)에 기록되어 있는 데이터의 소거가 성공하였는지 여부의 상태를 통지해 온다.Receiving the flash command of this state acquisition, the internal controller 201 of the flash memory 20 which is in the standby state of the command determines whether the erasure of data recorded in the flash memory cell 200 with respect to the sequencer 232 was successful. Notifies the status of
다음으로 단계 7에서, 상태 취득의 플래시 명령을 송신하면, 다음 단계 8에서 플래시 메모리(20)로부터 들어오는 상태를 취득하고, 다음 단계 9에서 CPU 버스(27)의 사용권을 해방한다. 그리고, 마지막 단계 10에서, 종료 표시 레지스터(234)에 처리 종료의 플래그를 세트하여 처리를 종료한다.Next, in step 7, when the flash command for state acquisition is sent, the state coming from the flash memory 20 is acquired in the next step 8, and the right to use the CPU bus 27 is released in the next step 9. Then, in the last step 10, the end of the processing is terminated by setting a flag for processing termination in the end display register 234.
이와 같이, 본 발명에 따르는 경우, 시퀀서(232)는 상태의 취득으로 종결하는 플래시 메모리(20)의 데이터의 소거 처리에 대응하여, 상태의 취득이 완료하기까지의 사이 CPU 버스(27)의 사용권을 계속 유지하는 구성을 취하는 것은 아니며, 플래시 메모리(20)가 내부 처리에 들어감으로써 사용 상태가 될 때에는 CPU 버스(27)의 사용권을 일시적으로 해방하고, 그 내부 처리를 종료함으로써 플래시 메모리(20)가 준비 상태가 될 때, 다시 CPU 버스(27)의 사용권을 취득하여 상태를 취득하여 가는 구성을 취한다.As described above, according to the present invention, the sequencer 232 corresponds to the data erasing process of the flash memory 20 terminated by the acquisition of the state, and the right to use the CPU bus 27 until the acquisition of the state is completed. It does not take a configuration to keep the < Desc / Clms Page number 5 > When is in the ready state, the usage right of the CPU bus 27 is acquired again and the state is acquired.
이에 따라, 플래시 메모리(20)가 사용 상태가 될 때에는 CPU 버스(27)의 사용권이 CPU(21)에 이르고, 이후 CPU(21)는 그 동안 CPU 버스(27)를 사용하는 별도의 처리를 실행할 수 있게 된다.Accordingly, when the flash memory 20 is in the use state, the usage right of the CPU bus 27 reaches the CPU 21, and then the CPU 21 executes separate processing using the CPU bus 27 during that time. It becomes possible.
도 7의 처리 플로우 형식에서는 단계 4에서 기입의 플래시 명령을 송신한 후, 다음 단계 5에서 플래시 메모리(20)로부터 사용 상태가 통지되어 오는 것을 대기하여 사용 상태가 통지되어 올 때, 단계 6에서 CPU 버스(27)의 사용권을 해방하는 구성을 취하였지만, 기입의 플래시 명령을 송신하면, 플래시 메모리(20)가 내부 처리에 들어감으로써 사용 상태로 이행하는 것을 알 수 있으므로, 이 단계 5의 처리를 생략하고, 도 10의 처리 플로우 형식으로 도시하는 바와 같이, 단계 4에서 기입의 플래시 명령을 송신한 후, 즉시 단계 6으로 진행하여 CPU 버스(27)의 사용권을 해방하는 구성을 취하는 것이 가능하다.In the processing flow format of FIG. 7, the CPU in step 6 when the write state is sent in step 4, then waits for the use state to be notified from flash memory 20 in step 5, and the use state is notified. Although the configuration of releasing the right to use the bus 27 is taken, when the flash command for writing is sent, it is understood that the flash memory 20 enters the internal state by entering the internal processing, and thus the processing of step 5 is omitted. As shown in the processing flow form of FIG. 10, after sending the write flash command in step 4, it is possible to immediately proceed to step 6 to take the configuration of releasing the right to use the CPU bus 27. FIG.
또한, 도 8의 처리 플로우 형식에서는 단계 2에서 판독의 플래시 명령을 송신한 후, 다음 단계 3에서 플래시 메모리(20)로부터 사용 상태가 통지되어 오는 것을 대기하여, 사용 상태가 통지되어 올 때 단계 4에서 CPU 버스(27)의 사용권을 해방하는 구성을 취하였지만, 판독의 플래시 명령을 송신하면 플래시 메모리(20)가 내부 처리에 들어감으로써 사용 상태에 이행하는 것을 알 수 있으므로, 이 단계 3의 처리를 생략하고, 도 11의 처리 플로우 형식으로 도시하는 바와 같이, 단계 2에서 기입의 플래시 명령을 송신한 후, 즉시 단계 4로 진행하여 CPU 버스(27)의 사용권을 해방하는 구성을 취하는 것이 가능하다.In addition, in the processing flow form of FIG. 8, after transmitting the flash command of reading in step 2, waiting for the use state to be notified from the flash memory 20 in the next step 3, and when the use state is notified, step 4 In the above example, the CPU bus 27 is freed from use. However, when the flash command for reading is sent, the flash memory 20 enters the internal processing, thereby transitioning to the use state. It is possible to omit and to proceed to step 4 immediately after transmitting the write flash command in step 2, as shown in the processing flow form of FIG. 11, to take the configuration of releasing the right to use the CPU bus 27.
또한 도 9의 처리 플로우 형식에서는, 단계 2에서 소거의 플래시 명령을 송신한 후, 다음 단계 3에서 플래시 메모리(20)로부터 사용 상태가 통지되어 오는 것을 대기하고, 사용 상태가 통지되어 올 때 단계 4에서 CPU 버스(27)의 사용권을 해방한다고 하는 구성을 취하였지만, 소거의 플래시 명령을 송신하면 플래시 메모리(20)가 내부 처리에 들어감으로써 사용 상태로 이행하는 것을 알 수 있기 때문에, 이 단계 3의 처리를 생략하고 도 12의 처리 플로우 형식으로 도시하는 바와 같이, 단계 2에서 소거의 플래시 명령을 송신한 후 즉시 단계 4로 진행하여, CPU 버스(27)의 사용권을 해방한다고 하는 구성을 취하는 것이 가능하다.In the processing flow form of Fig. 9, after the flash command for erasing is sent in step 2, the next step 3 waits for the usage state to be notified from the flash memory 20, and when the usage state is notified, step 4 Has been configured to release the right to use the CPU bus 27, but since the flash memory 20 enters the internal processing when the flash command for erasing is transmitted, it is understood that the state of the CPU bus 27 is transferred to the use state. As shown in the processing flow form in FIG. 12, the processing is omitted, and after the erase flash command is transmitted in step 2, the flow proceeds to step 4 immediately, whereby the configuration of releasing the license of the CPU bus 27 can be taken. Do.
도 10 내지 도 12의 처리 플로우 형식에 따른 구성을 채용하면, 플래시 콘트롤러(23)는 불필요한 CPU 버스(27)의 사용권을 즉시 해방할 수 있으므로, CPU 버스(27)의 사용권에 대한 효율적인 운용이 실현된다.By adopting the configuration according to the processing flow format of FIGS. 10 to 12, the flash controller 23 can immediately release the unnecessary usage rights of the CPU bus 27, so that efficient operation of the usage rights of the CPU bus 27 is realized. do.
도 13은 도 9의 처리 플로우 형식에 따르는 경우의 타임 챠트를 도시하고, 도 14는 도 12의 처리 플로우 형식에 따르는 경우의 타임 챠트를 도시한다.FIG. 13 shows a time chart in the case of following the processing flow format of FIG. 9, and FIG. 14 shows a time chart in the case following the processing flow format of FIG.
도면 중, XBREQ는 플래시 콘트롤러(23)가 송신하는 CPU 버스(27)의 사용권 요구를 나타내고, XBACK는 CPU 버스(27)의 사용권 요구에 대한 CPU(21)의 허가 신호를 나타내며, XFCE는 이네이블화하는 플래시 메모리(20)의 칩 번호를 나타내고, XFWP는 플래시 메모리(20)의 라이트 프로텍트의 해제 신호를 나타내며, FCLE는 플래시 명령의 동기 신호가 되는 명령 래치 이네이블 신호를 나타내고, FALE는 소거 어드레스의 동기 신호가 되는 어드레스 래치이네이블 신호를 나타내며, XFRE는 플래시 메모리(20)의 리드 이네이블 신호를 나타내고, XFWE는 플래시 메모리(20)의 라이트 이네이블 신호를 나타내며, XFBSY는 플래시 메모리(20)의 준비/사용 신호를 나타내고, CD는 플래시 메모리(20)에 대하여 송신되는 플래시 명령을 나타내며, COMPL은 처리 종료 신호를 나타내고 있다.In the figure, XBREQ represents a license request of the CPU bus 27 transmitted by the flash controller 23, XBACK represents a permission signal of the CPU 21 to the license request of the CPU bus 27, and XFCE is enabled. Represents the chip number of the flash memory 20 to be converted, XFWP represents the release signal of the write protect of the flash memory 20, FCLE represents an instruction latch enable signal which becomes a synchronization signal of the flash command, and FALE represents an erase address. Indicates an address latch enable signal that is a synchronization signal of XFRE, XFRE indicates a read enable signal of flash memory 20, XFWE indicates a write enable signal of flash memory 20, and XFBSY indicates a flash enable signal of flash memory 20. A ready / use signal is shown, CD represents a flash command transmitted to the flash memory 20, and COMPL represents a processing end signal.
또한, ①은 소거의 플래시 명령(제1 코드)을 나타내고, ②는 소거 전의 어드레스(제1 코드)를 나타내며, ③은 소거전의 어드레스(제2 코드)를 나타내고, ④는 소거의 플래시 명령(제2 코드)과 상태 취득의 플래시 명령을 나타내고, ⑤는 상태를 나타내고 있다.In addition, ① denotes an erase flash command (first code), ② denotes an address before erasing (first code), ③ denotes an address before erasing (second code), and ④ denotes an erase flash instruction (first code). 2 code) and flash command for status acquisition, and (5) indicates status.
도 13 및 도 14의 타임 챠트로부터 알 수 있는 바와 같이, 도 9의 처리 플로우 형식에 따르는 경우에는 소거의 플래시 명령의 송신에 응답하여 플래시 메모리(20)가 내부 처리에 들어감으로써 사용 상태로 이행하는 것을 검출하면, CPU 버스(27)의 사용권을 해방하도록 처리하는 구성을 취하는 데 대하여, 도 10의 처리 플로우 형식에 따르는 경우에는 소거의 플래시 명령을 송신할 때, 그 송신과 동기를 취하여 즉시 CPU 버스(27)의 사용권을 해방하도록 처리하는 구성을 취하게 된다.As can be seen from the time charts of Figs. 13 and 14, when the processing flow format of Fig. 9 is followed, the flash memory 20 enters the internal processing in response to the transmission of the flash command for erasing, thereby transitioning to the use state. If it is detected, the processing to release the right of use of the CPU bus 27 is taken. However, in the case of following the processing flow form of FIG. A configuration for processing to release the right of use (27) is taken.
전술한 바와 같이, 플래시 메모리(20)의 내부 콘트롤러(201)는 플래시 콘트롤러(23)의 송신하는 명령에 응답하여, 플래시 메모리 셀(200)의 데이터를 소거하고 있는 동안과, 내부 버퍼(202)로부터 플래시 메모리 셀(200)에 데이터를 기록하고 있는 동안과, 플래시 메모리 셀(200)로부터 내부 버퍼(202)에 데이터를 판독하고 있는 동안은 플래시 콘트롤러(23)에 대하여 사용 상태를 통지하는 처리를 한다.As described above, the internal controller 201 of the flash memory 20 erases data of the flash memory cell 200 in response to a command transmitted by the flash controller 23, and the internal buffer 202. Processing of notifying the flash controller 23 of the usage status while data is being written from the flash memory cell 200 to the internal buffer 202 while data is being written from the flash memory cell 200. do.
이 플래시 메모리(20)의 특성을 사용하여, 플래시 메모리(20)가 실제로 탑재 되어 있는지 여부와, 탑재 되어 있는 플래시 메모리(20)가 고장인지 여부를 간단히 검사할 수 있게 된다.By using the characteristics of the flash memory 20, it is possible to easily check whether the flash memory 20 is actually mounted and whether the mounted flash memory 20 is broken.
도 15 및 도 16은 이 검사 처리를 실현하기 위해서 CPU(21)가 실행하는 처리 플로우의 하나의 실시예를 도시한다.15 and 16 show one embodiment of the processing flow executed by the CPU 21 to realize this inspection processing.
CPU(21)는 메모리 카드(1a)가 기동되면, ROM(22)에 전개되는 검사 프로그램의 실행에 들어가고, 도 15 및 도 16의 처리 플로우에 도시하는 바와 같이, 우선 먼저 단계 1에서 선두의 플래시 메모리(20)에 기록되는 플래시 메모리(20)의 개수등의 정보를 기록하는 구성 정보를 판독한다. 전술한 바와 같이, 선두의 플래시 메모리(20)에는 탑재 되는 플래시 메모리(20)의 개수 등의 구성 정보가 기록되어 있기 때문에, 우선 먼저 이 구성 정보를 판독하는 것이다.When the memory card 1a is activated, the CPU 21 enters into execution of the inspection program developed in the ROM 22, and as shown in the processing flows of Figs. Configuration information for recording information such as the number of flash memories 20 recorded in the memory 20 is read. As described above, since the configuration information such as the number of flash memories 20 to be mounted is recorded in the head flash memory 20, first, the configuration information is read first.
다음 단계 2에서 단계 1의 처리에 따라서 선두의 플래시 메모리(20)로부터 구성 정보를 판독시켰는지의 여부를 판단하고, 판독시키지 않은 것을 판단하였을 때에는 선두의 플래시 메모리(20)에 이상(탑재되어 있지 않거나 고장임)이 있음으로 판단하고, 단계 8로 진행하여 시스템 이상을 기록하여 처리를 종료한다.In the next step 2, it is judged whether or not the configuration information has been read from the head flash memory 20 in accordance with the process of step 1, and when it is determined that it is not read, the head flash memory 20 is abnormal (not loaded). Or failure), the process proceeds to step 8 to record the system abnormality to terminate the processing.
도 2에서는 설명하지 않았지만, 도 17에 도시하는 바와 같이, 호스트 콘트롤러(24)에는 메모리 카드(1a)의 상태를 퍼스널 컴퓨터(2a)에 통지하기 위해, 퍼스널 컴퓨터(2a)에서 액세스 가능하게 되는 시스템 상태 레지스터(24)가 준비 되어 있다. 다음으로 CPU(21)는 단계 2에서 선두의 플래시 메모리(20)에 이상이 있다고 판단할 때에는 그 이상을 퍼스널 컴퓨터(2a)에 통지하기 위해, 이 시스템 상태 레지스터(24)에 시스템 이상을 기록하여 처리를 종료한다.Although not described in FIG. 2, as shown in FIG. 17, the host controller 24 is accessible by the personal computer 2a to notify the personal computer 2a of the state of the memory card 1a. The status register 24 is prepared. Next, when the CPU 21 determines that the head flash memory 20 has an error in step 2, the system 21 records a system error in the system status register 24 to notify the personal computer 2a of the error. The process ends.
한편, 단계 2에서 선두의 플래시 메모리(20)로부터 구성 정보를 판독할 수 있는 것을 판단할 때에는 단계 3으로 진행하고, 플래시 메모리(20)의 칩 번호를 나타내는 변수 i에 선두의 다음 플래시 메모리(20)의 칩 번호를 나타내는 “1”을 세트한다.On the other hand, when it is determined in step 2 that the configuration information can be read out from the head flash memory 20, the process proceeds to step 3, where the head next flash memory 20 is assigned to the variable i representing the chip number of the flash memory 20. Is set to "1" indicating the chip number.
다음 단계 4에서 변수 i가 가리키는 칩번호의 플래시 메모리(20)에 대하여 리드 명령을 송신한다.In the next step 4, a read command is transmitted to the flash memory 20 of the chip number indicated by the variable i.
도 2에서는 설명하지 않았지만, 도 17에 도시하는 바와 같이, 플래시 콘트롤러(23)의 시퀀서(232)에는 각 플래시 메모리(20)의 상태 정보를 유지하는 플래시 상태 레지스터(2320)(도 4에 나타내는 종료 표시 레지스터(234)도 이것에 포함된다)가 준비되어 있고, 시퀀서(232)는 CPU(21)로부터의 지시에 응답하여 플래시 메모리(20)에 리드 명령을 송신한 후에, 그 플래시 메모리(20)가 사용 상태로 이행하면, 그것을 검출하고 이 플래시 상태 레지스터(2320)에 그 취지를 기록하는 처리를 한다.Although not described in FIG. 2, as shown in FIG. 17, the sequencer 232 of the flash controller 23 includes a flash state register 2320 (the end shown in FIG. 4) which holds state information of each flash memory 20. Display register 234 is also included therein). After the sequencer 232 transmits a read command to the flash memory 20 in response to an instruction from the CPU 21, the flash memory 20 When is shifted to the use state, it detects it and writes to the flash state register 2320 the effect.
다음으로 단계 4에서 변수 i가 가리키는 칩 번호의 플래시 메모리(20)에 대하여 리드 명령을 송신하면, 다음 단계 5에서 시퀀서(232)가 구비하는 플래시 상태 레지스터(2320)를 참조함으로써 그 플래시 메모리(20)의 상태를 체크한다.Next, when the read command is transmitted to the flash memory 20 of the chip number indicated by the variable i in step 4, the flash memory 20 is referred to in step 5 by referring to the flash status register 2320 provided by the sequencer 232. Check the status of).
다음 단계 6에서 단계 5에서의 체크 처리에 따라서, 변수 i가 가리키는 번호의 플래시 메모리(20)가 사용 상태로 이행하였는지 여부를 판단하고, 사용 상태로 이행하지 않은 것으로 판단할 때에는 단계 7로 진행하고, 리드 명령의 송신으로부터 규정 시간이 경과하였는지 여부를 판단한다.Next, in accordance with the check processing in step 6 to step 5, it is determined whether the flash memory 20 of the number indicated by the variable i has shifted to the use state, and when it is determined that it has not shifted to the use state, the process proceeds to step 7 It is determined whether the prescribed time has elapsed from the transmission of the read command.
이 단계 7의 처리에 따라서, 리드 명령의 송신으로부터 규정 시간이 경과하지 않은 것으로 판단할 때에는 단계 5로 되돌아가고, 플래시 메모리(20)가 사용 상태로 이행하였는지 여부의 체크 처리를 속행하여, 규정 시간이 경과한 것을 판단할 때에는 단계 8로 진행하여, 호스트 콘트롤러(24)가 구비하는 시스템 상태 레지스터(24)에 시스템 이상을 기록하여 처리를 종료한다.When it is determined that the prescribed time has not elapsed from the transmission of the read command in accordance with the process of step 7, the process returns to step 5, and the check process of whether the flash memory 20 has shifted to the use state is continued, and the specified time is passed. When it is determined that the elapsed time has passed, the process proceeds to step 8, where the system error is recorded in the system status register 24 included in the host controller 24, and the processing ends.
이렇게하여, 리드 명령의 송신으로부터 규정 시간이 경과하더라도, 변수 i가 가리키는 칩 번호의 플래시 메모리(20)가 사용 상태로 이행하지 않은 것을 검출할 때에는 그 플래시 메모리(20)에 이상(탑재되어 있지 않거나 고장임)이 있다고 판단하고, 단계 8로 진행하여 시스템 이상을 기록하여 처리를 종료하는 것이다.In this way, even if the prescribed time elapses from the transmission of the read command, when detecting that the flash memory 20 of the chip number indicated by the variable i has not moved to the use state, the flash memory 20 is abnormal (not mounted). Failure), the process proceeds to step 8 to record the system abnormality to terminate the processing.
한편, 단계 6에서 리드 명령의 송신에 응답하여 플래시 메모리(20)가 사용 상태로 이행한 것을 판단할 때에는 단계 9(도 16의 처리 플로우)로 진행하여, 변수 i의 값을 1개 증분하고, 다음 단계 10에서 그 증분한 변수 i의 값이 단계 1에서 취득한 구성 정보로 지정되는 칩수를 넘었는지 여부를 판단하여, 넘지 않았다고 판단할 때에는 단계 4로 되돌아가고, 다음 플래시 메모리(20)에 대하여 리드 명령을 송신하고, 넘었다고 판단할 때에는 단계 11로 진행하여 호스트 콘트롤러(24)가 구비하는 시스템 상태 레지스터(24)에 시스템 정상을 기록하여, 처리를 종료한다.On the other hand, when it is determined in step 6 that the flash memory 20 has moved to the use state in response to the transmission of the read command, the process proceeds to step 9 (process flow in FIG. 16), in which the value of the variable i is incremented by one, In the next step 10, it is determined whether or not the value of the incremented variable i has exceeded the number of chips specified by the configuration information acquired in step 1, and when it is determined that the value is not exceeded, the process returns to step 4 and reads to the next flash memory 20. When it is judged that the command has been sent and has passed, the process proceeds to step 11, where the system normal is recorded in the system status register 24 provided in the host controller 24, and the process ends.
즉, CPU(21)는 메모리 카드(1a)가 기동되면, 도 18의 타임 챠트에 도시하는 바와 같이, 플래시 콘트롤러(23)를 통해, 칩 이네이블 신호(XFCE)로 검사 대상의 플래시 메모리(20)를 이네이블화한 후, 우선 먼저 래치 이네이블 신호(FCLE)와 라이트 이네이블 신호(XFWE)와 동기하고, 검사 대상의 플래시 메모리(20)에 리드 명령 “00H”를 송신하고, 계속해서 어드레스 래치 신호(FALE)와 라이트 이네이블 신호(XFWE)에 동기하여, 검사 대상의 플래시 메모리(20)에 리드 어드레스 신호 “A0-7, A8-16, A17-23”를 송신하고, 이들의 송신에 응답하여, 검사 대상의 플래시 메모리(20)가 내부 처리(리드 데이터를 플래시 메모리 셀(200)로부터 내부 버퍼(202)에 판독하는 처리)에 들어감으로써 사용 상태로 이행할 때에는 그 플래시 메모리(20)가 동작 가능하다고 판단하는 것이다.That is, when the memory card 1a is activated, the CPU 21 flashes the inspection target flash memory 20 with the chip enable signal XFCE via the flash controller 23 as shown in the time chart of FIG. 18. ), First, in synchronization with the latch enable signal FCLE and the write enable signal XFWE, the read command “00H” is transmitted to the flash memory 20 to be inspected, and then the address is continued. In synchronization with the latch signal FALE and the write enable signal XFWE, the read address signals "A0-7, A8-16, A17-23" are transmitted to the flash memory 20 to be inspected, and these transmissions are transmitted. In response, when the flash memory 20 to be inspected enters the internal processing (the process of reading the read data from the flash memory cell 200 into the internal buffer 202), the flash memory 20 enters into the use state. Is to determine that the operation is possible.
또, 도 2에서는 설명하지 않았지만, 도 17에 도시하는 바와 같이, 플래시 콘트롤러(23)에는 CPU(21)의 송신하는 어드레스나 명령 또는 칩 번호 등을 유지하는 레지스터군(235)(도 4에 나타내는 명령 레지스터(230)도 이것에 포함됨)이 준비되고, 플래시 메모리(20)의 내부 콘트롤러(201)에는 플래시 콘트롤러(23)가 송신하는 어드레스나 명령 등을 유지하는 레지스터군(2010)이 준비되어 있고, CPU(21)가 송신하는 리드 명령 “00H”는 플래시 콘트롤러(23)의 레지스터군(235)에 기록된 후, 플래시 콘트롤러(23)의 지시에 따라 플래시 메모리(20)의 레지스터군(2010)에 기록되게 된다.Although not described in FIG. 2, as shown in FIG. 17, the flash controller 23 includes a register group 235 (shown in FIG. 4) that holds an address, an instruction, a chip number, or the like transmitted by the CPU 21. The command register 230 is also included therein), and in the internal controller 201 of the flash memory 20, a register group 2010 for holding an address, a command, and the like transmitted by the flash controller 23 is prepared. The read command " 00H " sent by the CPU 21 is recorded in the register group 235 of the flash controller 23, and then according to the instruction of the flash controller 23, the register group 2010 of the flash memory 20. Will be written to
이렇게 하여, CPU(21)는 메모리 카드(1a)가 기동되면, 도 15 및 도 16의 처리 플로우를 실행함으로써 플래시 메모리(20)에 대하여 리드 명령을 송신하고, 이 리드 명령의 송신에 응답하여 플래시 메모리(20)가 사용 상태로 이행하는지 여부를체크하여, 사용 상태로 이행하지 않은 플래시 메모리(20)가 존재할 때에는 호스트 콘트롤러(24)의 시스템 상태 레지스터(24)에 시스템 이상을 기록하고, 모든 플래시 메모리(20)가 사용 상태로 이행할 때에는 호스트 콘트롤러(24)의 시스템 상태 레지스터(24)에 시스템 정상을 기록함으로써 퍼스널 컴퓨터(2a)에 대하여, 탑재되는 플래시 메모리(20)의 동작 가능의 여부를 통지하도록 처리하는 것이다. 여기서, 이 검사 처리를 실행하는 데에 있어서, 리드 명령을 송신하는 구성을 채용한 것은 라이트 명령을 송신하면, 원래의 처리에 관계가 없는 데이터가 플래시 메모리(20)에 기록되어 버리기 때문이고, 또한 소거 명령을 송신하면 플래시 메모리(20)로부터 데이터가 소거되기 때문이지만, 그와 같은 것이 발생하더라도 오류가 발생하지 않을 때에는 리드 명령 대신에 라이트 명령과 소거 명령을 송신하는 구성을 취하는 것으로도 가능하다.In this way, when the memory card 1a is activated, the CPU 21 transmits a read command to the flash memory 20 by executing the processing flows of FIGS. 15 and 16, and flashes in response to the transmission of the read command. Checks whether the memory 20 transitions to the use state, and when there is a flash memory 20 that does not enter the use state, writes the system error to the system status register 24 of the host controller 24, and all flashes. When the memory 20 transitions to the use state, the system state is recorded in the system status register 24 of the host controller 24 to determine whether the mounted flash memory 20 can be operated on the personal computer 2a. It is processing to notify. Here, in the execution of this inspection process, the configuration in which the read command is transmitted is adopted because, when the write command is transmitted, data irrespective of the original process is recorded in the flash memory 20, and This is because the data is erased from the flash memory 20 when the erase command is transmitted. However, when an error does not occur even when such an occurrence occurs, it is also possible to take a configuration in which the write command and the erase command are transmitted instead of the read command.
도 15 및 도 16의 처리 플로우에서는 리드 명령의 송신에 응답하여 플래시 메모리(20)가 사용 상태로 이행하는 것을 검출하면, 즉시 리드 명령 송신지의 플래시 메모리(20)가 정상이라고 판단하는 구성을 취하였지만, 그 플래시 메모리(20)가 다시 준비 상태로 이행하는 것을 확인하고 나서 정상이라고 판단하는 구성을 취하는 것도 가능하다.In the processing flows of Figs. 15 and 16, when the flash memory 20 detects the transition to the use state in response to the transmission of the read command, the configuration is immediately determined that the flash memory 20 at the destination of the read command is normal. It is also possible to take a configuration in which the flash memory 20 is judged to be normal after confirming that the flash memory 20 moves to the ready state again.
이 구성을 취할 때에는 CPU(21)는 도 16의 처리 플로우 대신에 도 19의 처리 플로우를 실행한다.In taking this configuration, the CPU 21 executes the processing flow of FIG. 19 instead of the processing flow of FIG. 16.
즉, 도 15의 처리 플로우의 단계 6에서 리드 명령의 송신에 응답하여 플래시 메모리(20)가 사용 상태로 이행한 것을 판단할 때에는 도 19의 처리 플로우에 도시하는 바와 같이, 단계 9에서 시퀀서(232)가 구비하는 플래시 상태 레지스터(2320)를 참조함으로써 그 플래시 메모리(20)의 상태를 체크한다.That is, when it is determined in step 6 of the processing flow of FIG. 15 that the flash memory 20 has transitioned to the use state in response to the transmission of the read command, the sequencer 232 in step 9 as shown in the processing flow of FIG. 19. The state of the flash memory 20 is checked by referring to the flash state register 2320 included in.
다음으로, 단계 10에서는 단계 9에서의 체크 처리에 따라서, 변수 i가 가리키는 칩 번호의 플래시 메모리(20)가 준비 상태로 이행하였는지 여부를 판단하고, 준비 상태로 이행하지 않은 것으로 판단할 때에는 단계 11로 진행하여, 사용 상태로 이행하고 나서 규정 시간이 경과하였는지 여부를 판단한다.Next, in step 10, in accordance with the check processing in step 9, it is determined whether the flash memory 20 of the chip number indicated by the variable i has shifted to the ready state, and if it is determined that it has not shifted to the ready state, step 11 It proceeds to and determines whether the prescribed time has elapsed since the transition to the use state.
이 단계 11의 처리에 따라서, 사용 상태로 이행하고 나서 규정 시간이 경과하지 않은 것을 판단할 때에는 단계 9로 되돌아가고, 플래시 메모리(20)가 준비 상태로 이행하였는지 여부의 체크 처리를 속행하여, 규정 시간이 경과한 것으로 판단할 때에는 단계 12로 진행하고, 호스트 콘트롤러(24)가 구비하는 시스템 상태 레지스터(24)에 시스템 이상을 기록하고 처리를 종료한다.According to the process of step 11, when it is determined that the prescribed time has not elapsed since the transition to the use state, the process returns to step 9, and the check processing of whether the flash memory 20 has shifted to the ready state is continued and prescribed. When it is determined that the time has elapsed, the process proceeds to step 12, where the system error is recorded in the system status register 24 included in the host controller 24, and the processing ends.
한편, 단계 10에서 플래시 메모리(20)가 준비 상태로 이행한 것으로 판단할 때에는 단계 13으로 진행하고, 변수 i의 값을 1개 증분하여, 다음 단계 14에서 그 증분한 변수 i의 값이 도 15의 처리 플로우의 단계 1에서 취득한 구성 정보로 지정되는 칩수를 넘었는지의 여부를 판단하고, 넘지 않았다고 판단할 때에는 도 15의 처리 플로우의 단계 4에 되돌아가서, 다음 플래시 메모리(20)에 대하여 리드 명령을 송신하고, 넘었다고 판단할 때에는 단계 15로 진행하여 호스트 콘트롤러(24)가 구비하는 시스템 상태 레지스터(24)에 시스템 정상을 기록하고 처리를 종료한다.On the other hand, if it is determined in step 10 that the flash memory 20 has moved to the ready state, the process proceeds to step 13, in which the value of the variable i is incremented by one, and in step 14, the value of the incremented variable i is shown in FIG. If it is determined whether the number of chips specified by the configuration information acquired in step 1 of the processing flow is exceeded or not, the flow returns to step 4 of the processing flow of FIG. 15 to read the next flash memory 20. If it is determined that the data has been exceeded, the process proceeds to step 15, where the system normal is recorded in the system status register 24 provided in the host controller 24, and the processing ends.
이렇게하여, 도 15 및 도 16의 처리 플로우에서는 리드 명령의 송신에 응답하여 플래시 메모리(20)가 사용 상태로 이행하는 것을 검출하면, 즉시 리드 명령 송신지의 플래시 메모리(20)가 정상이라고 판단하는 구성을 취하지만, CPU(21)는 도 16의 처리 플로우 대신에 도 19의 처리 플로우를 실행함으로써 그 플래시 메모리(20)가 다시 준비 상태로 이행하는 것을 확인하여 정상이라고 판단하도록 처리하게 된다.In this way, in the processing flow of Figs. 15 and 16, if the flash memory 20 detects the transition to the use state in response to the transmission of the read command, it is immediately configured to determine that the flash memory 20 at the destination of the read command is normal. However, the CPU 21 executes the processing flow of FIG. 19 instead of the processing flow of FIG. 16 to confirm that the flash memory 20 transitions to the ready state again, and judges that it is normal.
또한, 도 15 및 도 16의 처리 플로우에서는 1개의 플래시 메모리(20)가 이상인 것을 판단하면, 나머지 플래시 메모리(20)가 정상인지 여부의 체크 처리를 중단하는 구성을 채용하였지만, 나머지의 플래시 메모리(20)의 체크 처리를 속행하는 구성을 취하여, 몇번째의 플래시 메모리(20)가 이상인가를 시스템 상태 레지스터(24)에 기록하는 구성을 채용하는 것으로도 가능하다.Further, in the processing flows of Figs. 15 and 16, when it is determined that one flash memory 20 is abnormal, a configuration of stopping the check processing of whether the remaining flash memory 20 is normal is employed, but the remaining flash memory ( It is also possible to adopt a configuration in which the check processing of 20) is continued, and the configuration in which the number of flash memories 20 is abnormal is written into the system status register 24.
또한, 도 15 및 도 16의 처리 플로우에서는 메모리 카드(1a)가 기동될 때에 검사 처리에 들어가는 구성을 취하였지만, 이에 부가하여 메모리 카드(1a)의 상승 시나, 메모리 카드(1a)에 이상이 발생하여 사용자로부터 되돌아 왔을 때와 같은 별도의 타이밍으로 검사 처리하는 경우도 있다.In addition, although the processing flow of FIG. 15 and FIG. 16 took the structure which enters an inspection process when the memory card 1a is started, in addition, when the memory card 1a rises or an abnormality arises in the memory card 1a, In some cases, the inspection process may be performed at a different timing as when the user returns from the user.
도시된 실시예에 따라서 본 발명을 설명하였지만, 본 발명은 이것에 한정되는 것이 아니다. 예컨대, 실시예에서는 플래시 메모리(20)를 탑재하는 것을 구체예로 들어 본 발명을 설명하였지만, 본 발명은 플래시 메모리(20)에 그 적용이 한정되는 것이 아니라, 메모리 제어의 내부 처리에 들어감으로써 사용 신호를 출력하는 구성을 취하는 내부 처리 기능을 구비한 메모리라면 그대로 적용할 수 있다.Although the present invention has been described in accordance with the illustrated embodiments, the present invention is not limited thereto. For example, in the embodiment, the present invention has been described by taking the mounting of the flash memory 20 as a specific example, but the present invention is not limited to the application of the flash memory 20, but is used by entering into the internal processing of the memory control. Any memory having an internal processing function that takes a configuration of outputting a signal can be applied as it is.
또한, 실시예에서는 메모리 카드(1a)에의 적용을 구체예로 들어 본 발명을 설명하였지만, 본 발명은 메모리 카드(1a)에 그 적용이 한정되는 것이 아니라, 널리 일반적인 메모리 장치에 적용할 수 있다.In the embodiment, the present invention has been described with reference to the application to the memory card 1a as a specific example. However, the present invention is not limited to the memory card 1a, but can be widely applied to a general memory device.
상기 설명한 바와 같이, 본 발명에서는 메모리 제어를 내부 처리하는 기능을 갖는 메모리를 제어 대상으로 하고, 내부 처리 기능을 구비한 메모리와 CPU와 콘트롤러 사이를 공통 버스로 접속하는 구성을 취할 때, 내부 처리 기능을 구비한 메모리가 메모리 제어의 내부 처리에 들어 가면 사용 상태가 된다고 하는 특성에 착안하여, 콘트롤러의 송신하는 명령에 응답하여 내부 처리 기능을 구비한 메모리가 내부 처리에 들어갈 때, 콘트롤러는 취득하고 있는 공통 버스의 사용권을 일시적으로 해방하도록 처리하기 때문에, 쓸데없이 공통 버스의 사용권을 유지하는 일이 없어진다.As described above, in the present invention, when the memory having the function of processing the internal memory is subjected to the control, the internal processing function is adopted when the memory having the internal processing function and the CPU and the controller are connected by a common bus. The controller acquires when the memory having the internal processing function enters the internal processing in response to a command to be sent by the controller, paying attention to the characteristic that the memory having the memory is in use state when it enters the internal processing of the memory control. Since the right to use the common bus is temporarily released, the use of the common bus is unnecessarily maintained.
이에 따라, CPU는 공통 버스를 사용하는 별도의 처리를 실행할 수 있게 되어 공통 버스의 사용권이 효율적인 운용을 실현함으로써 처리 효율의 향상을 실현할 수 있게 된다.As a result, the CPU can execute separate processing using the common bus, thereby realizing the efficient operation of the usage right of the common bus, thereby improving the processing efficiency.
또한, 본 발명에서는 메모리 제어를 내부 처리하는 기능을 갖는 내부 처리 기능을 구비한 메모리를 제어 대상으로 함과 함께, 내부 처리 기능을 구비한 메모리와 CPU와 콘트롤러 사이를 공통 버스로 접속하는 구성을 취할 때, 내부 처리 기능을 구비한 메모리가 메모리 제어의 내부 처리에 들어가면 사용 상태가 된다고 하는 특성에 착안하여, 내부 처리 기능을 구비한 메모리가 사용 상태를 일으키는 명령을 송신할 때에는 콘트롤러는 내부 처리 기능을 구비한 메모리가 사용 상태로 이행하는 것을 확인하지 않고, 즉시 공통 버스의 사용권을 해방하도록 처리하기 때문에, 쓸데없이 공통 버스의 사용권을 유지하는 일이 없어진다.In addition, the present invention has a configuration in which a memory having an internal processing function having a function of internal processing of memory control is controlled, and a memory is connected to a CPU having an internal processing function, and a controller is connected to a common bus. At this time, paying attention to the characteristic that a memory having an internal processing function enters a used state when it enters the internal processing of memory control, when the memory having an internal processing function transmits a command causing a use state, the controller executes the internal processing function. The processing is performed to immediately release the common bus without confirming that the provided memory is shifted to the use state, thereby eliminating the need to use the common bus unnecessarily.
이에 따라, CPU는 공통 버스를 사용하는 별도의 처리를 실행할 수 있게 되어, 공통 버스의 사용권이 효율적인 운용을 실현함으로써 처리 효율의 향상을 실현할 수 있게 된다.As a result, the CPU can execute separate processing using the common bus, thereby realizing the efficient operation of the usage right of the common bus, thereby improving the processing efficiency.
그리고, 본 발명에서는 메모리 제어를 내부 처리하는 기능을 갖는 내부 처리 기능을 구비한 메모리가 명령을 수취하면, 메모리 제어의 내부 처리에 들어감으로써 사용 상태가 된다고 하는 특성을 이용하여, 탑재되어 있을 내부 처리 기능을 구비한 메모리에 명령을 송신하고, 이에 응답하여 내부 처리 기능을 구비한 메모리가 사용 상태로 이행하는지 여부를 체크(또한, 준비 상태로 이행하는지 여부를 체크하는 일도 있음)함으로써 내부 처리 기능을 구비한 메모리가 실제로 탑재되어 있는 지 여부와, 탑재되어 있는 내부 처리 기능을 구비한 메모리가 고장인지를 검사하는 구성을 취하기 때문에, 내부 처리 기능을 구비한 메모리가 실제로 탑재되어 있는지 여부와, 탑재되어 있는 내부 처리 기능을 구비한 메모리가 고장인지 여부를 지극히 간단히 검사할 수 있게 된다.In the present invention, the internal processing that is to be mounted using the characteristic that a memory having an internal processing function having a function of internally processing memory receives a command and enters an internal state by entering the internal processing of the memory control, is used. Sends a command to a memory having a function, and in response, checks whether the memory having an internal processing function shifts to a used state (and also checks whether or not the state shifts to a ready state). Since the memory having the internal processing function is actually mounted and whether the memory having the internal processing function is mounted is checked to determine whether or not the equipped memory is actually mounted, Extremely simple to check whether the memory with internal processing function It can be so.
이에 대하여, 종래에는 메모리에 소정의 데이터를 기록하고, 이에 계속하여 그 데이터를 판독하는 구성을 취하고, 그 판독한 데이터가 기록된 데이터와 일치하는지 여부를 체크함으로써 메모리가 정상인지 여부를 판단하는 구성을 탐색하고 있었지만, 그와 같은 복잡한 순서에 따르지 않더라도, 내부 처리 기능을 구비한 메모리가 실제로 탑재되어 있는지 여부와, 탑재되어 있는 내부 처리 기능을 구비한 메모리가 고장인지 여부를 검사할 수 있게 된다.On the other hand, conventionally, a configuration is provided in which predetermined data is written to the memory, followed by reading of the data, and a check is made to determine whether the memory is normal by checking whether the read data is consistent with the recorded data. Although the search is performed, even if such a complicated order is not followed, it is possible to check whether or not the memory having the internal processing function is actually mounted and whether the memory having the internal processing function is broken.
Claims (18)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP98-213760 | 1998-07-29 | ||
JP21376098 | 1998-07-29 | ||
JP98-253572 | 1998-09-08 | ||
JP10253572A JP2000105734A (en) | 1998-07-29 | 1998-09-08 | Method for controlling memory, memory device, and controller |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20000011226A true KR20000011226A (en) | 2000-02-25 |
Family
ID=26519978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019990011111A KR20000011226A (en) | 1998-07-29 | 1999-03-31 | Memory control method, memory unit and controller |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2000105734A (en) |
KR (1) | KR20000011226A (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006065632A (en) * | 2004-08-27 | 2006-03-09 | Kyocera Mita Corp | Communication controller and communication control method |
JP5237731B2 (en) * | 2008-09-10 | 2013-07-17 | スパンション エルエルシー | Memory system, memory device, and memory access method |
US8392670B2 (en) | 2010-04-12 | 2013-03-05 | Hitachi, Ltd. | Performance management of access to flash memory in a storage device |
WO2020223849A1 (en) * | 2019-05-05 | 2020-11-12 | Yangtze Memory Technologies Co., Ltd. | Memory control system with a sequence processing unit |
-
1998
- 1998-09-08 JP JP10253572A patent/JP2000105734A/en active Pending
-
1999
- 1999-03-31 KR KR1019990011111A patent/KR20000011226A/en not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
JP2000105734A (en) | 2000-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4593575B2 (en) | A common interface for each component of an embedded computer system | |
US6959365B2 (en) | Microcomputer including a flash memory and a flash memory rewrite program stored therein | |
KR100634436B1 (en) | Multi chip system and its boot code fetch method | |
US7725621B2 (en) | Semiconductor device and data transfer method | |
KR100312888B1 (en) | Circuit of generating chip enable signal and memory device | |
JPH10320512A (en) | Nonvolatile semiconductor disk device | |
JP3875139B2 (en) | Nonvolatile semiconductor memory device, data write control method thereof, and program | |
US20060020764A1 (en) | Information processing apparatus including non-volatile memory device, non-volatile memory device and methods thereof | |
US20060190637A1 (en) | Control apparatus, information processing apparatus, and data transferring method | |
JP2006507586A (en) | Apparatus and method for analyzing embedded system | |
US8015448B2 (en) | System and method for conducting BIST operations | |
US20070180205A1 (en) | Data copy device | |
KR20000011226A (en) | Memory control method, memory unit and controller | |
WO2016106933A1 (en) | Sub-area-based method and device for protecting information of mcu chip | |
US20050086454A1 (en) | System and methods for providing a debug function built-in type microcomputer | |
JP2002183675A (en) | Control device of data recording medium and method therefor, data recorder and control device | |
JP2005141532A (en) | System debugging device | |
JP3537838B2 (en) | Memory card control method and system | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
JP2008021396A (en) | Controller and memory system | |
JP2010198127A (en) | Semiconductor storage device and method of controlling the same | |
JPS63305445A (en) | Data writing system at power break | |
JP2004288147A (en) | Xip system to serial memory and its method | |
KR100532104B1 (en) | Method and device for managing memory embedded in processor and SoC equipped with the device thereof | |
JP2005078161A (en) | Recording apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |