KR101734623B1 - Apparatus for controling memory and method thereof - Google Patents
Apparatus for controling memory and method thereof Download PDFInfo
- Publication number
- KR101734623B1 KR101734623B1 KR1020140165094A KR20140165094A KR101734623B1 KR 101734623 B1 KR101734623 B1 KR 101734623B1 KR 1020140165094 A KR1020140165094 A KR 1020140165094A KR 20140165094 A KR20140165094 A KR 20140165094A KR 101734623 B1 KR101734623 B1 KR 101734623B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- write
- data words
- read
- request signal
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/023—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/12015—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising clock generation or timing circuitry
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/36—Data generation devices, e.g. data inverters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
Abstract
본 발명의 실시예에 따른 메모리 제어 장치는 하나 이상의 요청 신호를 저장하는 버퍼부, 저장된 요청 신호 중 데이터 워드 일부에 대한 복수개의 쓰기 요청 신호가 존재하는 경우, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 제어부를 포함하고, 제어부는 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기가 수행된 이후, 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어한다,The memory control apparatus according to an embodiment of the present invention includes a buffer unit for storing one or more request signals, a plurality of write request signals for a part of data words among the stored request signals, And a control unit for controlling the memory to perform a read operation on all of the data words, wherein the control unit reads data to be subjected to a plurality of write request signals Controls the memory to perform a write on both words,
Description
본 발명은 메모리의 동작을 제어하는 메모리 제어 장치 및 방법에 관한 것이다. 특히 본 발명은 ECC 메모리의 동작을 제어하는 메모리 제어 장치 및 방법에 관한 것이다.The present invention relates to a memory control apparatus and method for controlling the operation of a memory. In particular, the present invention relates to a memory control apparatus and method for controlling the operation of an ECC memory.
전자회로에서 신호가 고속으로 동작하고 잡음 환경이 악화됨에 따라서, 신뢰도가 중요한 서버에서 주로 사용된 오류정정부호는 다양한 정보전자 기기에 사용이 되고 있다. 기존의 어플리케이션에서는 하나의 데이터 워드를 오류정정부호 워드로 변환하여 읽기/쓰기를 하였으나, 최신의 어플리케이션에서는 데이터 워드의 일부만을 읽기/쓰기를 진행하는 경우가 많이 발생하고 있다.As the signals operate at high speeds in electronic circuits and the noise environment deteriorates, error correction codes, which are mainly used in servers where reliability is important, are being used in various information electronic devices. In an existing application, one data word is converted into an error correction codeword to perform reading / writing. However, in recent applications, only a part of a data word is often read / written.
종례에는 데이터들이 워드 단위로 오류정정부호(ECC, Error-Correcting Code) 로 변환되어 메모리에 저장되기 때문에, 하나의 데이터 워드 전체에 대하여 쓰기 동작을 하는 경우에는 데이터 워드 전체를 오류정정부호로 바꾼 후 쓰기 동작을 수행하여야 했다.Conventionally, data is converted into an error-correcting code (ECC) in word units and is stored in a memory. Therefore, when a write operation is performed for one data word, the entire data word is replaced with an error correcting code Write operation.
또한, 데이터 워드 내의 일부분에 대하여 쓰기 동작을 수행하는 경우, 메모리 읽기를 수행하고, 읽어진 오류정정부호 워드들을 데이터 워드로 복호화하고, 업데이트 하고자 하는 일부 데이터를 수정하고, 업데이트된 데이터 워드를 오류정정부호 워드로 바꾼 후에야 비로서 메모리 쓰기 동작을 수행할 수가 있었다.When a write operation is performed on a part of a data word, a memory read is performed, the read error correction codewords are decoded into a data word, some data to be updated is modified, and an updated data word is corrected The memory write operation can be performed only after changing to the code word.
주메모리로 사용되는 DRAM (또는 PCRAM, STT-MRAM, ReRAM와 같은 차세대 메모리)에 대하여, 읽기 후 쓰기 동작, 또는 쓰기 후 읽기 동작을 수행하는 것은 비효율적이므로 메모리 성능에 크게 저하시킨다. It is inefficient to perform a read-after-write operation or a post-write-read operation for a DRAM (or a next-generation memory such as PCRAM, STT-MRAM, or ReRAM) used as a main memory.
데이터 워드 내의 일부분에 대하여 쓰기 동작을 수행하는 경우 효율적인 동작을 수행할 수 있게 하는 메모리 제어 장치 및 방법이 요구되고 있는 실정이다.There is a need for a memory control apparatus and method that can perform an efficient operation when a write operation is performed on a part of a data word.
본 발명이 해결하고자 하는 과제는 데이터 워드 내의 일부분에 대하여 쓰기 동작을 수행 시, 메모리를 효율적으로 동작시킬 수 있는 메모리 제어 장치 및 방법을 제공하는 것이다.SUMMARY OF THE INVENTION It is an object of the present invention to provide a memory control apparatus and method capable of efficiently operating a memory when a write operation is performed on a part of a data word.
본 발명의 실시예에 따른 메모리 제어 장치는 하나 이상의 요청 신호를 저장하는 버퍼부; 저장된 요청 신호 중 데이터 워드 일부에 대한 복수개의 쓰기 요청 신호가 존재하는 경우, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 제어부를 포함하고, 상기 제어부는 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기가 수행된 이후, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어한다.According to an embodiment of the present invention, a memory control apparatus includes a buffer unit storing one or more request signals; And a control unit for controlling the memory to read all the data words that are the subject of the plurality of write request signals when there are a plurality of write request signals for a part of the data word among the stored request signals, And controls the memory to perform writing to all of the data words that are the subject of the plurality of write request signals after all of the data words that are the subject of the plurality of write request signals are read.
상기 제어부는 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 없는 경우, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어할 수 있다.The control unit may control the memory to read all of the data words that are the subject of the plurality of write request signals when there is no read request signal for all of the data words among the stored request signals.
상기 제어부는 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어할 수 있다.The control unit may control the memory to read all of the data words that are the target of the read request signal for all of the data words, when there is a read request signal for all of the data words among the stored request signals.
상기 제어부는 직전에 메모리 쓰기를 수행하도록 제어하지 않은 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어할 수 있다.The control unit may control the memory to perform a read operation on all of the data words that are the target of the read request signal for all of the data words if the control unit does not control to perform the memory write immediately before.
상기 제어부는 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우라도, 읽기 요청 신호의 대상이 되는 데이터가 상기 버퍼부에 저장되어 있는 경우, 상기 버퍼부에 저장된 상기 읽기 요청 신호의 대상이 되는 데이터에 대하여 읽기를 수행할 수 있다.Wherein the control unit is configured to determine whether a read request signal for all of the data words is included in the stored request signal when the data to be subjected to the read request signal is stored in the buffer unit, Data can be read.
상기 제어부는 직전에 메모리 쓰기를 수행하도록 제어한 경우, 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는지 판단하여, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어할 수 있다.Wherein the control unit judges whether or not there is a write request signal for all of the data words among the stored request signals when it is controlled to perform the memory write immediately before the write request signal, It is possible to control the memory to perform writing.
상기 제어부는 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어한 이후, 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어할 수 있다.
Wherein the control unit controls the memory to perform writing on all of the data words that are the target of the plurality of write request signals and if there is a write request signal for all the data words out of the stored request signals, It is possible to control the memory to perform writing to all of the data words to be subjected to the write request signal.
메모리 제어 장치가 메모리를 제어하는 방법에 있어서, 하나 이상의 요청 신호를 저장하는 단계; 저장된 요청 신호 중 데이터 워드 일부에 대한 복수개의 쓰기 요청 신호가 존재하는 경우, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 단계; 및 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기가 수행된 이후, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계를 포함한다.A method of controlling a memory, the method comprising: storing one or more request signals; Controlling the memory to read all of the data words that are the subject of the plurality of write request signals when there are a plurality of write request signals for a part of the data word among the stored request signals; And controlling the memory to perform a write operation on all of the data words that are the subject of the plurality of write request signals after the data words to be subjected to the plurality of write request signals are read.
상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 단계는, 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 없는 경우, 읽기를 수행하도록 메모리를 제어할 수 있다.Wherein the step of controlling the memory to perform a read operation on all of the data words that are the target of the plurality of write request signals includes the steps of, when there is no read request signal for all the data words in the stored request signal, can do.
상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 단계를 더 포함할 수 있다.And controlling the memory to perform a read operation on all of the data words that are the target of the read request signal for all of the data words when there is a read request signal for all of the data words among the stored request signals .
상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 단계는, 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우라도, 읽기 요청 신호의 대상이 되는 데이터가 상기 버퍼부에 저장되어 있는 경우, 상기 버퍼부에 저장된 상기 읽기 요청 신호의 대상이 되는 데이터에 대하여 읽기를 수행할 수 있다.Wherein the step of controlling the memory to perform a read operation on all of the data words that are the target of the read request signal for all of the data words includes the steps of: The data to be the target of the read request signal stored in the buffer unit can be read.
상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 단계는 직전에 메모리 쓰기를 수행하도록 제어하지 않은 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어할 수 있다.Wherein the step of controlling the memory to perform a read operation on all of the data words that are the target of the read request signal for all of the data words includes the steps of: It is possible to control the memory to perform reading with respect to all of the target data words.
직전에 메모리 쓰기를 수행하도록 제어한 경우, 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는지 판단하여, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계를 더 포함할 수 있다.If the write request signal for all of the data words is included in the stored request signal, writing is performed on all of the data words that are the target of the write request signal for all of the data words And controlling the memory to control the memory.
상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계 이후에 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계를 더 포함할 수 있다.If a write request signal for all of the data words in the stored request signal is present after the step of controlling the memory to write data words to be subjected to the plurality of write request signals, And controlling the memory to perform writing to all of the data words that are the target of the request signal.
저장된 요청 신호를 처리하기 전에 상기 메모리의 전영역에 대하여 초기화 시키는 단계를 더 포함할 수 있다.And initializing the stored request signal for the entire area of the memory before processing the request signal.
본 발명의 실시예에 따르면, 다수의 데이터 워드 내의 일부분 쓰기 요청에 대하여 오류정정부호로 바꾸어 쓰기 요청 시, 요청의 대상이 된 데이터 워드 전부에 대하여 읽기를 모두 수행하고 난 후, 업데이트 된 워드 전부에 대하여 쓰기하여 메모리 동작에서 읽기 동작과 쓰기 동작 사이에서 발생하는 딜레이를 줄여 메모리 동작의 효율을 높일 수 있다According to an embodiment of the present invention, when a partial write request in a plurality of data words is requested to be replaced with an error correction code, all of the data words that are the subject of the request are read, To reduce the delay between the read operation and the write operation in the memory operation, thereby improving the efficiency of the memory operation
도 1은 본 발명의 실시예에 따른 메모리 제어 시스템에 관한 블럭도 이다.
도 2은 본 발명의 실시예에 따른 메모리 제어 시스템의 각 구성을 도시한 도면이다.
도 3은 본 발명의 실시예에 따른 메모리 제어 장치의 동작 방법에 관한 흐름도이다.
도 4는 본 발명의 실시예에 따른 스케줄링 신호 생성 방법에 관한 흐름도이다.
도 5는 8개의 완전 워드들로 구성된 메모리 쓰기 데이터를 나타낸 도면이다.
도 6은 두 개의 도 5에서 도시된 메모리 쓰기 데이터 처리과정의 한 예를 나타낸다.
도 7은 8개의 불완전 워드들로 구성된 메모리 쓰기 데이터를 나타낸 도면이다.
도 8은 두 개의 도 7에서 도시된 메모리 쓰기 데이터 처리과정의 한 예를 나타낸다.
도 9는 비교예에 따른 두번의 불완전 워드 쓰기 요청을 처리하는 과정을 도시한 도면이다.
도 10 내지 도 12는 본 발명의 효과를 설명하기 위한 도면이다.1 is a block diagram of a memory control system according to an embodiment of the present invention.
2 is a block diagram showing the configuration of a memory control system according to an embodiment of the present invention.
3 is a flowchart illustrating an operation method of a memory control apparatus according to an embodiment of the present invention.
4 is a flowchart of a scheduling signal generation method according to an embodiment of the present invention.
5 is a diagram showing memory write data composed of eight complete words.
Figure 6 shows an example of two memory write data processing processes shown in Figure 5.
7 is a diagram showing memory write data composed of eight incomplete words.
Fig. 8 shows an example of two memory write data processing processes shown in Fig.
9 is a diagram illustrating a process of processing two incomplete word write requests according to a comparative example.
10 to 12 are diagrams for explaining the effect of the present invention.
아래에서는 첨부한 도면을 참고로 하여 본 발명의 실시 예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art can easily carry out the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.
명세서 및 청구범위 전체에서, 어떤 부분이 어떤 구성 요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성 요소를 더 포함할 수 있는 것을 의미한다. Throughout the specification and claims, when a section is referred to as "including " an element, it is understood that it does not exclude other elements, but may include other elements, unless specifically stated otherwise.
또한 명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다. Also, throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . When an element is referred to as "comprising ", it means that it can include other elements, not excluding other elements unless specifically stated otherwise.
이제 본 발명의 실시 예에 따른 메모리 제어 장치 및 그 동작방법에 대하여 도면을 참고로 하여 상세하게 설명한다. Now, a memory control apparatus and an operation method thereof according to an embodiment of the present invention will be described in detail with reference to the drawings.
도 1은 본 발명의 실시예에 따른 메모리 구동 시스템에 관한 블럭도 이다.1 is a block diagram of a memory driving system according to an embodiment of the present invention.
도 1을 참조하면 본 발명의 실시예에 따른 메모리 구동 시스템은 메모리 제어 장치(100) 및 메모리(200)를 포함한다. Referring to FIG. 1, a memory driving system according to an embodiment of the present invention includes a
본 발명의 메모리 제어 장치(100)는 요청 신호를 수신한다. 메모리 제어 장치(100)는 IP 또는 BUS를 통해 요청 신호를 수신할 수도 있다. 본 발명의 실시예에 따른 요청 신호는 완전 워드 쓰기 요청 신호(full word write request signal), 완전 워드 읽기 요청 신호(full word read request signal) 및 불완전 워드 쓰기 요청 신호(incomplete word write request signal)를 포함한다. The
본 발명의 실시예에 따른 완전 워드 쓰기 요청 신호(full word write request signal)는 데이터 워드의 전체에 대한 쓰기 요청, 즉 완전 워드(full word)에 대한 쓰기 요청에 관한 신호이다. 본 명세서에서 완전 워드(full word)는 데이터 워드 전체에 대한 읽기 쓰기가 필요한 데이터 워드일 수 있다.A full word write request signal according to an embodiment of the present invention is a signal related to a write request for a whole data word, that is, a write request for a full word. In this specification, a full word may be a data word requiring read / write operations for the entire data word.
본 발명의 실시예에 따른 완전 워드 읽기 요청 신호(full word read request signal)는 데이터 워드의 전체에 대한 읽기 요청, 즉 완전 워드(full word)에 대한 읽기 요청에 관한 신호이다. 본 명세서에서는 완전 워드를 데이터 워드 전체에 대하여 읽기 또는 쓰기가 요청된 데이터 워드이다.A full word read request signal according to an embodiment of the present invention is a signal related to a read request for a whole data word, that is, a read request for a full word. In this specification, a complete word is a data word that is requested to read or write to the entire data word.
본 발명의 실시예에 따른 불완전 워드 쓰기 요청 신호(incomplete word write request signal)는 데이터 워드의 일부에 대한 쓰기 요청, 즉 불완전 워드(incomplete word)에 대한 쓰기 요청에 관한 신호이다. 본 명세서에서 불완전 워드(incomplete word)는 데이터 워드 일부에 대하여 읽기 또는 쓰기가 요청된 데이터 워드이다. An incomplete word write request signal according to an embodiment of the present invention is a signal related to a write request for a part of a data word, that is, a write request for an incomplete word. In this specification, an incomplete word is a data word for which a read or a write is requested for a part of the data word.
본 발명의 실시예에 따르면 불완전 워드 쓰기 요청 신호는 불완전 워드 쓰기의 읽기 요청 신호 및 불완전 워드 쓰기의 쓰기 요청 신호를 포함할 수 있다. 불완전 워드 쓰기의 쓰기 요청 신호에 대하여는 뒤에서 설명하겠다. According to an embodiment of the present invention, the incomplete word write request signal may include a read request signal of incomplete word writing and a write request signal of incomplete word writing. The write request signal of incomplete word writing will be described later.
메모리 제어 장치(100)는 요청 신호를 받아, 메모리 동작을 스케줄링 한다. 메모리 제어 장치(100)는 스케줄링에 기초하여 메모리 제어 신호를 메모리(200)로 전송한다. 본 발명의 실시예에 따른 메모리 제어 신호는 메모리(200)가 특정 동작을 수행하도록 지시하는 명령을 포함할 수 있다.The
메모리(200)는 메모리 제어 신호에 기초하여 동작한다. 본 발명의 실시예에 따른 메모리 제어 신호는 RAS(A row access strobe) 신호 또는 CAS(a column access strobe) 신호를 포함한다. 메모리 제어 신호는 RAS 및 CAS 신호 이외에도 메모리의 동작을 제어하기 위한 신호를 포함할 수 있다. 또한 본 발명의 실시예에 따른 CAS 신호는 데이터 워드 읽기를 위한 CAS RD 신호 및 데이터 워드 쓰기를 위한 CAS WR 신호를 포함할 수 있다.The
RAS 신호는 메모리의 주소값 중 행(Row) 위치로 접근하기 위한 신호이다. 또한 RAS 신호는 메모리를 활성화 시키기 위한 신호이다.The RAS signal is a signal for accessing the row position among the address values of the memory. The RAS signal is a signal for activating the memory.
CAS 신호는 메모리의 주소값 중 열(Column) 위치로 접근하기 위한 신호이다. 또한 CAS 신호는 활성화된 메모리 셀에서 데이터를 출력시키기 위한 신호이다. 제어부(120)는 CAS 신호를 통해 메모리(200)의 데이터 워드에 데이터를 쓰거나, 읽을 수 있다.The CAS signal is a signal for accessing the column position among the address values of the memory. The CAS signal is a signal for outputting data from the activated memory cell. The
본 발명의 실시예에 따른 메모리(200)는 주메모리로 사용되는 DRAM 및 PCRAM, STT-MRAM 및 ReRAM과 같은 차세대 메모리 중 어느 하나 일 수도 있다. The
도 2은 본 발명의 실시예에 따른 메모리 구동 시스템의 각 구성을 도시한 도면이다.FIG. 2 is a block diagram of a memory driving system according to an embodiment of the present invention. Referring to FIG.
도 2를 참조하여, 본 발명의 실시예에 따른 메모리 구동 시스템의 각 구성에 대하여 설명한다.With reference to FIG. 2, each configuration of the memory drive system according to the embodiment of the present invention will be described.
본 발명의 실시예에 따른 메모리 제어 장치(100)는 수신부(110), 제어부(120), 버퍼부(130) 및 송신부(140)를 포함한다. 그러나 도 2에 도시된 구성요소들이 필수적인 것은 아니어서, 그보다 많은 구성요소들을 갖거나 그보다 적은 구성요소들을 갖는 메모리 제어 장치(100)가 구현될 수도 있다.The
수신부(110)는 IP 또는 BUS 등을 통해 요청 신호를 수신한다. The receiving
제어부(120)는 메모리 제어 장치(100)의 전반적인 동작을 제어한다. 제어부(120)는 메모리 동작을 스케줄링한다. 또한 제어부(120)는 스케줄링 결과에 기초하여 메모리 제어 신호를 메모리(200)로 송신한다. 이때 제어부(120)는 송신부(140)를 통해 메모리(200)에 메모리 제어 신호를 송신할 수도 있다. The
버퍼부(130)는 수신부(110)에서 수신된 요청 신호가 저장된다. 도 2에서는 버퍼부(130)가 하나인 것으로 표시되어 있으나, 본 발명은 이에 한정되지 않는다. 즉 버퍼부(130)가 하나 이상인 경우에도 본 발명의 적용이 가능하다. 버퍼부(130)가 하나 이상인 경우, 각각의 버퍼부(130)에는 각각 다른 종류의 요청 신호가 저장될 수 있다. 예를 들어 완전 워드 쓰기 요청 신호(full word write request signal), 완전 워드 읽기 요청 신호(full word read request signal), 불완전 워드 쓰기 요청 신호(incomplete word write request signal)가 각각 다른 버퍼부(130)에 저장될 수도 있다. 여기서 불완전 워드 쓰기 요청은 불완전 워드 쓰기의 읽기 요청 및 불완전 워드 쓰기의 쓰기 요청을 포함한다. 버퍼부(130)는 데이터 워드에 쓰여질 데이터가 저장될 수도 있다. 이 경우 데이터는 요청 신호와 별도로 구비된 버퍼부(130)에 저장될 수도 있다. 그러나 본 발명은 이에 한정되지 않는다. 데이터가 요청 신호와 함께 저장되어 있는 경우에도 본 발명의 적용은 가능하다.The
불완전 워드 쓰기 즉 데이터 워드의 일부에 대하여 쓰기를 수행하기 위해서는 먼저 불완전 워드를 읽는 단계가 먼저 필요하다. 수신부(110)에 불완전 워드 쓰기 요청 신호가 수신되면, 제어부(120)는 버퍼부(130)에 불완전 워드 쓰기 요청 신호를 불완전 워드 쓰기의 읽기 요청 신호로 저장한다. 이후 제어부(120)가 저장된 불완전 워드 쓰기의 읽기 요청 신호를 처리하고 나면, 제어부(120)는 불완전 워드 쓰기의 쓰기 요청 신호를 생성하여 버퍼부(130)에 저장한다. 즉 제어부(120)가 불완전 워드 쓰기 요청 신호를 처리하기 위해서는 2번의 처리과정이 필요하다.In order to write an incomplete word, that is, to write a part of a data word, a step of reading an incomplete word is first required. When an incomplete word write request signal is received in the receiving
다음은 도 3을 참조하여 본 발명의 실시예에 따른 메모리 제어 장치의 동작 방법에 대하여 설명한다.Next, an operation method of the memory control device according to the embodiment of the present invention will be described with reference to FIG.
도 3은 본 발명의 실시예에 따른 메모리 제어 장치의 동작 방법에 관한 흐름도이다.3 is a flowchart illustrating an operation method of a memory control apparatus according to an embodiment of the present invention.
수신부(110)는 IP 또는 BUS 등을 통해 요청 신호를 수신한다(S301). The receiving
제어부(120)는 수신된 요청 신호를 버퍼부(130)에 저장한다(S303).The
제어부(120)는 버퍼부(130)에 저장된 요청 신호에 기초하여 스케줄링을 생성한다(S305). 본 발명의 실시예에 따르면 스케줄링을 생성 한다는 것은 메모리(200)가 어떤 동작을 수행할지에 대하여 결정하는 것을 의미한다. The
제어부(120)는 생성된 스케줄링에 기초하 메모리 제어 신호를 메모리(200)에 송신한다(S307). 제어부(120)가 메모리(200)에 메모리 제어 신호를 송신함에 있어서 송신부(140)를 통할 수 있다.The
다음은 도 4 를 참조하여 제어부(120)가 스케줄링 신호를 생성하는 방법에 대하여 설명한다.Next, a method of generating the scheduling signal by the
도 4는 본 발명의 실시예에 따른 스케줄링 신호 생성 방법에 관한 흐름도이다.4 is a flowchart of a scheduling signal generation method according to an embodiment of the present invention.
제어부(120)는 메모리(200)의 전 영역을 초기화 시킨다(S401). 즉 본 발명의 실시예에 따른 제어부(120)는 메모리(200)의 전 영역을 특정 데이터로 쓰기 한다. 메모리(200)의 전 영역에 쓰여질 특정 데이터는 사전에 정해질 수도 있다.The
제어부(120)는 모든 읽기 요청을 처리했는지 판단한다(S403). 즉 제어부(120)는 버퍼부(130)에 저장된 요청 신호 중 읽기 요청 신호를 모두 처리 했는지를 판단한다. The
만일 제어부(120)가 버퍼부(130)에 저장된 읽기 요청 신호 즉 읽기 요청을 모두 처리하지 못했다면, 다시 말해 버퍼부(130)에 읽기 요청 신호가 존재하는 경우 제어부(120)는 읽기 요청 스케줄링을 생성한다(S405). 제어부(120)는 생성된 읽기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 전송한다. S403 및 S405를 보면 본 발명의 실시예에 따른 제어부(120)는 버퍼부(130)에 저장된 요청 중 읽기 요청 신호를 먼저 처리한다. If the
본 발명의 실시예에 따르면 제어부(120)는 읽기 요청 신호를 처리하는 과정에 있더라 하더라도, 읽기 요청의 대상이 되는 데이터가 버퍼부(130)에 저장되어 있는 경우, 버퍼부(130)에 저장된 데이터에 대하여 읽기를 수행한다. 즉 제어부(120)는 읽기 요청의 대상이 되는 데이터가 버퍼부(130)에 저장되어 있는 경우, 메모리(200)의 특정 영역의 데이터를 읽는 것이 아니라, 버퍼부(130)에 저장되어 있는 데이터에 대하여 읽기를 수행할 수 있다.According to the embodiment of the present invention, even if the
만일 제어부(120)가 버퍼부(130)에 저장된 읽기 요청 신호 즉 읽기 요청을 모두 처리했다면, 다시 말해 버퍼부(130)에 더 이상 읽기 요청 신호가 존재하지 않는다면 제어부(120)는 모든 불완전 워드 쓰기의 읽기 요청을 처리했는지 판단한다(S407). 즉 제어부(120)는 버퍼부(130)에 저장된 요청 신호 중 불완전 워드 쓰기의 읽기 요청 신호를 모두 처리 했는지를 판단한다. If the
S407의 과정을 불완전 워드를 ECC 워드로 쓰는 방법을 예를 들어 설명하면, 불완전 워드를 ECC 워드로 쓰는 방법은 제어부(120)가 ECC 워드를 메모리에서 읽고, ECC 워드를 복호화하고, 불완전 워드를 이용해서 복호화된 워드를 업테이트 하고, ECC 워드를 부호화하고, 메모리에 다시 쓰기의 과정을 통해 수행될 수 있다.In step S407, a method of writing an incomplete word as an ECC word is described. As an example of a method of writing an incomplete word into an ECC word, the
만일 제어부(120)가 버퍼부(130)에 저장된 불완전 워드 쓰기의 읽기 요청 신호 즉 불완전 워드 쓰기의 읽기 요청을 모두 처리하지 못했다면, 다시 말해 버퍼부(130)에 불완전 워드 쓰기의 읽기 요청 신호가 존재하는 경우 제어부(120)는 불완전 워드 쓰기의 읽기 요청 스케줄링을 생성한다(S409). 제어부(120)는 생성된 불완전 워드 쓰기의 읽기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 전송한다. If the
제어부(120)가 불완전 워드 쓰기의 읽기 요청 스케줄링을 생성하면, 제어부(120)는 처리된 불완전 워드 쓰기의 읽기 요청 대신에 불완전 워드 쓰기의 쓰기 요청 신호를 버퍼부(130)에 저장한다(S410). When the
만일 제어부(120)가 버퍼부(130)에 저장된 불완전 워드 쓰기의 읽기 요청 신호 즉 불완전 워드 쓰기의 읽기 요청을 모두 처리했다면, 다시 말해 버퍼부(130)에 불완전 워드 쓰기의 읽기 요청 신호가 존재하지 않는 경우 제어부(120)는 모든 불완전 워드 쓰기의 쓰기 요청을 처리했는지 판단한다(S411). 즉 제어부(120)는 버퍼부(130)에 저장된 요청 신호 중 불완전 워드 쓰기의 쓰기 요청 신호를 모두 처리 했는지를 판단한다.If the
만일 제어부(120)가 버퍼부(130)에 저장된 불완전 워드 쓰기의 쓰기 요청 신호 즉 불완전 워드 쓰기의 쓰기 요청을 모두 처리하지 못했다면, 다시 말해 버퍼부(130)에 불완전 워드 쓰기의 쓰기 요청 신호가 존재하는 경우 제어부(120)는 불완전 워드 쓰기의 쓰기 요청 스케줄링을 생성한다(S413). 제어부(120)는 생성된 불완전 워드 쓰기의 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 전송한다. S411을 참조하면 본 발명의 실시예에 따른 제어부(120)는 버퍼부(130)에 저장된 요청 중 불완전 워드 쓰기의 읽기 요청 신호가 모두 처리되면 불완전 워드 쓰기의 쓰기 요청 신호를 처리한다. 제어부(120)는 불완전 워드 쓰기의 읽기 요청이 모두 처리 된 경우, 불완전 워드 쓰기의 쓰기 스케줄링을 생성한다.If the
만일 제어부(120)가 버퍼부(130)에 저장된 불완전 워드 쓰기의 쓰기 요청 신호 즉 불완전 워드 쓰기의 쓰기 요청을 모두 처리했다면, 다시 말해 버퍼부(130)에 불완전 워드 쓰기의 쓰기 요청 신호가 존재하지 않는 경우 제어부(120)는 모든 쓰기 요청을 처리했는지 판단한다(S415). 즉 제어부(120)는 버퍼부(130)에 저장된 요청 신호 중 쓰기 요청 신호를 모두 처리 했는지를 판단한다. 본 발명의 실시예에 따른 쓰기 요청 신호는 완전 워드 쓰기 요청 신호이다. 이 단계에서 제어부(120)가 버퍼부(130)에 저장된 쓰기 요청 신호 즉 쓰기 요청을 모두 처리했다면, 제어부(120)는 다시 버퍼부(130)에 저장된 모든 읽기 요청을 처리했는지 판단한다. If the
만일 제어부(120)가 버퍼부(130)에 저장된 쓰기 요청 신호 즉 쓰기 요청을 모두 처리하지 못했다면, 다시 말해 버퍼부(130)에 쓰기 요청 신호가 존재하는 경우 제어부(120)는 쓰기 요청 스케줄링을 생성한다(S417). 제어부(120)는 생성된 불완전 워드 쓰기의 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 전송한다. S415을 참조하면 본 발명의 실시예에 따른 제어부(120)는 버퍼부(130)에 저장된 요청 중 쓰기 요청 신호를 마지막에 처리한다. 본 발명의 일 실시예에 따르면 제어부(120)는 쓰기 요청 신호의 처리 중이라도, 우선 순위가 높은 읽기 요청 신호가 수신부(110)에 수신된 경우, 쓰기 요청 신호보다 수신부에 입력된 읽기 요청 신호를 먼저 처리할 수도 있다. If the
S401 내지 S417를 참조하면, 제어부(120)는 버퍼부(130)에 저장된 요청 신호 중 읽기 요청 신호, 불완전 워드 쓰기의 읽기 요청 신호, 불완전 워드 쓰기의 쓰기 요청 신호 및 쓰기 요청 신호 순으로 요청 신호를 처리한다.Referring to S401 through S417, the
다음은 도 5 내지 도 6를 참조하여 본 발명의 2 개의 풀 워드 데이터의 쓰기 요청에 따른 메모리의 동작의 한 예를 설명하겠다. 이하에서 설명하는 것은 메모리 동작의 한 예에 대한 것일 뿐 본 발명은 이에 한정되지 않는다. Next, an example of the operation of the memory according to the write request of two full word data of the present invention will be described with reference to FIG. 5 to FIG. The following is only an example of the memory operation, but the present invention is not limited thereto.
도 5는 8개의 완전 워드들로 구성된 메모리 쓰기 데이터를 나타낸 도면이다5 is a diagram showing memory write data composed of eight complete words
도 5를 참조하면 메모리(200)는 복수의 데이터 워드를 포함한다. 하나의 데이터 워드는 8-byte일 수 있다. 그러나 본 발명은 이에 한정되지 않는다. 즉 얼마든지 더 작거나, 더 큰 크기의 데이터 워드에도 본 발명의 적용이 가능하다.Referring to FIG. 5, the
도 6은 두 개의 도 5에서 도시된 메모리 쓰기 데이터 처리과정의 한 예를 나타낸다.Figure 6 shows an example of two memory write data processing processes shown in Figure 5.
특히 도 6은 도 5에서 도시된 메모리의 워드 중, 두 개의 완전 워드(full word)를 두 번 완전 쓰기 하는 것의 처리과정이 한 예를 나타낸다. In particular, FIG. 6 shows an example of a process of writing two full words twice, among the words of the memory shown in FIG.
먼저 두번의 완전 워드 쓰기 요청(full word write request 0, full word write request 1)에 따라, 제어부(120)는 두 개의 완전 워드 쓰기 스케줄링을 생성한다. 이후 제어부(120)는 두 개의 완전 워드 쓰기 스케줄링에 따라 메모리(200)가 2번의 완전 워드 쓰기를 수행하도록 명령하는 메모리 제어 신호를 송신한다. 제어부(120)가 송신하는 메모리 제어 신호는 적어도 한 개 이상일 수 있다.First, in accordance with two full word write requests (1, 2), the controller (120) generates two full word write requests. The
이 과정을 상세히 설명하면, 제어부(120)가 두번의 완전 워드 쓰기 요청(full word write request 0, full word write request 1)을 수신하면, 제어부(120)는 두 개의 완전 워드 쓰기 요청 스케줄링을 생성한다. 또한 제어부(120)는 생성된 완전 워드 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 송신한다. In detail, when the
제어부(120)가 생성된 완전 워드 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 송신하기 전에 먼저, 제어부(120)는 메모리(200)에게 RAS 신호를 전송한다.The
메모리(200)는 RAS 신호를 수신하면, 활성화 된다. 도 6을 참조하면 메모리(200)는 RAS 신호 수신 이후 활성화까지 11클럭(clk)의 시간이 소요된다. 도 6에서는 RAS 신호 수신 이후 활성화까지 11클럭(clk)이 소요되는 것으로 도시되어 있으나, 본 발명은 이에 한정되지 않는다. 11클럭(clk)이 소요되는 것은 메모리(200)가 DDR-1800인 경우를 예를 들어 설명할 경우에만 적용될 수 있다. 이하의 도 6 내지 도 8에서는 메모리(200)가 DDR-1800인 것을 예로 들어 설명하겠다, 그러나 본 발명은 이에 한정되지 않는다. 즉 다른 종류의 메모리인 경우에도 본 발명의 적용이 가능하다.The
메모리(200) 활성화 이후, 제어부(120)는 생성된 완전 워드 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 송신한다. 여기서 메모리 제어 신호는 쓰기와 관련된 두 개 CAS 신호(CAS WR)를 포함한다. 제어부(120)는 첫번째 완전 워드 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호 두번째 완전 워드 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호는 연달아서 송신한다. 메모리(200)는 두 개의 CAS WR신호를 수신하면, 메모리의 두 완전 워드에 완전 쓰기를 수행한다. After activating the
도 7은 8개의 불완전 워드들로 구성된 메모리 쓰기 데이터를 나타낸 도면이다. 도 7을 참조하면 메모리(200)는 복수의 데이터 워드를 포함한다. 메모리(200)는 복수의 데이터 워드를 포함한다. 하나의 데이터 워드는 8-byte일 수 있다. 그러나 본 발명은 이에 한정되지 않는다. 즉 얼마든지 더 작거나, 더 큰 크기의 데이터 워드에도 본 발명의 적용이 가능하다. 7 is a diagram showing memory write data composed of eight incomplete words. Referring to FIG. 7, the
도 8은 두 개의 도 7에서 도시된 메모리 쓰기 데이터 처리과정의 한 예를 나타낸다.Fig. 8 shows an example of two memory write data processing processes shown in Fig.
도 9는 비교예에 따른 두번의 불완전 워드 쓰기 요청을 처리하는 과정을 도시한 도면이다.9 is a diagram illustrating a process of processing two incomplete word write requests according to a comparative example.
특히 도 8 및 도 9는 도 7에 도시된 메모리의 워드 중, 두 개의 불완전 워드(incomplete word)를 두 번 불완전 쓰기 하는 것의 처리과정의 한 예를 나타낸다.In particular, Figures 8 and 9 illustrate an example of a process of incomplete writing of two incomplete words twice, out of the words of the memory shown in Figure 7.
먼저 도 8을 참조하여 본 발명의 실시예에 따른 불완전 워드 쓰기의 쓰기 요청의 처리 과정을 설명하겠다.Referring to FIG. 8, a description will now be made of a process of writing a write request of an incomplete word according to an embodiment of the present invention.
먼저 두번의 불완전 워드 쓰기 요청(incomplete word write request 0, incomplete word write request 1)에 따라, 제어부(120)는 먼저 두 개의 불완전 워드 쓰기의 읽기 스케줄링을 생성한다. 불완전 워드 쓰기를 위한 스케줄링은 불완전 워드 쓰기의 읽기 스케줄링 및 불완전 워드 쓰기의 쓰기 스케줄링을 포함한다. First, according to two incomplete word write requests (incomplete word write
메모리(200)가 불완전 워드 쓰기를 수행하기 위해서는 먼저 불완전 워드 읽기 과정이 선행되어야 한다. 따라서 본 명세서에서 불완전 워드 쓰기의 읽기 스케줄링은 불완전 워드 쓰기의 쓰기 스케줄링에 선행된다. In order for the
두개의 불완전 워드 쓰기의 읽기 스케줄링이 생성되고, 이에 대응되는 메모리 제어 신호가 메모리(200)에 전송되면, 메모리(200)는 불완전 워드 쓰기가 수행 될 불완전 워드에 대하여 읽기를 수행한다. When the memory control signal corresponding to the two incomplete word writing is generated and the memory control signal corresponding thereto is transmitted to the
각각의 불완전 워드 쓰기의 읽기 스케줄링이 생성 된 이후, 제어부(120)는 각각의 불완전 워드 쓰기의 쓰기 요청 신호를 생성한다. After the read scheduling of each incomplete word write is generated, the
두개의 불완전 워드 쓰기의 읽기 스케줄링이 모두 생성 된 이후, 제어부(120)는 두 개의 불완전 워드 쓰기의 쓰기 요청 스케줄링을 생성한다. 그리고 이에 대응되는 메모리 제어 신호를 메모리(200)에 전송한다. After all the read scheduling of two incomplete word writes are generated, the
메모리(200)는 불완전 워드 쓰기의 쓰기 스케줄링에 대응되는 메모리 제어 신호를 수신하면, 불완전 워드 읽기가 수행된 완전 워드에 불완전 쓰기 워드로 업데이트한 워드에 대하여 쓰기를 수행한다.When the
도 8의 과정을 보다 상세히 설명하면, 제어부(120)가 생성된 불완전 워드 쓰기의 읽기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 송신하기 전에 먼저, 제어부(120)는 메모리(200)에게 RAS 신호를 전송한다.8, before the
메모리(200)는 RAS 신호를 수신하면, 활성화 된다. 도 8을 참조하면 메모리(200)는 RAS 신호 수신 이후 활성화까지 11클럭(clk)의 시간이 소요된다. The
메모리(200) 활성화 이후, 제어부(120)는 생성된 불완전 워드 쓰기의 읽기 요청 스케줄링에 대응하는 메모리 제어 신호를 메모리(200)에 송신한다. 여기서 메모리 제어 신호는 읽기와 관련된 두 개CAS 신호(CAS RD)를 포함한다. 또한 메모리 제어 신호는 CS, BA, CA(미도시)를 포함할 수도 있다. 도 8에서 제어부(120)는 두번째 불완전 워드 쓰기의 읽기 요청 스케줄링에 대응하는 메모리 제어 신호를 첫번째 불완전 워드 쓰기의 읽기 요청 스케줄링에 대응하는 메모리 제어 신호에 바로 이어 송신한다.After activation of the
메모리(200)는 두 개의 CAS RD신호를 수신하면, 메모리(200)는 두 불완전 완전 워드에 대하여 쓰기를 수행한다. When the
제어부(120)는 두개의 불완전 워드 쓰기의 읽기 요청 스케줄링을 모두 생성한 이후, 불완전 워드 쓰기의 쓰기 요청 스케줄링을 생성한다. 제어부(120)는 불완전 워드 쓰기의 쓰기 스케줄링이 생성되면, 이에 대응되는 메모리 제어 신호를 메모리(200)에 전송한다. 여기서 메모리 제어 신호는 불완전 워드 쓰기의 쓰기와 관련된 두 개CAS 신호(CAS WR)을 포함한다. After generating both the read request scheduling of two incomplete word writes, the
도 8에서 제어부(120)는 두번째 불완전 워드 쓰기의 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호를 첫번째 불완전 워드 쓰기의 쓰기 요청 스케줄링에 대응하는 메모리 제어 신호에 바로 이어 송신한다. 메모리(200)는 두 개의 CAS WR신호를 수신하면, 메모리의 읽기가 수행된 두 불완전 완전 워드에 대하여 쓰기를 수행한다. 같은 종류의 메모리 제어 신호를 생성하고 송신하는데는 딜레이가 거의 발생하지 않기 때문에, 본 발명의 실시예에 따른 제어부(120)는 두 개의 CAS WR 신호를 연속으로 메모리(200)에 송신할 수 있다.In FIG. 8, the
도 8을 참조하면, 제어부(120)가 메모리 제어 신호를 생성함에 있어서, CAS RD에 이어 CAS WR의 생성할 때에 딜레이가 발생하였음을 알 수 있다. 또한 제어부(120)가 같은 종류 즉 CAS RD에 이어 CAS RD를 생성하거나, CAS WR에 이어 CAS WR을 생성함에는 딜레이가 거의 발생하지 않는 다는 것을 알 수 있다. 본 발명의 실시예에 따른 제어부(120)는 CAS RD 및 CAS WR을 번갈아 생성하지 않고, 특정 CAS 신호를 모아서 생성한다. 본 발명의 실시예에 따른 제어부(120)는 특정 CAS 신호를 모아서 생성함으로 인하여, 생성했던 CAS 신호와 다른 CAS 신호를 생성함으로 발생하는 딜레이를 최소화 시킨다. Referring to FIG. 8, when the
또한 일반적으로 CAS RD의 생성 이후 CAS WR의 생성까지의 딜레이보다 CAS WR의 생성 이후 CAS RD의 생성까지의 딜레이가 더 길기 때문에, 본 발명의 일 실시예에 따른 제어부(120)는 데이터 워드 일기와 관련된 CAS RD를 먼저 생성할 수 도 있다. 즉 본 발명의 실시예에 따른 제어부(120)는 전송된 요청 신호 중 읽기 요청 신호에 대하여 먼저 스케줄링을 생성한다. In general, since the delay from the generation of the CAS RD to the generation of the CAS WR is longer than the delay until the generation of the CAS WR after the generation of the CAS WR, the
따라서 본 발명의 실시예에 따르면, 완전 워드 읽기 요청의 경우, 쓰기를 수행하지 않아도 되므로, 제어부(120)는 모든 요청 신호 중 완전 워드 읽기 요청을 가장 먼저 처리한다. Therefore, according to the embodiment of the present invention, in the case of the complete word read request, since the write operation is not performed, the
또한 읽기와 쓰기를 모두 수행하여야 하는 불완전 워드 쓰기 요청의 경우, 버퍼부(130)에 저장된 불완전 워드 쓰기의 읽기 요청을 모아서 먼저 처리하고, 그 후 쓰기를 처리한다.In the case of an incomplete word write request requiring both reading and writing, the read request of the incomplete word write stored in the
다음은 도 9를 참조하여 비교예에 따른 불완전 워드 쓰기 요청의 처리 과정을 설명하겠다. 특히 비교예는 종례의 메모리의 불완전 워드 쓰기 요청의 처리 과정 일 수 있다.Hereinafter, a processing procedure of an incomplete word write request according to a comparative example will be described with reference to FIG. In particular, the comparative example may be the processing of an incomplete word write request of a conventional memory.
도 9를 참조하면, 비교예는 두번의 불완전 워드 쓰기 요청이 있는 경우, 메모리(200)는 첫번째 불완전 워드에 대하여 읽기 및 쓰기를 수행하고, 이어서 두번째 불완전 워드에 대하여 읽기 쓰기를 수행한다. 즉 첫번째 불완전 워드 쓰기의 읽기 및 쓰기 스케줄링을 생성되고, 이어서 두번째 불완전 워드 쓰기의 읽기 및 쓰기 스케줄링을 생성된다. 또한 첫번째 불완전 워드에 대하여 CAS RD 및 CAS WR가 생성되고, 이후 두번째 불완전 워드에 대하여 CAS RD 및 CAS WR가 생성된다.Referring to FIG. 9, in a comparison example, when there are two incomplete word write requests, the
본 발명의 실시예에 따르면, 도 8에도 도시되어 있듯, 두번째 CAS RD와 첫번째 CAS WR간 한번의 딜레이가 발생하나, 비교예에 따르면, 도 9에 도시되어 있듯, 첫번째 CAS RD 와 첫번째 CAS WR간, 첫번째 CAS WR과 두번째 CAS RD간 및 두번째 CAS RD와 두번째 CAS WR간 딜레이가 발생한다. 즉 비교예에서 더 많은 딜레이가 발생한다. 특히 비교예서는 CAS WR과 CAS RD간의 딜레이도 발생하기 때문에 본 발명보다 효율이 많이 떨어진다. According to the embodiment of the present invention, as shown in FIG. 8, a delay occurs between the second CAS RD and the first CAS WR. However, according to the comparative example, as shown in FIG. 9, , A delay occurs between the first CAS WR and the second CAS RD and between the second CAS RD and the second CAS WR. More delays occur in the comparative example. In particular, the comparative example is less effective than the present invention because a delay occurs between CAS WR and CAS RD.
도 8을 참조하면 본 발명의 실시예에 따른, 불완전 워드 쓰기 요청의 처리 과정에 소요되는 총 싸이클(cycle)은 62 싸이클이다.-위에서 예를 들어 한정한다고 설명하였습니다.Referring to FIG. 8, the total cycle required to process an incomplete word write request according to an embodiment of the present invention is 62 cycles.
도 9를 참조하면, 비교예에 따른 불완전 워드 쓰기 요청의 처리 과정에 소요되는 총 싸이클(cycle)은 81 싸이클이다. 위에서 예를 들어 한정한다고 설명하였습니다.Referring to FIG. 9, the total cycle time required to process the incomplete word write request according to the comparative example is 81 cycles. I have described it as an example above.
도 8 및 도 9를 참조하면 본 발명의 실시예에 따른 메모리 제어 장치(100)가 메모리(200)를 제어하여, 더 짧은 시간에 두 번의 불완전 워드 쓰기 요청을 처리하게 하는 것을 알 수 있다.Referring to FIGS. 8 and 9, it can be seen that the
도 10 내지 도 12는 본 발명의 효과를 설명하기 위한 도면이다.10 to 12 are diagrams for explaining the effect of the present invention.
도 10을 참조하면, 스마트폰, 듀얼HDTV 및 UHD TV에서 각각의 다른 SDRAM으로 구동시 종례의 실시예에 따른 메모리(CONV)와 본 발명의 실시예에 따른 메모리(ECC)간의 메모리 활용률(Memory utilization) 및 평균 메모리 대기 시간(Average memory latency)를 나타낸다. Referring to FIG. 10, memory utilization (memory utilization) between a memory (CONV) according to an embodiment of the present invention and a memory (ECC) according to an embodiment of the present invention when driving to different SDRAMs in a smartphone, a dual HDTV and a UHD TV ) And Average memory latency.
도 10을 참조하면, 본 발명의 실시예에 따른 Memory utilization 및 Average memory latency가 종례의 실시예에 따른 메모리 활용률 (Memory utilization) 및 Average memory latency보다 좋음을 알 수 있다.Referring to FIG. 10, it can be seen that the memory utilization and average memory latency according to the embodiment of the present invention are better than the memory utilization and average memory latency according to the embodiment of the present invention.
또한 도 11은 각각의 메모리 조건에서 본 발명(ECC)과 종례의 실시예(CONV)의 전체 요청에 대한 불완전 워드 쓰기 요청의 비율에 따른 메모리 활용률을 나타낸다. 종례에는 불완전 워드 쓰기 요청의 비율이 높아질 수록 메모리 활용률이 급격히 줄어듬을 알 수 있다. 그러나 본 발명은 메모리 활용률이 증가할 수도록 종례의 실시예보다 더 작은 기울기로 메모리 활용률이 줄어듬을 알 수 있다.Figure 11 also shows the memory utilization rate according to the ratio of incomplete word write requests to the total request of the invention (ECC) and the example embodiment (CONV) in each memory condition. As the percentage of incomplete word writing requests increases, the memory utilization rate sharply decreases. However, it can be seen that the memory utilization is reduced at a smaller slope than the conventional embodiment so that the memory utilization can be increased.
도 11을 참조하면 본 발명은 불완전 워드 쓰기 요청의 비율이 높아질 수록 더 효과적임을 알 수 있다.Referring to FIG. 11, it can be seen that the higher the ratio of incomplete word write requests is, the more effective the present invention is.
또한 도 12는 각각의 메모리 조건에서 본 발명과 종례의 실시예의 쓰기 데이터 버퍼의 깊이(the depth of write data buffer)에 따른 메모리 활용률을 나타낸다.FIG. 12 also shows the memory utilization rate according to the depth of write data buffer of the present invention and the conventional example in each memory condition.
이상에서 본 발명의 바람직한 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고 다음의 청구범위에서 정의하고 있는 본 발명의 기본 개념을 이용한 당업자의 여러 변형 및 개량 형태 또한 본 발명의 권리범위에 속하는 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, Of the right.
100: 메모리 제어 장치 110: 수신부
120: 제어부 130: 버퍼부
140: 송신부 200: 메모리100: memory control device 110:
120: control unit 130: buffer unit
140: Transmitting section 200: Memory
Claims (15)
저장된 요청 신호 중 데이터 워드 일부에 대한 복수개의 쓰기 요청 신호가 존재하는 경우, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 제어부를 포함하고,
상기 제어부는 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기가 수행된 이후, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어하는 메모리 제어 장치.A buffer unit for storing one or more request signals;
And a controller for controlling the memory to read all the data words that are the subject of the plurality of write request signals when there are a plurality of write request signals for a part of the data words among the stored request signals,
Wherein the control unit controls the memory to perform writing to all of the data words that are the subject of the plurality of write request signals after all the data words that are the subject of the plurality of write request signals are read, .
상기 제어부는 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 없는 경우, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 메모리 제어 장치.The method according to claim 1,
Wherein the control unit controls the memory to read all the data words that are the target of the plurality of write request signals when there is no read request signal for all the data words among the stored request signals.
상기 제어부는 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 메모리 제어 장치.3. The method of claim 2,
Wherein the control unit controls the memory to read all of the data words that are the target of the read request signal for all of the data words when there is a read request signal for all of the data words among the stored request signals.
상기 제어부는 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우라도, 읽기 요청 신호의 대상이 되는 데이터가 상기 버퍼부에 저장되어 있는 경우, 상기 버퍼부에 저장된 상기 읽기 요청 신호의 대상이 되는 데이터에 대하여 읽기를 수행하는 메모리 제어 장치.The method of claim 3,
Wherein the control unit is configured to determine whether a read request signal for all of the data words is included in the stored request signal when the data to be subjected to the read request signal is stored in the buffer unit, And the read data is read.
상기 제어부는 쓰기 요청을 수행하기 전에 메모리 쓰기를 수행하도록 제어하지 않은 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 메모리 제어 장치.The method of claim 3,
Wherein the control unit controls the memory to perform reading of all of the data words that are the target of the read request signal for all of the data words, when the control unit does not control to write the memory before performing the write request.
상기 제어부는 쓰기 요청을 수행하기 전에 메모리 쓰기를 수행하도록 제어한 경우, 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는지 판단하여, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어하는 메모리 제어 장치.6. The method of claim 5,
Wherein the control unit judges whether there is a write request signal for all of the data words among the stored request signals when controlling to perform memory write before performing the write request, And controls the memory to perform writing to all of the words.
상기 제어부는 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어한 이후,
상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어하는 메모리 제어 장치.The method according to claim 1,
Wherein the control unit controls the memory to write data words to be subjected to the plurality of write request signals,
Wherein the control unit controls the memory to write all of the data words that are the target of the write request signal to all of the data words when there is a write request signal for all the data words among the stored request signals.
하나 이상의 요청 신호를 저장하는 단계;
저장된 요청 신호 중 데이터 워드 일부에 대한 복수개의 쓰기 요청 신호가 존재하는 경우, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 단계; 및
상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기가 수행된 이후, 상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계를 포함하는 메모리 제어 방법.A method for a memory control device to control a memory,
Storing one or more request signals;
Controlling the memory to read all of the data words that are the subject of the plurality of write request signals when there are a plurality of write request signals for a part of the data word among the stored request signals; And
And controlling the memory to perform writing on all of the data words that are the subject of the plurality of write request signals after all of the data words that are the subject of the plurality of write request signals have been read, Way.
상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 읽기를 수행하도록 메모리를 제어하는 단계는,
상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 없는 경우, 읽기를 수행하도록 메모리를 제어하는 메모리 제어 방법.9. The method of claim 8,
Wherein the step of controlling the memory to perform a read operation on all of the data words that are the subject of the plurality of write request signals comprises:
And if there is no read request signal for all of the data words among the stored request signals, control the memory to perform reading.
상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 단계를 더 포함하는 메모리 제어 방법.10. The method of claim 9,
Controlling the memory to perform a read operation on all of the data words that are the target of the read request signal for all of the data words, when there is a read request signal for all of the data words among the stored request signals, Way.
상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 단계는,
상기 저장된 요청 신호 중 데이터 워드 전부에 대한 읽기 요청 신호가 있는 경우라도, 읽기 요청 신호의 대상이 되는 데이터가 버퍼부에 저장되어 있는 경우, 상기 버퍼부에 저장된 상기 읽기 요청 신호의 대상이 되는 데이터에 대하여 읽기를 수행하는 메모리 제어 방법.11. The method of claim 10,
The step of controlling the memory to perform a read operation on all of the data words that are the target of the read request signal for all of the data words,
Even if there is a read request signal for all of the data words among the stored request signals, if data to be a target of the read request signal is stored in the buffer unit, the data to be the target of the read request signal stored in the buffer unit / RTI > wherein the memory is readable.
상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 단계는
쓰기 요청을 수행하기 전에 메모리 쓰기를 수행하도록 제어하지 않은 경우, 상기 데이터 워드 전부에 대한 읽기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 읽기를 수행하도록 메모리를 제어하는 메모리 제어 방법.11. The method of claim 10,
The step of controlling the memory to perform reading on all of the data words that are the subject of the read request signal for all of the data words
Wherein the control unit controls the memory to perform reading of all the data words that are the target of the read request signal for all of the data words if the control unit does not control to perform the memory write before performing the write request.
쓰기 요청을 수행하기 전에 메모리 쓰기를 수행하도록 제어한 경우, 상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는지 판단하여, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계를 더 포함하는 메모리 제어 방법12. The method of claim 11,
The control unit judges whether there is a write request signal for all the data words among the stored request signals and outputs the write request signal to all of the data words to be a target of the write request signal for all of the data words Further comprising the step of controlling the memory to perform write to the memory
상기 복수개의 쓰기 요청 신호의 대상이 되는 데이터 워드 모두에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계 이후에
상기 저장된 요청 신호 중 데이터 워드 전부에 대한 쓰기 요청 신호가 있는 경우, 상기 데이터 워드 전부에 대한 쓰기 요청 신호의 대상이 되는 데이터 워드 전부에 대하여 쓰기를 수행하도록 메모리를 제어하는 단계를 더 포함하는 메모리 제어 방법 9. The method of claim 8,
After the step of controlling the memory to perform writing on all of the data words that are the subject of the plurality of write request signals
And controlling the memory to perform writing on all of the data words that are the subject of the write request signal for all of the data words, if there is a write request signal for all of the data words in the stored request signal Way
저장된 요청 신호를 처리하기 전에 상기 메모리의 전영역에 대하여 초기화 시키는 단계를 더 포함하는 메모리 제어 방법.9. The method of claim 8,
Further comprising the step of initializing the stored request signal for the entire area of the memory before processing the stored request signal.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140165094A KR101734623B1 (en) | 2014-11-25 | 2014-11-25 | Apparatus for controling memory and method thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020140165094A KR101734623B1 (en) | 2014-11-25 | 2014-11-25 | Apparatus for controling memory and method thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160062418A KR20160062418A (en) | 2016-06-02 |
KR101734623B1 true KR101734623B1 (en) | 2017-05-11 |
Family
ID=56135572
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020140165094A KR101734623B1 (en) | 2014-11-25 | 2014-11-25 | Apparatus for controling memory and method thereof |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101734623B1 (en) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102050896B1 (en) | 2013-02-19 | 2019-12-02 | 삼성전자주식회사 | Memory controller and operating method of the same |
-
2014
- 2014-11-25 KR KR1020140165094A patent/KR101734623B1/en active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
KR20160062418A (en) | 2016-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10684793B2 (en) | Semiconductor memory devices including error correction circuits and methods of operating the semiconductor memory devices | |
US10847246B2 (en) | Memory systems performing reconfigurable error correction operation using ECC engine with fixed error correction capability | |
KR102393427B1 (en) | Semiconductor device and semiconductor system | |
US11347444B2 (en) | Memory device for controlling operations according to different access units of memory | |
US20180052732A1 (en) | Semiconductor device and semiconductor system | |
US10445176B2 (en) | Memory system, memory device and operating method thereof | |
US8429496B2 (en) | Semiconductor memory device and error correcting method | |
US9324394B2 (en) | Strobe signal generation device and memory apparatus using the same | |
US20150212879A1 (en) | Semiconductor device performing error correction operation | |
KR20180029803A (en) | Semiconductor device and semiconductor system | |
KR20180000593A (en) | Method of correcting error of data and memory device thereof | |
KR101785189B1 (en) | Data writing method and memory system | |
WO2016017321A1 (en) | Memory controller, storage device, information processing system, and method of controlling memory controller | |
US10698764B2 (en) | Error correction methods and semiconductor devices using the same | |
CN108664362B (en) | Memory mirror image processing method, memory controller and user equipment | |
KR102608909B1 (en) | Semiconductor device | |
KR101734623B1 (en) | Apparatus for controling memory and method thereof | |
US20220005540A1 (en) | Memory controller and storage device including the same | |
KR102469809B1 (en) | Semiconductor device | |
US9653148B1 (en) | Multi-bank memory device and system | |
US20170308296A1 (en) | Staging write requests | |
JP2013182373A (en) | Storage device and method of controlling the same | |
KR20210023317A (en) | Semiconductor device | |
JP2012137944A (en) | Memory access device | |
US20140359397A1 (en) | Memory access apparatus and method for interleaving and deinterleaving |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |