KR102673257B1 - 비교 시스템 - Google Patents
비교 시스템 Download PDFInfo
- Publication number
- KR102673257B1 KR102673257B1 KR1020227021376A KR20227021376A KR102673257B1 KR 102673257 B1 KR102673257 B1 KR 102673257B1 KR 1020227021376 A KR1020227021376 A KR 1020227021376A KR 20227021376 A KR20227021376 A KR 20227021376A KR 102673257 B1 KR102673257 B1 KR 102673257B1
- Authority
- KR
- South Korea
- Prior art keywords
- signal
- comparison
- data
- unit
- check code
- Prior art date
Links
- 238000012937 correction Methods 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 4
- 230000011664 signaling Effects 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 23
- 230000014509 gene expression Effects 0.000 description 20
- 238000000034 method Methods 0.000 description 5
- 238000004458 analytical method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
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
- 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/1039—Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
- G11C11/4087—Address decoders, e.g. bit - or word line decoders; Multiple line decoders
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- 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/52—Protection of memory contents; Detection of errors in memory contents
-
- 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/1051—Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
- G11C7/1069—I/O lines read out arrangements
-
- 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/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
- G11C7/1096—Write circuits, e.g. I/O line write drivers
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0175—Coupling arrangements; Interface arrangements
- H03K19/017509—Interface arrangements
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17784—Structural details for adapting physical parameters for supply voltage
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/22—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
- H03K5/24—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being amplitude
- H03K5/2472—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral the characteristic being amplitude using field effect transistors
-
- 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
- G11C2029/0411—Online error correction
-
- 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/1006—Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Nonlinear Science (AREA)
- Databases & Information Systems (AREA)
- Detection And Correction Of Errors (AREA)
- Logic Circuits (AREA)
- Error Detection And Correction (AREA)
Abstract
본 발명의 실시예는 적어도 하나의 비교 회로를 포함하는 비교 시스템을 제공하고, 비교 회로는 공유 모듈, 제1 논리 유닛 및 제2 논리 유닛을 포함하며, 상기 공유 모듈은 전원 신호 및 접지 신호에 연결되고, 제1 신호 및 제2 신호에 기반하여 상기 전원 신호 또는 상기 접지 신호를 출력하도록 제어하며, 상기 제1 신호와 상기 제2 신호는 반전되고; 상기 제1 논리 유닛은 상기 공유 모듈에 연결되며, 제3 신호 및 제4 신호를 수신하도록 구성되고, 상기 제3 신호와 상기 제4 신호는 반전되며, 또한 제1 연산 신호를 출력하도록 구성되고, 상기 제1 연산 신호는 상기 제1 신호와 상기 제3 신호의 배타적 논리합이며; 상기 제2 논리 유닛은 상기 공유 모듈에 연결되고, 상기 제3 신호 및 상기 제4 신호를 수신하고 제2 연산 신호를 출력하도록 구성되며, 상기 제2 연산 신호는 상기 제1 신호와 상기 제3 신호의 배타적 부정 논리합이다. 본 발명의 실시예는 비교 시스템의 연산 속도를 향상시키는데 도움이 된다.
Description
관련 출원의 상호 참조
본 발명은 출원 번호가 202110049123.4이고, 출원일자가 2021년 01월 14일인 중국특허출원을 기반으로 제출하였고, 상기 중국특허출원의 우선권을 주장하는 바, 상기 중국특허출원의 모든 내용은 참조로서 본 발명에 인용된다.
본 발명의 실시예는 비교 시스템에 관한 것이지만 이에 한정되지 않는다.
반도체 메모리는 비휘발성 메모리 및 휘발성 메모리로 나눌 수 있다. 동적 랜덤 액세스 메모리(Dynamic Random Access Memory, DRAM)는 휘발성 메모리로서, 저장 밀도가 높고, 판독 및 기록 속도가 빠른 장점을 가지며, 다양한 전자 시스템에 널리 사용된다.
DRAM의 제조 공정이 점점 고도화되고 저장 밀도가 점점 높아짐에 따라, DRAM에 저장된 데이터에 오류가 발생할 수 있으므로, DRAM 성능에 심각한 영향을 미친다. 따라서, DRAM에서는 일반적으로 오류 정정 코드(Error Checking and Correction or Error correction Coding, ECC) 기술을 사용하여 저장된 데이터의 오류를 검출하거나 정정한다.
본 발명의 실시예는 적어도 하나의 비교 회로를 포함하는 비교 시스템을 제공하고, 상기 비교 회로는 공유 모듈, 제1 논리 유닛 및 제2 논리 유닛을 포함하며, 상기 공유 모듈은 전원 신호 및 접지 신호에 연결되고, 제1 신호 및 제2 신호에 기반하여 상기 전원 신호 또는 상기 접지 신호를 출력하도록 제어하며, 상기 제1 신호와 상기 제2 신호는 반전되고; 상기 제1 논리 유닛은 상기 공유 모듈에 연결되며, 제3 신호 및 제4 신호를 수신하도록 구성되고, 상기 제3 신호와 상기 제4 신호는 반전되며, 또한 제1 연산 신호를 출력하도록 구성되고, 상기 제1 연산 신호는 상기 제1 신호와 상기 제3 신호의 배타적 논리합이며; 상기 제2 논리 유닛은 상기 공유 모듈에 연결되고, 상기 제3 신호 및 상기 제4 신호를 수신하고 제2 연산 신호를 출력하도록 구성되며, 상기 제2 연산 신호는 상기 제1 신호와 상기 제3 신호의 배타적 부정 논리합이다.
하나 이상의 실시예는 이에 대응되는 첨부된 도면을 통해 예시적으로 설명되며, 이러한 예시적인 설명은 실시예를 한정하지 않으며, 도면에서 동일한 참조 번호를 갖는 소자는 유사한 소자를 나타내고, 특별한 언급이 없는 한 도면은 비율에 의해 한정되지 않는다.
도 1은 본 발명의 실시예에서 제공되는 비교 시스템 중 비교 회로의 기능 블록도이다.
도 2는 본 발명의 실시예에서 제공되는 비교 시스템 중 비교 회로의 회로 구조 모식도이다.
도 3은 본 발명의 실시예에서 제공되는 비교 시스템 중 회로 구조 모식도이다.
도 4는 본 발명의 실시예에서 제공되는 비교 시스템과 저장 시스템의 모식도이다.
도 5는 본 발명의 실시예에서 제공되는 다수의 데이터의 분류 모식도 및 제1 체크 코드와 제2 체크 코드 사이의 관계 모식도이다.
도 6은 바이트 0에 대응되는 제1 체크 코드의 확대 모식도이다.
도 7은 본 발명의 일부 실시예에서 제공되는 비교 시스템의 기능 블록도이다.
도 8은 모든 바이트에 대해 제2 인코딩 연산을 수행하는 원리 모식도이다.
도 9는 본 발명의 실시예에서 제공되는 비교 시스템 중 디코딩 모듈의 구체적인 구조 모식도이다.
도 10은 본 발명의 실시예에서 제공되는 디코딩 모듈 중 바이트 5에 대응되는 디코딩 유닛의 확대 구조 모식도이다.
도 1은 본 발명의 실시예에서 제공되는 비교 시스템 중 비교 회로의 기능 블록도이다.
도 2는 본 발명의 실시예에서 제공되는 비교 시스템 중 비교 회로의 회로 구조 모식도이다.
도 3은 본 발명의 실시예에서 제공되는 비교 시스템 중 회로 구조 모식도이다.
도 4는 본 발명의 실시예에서 제공되는 비교 시스템과 저장 시스템의 모식도이다.
도 5는 본 발명의 실시예에서 제공되는 다수의 데이터의 분류 모식도 및 제1 체크 코드와 제2 체크 코드 사이의 관계 모식도이다.
도 6은 바이트 0에 대응되는 제1 체크 코드의 확대 모식도이다.
도 7은 본 발명의 일부 실시예에서 제공되는 비교 시스템의 기능 블록도이다.
도 8은 모든 바이트에 대해 제2 인코딩 연산을 수행하는 원리 모식도이다.
도 9는 본 발명의 실시예에서 제공되는 비교 시스템 중 디코딩 모듈의 구체적인 구조 모식도이다.
도 10은 본 발명의 실시예에서 제공되는 디코딩 모듈 중 바이트 5에 대응되는 디코딩 유닛의 확대 구조 모식도이다.
본 발명의 실시예는 비교 시스템을 제공하고, 여기서, 배타적 논리합을 구현하도록 구성되는 제1 논리 유닛과 배타적 부정 논리합을 구현하도록 구성되는 제2 논리 유닛은 동일한 공유 모듈을 공유하는데, 이는 회로 면적을 감소시키는데 도움이 되며, 동시에 제1 논리 유닛과 제2 논리 유닛의 면적을 더 크게 설정하여, 제1 논리 유닛과 제2 논리 유닛의 구동 능력을 더 향상시킬 수 있고, 배타적 논리합 연산 및 배타적 부정 논리합 연산의 연산 속도를 향상시킬 수 있으므로, 저장 시스템의 오류 검출 및 오류 정정 속도를 향상시키는데 도움이 된다.
본 발명의 실시예의 목적, 기술적 해결수단 및 장점을 더욱 분명하게 하기 위해, 아래에서는 도면과 결부하여 본 발명의 각 실시예를 상세하게 설명할 것이다. 그러나, 본 발명의 각 실시예에서 독자가 본 발명을 더 잘 이해하도록 하기 위해 많은 기술적 세부사항을 제공하였음을 당업자는 이해할 수 있을 것이다. 그러나, 이러한 기술적 세부사항 및 하기 각 실시예 기반의 다양한 변경 및 수정 없이도 본 발명이 보호하고자 하는 기술적 해결수단은 구현될 수 있다.
도 1은 본 발명의 실시예에서 제공되는 비교 시스템 중 비교 회로의 기능 블록도이고, 도 2는 본 발명의 실시예에서 제공되는 비교 시스템 중 비교 회로의 회로 구조 모식도이며, 도 3은 본 발명의 실시예에서 제공되는 비교 시스템의 회로 구조 모식도이다.
도 1을 참조하면, 본 발명의 실시예에서 비교 시스템은 적어도 하나의 비교 회로(1)를 포함하고, 상기 비교 회로(1)는 공유 모듈(10), 제1 논리 유닛(11) 및 제2 논리 유닛(12)을 포함하며, 상기 공유 모듈(10)은 전원 신호(Vcc) 및 접지 신호(Vss)에 연결되고, 제1 신호(B) 및 제2 신호(BN)에 기반하여 전원 신호(Vcc) 또는 접지 신호(Vss)를 출력하도록 제어하며, 제1 신호(B)와 제2 신호(BN)는 반전되고; 상기 제1 논리 유닛(11)은 공유 모듈(10)에 연결되며, 제3 신호(A) 및 제4 신호(AN)를 수신하도록 구성되고, 제3 신호(A)와 제4 신호(AN)는 반전되며, 또한 제1 연산 신호(Y)를 출력하도록 구성되고, 제1 연산 신호(Y)는 제1 신호(B)와 제3 신호(A)의 배타적 논리합이며; 상기 제2 논리 유닛(12)은 공유 모듈(10)에 연결되고, 제3 신호(A) 및 제4 신호(AN)를 수신하고 제2 연산 신호(YN)를 출력하도록 구성되며, 제2 연산 신호(YN)는 제1 신호(B)와 제3 신호(A)의 배타적 부정 논리합이다.
설명해야 할 것은, 공유 모듈(10)과 제1 논리 유닛(11) 및 제2 논리 유닛(12) 사이의 연결 라인은 이들 사이의 신호 전송 관계를 나타내고, 하나의 신호 라인뿐임을 나타내지 않으며, 하나의 신호 라인이거나 다수의 신호 라인일 수 있다.
이하, 도면과 결부하여 본 발명의 실시예에서 제공되는 비교 시스템에 대해 상세하게 설명할 것이다.
본 발명의 실시예에서, 도 2를 참조하면, 공유 모듈(10)(도 1 참조)은, 전원 신호(Vcc)에 연결되고, 제1 신호(B) 및 제2 신호(BN)에 기반하여 전원 신호(Vcc)를 출력하도록 제어하는 제1 공유 유닛(21); 및 접지 신호(Vss)에 연결되고, 제1 신호(B) 및 제2 신호(BN)에 기반하여 접지 신호(Vss)를 출력하도록 제어하는 제2 공유 유닛(22)을 포함하며; 여기서, 제1 논리 유닛(11)(도 1 참조)은 제1 공유 유닛(21)과 제2 공유 유닛(22) 사이에 연결되고, 제2 논리 유닛(12)(도 1 참조)은 제1 공유 유닛(21)과 제2 공유 유닛(22) 사이에 연결된다.
본 발명의 실시예에서, 도 2를 참조하면, 제1 공유 유닛(21)은, 게이트가 제1 신호(B)를 수신하고 소스가 전원 신호(Vcc)에 연결되는 제0 PMOS 트랜지스터(MP0); 및 게이트가 제2 신호(BN)를 수신하고 소스가 전원 신호(Vcc)에 연결되는 제7 PMOS 트랜지스터(MP7)를 포함한다. 제1 신호(B)가 하이 레벨이고, 제2 신호(BN)가 로우 레벨인 경우, 제0 PMOS 트랜지스터(MP0)는 차단되고 제7 PMOS 트랜지스터(MP7)는 도통되며; 제1 신호(B)가 로우 레벨이고, 제2 신호(BN)가 하이 레벨인 경우, 제0 PMOS 트랜지스터(MP0)는 도통되고 제7 PMOS 트랜지스터(MP7)는 차단된다.
제2 공유 유닛(22)은, 게이트가 제1 신호(B)를 수신하고 소스가 접지 신호(Vss)에 연결되는 제0 NMOS 트랜지스터(MN0); 및 게이트가 제2 신호(BN)를 수신하고 소스가 접지 신호(Vss)에 연결되는 제7 NMOS 트랜지스터(MN7)를 포함한다. 제1 신호(B)가 하이 레벨이고, 제2 신호(BN)가 로우 레벨인 경우, 제0 NMOS 트랜지스터(MN0)는 도통되고 제7 NMOS 트랜지스터(MN7)는 차단되며; 제1 신호(B)가 로우 레벨이고 제2 신호(BN)가 하이 레벨인 경우, 제0 NMOS 트랜지스터(MN0)는 차단되고 제7 NMOS 트랜지스터(MN7)는 도통된다.
본 발명의 실시예에서, 제1 논리 유닛(11)은, 게이트가 제4 신호(AN)를 수신하고, 소스가 제0 PMOS 트랜지스터(MP0)의 드레인에 연결되는 제1 PMOS 트랜지스터(MP1); 게이트가 제3 신호(A)를 수신하고, 드레인이 제1 PMOS 트랜지스터(MP1)의 드레인에 연결되며, 소스가 제0 NMOS 트랜지스터(MN0)의 드레인에 연결되는 제1 NMOS 트랜지스터(MN1); 게이트가 제3 신호(A)를 수신하고, 소스가 제7 PMOS 트랜지스터(MP7)의 드레인에 연결되는 제4 PMOS 트랜지스터(MP4); 및 게이트가 제4 신호(AN)를 수신하고, 드레인이 제4 PMOS 트랜지스터(MP4)의 드레인에 연결되며, 소스가 제7 NMOS 트랜지스터(MN7)의 드레인에 연결되는 제4 NMOS 트랜지스터(MN4)를 포함한다.
제2 논리 유닛(12)은, 게이트가 제3 신호(A)를 수신하고, 소스가 제0 PMOS 트랜지스터(MP0)의 드레인에 연결되는 제2 PMOS 트랜지스터(MP2); 게이트가 제4 신호(AN)를 수신하고, 드레인이 제2 PMOS 트랜지스터(MP2)의 드레인에 연결되며, 소스가 제0 NMOS 트랜지스터(MN0)의 드레인에 연결되는 제2 NMOS 트랜지스터(MN2); 게이트가 제4 신호(AN)를 수신하고, 소스가 제7 PMOS 트랜지스터(MP7)의 드레인에 연결되는 제5 PMOS 트랜지스터(MP5); 및 게이트가 제3 신호(A)를 수신하고, 드레인이 제5 PMOS 트랜지스터(MP5)의 드레인에 연결되며, 소스가 제7 NMOS 트랜지스터(MN7)의 드레인에 연결되는 제5 NMOS 트랜지스터(MN5)를 포함한다.
또한, 제1 PMOS 트랜지스터(MP1)의 드레인과 제4 PMOS 트랜지스터(MP4)의 드레인은 연결되어, 제1 연산 신호(Y)를 출력하고; 제2 PMOS 트랜지스터(MP2)의 드레인과 제5 PMOS 트랜지스터(MP5)의 드레인은 연결되어, 제2 연산 신호(YN)를 출력한다.
또한, 도 3에 도시된 바와 같이, 비교 시스템은 또한 다수의 비교 회로(1)를 포함할 수 있으며, 여기서 일부 비교 회로(1)의 출력은 다른 일부 비교 회로(1)의 입력으로 사용될 수 있다. 상기 비교 시스템은 저장 시스템에 적용될 수 있고, 예를 들어 저장 시스템에 대한 오류 정정 코드 기술에 사용될 수 있다.
본 발명의 실시예에서 제공되는 비교 시스템에서, 배타적 논리합 논리를 구현하도록 구성되는 제1 논리 유닛(11)과 배타적 부정 논리합 논리를 구현하도록 구성되는 제2 논리 유닛(12)은 동일한 공유 모듈(10)에 연결되므로, 공유 모듈(10)의 회로 구조의 점용 면적을 감소시킬 수 있고, 더 나아가, 제1 논리 유닛(11) 및 제2 논리 유닛(12)에 대응되는 회로 면적을 더 크게 설정하여, 제1 논리 유닛(11) 및 제2 논리 유닛(12)의 구동 능력을 향상시킬 수 있음으로써, 비교 시스템의 배타적 부정 논리합 연산 및 배타적 논리합 연산의 연산 속도를 향상시킬 수 있다.
본 발명의 일부 실시예에서, 또한 비교 시스템을 제공하고, 상기 비교 시스템은 전술한 실시예와 거의 동일하며, 주요한 구별점은 해당 비교 시스템이 또한 저장 시스템에 적용될 수 있는 것이고, 아래에서는 도면과 결부하여 해당 비교 시스템에 대해 상세하게 설명할 것이며, 설명해야 할 것은, 상기 실시예와 동일하거나 상응한 부분은 전술한 실시예의 상세한 설명을 참조할 수 있고 아래에서는 반복하여 설명하지 않는다.
도 4는 본 발명의 실시예에서 제공되는 비교 시스템과 저장 시스템의 모식도이다.
본 발명의 일부 실시예에서, 비교 시스템(20)은 적어도 하나의 비교 회로를 포함하고, 상기 비교 회로는 공유 모듈, 제1 논리 유닛 및 제2 논리 유닛을 포함하며, 비교 회로와 관련된 구체적인 구조의 설명은 전술한 실시예의 상세한 설명을 참조할 수 있다.
본 발명의 실시예에서, 도 4에 도시된 바와 같이, 비교 시스템(20)은 저장 시스템(101)에 적용되고, 저장 시스템(101)은 판독 및 기록 동작 기간에 다수의 데이터를 기록하거나 판독하며, 다수의 데이터는 M개의 바이트로 나뉘고, 각각의 바이트는 N개의 데이터를 가지며, M 및 N은 양의 자연수이다.
비교 시스템(20)은, 다수의 데이터를 수신하도록 구성되고, 각각의 데이터는 제1 신호 또는 제3 신호로 사용되며, 또한 각각의 바이트 중의 다수 데이터를 기반으로 제1 인코딩 연산을 수행하여 X개의 제1 체크 코드를 생성하도록 구성되고, 동일한 제1 체크 코드에 대응되는 다수 데이터가 상이한 바이트에서의 비트는 동일하며, 또한 다수 바이트 중의 모든 데이터를 기반으로 제2 인코딩 연산을 수행하여 Y개의 제2 체크 코드를 생성하도록 구성되고, 여기서 X개의 제1 체크 코드는 각각의 바이트 중의 N개의 데이터에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는 데 사용되고, Y개의 제2 체크 코드는 M개의 바이트에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는 데 사용되며; X 및 Y는 모두 양의 자연수이다.
본 발명의 실시예에서, 저장 시스템(101)은 DRAM일 수 있고, 예를 들어 DDR4, LPDDR4, DDR5 또는 LPDDR5일 수 있으며; 저장 시스템(101)은 다른 타입의 저장 시스템일 수 있고, 예를 들어 NAND, NOR, FeRAM, PcRAM등과 같은 비휘발성 메모리일 수 있다. 상기 저장 시스템(101)의 경우, 데이터를 상이한 바이트로 나눌 수 있으며, 제1 체크 코드는 각각의 바이트 중의 N개의 데이터에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 사용되고, 제2 체크 코드는 M개의 바이트에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 사용되며, 이러한 오류 검출 및 오류 정정의 인코딩 방식은 ECC를 구현할 수 있을 뿐만 아니라, 더 적은 하드웨어 회로를 사용하여 ECC를 구현할 수 있으며, 저장 시스템의 전력 소비를 감소하고 ECC의 속도 및 결과를 최적화하는데 도움이 된다.
유의해야 할 것은, 본 발명의 실시예에 따른 제1 체크 코드가 각각의 바이트 중의 N개의 데이터에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 사용되고, 제2 체크 코드가 M개의 바이트에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 사용된다는 것은, 모든 제1 체크 코드 및 제2 체크 코드가 M개의 바이트의 모든 데이터에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 공동으로 사용되고, 제2 체크 코드가 M개의 바이트에서 오류가 발생한 데이터가 위치하는 바이트를 포지셔닝하는데 사용되고, 제1 체크 코드가 상기 바이트에서 오류가 발생한 데이터가 위치하는 비트를 포지셔닝하는데 사용되는 것으로 이해해야 한다.
통상적으로, 바이트는 데이터 처리의 기본 단위이다. 바이트를 단위로 정보를 저장 및 해석하고, 1개의 바이트는 8개의 이진 비트로 구성되도록 설정하며, 즉 1개의 바이트는 8개의 비트와 같으며, 8 비트에서 각각의 비트는 상응한 비트를 가지며, 즉 1 Byte=8 bit이다. 이를 기반으로, 본 발명의 실시예에서는 각각의 바이트 중의 비트를 최대화하기 위해 N을 8로 하므로, 비교 시스템(20)이 요구하는 회로의 이용률을 향상시키는데 도움이 된다. 다른 실시예에서, N은 또한 다른 적합한 양의 정수일 수 있음을 이해할 수 있다.
단일 판독 및 기록 동작 기간에 저장 시스템(101)에 의해 전송된 데이터가 128 비트(즉, 128 bit)인 것으로 예를 들면, M은 16이고 N은 8이다. 다른 실시예에서, M*N이 판독 및 기록 동작 기간에 전송된 데이터 비트 수와 동일한 전제 하에서, 판독 및 기록 동작 기간에 저장 시스템에 의해 전송된 데이터의 비트 수가 상이함에 따라, M은 또한 다른 적합한 양의 정수일 수 있음을 유의해야 한다.
도 5는 본 발명의 실시예에서 제공되는 다수의 데이터의 분류 모식도 및 제1 체크 코드와 제2 체크 코드 사이의 관계 모식도이고, N개의 데이터에서 각각의 데이터의 비트는 상이하다. 본 발명의 실시예에서, 도 5에 도시된 바와 같이, 각각의 바이트의 경우 N개의 데이터는 자연수 증분에 따른 0 내지 7까지의 비트를 갖고; 모든 바이트의 경우 M개의 바이트는 자연수 증분에 따른 0 내지 15까지의 16개의 바이트로 나뉜다. 또한, 상이한 바이트의 경우, 바이트 내의 N개의 데이터는 모두 0 내지 7까지 증분되는 8개의 비트를 갖는다.
위치의 제한으로 인해 도 5에서는 실제로 동일한 행에 있어야 하는 테이블을 3개의 테이블로 나누지만, 이는 실제로 하나의 완전한 테이블임을 유의해야 한다. 도시의 편의를 위해, 도 6은 바이트 0에 대응되는 제1 체크 코드의 확대 모시도를 도시한다.
도 7은 본 발명의 실시예에서 제공되는 비교 시스템의 기능 블록도이다. 도 7에 도시된 바와 같이, 비교 시스템(20)(도 4 참조)은 제1 비교 모듈(102)을 포함하고, 제1 비교 모듈(102)은 다수의 전술한 비교 회로로 구성되며, 저장 시스템(101)(도 4 참조)의 기록 동작 기간에 다수의 데이터를 수신하고 비교 처리하여, X개의 제1 체크 코드 및 Y개의 제2 체크 코드를 생성하도록 구성된다.
제1 비교 모듈(102)은 다수의 비교 회로를 포함하기 때문에, 다수의 데이터 중의 다수 데이터에 대해 배타적 부정 논리합 연산 또는 배타적 논리합 연산을 수행하여, 제1 체크 코드 및 제2 체크 코드를 생성할 수 있다.
본 발명의 실시예에서, 도 7에 도시된 바와 같이, 제1 비교 모듈(102)은 다수의 제1 비교 유닛(112) 및 다수의 제2 비교 유닛(122)을 포함하고, 각각의 제1 비교 유닛(112)은 저장 시스템(101)의 기록 동작 기간에 각각의 바이트 중의 다수 데이터를 수신하고 비교 처리하여, 하나의 제1 체크 코드를 출력하도록 구성되고, 여기서 각각의 제1 비교 유닛(112)은 바이트에서 상이한 비트 조합의 다수 데이터를 대응되게 수신하며; 각각의 제2 비교 유닛(122)은 저장 시스템(101)의 기록 동작 기간에 다수 바이트 중의 모든 데이터를 수신하고 비교 처리하여, 하나의 제2 체크 코드를 출력하도록 구성되고, 각각의 제2 비교 유닛(122)은 상이한 바이트 조합의 모든 데이터를 대응되게 수신한다.
제1 비교 유닛(112)은 다수 전술한 비교 회로로 구성되고, 제2 비교 유닛(122)은 다수 전술한 비교 회로로 구성된다. 이하, 제1 비교 유닛(112) 및 제2 비교 유닛(122)에 대해 상세하게 설명할 것이다.
2X≥N이고, 각각의 제1 체크 코드는 모든 바이트 중의 다수 데이터에 대해 제1 인코딩 연산을 수행하여 획득된 것이고, 각각의 제1 체크 코드에 대응되는 다수 데이터는 바이트 중 상이한 비트 조합에 대응된다. 즉, 각각의 제1 체크 코드는 각각의 바이트 중의 다수의 비트의 데이터를 선택하여 제1 인코딩 연산을 수행하여 획득된 것이고, 동일한 제1 체크 코드의 경우 모든 바이트에서 선택된 비트 조합은 동일하며, 상이한 제1 체크 코드의 경우 N개의 데이터에서 선택된 비트 조합은 상이하다.
본 발명의 실시예에서, 상이한 제1 체크 코드는 모든 바이트 중 상이한 데이터를 기반으로 제1 인코딩 연산을 수행하여 획득된 것이고, 따라서 상이한 제1 체크 코드의 경우, 제1 체크 코드의 결과에 영향을 미치는 비트는 상이하다. 동시에, 2X≥N이므로, 각각의 비트가 선택되어 제1 인코딩 연산을 수행하여 획득된 제1 체크 코드가 완전히 동일한 것이 아니도록 하므로, 분석을 통해 어느 하나의 비트에 대응되는 데이터에 오류가 발생하였는지를 획득할 수 있다. 여기서, 제1 인코딩 연산은 제1 비교 유닛(112)에 의해 수행되고, 즉 제1 비교 유닛(112)에 의해 배타적 논리합 연산 또는 배타적 부정 논리합 연산이 수행된다.
본 발명의 실시예에서, M은 16이고, N은 8이며, X는 3이고; 제1 비교 유닛(112)의 개수는 3이며, 제2 비교 유닛(122)의 개수는 5이다. X는 3으로, 상이한 비트의 데이터의 오류를 지시할 수 있을 뿐만 아니라, 제1 비교 유닛(112)의 하드웨어 회로의 복잡도를 감소시킬 수 있다.
본 발명의 일부 실시예에서, 3개의 제1 체크 코드는 비트의 오름순의 순서로 제0 비트의 제1 체크 코드, 제1 비트의 제1 체크 코드 및 제2 비트의 제1 체크 코드를 포함하고, N개의 데이터는 자연수 증분에 따른 0 내지 N-1까지의 비트를 갖는다. 예를 들면, 제0 비트의 경우, 이는 어느 하나의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여하지 않고; 제1 비트의 경우, 이는 제0 위치의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여하며; 제2 비트의 경우, 제1 비트의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여하고; 제3 비트의 경우, 이는 제0 비트 및 제1 비트의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여하며; 제4 비트의 경우, 이는 제2 비트의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여하고; 제5 비트의 경우, 이는 제0 비트 및 제2 비트의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여하며; 제6 비트의 경우, 이는 제1 비트 및 제2 비트의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여하고; 제7 비트의 경우, 이는 제0 비트, 제1 비트 및 제2 비트의 제1 체크 코드에 대응되는 제1 인코딩 연산에 참여한다. 이해해야 할 것은, 각각의 비트가 선택되어 제1 인코딩 연산을 수행하여 획득된 제1 체크 코드가 완전히 동일한 것이 아닌 전제 하에서, 당업자는 수요에 따라 제1 체크 코드의 개수 및 다른 인코딩 연산 관계를 설정할 수 있다.
제1 인코딩 연산을 배타적 논리합으로 예를 들면, 3개의 제1 비교 유닛(112)은 각각 다음과 같이 구성된다. 하나의 제1 비교 유닛(112)은 모든 바이트에서 제1, 제3, 제5 및 제7 비트의 데이터에 대해 배타적 논리합 연산을 수행하여, 최하위 비트의 제1 체크 코드를 생성하도록 구성되고; 다른 하나의 제1 비교 유닛(112)은 모든 바이트에서 제4, 제5, 제6 및 제7 비트의 데이터에 대해 배타적 논리합 연산을 수행하여, 최상위 비트의 제1 체크 코드를 생성하도록 구성되며; 또 다른 하나의 제1 비교 유닛(112)은 모든 바이트에서 제2, 제3, 제6 및 제7 비트의 데이터에 대해 배타적 논리합 연산을 수행하여, 중간 비트의 제1 체크 코드를 생성하도록 구성된다.
설명해야 할 것은, 다른 실시예에서 제1 인코딩 연산은 또한 배타적 부정 논리합일 수 있고; 상응하게, 하나의 제1 비교 유닛은 모든 바이트에서 제1, 제3, 제5 및 제7 비트의 데이터에 대해 배타적 부정 논리합 연산을 수행하여, 하나의 제1 체크 코드를 생성하도록 구성되며; 다른 하나의 제1 비교 유닛은 모든 바이트에서 제4, 제5, 제6 및 제7 비트의 데이터에 대해 배타적 부정 논리합 연산을 수행하여, 다른 하나의 제1 체크 코드를 생성하도록 구성되고; 또 다른 하나의 제1 비교 유닛은 모든 바이트에서 제2, 제3, 제6 및 제7 비트의 데이터에 대해 배타적 부정 논리합 연산을 수행하여, 또 다른 하나의 제1 체크 코드를 생성하도록 구성된다.
각각의 제2 비교 유닛(122)은 하나의 제2 체크 코드를 생성하도록 구성되고, Y개의 제2 체크 코드는 Y 비트의 제2 이진수를 구성하며, 여기서 2Y≥M이고, 각각의 제2 체크 코드는 다수 바이트에 대해 제2 인코딩 연산을 수행하여 획득된 것이다. 본 발명의 실시예에서, 제2 인코딩 연산은 제2 비교 유닛(122)에 의해 구현되고, 배타적 부정 논리합 연산 또는 배타적 논리합 연산일 수 있다.
2Y≥M이므로, 각각의 바이트가 제2 인코딩 연산에 참여하여 획득된 제2 체크 코드가 완전히 동일한 것이 아니도록 보장한다. 본 발명의 실시예에서, 상이한 제2 체크 코드는 상이한 다수 바이트를 기반으로 제2 인코딩 연산을 수행하여 획득된 것이고, 따라서 상이한 제2 체크 코드의 경우, 제2 체크 코드의 결과에 영향을 미치는 바이트는 상이하므로, 종합 분석을 통해 어느 하나의 바이트 중의 데이터에 오류가 발생하였는지를 획득할 수 있다. 다음 바이트에서 어느 하나의 비트에 오류가 발생하였지를 결부하여, 최종적으로 어느 하나의 바이트 중의 어느 하나의 비트의 데이터에 오류가 발생하였는지를 판단할 수 있다. 유의해야 할 것은, 여기에서 언급된 제2 체크 코드의 결과에 영향을 미친다는 것은 특정 바이트 중의 데이터에 오류가 발생한 후, 제2 인코딩 연산을 다시 수행하여 상기 특정 제2 체크 코드를 획득하면, 데이터에 오류가 발생하기 전에 형성된 상기 제2 체크 코드와 상이해진다는 것을 의미한다. 본 발명의 실시예에서, Y는 5로, 상이한 바이트의 데이터의 오류를 지시할 수 있을 뿐만 아니라, 제2 비교 유닛(122)의 하드웨어 회로의 복잡도를 감소시킬 수 있다.
본 발명의 실시예에서, M개의 바이트는 자연수 증분에 따른 0번째 내지 15번째의 바이트로 나뉘고; Y개의 제2 체크 코드는 자연수 증분에 따른 3번째 내지 7번째의 제2 체크 코드로 나뉘며; 5개의 제2 체크 코드의 획득 방식은 하기와 같다.
3번째의 제2 체크 코드(도5 중의 p13에 대응됨)는 0번째, 2번째, 3번째, 4번째, 5번째, 6번째 및 8번째 바이트의 모든 데이터의 배타적 논리합 또는 배타적 부정 논리합이고; 4번째의 제2 체크 코드(도 5 중의 p14에 대응됨)는 0번째, 1번째, 4번째, 5번째, 7번째, 9번째, 10번째 및 12번째 바이트의 모든 데이터의 배타적 논리합 또는 배타적 부정 논리합이며; 5번째의 제2 체크 코드(도 5 중의 p15에 대응됨)는 1번째, 2번째, 4번째, 6번째, 9번째, 11번째, 13번째 및 14번째 바이트의 모든 데이터의 배타적 논리합 또는 배타적 부정 논리합이고; 6번째의 제2 체크 코드(도 5 중의 p16에 대응됨)는 3번째, 5번째, 6번째, 7번째, 10번째, 11번째, 14번째 및 15번째 바이트의 모든 데이터의 배타적 논리합 또는 배타적 부정 논리합이며; 7번째의 제2 체크 코드(도 5 중의 p17에 대응됨)는 8번째, 9번째, 10번째, 11번째, 12번째, 13번째 및 15번째 바이트의 모든 데이터의 배타적 논리합 또는 배타적 부정 논리합이다.
설명해야 할 것은, 각각의 제2 체크 코드는 모두 배타적 논리합 연산에 의해 획득된 것이고; 또는, 각각의 제2 체크 코드는 모두 배타적 부정 논리합 연산에 의해 획득된 것이다.
상응하게, 제2 비교 유닛(122)에 대응되는 회로는 하기와 같이 설계된다.
바이트 0 및 바이트 4의 배타적 논리합 결과에 대해 배타적 논리합을 수행하여, 결과 0_4를 획득하고; 바이트 2 및 바이트 6의 결과에 대해 배타적 논리합을 수행하여, 결과 2_6을 획득하며; 바이트 3 및 바이트 5의 결과에 대해 배타적 논리합을 수행하여, 결과 3_5를 획득하고; 바이트 1 및 바이트 5의 결과에 대해 배타적 논리합을 수행하여, 결과 1_5를 획득하며; 바이트 1 및 바이트 4의 결과에 대해 배타적 논리합을 수행하여, 결과 1_4를 획득한다.
쉽게 발견할 수 있는 것은, 도 8에 도시된 바와 같이, 도 8은 모든 바이트에 대해 제2 인코딩 연산을 수행하는 원리 모식도를 도시하고, 바이트 0 내지 7과 비교하면, 동일한 회로를 사용하여 바이트 8 내지 바이트 15에 대한 연산을 완료할 수 있으며, 즉 입력을 변경하기만 하면, 바이트 8 내지 바이트 15에 대해 동일한 연산을 수행하여, 결과 9_13, 결과 10_12, 결과 11_15, 결과 10_14, 결과 11_14를 획득할 수 있다. 또한, 동일한 회로를 사용할 수 있는 이러한 연산 외에도, 바이트 6 및 바이트 7에 대해 배타적 논리합을 수행하여 결과 6_7을 획득하고, 바이트 7 및 바이트 9의 결과에 대해 배타적 논리합을 수행하여 결과 7_9를 획득해야 한다.
pc3 내지 pc7의 연산식의 요구사항에 따라 배타적 논리합을 수행하는 바, 예를 들어 연산식 pc3에 따라 결과 0_4, 결과 2_6, 결과 3_5 및 바이트 8의 배타적 논리합 결과에 대해 배타적 논리합을 수행하여, 제2 체크 코드 p13(도 5 참조)을 획득하고; 연산식 pc4에 따라 결과 0_4, 결과 1_5, 결과 7_9 및 결과 10_12에 대해 배타적 논리합을 수행하여, 제2 체크 코드 p14(도 5 참조)를 획득하며; 제2 체크 코드 p15, p16 및 p17(도 5 참조)에 관한 획득 방식은 더 이상 일일이 설명하지 않는다. 이해할 수 있는 것은, 결과 0_4, 결과 2_6 등은 중복 사용될 수 있어, 회로 자원을 절약할 수 있다.
또한, 본 발명의 실시예에서 제2 비교 유닛(122)은 또한, 각각의 바이트에 대해, 제2 인코딩 연산에 참여하는 횟수가 a이고, a가 (Y-1)/2≤a≤(Y+1)/2를 만족하며, a가 양의 정수이도록 구성될 수 있다. 이러한 설정을 통해, 후속 디코딩 단계에 필요한 디코딩 회로에서 회로의 라인 및 면적을 감소시킬 수 있고, 디코딩 속도의 향상에 도움이 된다.
이하, 도 5 및 도 6을 결부하여 제1 체크 코드의 생성 원리에 대해 설명할 것이다.
도 5 및 도 6에 도시된 바와 같이, “×”는 현재 이 행의 인코딩 연산에 참여하는 것, 즉 배타적 부정 논리합 또는 배타적 논리합을 수행하는 것을 나타내고; 128 비트의 데이터는 제0 내지 제15인 16개의 바이트로 나뉘며, 각각의 바이트는 8개의 비트를 갖는다. p10, p11 및 p12는 3개의 제1 체크 코드를 의미하고; p13, p14, p15, p16 및 p17은 5개의 제2 체크 코드를 의미하며; pc0 내지 pc7은 인코딩 연산 시 p10 내지 p17에서 대응되게 사용되는 8개의 연산식을 의미한다. 각각의 행에서 “×”로 표시된 모든 위치는 이 열에 대응되는 데이터가 이 연산식에서 배타적 논리합 또는 배타적 부정 논리합에 참여해야 함을 나타낸다. 제1 체크 코드 및 제2 체크 코드는 pb에 대응된다.
인코딩 단계의 제1 인코딩 연산 또는 제2 인코딩 연산 시, pc0 내지 pc7 인 8개 코드를 사용하여 제1 인코딩 연산 또는 제2 인코딩 연산을 수행하며, 연산 결과는 각각 p10 내지 p17에 저장되고, p10 내지 p17은 제1 인코딩 연산 또는 제2 인코딩 연산에 참여하지 않으며; 디코딩 단계에서, 각 행에 대응되는 연산식은 변하지 않고, 저장된 p10 내지 p17은 연산에 참여해야 하며, 따라서 도 5의 테이블에서 p10 내지 p17은 “×”가 대응되게 표시되어 있고, 이에 대해서는 아래에서 상세하게 설명한다.
본 발명의 실시예에서, 인코딩 단계에서, 각각의 바이트에 대해, 이 바이트 중의 제1, 3, 5, 7 비트의 데이터에 대해 배타적 논리합 또는 배타적 부정 논리합을 수행한 다음, 16개의 바이트의 모든 배타적 논리합 결과 또는 배타적 부정 논리합 결과에 대해 배타적 논리합 또는 배타적 부정 논리합을 수행하고, 즉 pc0 연산식이며, 연산 결과는 p10에 제공된다. 각각의 바이트에 대해, 이 바이트 중의 제2, 3, 6, 7 비트치의 데이터에 대해 배타적 논리합 또는 배타적 부정 논리합을 수행한 다음, 16개의 바이트의 모든 배타적 논리합 결과 또는 배타적 부정 논리합 결과에 대해 배타적 논리합 또는 배타적 부정 논리합을 수행하고, 즉 pc1 연산식이며, 연산 결과는 p11에 제공된다. 각각의 바이트에 대해, 이 바이트 중의 제4, 5, 6, 7 비트의 데이터에 대해 배타적 논리합 또는 배타적 부정 논리합을 수행한 다음, 16개의 바이트의 모든 배타적 논리합 결과 또는 배타적 부정 논리합 결과에 대해 배타적 논리합 또는 배타적 부정 논리합을 수행하고, 즉 pc2 연산식이며, 연산 결과는 p12에 제공된다.
p10, p11 및 p12는 제1 이진수를 구성하며, p10은 최하위 비트이고 p12는 최상위 비트이다. 저장 시스템(101)(도 4 참조)의 다수의 데이터에서 하나의 비트 데이터에만 오류가 발생하는 존재 하에, 아래와 같은 경우를 쉽게 발견할 수 있다.
제0 비트의 데이터에 오류가 발생하는 경우, 제0 비트는 pc0, pc1 및 pc2인 3개의 연산식에 참여하지 않으므로, 제1 체크 코드 p10, p11 및 p12는 모두 영향을 받지 않고;
제1 비트의 데이터에 오류가 발생하는 경우, 제1 비트는 pc0 연산식에 참여하고 pc1 및 pc2인 2개의 연산식에 참여하지 않으므로, 제1 체크 코드 p10은 영향을 받고, 제1 체크 코드 p11 및 p12는 영향을 받지 않으며;
제2 비트의 데이터에 오류가 발생하는 경우, 제2 비트는 pc1 연산식에 참여하므로, 제1 체크 코드 p10 및 p12는 영향을 받지 않고, 제1 체크 코드 p11은 영향을 받으며;
제3 비트의 데이터에 오류가 발생하는 경우, 제3 비트는 pc0 및 pc1인 2개의 연산식에 참여하므로, 제1 체크 코드 p10 및 p11은 모두 영향을 받고, 제1 체크 코드 p12는 영향을 받지 않으며;
이와 같이 유추하면, 제7 비트의 데이터에 오류가 발생하는 경우, 제7 비트는 pc0, pc1 및 pc2인 3개의 연산식에 참여하므로, 제1 체크 코드 p10, p11 및 p12는 모두 영향을 받는다.
유의해야 할 것은, 여기에서 언급된 특정 데이터에 오류가 발생한 후 특정 제1 체크 코드가 영향을 받는다는 것은, 특정 데이터에 오류가 발생한 후, 제1 인코딩 연산을 다시 수행하여 획득된 상기 특정 제1 체크 코드가 데이터에 오류가 발생하기 전에 형성된 상기 제1 체크 코드와 상이하다는 것을 의미한다.
이해할 수 있는 것은, 각각의 연산식의 경우, 상이한 바이트 중의 제1 인코딩 연산에 참여하는 비트는 동일하므로, 제1 체크 코드를 통해 어느 하나의 비트의 데이터에 오류가 발생하였는지를 획득할 수 있지만, 어느 하나의 바이트 중 상응한 비트의 데이터에 오류가 발생하였는지를 검출할 수 없다. 따라서, 또한 제2 체크 코드를 통해 어느 하나의 바이트 중의 상응한 비트의 데이터에 오류가 발생하였는지를 획득해야 한다.
전술한 분석으로부터 쉽게 발견할 수 있는 것은, 제1 체크 코드의 획득이든 제2 체크 코드의 획득이든, 모두 배타적 부정 논리합 연산 또는 배타적 논리합 연산을 사용하므로, 본 발명의 실시예에 따른 비교 시스템은 저장 시스템에 적용되어 제1 체크 코드 및 제2 체크 코드를 획득할 수 있다.
또한, 본 발명의 실시예에서 비교 시스템(20)은 제2 비교 모듈(202)(도 7 참조)을 더 포함할 수 있고, 제2 비교 모듈(202)은 다수의 비교 회로로 구성되며, 저장 시스템(101)의 판독 동작 기간에 다수의 데이터, X개의 제1 체크 코드 및 Y개의 제2 체크 코드를 수신하도록 구성되고, 제1 체크 코드, 제2 체크 코드 또는 데이터는 제1 신호 또는 제3 신호로 사용된다. 제2 비교 모듈(202)은, 각각의 바이트 중의 다수 데이터 및 X개의 제1 체크 코드에 대해 제3 인코딩 연산을 수행하여, X개의 제1 연산 코드를 생성하도록 구성되고, 각각의 제1 연산 코드는 하나의 제1 체크 코드에 대응되며, 또한 다수 바이트 중의 모든 데이터 및 Y개의 제2 체크 코드에 대해 제4 인코딩 연산을 수행하여, Y개의 제2 연산 코드를 생성하도록 구성되고, 각각의 제2 연산 코드는 하나의 제2 체크 코드에 대응되며; 제3 인코딩 연산은 배타적 부정 논리합 또는 배타적 논리합이고, 제4 인코딩 연산은 배타적 부정 논리합 또는 배타적 논리합이다.
본 발명의 실시예에서, 제3 인코딩 연산과 제1 인코딩 연산의 연산에 참여한 데이터의 비트는 동일하고, 구별점은 제3 인코딩 연산에서 제1 체크 코드도 연산에 참여한 것이며; 제4 인코딩 연산과 제2 인코딩 연산의 연산에 참여한 바이트는 동일하고, 구별점은 제4 인코딩 연산에서 제2 체크 코드도 연산에 참여한 것이다.
일반적으로, 디코딩 단계는 판독 동작 시 데이터 판독 과정에서 발생된다. 본 발명의 실시예에서, 도 5 및 상기 제1 체크 코드 및 제2 체크 코드의 생성 원리에 관한 설명을 참조하면, 디코딩 단계의 인코딩 연산에서, 전술한 인코딩 단계의 인코딩 연산의 기초 위에, 각각 제1 체크 코드 p10, p11 또는 p12에 대해 배타적 논리합을 수행하여, 상응하게 제1 연산 코드 p20, p21 또는 p22를 획득해야 한다. 즉, 제1 연산 코드 p20의 경우, pc0 연산식을 이용하여 수신된 각각의 바이트 중의 상이한 비트의 데이터 및 제1 체크 코드 p10에 대해 제3 인코딩 연산을 수행하여, 제1 연산 코드 p20을 획득하고; pc1 연산식을 이용하여 수신된 각각의 바이트 중의 상이한 비트의 데이터 및 제1 체크 코드 p11에 대해 제3 인코딩 연산을 수행하여, 제1 연산 코드 p21을 획득하며; pc2 연산식을 이용하여 수신된 각각의 바이트 중의 상이한 비트의 데이터 및 제1 체크 코드 p12에 대해 제3 인코딩 연산을 수행하여, 제1 연산 코드 p22를 획득한다. 제1 연산 코드 및 제2 연산 코드는 도 5의 PB에 대응된다.
마찬가지로, 제2 체크 코드 및 제2 연산 코드의 경우, 디코딩 단계의 인코딩 연산에서, 전술한 인코딩 단계의 인코딩 연산의 기초 위에, 각각 제2 체크 코드 p13, p14, p15, p16 또는 p17에 대해 배타적 논리합을 수행하여, 상응하게 제2 연산 코드 p23, p24, p25, p26 또는 p27을 획득한다.
p20, p21 및 p22는 제2 이진수를 구성하며, p20은 최하위 비트이고 p22는 최상위 비트이다. 메모리의 다수의 데이터에서 하나의 비트 데이터에만 오류가 발생하는 전제 하에, 제3 인코딩 연산이 배타적 논리합인 경우(다른 실시예에서는 배타적 부정 논리합일 수도 있음), 아래와 같은 경우를 쉽게 발견할 수 있다.
제0 비트의 데이터에 오류가 발생하는 경우, 제0 비트는 pc0, pc1 및 pc2인 3개의 연산식에 참여하지 않으므로, 제1 연산 코드 p20, p21 및 p22는 모두 0이고, 제2 이진수 000에 대응되는 십진수는 0으로, 제0 비트의 데이터에 오류가 발생한 것으로 검출한다.
제1 비트의 데이터에 오류가 발생하는 경우, 제1 비트는 pc0 연산식에 참여하고 pc1 및 pc2인 2개의 연산식에 참여하지 않으므로, 제1 연산 코드 p20은 1이고, 제1 연산 코드 p21 및 p22는 0이며, 제2 이진수 001에 대응되는 십진수는 1로, 제1 비트의 데이터에 오류가 발생한 것으로 검출한다.
제2 비트의 데이터에 오류가 발생하는 경우, 제2 비트는 pc1 연산식에 참여하므로, 제1 연산 코드 p20은 0이고, 제1 연산 코드 p21은 1이며, p12는 0이고, 제2 이진수 010에 대응되는 십진수는 2로, 제2 비트의 데이터에 오류가 발생한 것으로 검출한다.
제3 비트의 데이터에 오류가 발생하는 경우, 제3 비트는 pc0 및 pc1인 2개의 연산식에 참여하므로, 제1 연산 코드 p20 및 p21은 모두 0이고, p12는 0이며; 제2 이진수 011에 대응되는 십진수는 3으로, 제3 비트의 데이터에 오류가 발생한 것으로 검출한다.
이와 같이 유추하면, 제7 비트의 데이터에 오류가 발생하는 경우, 제7 비트는 pc0, pc1 및 pc2인 3개의 연산식에 참여하므로, 제1 연산 코드 p20, p21 및 p22는 모두 1이고; 제2 이진수 111에 대응되는 십진수는 7로, 제7 비트의 데이터에 오류가 발생한 것으로 검출한다.
도 7을 참조하면, 상기 제1 연산식 및 제2 연산식의 획득 원리를 기반으로 알 수 있다시피, 제2 비교 모듈(202)은 다수 제3 비교 유닛(212), 다수 제4 비교 유닛(222), 다수 제5 비교 유닛(232), 다수 제6 비교 유닛(242)을 포함하며,
제3 비교 유닛(212)은 적어도 하나의 전술한 비교 회로를 포함하고, 각각의 제3 비교 유닛(212)은 저장 시스템의 판독 동작 기간에 각각의 바이트 중의 다수 데이터를 수신하고 비교 처리하며, 하나의 제1 업데이트 체크 코드를 출력하도록 구성되고, 각각의 제3 비교 유닛(212)은 바이트에서 상이한 비트 조합의 다수 데이터를 대응되게 수신하며;
제4 비교 유닛(222)은 적어도 하나의 전술한 비교 회로를 포함하고, 각각의 제4 비교 유닛(222)은 저장 시스템의 판독 동작 기간에 다수 바이트 중의 모든 데이터를 수신하고 비교 처리하며, 하나의 제2 업데이트 체크 코드를 출력하도록 구성되고, 각각의 제4 비교 유닛(222)은 상이한 바이트 조합의 모든 데이터를 대응되게 수신하며;
제5 비교 유닛(232)은 적어도 하나의 전술한 비교 회로를 포함하고, 각각의 제1 체크 코드 및 하나의 제1 업데이트 체크 코드는 하나의 제5 비교 유닛(232)에 대응되는 제1 신호 및 제3 신호로 사용되고, 각각의 제5 비교 유닛(232)은 하나의 제1 연산 코드를 출력하며;
제6 비교 유닛(242)은 적어도 하나의 전술한 비교 회로를 포함하고, 각각의 제2 체크 코드 및 제2 업데이트 체크 코드는 하나의 제6 비교 유닛(242)에 대응되는 제1 신호 및 제3 신호로 사용되고, 각각의 제6 비교 유닛(242)은 하나의 제2 연산 코드를 출력한다.
본 발명의 실시예에서, 제3 비교 유닛(212)의 개수는 제1 비교 유닛(112)의 개수와 동일할 수 있고, 제4 비교 유닛(222)의 개수는 제2 비교 유닛(122)의 개수와 동일할 수 있다. 본 발명의 실시예에서, 제3 비교 유닛(212)은 전술한 제1 비교 유닛(112)과 비교 회로를 공유할 수 있고, 제4 비교 유닛(222)은 전술한 제2 비교 유닛(122)과 비교 회로를 공유할 수 있음을 이해할 수 있다.
본 발명의 실시예에서, 도 7 및 도 9를 참조하면, 비교 시스템(20)은, X개의 제1 연산 코드 및 Y개의 제2 연산 코드를 수신하고, 오류 데이터의 위치를 포지셔닝하도록 구성되는 디코딩 모듈(203)을 더 포함할 수 있다. 본 발명의 실시예에서, X개의 제1 연산 코드는 오류가 발생한 비트를 포지셔닝하는데 사용되고, Y개의 제2 연산 코드는 오류가 발생한 바이트를 포지셔닝하는데 사용된다. 제1 연산 코드 및 제2 연산 코드는 오류가 발생한 데이터를 포지셔닝하는데 사용되는 것에 관한 구체적인 원리 및 설명은 상기 제1 체크 코드 및 제2 체크 코드에 관한 관련 설명을 참조할 수 있으며, 여기에서는 더이상 반복하여 설명하지 않는다.
도 9는 본 발명의 실시예에서 제공되는 비교 시스템 중 디코딩 모듈의 구체적인 구조 모식도이다. 도 9를 참조하면, 디코딩 모듈(203)은 M개의 디코딩 유닛(31)을 포함하고, 각각의 디코딩 유닛(31)은 하나의 바이트에 대응되며, X개의 제1 연산 코드 및 Y개의 제2 연산 코드에 대해 디코딩 처리를 수행하여, 바이트에 오류 데이터가 존재하는지 여부를 획득하고 오류 데이터의 비트를 포지셔닝하도록 구성된다. 도 9에서 p20, p21 및 p22로 제1 연산 코드를 나타내고, p23, p24, p25, p26 및 p27로 제2 연산 코드를 나타낸다. 본 발명의 실시예에서, 각각의 디코딩 유닛(31)은 상기 바이트에 대응되는 X개의 제1 연산 코드 및 Y개의 제2 연산 코드에 대해 디코딩 처리를 수행한다.
즉, 디코딩 유닛(31)의 개수는 바이트의 개수와 동일하다.
도 10은 본 발명의 실시예에서 제공되는 디코딩 모듈의 바이트 5에 대응되는 디코딩 유닛의 확대 구조 모식도이다.
도 10을 참조하면, 본 발명의 실시예에서 디코딩 유닛(31)(도 9 참조)은 디코더(301), 제1 AND 게이트 유닛(302), NOR 게이트 유닛(303), N개의 제2 AND 게이트 유닛(304)을 포함하며, 디코더(301)는 X개의 제1 연산 코드를 수신하고 N개의 제1 디코딩 신호를 출력하도록 구성되며, 각각의 제1 디코딩 신호는 N개의 데이터의 하나의 비트에 대응되고; 제1 AND 게이트 유닛(302)은 적어도 2개의 선택된 연산 코드를 수신하고 논리적 AND 연산을 수행하도록 구성되며, 선택된 연산 코드는 Y개의 제2 체크 코드에서 상응한 바이트에 대응되는 제2 체크 코드에 대해 인코딩 연산을 수행하여 획득된 제2 연산 코드이고; NOR 게이트 유닛(303)은 적어도 2개의 비선택된 연산 코드를 수신하고 논리적 NOR 연산을 수행하도록 구성되며, 비선택된 연산 코드는 Y개의 제2 연산 코드에서 선택된 연산 코드를 제외한 제2 연산 코드이고; 각각의 제2 AND 게이트 유닛(304)의 입력단은 제1 AND 게이트 유닛(302)의 출력단, NOR 게이트 유닛(303)의 출력단 및 하나의 제1 디코딩 신호에 연결되며, N개의 제2 AND 게이트 유닛(304)의 출력에 기반하여 오류 데이터의 위치를 획득한다. 설명해야 할 것은, 여기에서 언급된 상응한 바이트에 대응되는 제2 체크 코드는 바이트가 선택되어 제2 인코딩 연산에 참여하여 형성된 제2 체크 코드를 의미하고, 예를 들어 도 5에서 볼 수 있다시피, 제0 바이트에 대응되는 제2 체크 코드는 p13 및 p14이다.
설명해야 할 것은, 도 10에서는 하나의 제1 디코딩 신호와 하나의 제2 AND 게이트 유닛(304)의 연결 관계만 도시한다.
본 발명의 실시예에서, 디코더(301)는 3-8 디코더로, 3개의 입력단은 각각 3개의 제1 연산 코드를 수신하고, 8개의 출력단은 8개의 제1 디코딩 신호를 출력하며, 각각의 제1 디코딩 신호는 각각 동일한 바이트에서 8개의 비트의 데이터의 상황을 나타낸다.
본 발명의 실시예에서, 제1 연산 코드 p20, p21 및 p22는 0 또는 1이고, 출력단은 0 내지 7로 나타낸다. 제0 비트에 오류가 발생하는 경우, 제0 비트는 제1 연산 코드의 인코딩 연산에 참여하지 않고, p20, p21 및 p22는 모두 0이며, 상응한 “0” 출력단은 1이고 나머지 출력단은 모두 0이며; 제1 비트에 오류가 발생하는 경우, p20은 1이고 p21 및 p22는 0이며, 상응한 “1” 출력단은 1이고 나머지 출력단은 모두 0이며; 이와 같이 유추하면, 제7 비트에 오류가 발생하는 경우, p20, p21 및 p22는 모두 1이고, 상응한 “7” 출력단은 1이며 나머지 출력단은 모두 0이다.
다른 실시예에서, 제1 체크 코드 및 각각의 바이트의 비트의 개수가 상이함에 따라, 디코더의 입력단의 개수 및 출력단의 개수를 합리적으로 설정할 수도 있음을 유의해야 한다.
제1 AND 게이트 유닛(302)의 특성은, 입력단이 모두 1인 경우 출력단은 1이고, 입력단이 하나 이상의 0을 구비한 경우 출력단은 0인 것이다. 본 발명의 실시예에서, 제1 AND 게이트 유닛(302)은 3개의 입력단을 갖고; 제1 AND 게이트 유닛(302)은 또한 선택된 연산 코드의 개수가 2이면, 제1 AND 게이트 유닛(302)의 하나의 입력단이 전원(VDD)에 연결되도록 구성된다.
NOR 게이트 유닛(303)의 특성은, 입력단이 모두 0인 경우 출력단은 1이고, 입력단이 하나 이상의 1을 구비한 경우 출력단은 0인 것이다. 본 발명의 실시예에서, NOR 게이트 유닛은 3개의 입력단을 갖고; NOR 게이트 유닛(303)은 또한 비선택된 연산 코드의 개수가 2이면, NOR 게이트 유닛(303)의 하나의 입력단이 접지(Vss)되도록 구성된다.
본 발명의 실시예에서, 선택된 연산 코드는, 이 바이트의 경우, 이에 대응되는 제2 체크 코드에 대해 제4 인코딩 연산을 수행하여 획득된 제2 연산 코드에 대응되고; 비선택된 연산 코드는, 이 바이트의 경우, 이에 대응되는 제2 체크 코드를 제외한 나머지 제2 체크 코드에 대해 제4 인코딩 연산을 수행하여 획득된 제2 연산 코드에 대응된다.
예를 들어, 바이트 0의 경우, 제2 연산 코드 p23 및 p24는 바이트 0에 대응되는 제2 체크 코드 p13 및 p14에 대해 제4 인코딩 연산을 수행하여 획득된 제2 연산 코드로, 제2 연산 코드 p23 및 p24는 제1 AND 게이트 유닛(302)의 입력단에 입력되고, 나머지 제2 연산 코드 p25, p26 및 p27은 NOR 게이트 유닛(303)의 입력단에 입력되며; 바이트 1의 경우, 제2 연산 코드 p24 및 p25는 바이트 1에 대응되는 제2 체크 코드 p14 및 p15에 대해 제4 인코딩 연산을 수행하여 획득된 제2 연산 코드로, 제2 연산 코드 p24 및 p25는 제1 AND 게이트 유닛(302)의 입력단에 입력되고, 나머지 제2 연산 코드 p23, p26 및 p27은 NOR 게이트 유닛(303)의 입력단에 입력되며; 바이트 4의 경우, 제2 연산 코드 p23, p24 및 p25는 제1 AND 게이트 유닛(302)의 입력단에 입력되고, 나머지 제2 연산 코드 p26 및 p27은 NOR 게이트 유닛(303)의 입력단에 입력된다. 다른 바이트에 대해서는 더 이상 일일이 열거하지 않는다.
제2 AND 게이트 유닛(304)의 개수는 동일한 바이트 중의 비트의 개수와 동일하다. 본 발명의 실시예에서, N은 8로, 상응하게 8개의 제2 AND 게이트 유닛(304)을 갖고, 8개의 제2 AND 게이트 유닛(304)의 출력에 따라 상기 바이트에 오류 데이터가 존재하는지 여부 및 어느 비트에 오류가 발생하였는지를 판단한다.
쉽게 발견할 수 있는 것은, 본 발명의 실시예에서, 각각의 바이트의 경우 디코딩 유닛(31)의 회로는 모두 동일하지만, 입력단의 접선만 상이하고, 각각의 바이트에 대응되는 제1 AND 게이트 유닛(302) 및 NOR 게이트 유닛(303)의 입력단의 접선은 도 2의 pc3 내지 pc7인 5개의 연산식에 의해 결정되며, 각각의 바이트에 대해, 이에 대응되는 제2 체크 코드에 대해 제4 인코딩 연산을 수행하여 획득된 제2 연산 코드를 제1 AND 게이트 유닛(302)의 입력단에 연결하고, 이에 대응되는 제2 체크 코드를 제외한 나머지 제2 체크 코드에 대해 제4 인코딩 연산을 수행하여 획득된 제2 연산 코드를 NOR 게이트 유닛(303)의 입력단에 연결하며; 또한, 사용되지 않은 제1 AND 게이트 유닛(302)의 입력단은 전원에 연결되고, 사용되지 않은 NOR 게이트 유닛(303)의 입력단은 접지되며, 제1 연산 코드는 디코더(301)의 입력단에 연결된다. 따라서, 디코더(301)는 8개의 배선만으로 입력단을 연결하고, 각각의 배선은 하나의 제1 연산 코드 또는 하나의 제2 연산 코드를 전송함으로써, 라인 및 면적을 절약하는 동시에 디코딩 속도의 향상에 도움이 된다.
디코딩 회로의 이해를 용이하게 하기 위해, 바이트 5에 대응되는 디코딩 유닛을 예로 들며, 아래에서는 디코딩 회로의 작동 원리를 결부하여 디코딩 회로에 대해 더 상세하게 설명할 것이다.
8개의 제2 AND 게이트 유닛(304)의 출력이 모두 0인 경우, 상기 바이트의 모든 데이터에 오류가 발생하지 않았다는 것을 나타낸다.
8개의 제2 AND 게이트 유닛(304)의 출력이 1개의 1을 구비한 경우, 상기 바이트의 하나의 비트의 데이터에 오류가 발생함을 나타낸다. 본 발명의 실시예에서, 상기 바이트의 데이터에 오류가 발생하고, 제2 연산 코드 p23, p24 및 p26은 모두 1이고 제1 AND 게이트 유닛(302)의 출력은 1이며, 비선택된 연산 코드 p25 및 p27은 모두 0이고 NOR 게이트 유닛(303)의 출력은 1이며; 이때, N개의 제2 AND 게이트 유닛(304)에서 어느 하나의 제1 디코딩 신호에 대응되는 제2 AND 게이트 유닛(304)의 출력이 1이면, 이 제1 디코딩 신호에 대응되는 비트의 데이터에 오류가 발생하였다.
본 발명의 실시예에서, 제1 디코딩 신호가 1이면, 대응되는 비트의 데이터에 오류가 발생한 것을 예로 들면, 제1 디코딩 신호가 0이면 대응되는 비트의 데이터에 오류가 발생하지 않았음을 이해할 수 있다. 다른 실시예에서, 또한 제1 디코딩 신호가 0이면, 대응되는 비트의 데이터에 오류가 발생하고, 제1 디코딩 신호가 1이면, 대응되는 비트의 데이터에 오류가 발생하지 않은 것으로 설정할 수도 있으며, 상응하게 당업자는 수요에 따라 다른 부분을 자체로 설계할 수 있고, 예를 들어 제1 디코딩 신호는 NOR 회로에 연결되어 출력될 수 있는 것 등이다.
유의해야 할 것은, M개의 바이트의 모든 데이터에 오류가 발생하지 않고, X개의 제1 체크 코드 중의 1 비트에만 오류가 발생한 경우, 제1 연산 코드에는 하나의 1이 존재하고, 따라서 디코더(301)의 출력 중 하나는 1이지만, Y개의 제2 체크 코드에 오류가 발생하지 않았으므로, 모든 제2 연산 코드는 0이며, 따라서 제1 AND 게이트 유닛(302)의 출력은 0이고, 제2 AND 게이트 유닛(304)의 출력도 모두 0이며, 이는 M개의 바이트의 모든 데이터에 오류가 발생하지 않았음을 나타낸다. M개의 바이트의 모든 데이터에 오류가 발생하지 않고, Y개의 제2 체크 코드 중의 1 비트에만 오류가 발생한 경우, 제1 연산 코드는 모두 0이며, 따라서 디코더(301)의 0 출력단은 1이지만, 나머지 Y-1개의 제2 체크 코드에 오류가 발생하지 않았으므로, 이에 대응되는 Y-1개의 제2 연산 코드는 0이고, 제1 AND 게이트 유닛(302)의 출력은 0이며, 따라서 제2 AND 게이트 유닛(304)의 출력도 모두 0이고, 이는 M개의 바이트의 모든 데이터에 오류가 발생하지 않았음을 나타낸다.
이해할 수 있는 것은, 본 발명의 실시예에서, 제1 체크 코드에 기반하여 제1 연산 코드를 생성하고, 제1 체크 코드에 기반하여 생성된 제1 연산 코드를 이용하여 바이트의 오류 데이터의 위치를 포지셔닝하며, 따라서 제1 체크 코드는 각각의 바이트 중의 N개의 데이터에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 사용된다. 제2 체크 코드에 기반하여 제2 연산 코드를 생성하고, 제2 체크 코드에 기반하여 생성된 제2 연산 코드를 이용하여 오류가 발생한 바이트를 포지셔닝하며, 따라서 제2 체크 코드는 M개의 바이트에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 사용된다.
본 발명의 실시예는 구조적 성능이 우수한 비교 시스템을 제공하는 바, 이는 저장 시스템에 적용되어 1 비트 오류를 검출 및 정정할 수 있고, 하드웨어 회로를 감소할 수 있어, 저장 시스템의 전력 소비를 줄이고 인코딩 속도 및 디코딩 속도를 향상시키며, 저장 시스템의 오류 검출 및 오류 정정의 속도를 향상시킨다. 또한, 제1 체크 코드 및 제2 체크 코드에 대한 특수 설계를 통해, 모든 데이터 조합에 대한 인코딩 시간의 차이는 작고, 모든 데이터 조합에 대한 디코딩 시간의 차이도 작으므로, 비교 시스템에 대한 요구를 줄인다.
상기 각 실시형태는 본 발명을 구현하기 위한 구체적인 실시예이고, 실제 응용에서 본 발명의 사상 및 범위를 벗어나지 않고 형태 및 세부사항에 대해 다양한 변경을 이룰 수 있음을 당업자는 이해할 수 있다. 당업자라면 본 발명의 사상 및 범위를 벗어나지 않고 각각의 변경 및 수정을 이룰 수 있으므로, 본 발명의 보호범위는 특허청구범위에 의해 한정된 범위를 기준으로 해야 한다.
본 발명의 실시예는 적어도 하나의 비교 회로를 포함하는 비교 시스템을 제공하고, 상기 비교 회로는 공유 모듈, 제1 논리 유닛 및 제2 논리 유닛을 포함하며, 상기 공유 모듈은 반전된 제1 신호 및 제2 신호에 기반하여 전원 신호 또는 접지 신호의 출력을 제어하도록 구성되고; 상기 제1 논리 유닛은 공유 모듈에 연결되며, 반전된 제3 신호 및 제4 신호를 수신하고 제1 연산 신호를 출력하도록 구성되며, 여기서 제1 연산 신호는 제1 신호와 제3 신호의 배타적 논리합이고; 상기 제2 논리 유닛은 공유 모듈에 연결되며, 반전된 제3 신호 및 제4 신호를 수신하고 제2 연산 신호를 출력하도록 구성되며, 여기서 제2 연산 신호는 제1 신호와 제3 신호의 배타적 부정 논리합이다.
제1 논리 유닛과 제2 논리 유닛은 동일한 공유 모듈을 공유하므로, 회로 면적을 감소시키고 오류 검출 및 오류 정정 효율을 향상시킬 수 있다. 동시에 공유 모듈의 회로의 점용 면적은 비교적 작으므로, 제1 논리 유닛과 제2 논리 유닛의 회로의 면적을 증가하는데 도움이 되고, 비교 시스템의 배타적 논리합 연산 및 배타적 부정 논리합 연산의 속도를 추가로 향상시킬 수 있으며, 예를 들어 상기 비교 시스템이 저장 시스템의 오류 정정에 적용되는 경우, 저장 시스템의 오류 검출 및 오류 정정의 속도를 향상시키는데 도움이 된다.
Claims (16)
- 비교 시스템으로서,
적어도 하나의 비교 회로를 포함하고, 상기 비교 회로는 공유 모듈, 제1 논리 유닛 및 제2 논리 유닛을 포함하며,
상기 공유 모듈은 전원 신호 및 접지 신호에 연결되고, 제1 신호 및 제2 신호에 기반하여 상기 전원 신호 또는 상기 접지 신호를 출력하도록 제어하며, 상기 제1 신호와 상기 제2 신호는 반전 관계이고;
상기 제1 논리 유닛은 상기 공유 모듈에 연결되며, 제3 신호 및 제4 신호를 수신하도록 구성되고, 상기 제3 신호와 상기 제4 신호는 반전 관계이며, 또한 제1 연산 신호를 출력하도록 구성되고, 상기 제1 연산 신호는 상기 제1 신호와 상기 제3 신호의 배타적 논리합이며;
상기 제2 논리 유닛은 상기 공유 모듈에 연결되고, 상기 제3 신호 및 상기 제4 신호를 수신하고 제2 연산 신호를 출력하도록 구성되며, 상기 제2 연산 신호는 상기 제1 신호와 상기 제3 신호의 배타적 부정 논리합이고,
상기 비교 시스템은 저장 시스템에 적용되고, 상기 저장 시스템은 판독 및 기록 동작 기간에 다수의 데이터를 기록하거나 판독하며, 상기 다수의 데이터는 M개의 바이트로 나뉘고, 각각의 상기 바이트는 N개의 데이터를 가지며;
상기 비교 시스템은, 상기 다수의 데이터를 수신하도록 구성되고, 각각의 상기 데이터는 상기 제1 신호 또는 상기 제3 신호로 사용되며, 또한 각각의 상기 바이트 중의 다수 데이터를 기반으로 제1 인코딩 연산을 수행하여 X개의 제1 체크 코드를 생성하도록 구성되고, 동일한 상기 제1 체크 코드에 대응되는 상기 다수 데이터가 상이한 상기 바이트에서의 비트는 동일하며, 또한 다수 상기 바이트 중의 모든 데이터를 기반으로 제2 인코딩 연산을 수행하여 Y개의 제2 체크 코드를 생성하도록 구성되되, X개의 상기 제1 체크 코드는 각각의 상기 바이트 중의 상기 N개의 데이터에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는 데 사용되고, Y개의 상기 제2 체크 코드는 상기 M개의 바이트에 대해 오류 검출 및 오류 정정 중 적어도 하나를 수행하는데 사용되며; 상기 M, N, X, Y는 모두 양의 자연수이며,
상기 비교 시스템은,
제2 비교 모듈을 더 포함하고, 상기 제2 비교 모듈은 다수의 상기 비교 회로로 구성되며, 상기 저장 시스템의 판독 동작 기간에 상기 다수의 데이터, X개의 상기 제1 체크 코드 및 Y개의 상기 제2 체크 코드를 수신하도록 구성되고, 상기 제1 체크 코드, 상기 제2 체크 코드 또는 상기 데이터는 상기 제1 신호 또는 상기 제3 신호로 사용되며;
상기 제2 비교 모듈은, 각각의 상기 바이트 중의 다수 데이터 및 X개의 상기 제1 체크 코드에 대해 제3 인코딩 연산을 수행하여, X개의 제1 연산 코드를 생성하도록 구성되고, 각각의 상기 제1 연산 코드는 하나의 상기 제1 체크 코드에 대응되며, 또한 다수 상기 바이트 중의 모든 데이터 및 Y개의 상기 제2 체크 코드에 대해 제4 인코딩 연산을 수행하여, Y개의 제2 연산 코드를 생성하도록 구성되고, 각각의 상기 제2 연산 코드는 하나의 상기 제2 체크 코드에 대응되되; 상기 제3 인코딩 연산은 배타적 부정 논리합 또는 배타적 논리합이고, 상기 제4 인코딩 연산은 배타적 부정 논리합 또는 배타적 논리합인 비교 시스템. - 제1항에 있어서,
상기 공유 모듈은,
상기 전원 신호에 연결되고, 상기 제1 신호 및 상기 제2 신호에 기반하여 상기 전원 신호를 출력하도록 제어하는 제1 공유 유닛; 및
상기 접지 신호에 연결되고, 상기 제1 신호 및 상기 제2 신호에 기반하여 상기 접지 신호를 출력하도록 제어하는 제2 공유 유닛을 포함하되;
상기 제1 논리 유닛은 상기 제1 공유 유닛과 상기 제2 공유 유닛 사이에 연결되고, 상기 제2 논리 유닛은 상기 제1 공유 유닛과 상기 제2 공유 유닛 사이에 연결되는 비교 시스템. - 제2항에 있어서,
상기 제1 공유 유닛은, 게이트가 상기 제1 신호를 수신하고 소스가 상기 전원 신호에 연결되는 제0 PMOS 트랜지스터; 및 게이트가 상기 제2 신호를 수신하고 소스가 상기 전원 신호에 연결되는 제7 PMOS 트랜지스터를 포함하며;
상기 제2 공유 유닛은, 게이트가 상기 제1 신호를 수신하고 소스가 상기 접지 신호에 연결되는 제0 NMOS 트랜지스터; 및 게이트가 상기 제2 신호를 수신하고 소스가 상기 접지 신호에 연결되는 제7 NMOS 트랜지스터를 포함하는 비교 시스템. - 제3항에 있어서,
상기 제1 논리 유닛은,
게이트가 상기 제4 신호를 수신하고, 소스가 상기 제0 PMOS 트랜지스터의 드레인에 연결되는 제1 PMOS 트랜지스터;
게이트가 상기 제3 신호를 수신하고, 드레인이 상기 제1 PMOS 트랜지스터의 드레인에 연결되며, 소스가 상기 제0 NMOS 트랜지스터의 드레인에 연결되는 제1 NMOS 트랜지스터;
게이트가 상기 제3 신호를 수신하고, 소스가 상기 제7 PMOS 트랜지스터의 드레인에 연결되는 제4 PMOS 트랜지스터; 및
게이트가 상기 제4 신호를 수신하고, 드레인이 상기 제4 PMOS 트랜지스터의 드레인에 연결되며, 소스가 상기 제7 NMOS 트랜지스터의 드레인에 연결되는 제4 NMOS 트랜지스터를 포함하는 비교 시스템. - 제3항에 있어서,
상기 제2 논리 유닛은,
게이트가 상기 제3 신호를 수신하고, 소스가 상기 제0 PMOS 트랜지스터의 드레인에 연결되는 제2 PMOS 트랜지스터;
게이트가 상기 제4 신호를 수신하고, 드레인이 상기 제2 PMOS 트랜지스터의 드레인에 연결되며, 소스가 상기 제0 NMOS 트랜지스터의 드레인에 연결되는 제2 NMOS 트랜지스터;
게이트가 상기 제4 신호를 수신하고, 소스가 상기 제7 PMOS 트랜지스터의 드레인에 연결되는 제5 PMOS 트랜지스터; 및
게이트가 상기 제3 신호를 수신하고, 드레인이 상기 제5 PMOS 트랜지스터의 드레인에 연결되며, 소스가 상기 제7 NMOS 트랜지스터의 드레인에 연결되는 제5 NMOS 트랜지스터를 포함하는 비교 시스템. - 삭제
- 제1항에 있어서,
상기 비교 시스템은 제1 비교 모듈을 포함하고, 상기 제1 비교 모듈은 다수의 상기 비교 회로로 구성되며, 상기 저장 시스템의 기록 동작 기간에 상기 다수의 데이터를 수신하고 비교 처리하여, X개의 상기 제1 체크 코드 및 Y개의 상기 제2 체크 코드를 생성하도록 구성되는 비교 시스템. - 제7항에 있어서,
상기 제1 비교 모듈은 다수의 제1 비교 유닛 및 다수의 제2 비교 유닛을 포함하고,
각각의 상기 제1 비교 유닛은 상기 저장 시스템의 기록 동작 기간에 각각의 상기 바이트 중의 다수 데이터를 수신하고 비교 처리하여, 하나의 상기 제1 체크 코드를 출력하도록 구성되고, 각각의 상기 제1 비교 유닛은 상기 바이트에서 상이한 비트 조합의 다수 데이터를 대응되게 수신하며;
각각의 상기 제2 비교 유닛은 상기 저장 시스템의 기록 동작 기간에 다수 상기 바이트 중의 모든 데이터를 수신하고 비교 처리하여, 하나의 상기 제2 체크 코드를 출력하도록 구성되고, 각각의 상기 제2 비교 유닛은 상이한 상기 바이트의 조합의 모든 데이터를 대응되게 수신하는 비교 시스템. - 제8항에 있어서,
상기 M은 16이고, 상기 N은 8이며, 상기 X는 3이고, 상기 Y는 5이며; 상기 제1 비교 유닛의 개수는 3이고, 상기 제2 비교 유닛의 개수는 5인 비교 시스템. - 삭제
- 제1항에 있어서,
상기 제2 비교 모듈은 다수 제3 비교 유닛, 다수 제4 비교 유닛, 다수 제5 비교 유닛 및 다수 제6 비교 유닛을 포함하며,
각각의 상기 제3 비교 유닛은 상기 저장 시스템의 판독 동작 기간에 각각의 상기 바이트 중의 다수 데이터를 수신하고 비교 처리하여, 하나의 제1 업데이트 체크 코드를 출력하도록 구성되고, 각각의 상기 제3 비교 유닛은 상기 바이트에서 상이한 비트 조합의 다수 데이터를 대응되게 수신하며;
각각의 상기 제4 비교 유닛은 상기 저장 시스템의 판독 동작 기간에 다수 상기 바이트 중의 모든 데이터를 수신하고 비교 처리하여, 하나의 제2 업데이트 체크 코드를 출력하도록 구성되고, 각각의 상기 제4 비교 유닛은 상이한 상기 바이트의 조합의 모든 데이터를 대응되게 수신하며;
각각의 상기 제1 체크 코드 및 하나의 상기 제1 업데이트 체크 코드는 하나의 상기 제5 비교 유닛에 대응되는 상기 제1 신호 및 상기 제3 신호로 사용되고, 각각의 상기 제5 비교 유닛은 하나의 상기 제1 연산 코드를 출력하며;
각각의 상기 제2 체크 코드 및 상기 제2 업데이트 체크 코드는 하나의 상기 제6 비교 유닛에 대응되는 상기 제1 신호 및 상기 제3 신호로 사용되고, 각각의 상기 제6 비교 유닛은 하나의 상기 제2 연산 코드를 출력하는 비교 시스템. - 제1항에 있어서,
상기 비교 시스템은, X개의 상기 제1 연산 코드 및 Y개의 상기 제2 연산 코드를 수신하고, 오류 데이터의 위치를 포지셔닝하도록 구성되는 디코딩 모듈을 더 포함하는 비교 시스템. - 제12항에 있어서,
상기 디코딩 모듈은 M개의 디코딩 유닛을 포함하고, 각각의 상기 디코딩 유닛은 하나의 상기 바이트에 대응되며, X개의 상기 제1 연산 코드 및 Y개의 상기 제2 연산 코드에 대해 디코딩 처리를 수행하여, 상기 바이트에 오류 데이터가 구비되는지 여부를 획득하고 오류 데이터의 비트에 대해 포지셔닝하도록 구성되는 비교 시스템. - 제13항에 있어서,
상기 디코딩 유닛은 디코더, 제1 AND 게이트 유닛, NOR 게이트 유닛, N개의 제2 AND 게이트 유닛을 포함하며,
상기 디코더는 X개의 상기 제1 연산 코드를 수신하고 N개의 제1 디코딩 신호를 출력하도록 구성되며, 각각의 상기 제1 디코딩 신호는 상기 N개의 데이터의 하나의 비트에 대응되고;
상기 제1 AND 게이트 유닛은 적어도 2개의 선택된 연산 코드를 수신하고 논리적 AND 연산을 수행하도록 구성되며, 상기 선택된 연산 코드는 Y개의 상기 제2 체크 코드에서 상응한 상기 바이트에 대응되는 상기 제2 체크 코드에 대해 상기 제4 인코딩 연산을 수행하여 획득된 상기 제2 연산 코드이고;
상기 NOR 게이트 유닛은 적어도 2개의 비선택된 연산 코드를 수신하고 논리적 NOR 연산을 수행하도록 구성되며, 상기 비선택된 연산 코드는 상응한 상기 바이트에 대응되는 상기 선택된 연산 코드를 제외한 상기 제2 연산 코드이고;
각각의 상기 제2 AND 게이트 유닛의 입력단은 상기 제1 AND 게이트 유닛의 출력단, 상기 NOR 게이트 유닛의 출력단 및 하나의 상기 제1 디코딩 신호에 연결되며, N개의 상기 제2 AND 게이트 유닛의 출력에 기반하여 오류 데이터의 위치를 획득하는 비교 시스템. - 제14항에 있어서,
상기 제1 AND 게이트 유닛은 3개의 입력단을 갖고; 상기 제1 AND 게이트 유닛은 또한 상기 선택된 연산 코드의 개수가 2이면 상기 제1 AND 게이트 유닛의 하나의 입력단이 전원에 연결되도록 구성되는 비교 시스템. - 제15항에 있어서,
상기 NOR 게이트 유닛은 3개의 입력단을 갖고; 상기 NOR 게이트 유닛은 또한 상기 비선택된 연산 코드의 개수가 2이면 상기 NOR 게이트 유닛의 하나의 입력단이 접지되도록 구성되는 비교 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110049123.4 | 2021-01-14 | ||
CN202110049123.4A CN114765053A (zh) | 2021-01-14 | 2021-01-14 | 比较*** |
PCT/CN2021/111486 WO2022151723A1 (zh) | 2021-01-14 | 2021-08-09 | 比较*** |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220107007A KR20220107007A (ko) | 2022-08-01 |
KR102673257B1 true KR102673257B1 (ko) | 2024-06-05 |
Family
ID=82322004
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020227021376A KR102673257B1 (ko) | 2021-01-14 | 2021-08-09 | 비교 시스템 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11935616B2 (ko) |
EP (1) | EP4050608B1 (ko) |
JP (2) | JP2023512892A (ko) |
KR (1) | KR102673257B1 (ko) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11768987B2 (en) * | 2020-04-01 | 2023-09-26 | Nxp Usa, Inc. | System for facilitating secure communication in system-on-chips |
KR20220104031A (ko) | 2021-01-14 | 2022-07-25 | 창신 메모리 테크놀로지즈 아이엔씨 | 오류 정정 시스템 |
CN114765056B (zh) * | 2021-01-14 | 2024-07-12 | 长鑫存储技术有限公司 | 存储*** |
US11990201B2 (en) | 2021-01-14 | 2024-05-21 | Changxin Memory Technologies, Inc. | Storage system |
KR102673257B1 (ko) | 2021-01-14 | 2024-06-05 | 창신 메모리 테크놀로지즈 아이엔씨 | 비교 시스템 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130283122A1 (en) | 2009-10-15 | 2013-10-24 | Apple Inc. | Error Correction Coding Over Multiple Memory Pages |
US20150143201A1 (en) * | 2013-11-19 | 2015-05-21 | International Business Machines Corporation | Error-correcting code distribution for memory systems |
US20160062830A1 (en) | 2014-08-26 | 2016-03-03 | Sang-Uhn CHA | Semiconductor memory devices, memory systems including the same and method of correcting errors in the same |
US20160329912A1 (en) | 2013-12-30 | 2016-11-10 | Sanechips Technology Co, Ltd. | Data error correcting method and device, and computer storage medium |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4084236A (en) | 1977-02-18 | 1978-04-11 | Honeywell Information Systems Inc. | Error detection and correction capability for a memory system |
JPS60254463A (ja) | 1984-05-31 | 1985-12-16 | Sony Corp | デジタルデ−タの記録ないし再生方式 |
JPS61277230A (ja) | 1985-05-31 | 1986-12-08 | Canon Inc | 誤り検出訂正符号発生方式 |
US4736376A (en) * | 1985-10-25 | 1988-04-05 | Sequoia Systems, Inc. | Self-checking error correcting encoder/decoder |
JPS62210735A (ja) | 1986-03-12 | 1987-09-16 | Oki Electric Ind Co Ltd | Crc符号付デ−タの受信回路 |
US4730321A (en) | 1986-05-30 | 1988-03-08 | Quantum Corporation | Disk drive with improved error correction code |
US4749886A (en) * | 1986-10-09 | 1988-06-07 | Intersil, Inc. | Reduced parallel EXCLUSIVE or and EXCLUSIVE NOR gate |
JPH07111463A (ja) | 1993-10-08 | 1995-04-25 | Mitsubishi Electric Corp | 符号の誤り位置検出回路 |
FR2714550B1 (fr) * | 1993-12-24 | 1996-02-02 | Bull Sa | Arbre de portes logiques OU-Exclusif et multiplieur de fréquence l'incorporant. |
KR19980014906A (ko) | 1996-08-17 | 1998-05-25 | 구자홍 | 누산기 |
US5859858A (en) | 1996-10-25 | 1999-01-12 | Intel Corporation | Method and apparatus for correcting a multilevel cell memory by using error locating codes |
JP3856737B2 (ja) | 2002-07-19 | 2006-12-13 | 株式会社ルネサステクノロジ | データ処理装置 |
US6891690B2 (en) | 2002-11-20 | 2005-05-10 | International Business Machines Corporation | On-drive integrated sector format raid error correction code system and method |
DE102004020030A1 (de) | 2004-04-23 | 2005-11-24 | Infineon Technologies Ag | Testvorrichtung zum Testen einer integrierten Schaltung |
JP4036338B2 (ja) | 2005-03-04 | 2008-01-23 | 国立大学法人東京工業大学 | 誤りバイト数を制限したバイト内複数スポッティバイト誤り訂正・検出方法及び装置 |
US7653862B2 (en) | 2005-06-15 | 2010-01-26 | Hitachi Global Storage Technologies Netherlands B.V. | Error detection and correction for encoded data |
US7242219B1 (en) * | 2005-09-08 | 2007-07-10 | Advanced Micro Devices, Inc. | Circuit for parity tree structure |
CN101183565B (zh) | 2007-12-12 | 2011-02-16 | 深圳市硅格半导体有限公司 | 存储介质中数据校验方法 |
US9083341B2 (en) * | 2008-01-17 | 2015-07-14 | Robust Chip Inc. | Soft error resilient circuit design method and logic cells |
KR101437396B1 (ko) | 2008-02-27 | 2014-09-05 | 삼성전자주식회사 | 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법 |
JP2010079485A (ja) | 2008-09-25 | 2010-04-08 | Panasonic Corp | 半導体記録装置 |
US8051337B2 (en) | 2009-01-22 | 2011-11-01 | Taiwan Semiconductor Manufacturing Company, Ltd. | System and method for fast cache-hit detection |
TWI381392B (zh) | 2010-02-04 | 2013-01-01 | Transcend Information Inc | 雙層面記憶體錯誤修正方法以及相關的記憶體裝置 |
TWI456579B (zh) | 2010-03-26 | 2014-10-11 | Silicon Motion Inc | 提昇錯誤更正能力之方法以及相關之記憶裝置及其控制器 |
JP2012022422A (ja) | 2010-07-13 | 2012-02-02 | Panasonic Corp | 半導体記録再生装置 |
CN102339641B (zh) | 2010-07-23 | 2014-12-17 | 北京兆易创新科技股份有限公司 | 检错/纠错校验模块及该模块读写数据的方法 |
CN101980339A (zh) | 2010-11-04 | 2011-02-23 | 浙江大学 | 一种用于dram缓存的纠错编码方法 |
KR20120063329A (ko) * | 2010-12-07 | 2012-06-15 | 삼성전자주식회사 | 에러 체크 및 정정기 및 그것을 포함하는 메모리 시스템 |
CN102543209B (zh) | 2010-12-31 | 2015-09-30 | 深圳市朗科科技股份有限公司 | 多通道闪存控制器的纠错装置、方法及多通道闪存控制器 |
JP2012252558A (ja) | 2011-06-03 | 2012-12-20 | Sony Corp | 不揮発性メモリ、メモリコントローラ、不揮発性メモリのアクセス方法、およびプログラム |
JP2013074560A (ja) * | 2011-09-29 | 2013-04-22 | Elpida Memory Inc | 論理回路及びデータ処理システム |
CN102857217B (zh) | 2012-09-11 | 2015-06-17 | 宁波大学 | 一种低功耗异或/同或门电路 |
KR102002925B1 (ko) * | 2012-11-01 | 2019-07-23 | 삼성전자주식회사 | 메모리 모듈, 그것을 포함하는 메모리 시스템, 그것의 구동 방법 |
CN103078629A (zh) | 2012-12-27 | 2013-05-01 | 广州中大微电子有限公司 | 一种基于7管异或同或单元的全加器电路 |
JP2015005316A (ja) * | 2013-06-20 | 2015-01-08 | 三星電子株式会社Samsung Electronics Co.,Ltd. | 半導体記憶装置 |
WO2014205590A1 (en) * | 2013-06-24 | 2014-12-31 | Micron Technology, Inc. | Circuits, apparatuses, and methods for correcting data errors |
CN108447516B (zh) | 2013-08-23 | 2020-04-24 | 慧荣科技股份有限公司 | 存取快闪存储器中存储单元的方法以及使用该方法的装置 |
KR101767018B1 (ko) * | 2013-09-27 | 2017-08-09 | 인텔 코포레이션 | 비휘발성 메모리에서의 오류 정정 |
JP6212396B2 (ja) | 2014-01-08 | 2017-10-11 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
JP2016031626A (ja) | 2014-07-29 | 2016-03-07 | ソニー株式会社 | メモリコントローラ、記憶装置、情報処理システム、および、それらにおける制御方法。 |
US9425829B2 (en) | 2014-09-12 | 2016-08-23 | Freescale Semiconductor, Inc. | Adaptive error correction codes (ECCs) for electronic memories |
US9754684B2 (en) | 2014-11-06 | 2017-09-05 | Samsung Electronics Co., Ltd. | Completely utilizing hamming distance for SECDED based ECC DIMMs |
US9985655B2 (en) | 2015-09-01 | 2018-05-29 | International Business Machines Corporation | Generating ECC values for byte-write capable registers |
US9836350B2 (en) | 2015-09-30 | 2017-12-05 | Western Digital Technologies, Inc. | Joint decoding of rewriting NVM error sectors |
CN105471425B (zh) | 2015-12-08 | 2018-05-01 | 无锡芯响电子科技有限公司 | 一种可实现异或门或者同或门复用的电路 |
US9917675B2 (en) | 2016-06-01 | 2018-03-13 | Qualcomm Incorporated | Enhanced polar code constructions by strategic placement of CRC bits |
KR102674590B1 (ko) | 2016-08-23 | 2024-06-13 | 에스케이하이닉스 주식회사 | 반도체시스템 |
KR20190012566A (ko) | 2017-07-27 | 2019-02-11 | 삼성전자주식회사 | 에러 정정 기능을 갖는 메모리 시스템, 메모리 모듈 및 메모리 컨트롤러의 동작 방법 |
KR20190054533A (ko) | 2017-11-14 | 2019-05-22 | 삼성전자주식회사 | 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법 |
CN108038023B (zh) | 2017-12-26 | 2021-01-29 | 广东工业大学 | 一种多级闪存的信号处理方法、装置、设备及存储介质 |
CN109036493A (zh) | 2018-06-11 | 2018-12-18 | 西北工业大学 | 一种具有检错纠错机制的NAND Flash控制器 |
CN110968450A (zh) | 2018-09-30 | 2020-04-07 | 长鑫存储技术有限公司 | 数据存储方法及装置、存储介质、电子设备 |
JP2021047690A (ja) | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
CN111443887A (zh) | 2020-03-26 | 2020-07-24 | 京东方科技集团股份有限公司 | 显示驱动芯片及其数据处理方法 |
US11239944B1 (en) | 2020-08-14 | 2022-02-01 | Huawei Technologies Co., Ltd. | Methods and devices for rate adaptive forward error correction using a flexible irregular error correcting code |
US11599417B2 (en) | 2021-01-14 | 2023-03-07 | Changxin Memory Technologies, Inc. | Error correction system |
KR20220104031A (ko) | 2021-01-14 | 2022-07-25 | 창신 메모리 테크놀로지즈 아이엔씨 | 오류 정정 시스템 |
CN114765056B (zh) | 2021-01-14 | 2024-07-12 | 长鑫存储技术有限公司 | 存储*** |
US11990201B2 (en) | 2021-01-14 | 2024-05-21 | Changxin Memory Technologies, Inc. | Storage system |
KR102673257B1 (ko) | 2021-01-14 | 2024-06-05 | 창신 메모리 테크놀로지즈 아이엔씨 | 비교 시스템 |
-
2021
- 2021-08-09 KR KR1020227021376A patent/KR102673257B1/ko active IP Right Grant
- 2021-08-09 EP EP21854922.8A patent/EP4050608B1/en active Active
- 2021-08-09 JP JP2022538713A patent/JP2023512892A/ja active Pending
-
2022
- 2022-02-11 US US17/669,565 patent/US11935616B2/en active Active
-
2024
- 2024-04-12 JP JP2024064892A patent/JP2024096874A/ja active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130283122A1 (en) | 2009-10-15 | 2013-10-24 | Apple Inc. | Error Correction Coding Over Multiple Memory Pages |
US20150143201A1 (en) * | 2013-11-19 | 2015-05-21 | International Business Machines Corporation | Error-correcting code distribution for memory systems |
US20160329912A1 (en) | 2013-12-30 | 2016-11-10 | Sanechips Technology Co, Ltd. | Data error correcting method and device, and computer storage medium |
US20160062830A1 (en) | 2014-08-26 | 2016-03-03 | Sang-Uhn CHA | Semiconductor memory devices, memory systems including the same and method of correcting errors in the same |
Also Published As
Publication number | Publication date |
---|---|
KR20220107007A (ko) | 2022-08-01 |
EP4050608A4 (en) | 2022-12-07 |
EP4050608B1 (en) | 2023-06-28 |
JP2023512892A (ja) | 2023-03-30 |
US20220223186A1 (en) | 2022-07-14 |
JP2024096874A (ja) | 2024-07-17 |
EP4050608A1 (en) | 2022-08-31 |
US11935616B2 (en) | 2024-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102673257B1 (ko) | 비교 시스템 | |
EP4071762B1 (en) | Error correction system | |
US11990201B2 (en) | Storage system | |
US11599417B2 (en) | Error correction system | |
JP7454676B2 (ja) | 記憶システム | |
US20180151197A1 (en) | Error correction code encoder, encoding method, and memory controller including the encoder | |
US6438726B1 (en) | Method of dual use of non-volatile memory for error correction | |
WO2022151724A1 (zh) | 纠错*** | |
US6360347B1 (en) | Error correction method for a memory device | |
KR20210132784A (ko) | 메모리 장치 및 메모리 장치로부터 데이터를 읽는 방법 | |
EP1192544B1 (en) | Error correction circuit and method for a memory device | |
CN114765055B (zh) | 纠错*** | |
WO2022151722A1 (zh) | 存储*** | |
WO2022151723A1 (zh) | 比较*** | |
RU51428U1 (ru) | Отказоустойчивый процессор повышенной достоверности функционирования | |
RU2211492C2 (ru) | Отказоустойчивое оперативное запоминающее устройство | |
RU2297034C2 (ru) | Отказоустойчивое устройство хранения информации | |
SU1049981A1 (ru) | Устройство дл коррекции отказов в полупроводниковой пам ти | |
SU1111206A1 (ru) | Оперативное запоминающее устройство с коррекцией информации | |
SU1290419A1 (ru) | Запоминающее устройство с коррекцией ошибок | |
JPH0534703B2 (ko) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |