KR101497073B1 - 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치 - Google Patents
메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치 Download PDFInfo
- Publication number
- KR101497073B1 KR101497073B1 KR1020080019381A KR20080019381A KR101497073B1 KR 101497073 B1 KR101497073 B1 KR 101497073B1 KR 1020080019381 A KR1020080019381 A KR 1020080019381A KR 20080019381 A KR20080019381 A KR 20080019381A KR 101497073 B1 KR101497073 B1 KR 101497073B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- bits
- detection information
- memory cell
- data detection
- 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
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- 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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
본 발명은 데이터를 저장하는 메모리 장치에 관한 것으로, 더욱 상세하게는 메모리 셀에 저장되는 데이터의 길이를 결정하고, 결정된 길이에 기반하여 메모리에 데이터를 저장하는 장치에 관한 것이다.
본 발명은 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 비트 결정부, 상기 결정된 데이터의 비트 수에 상응하는 데이터를 수신하는 데이터 수신부, 상기 수신한 데이터에 대한 오류 정정 부호화를 수행하여 상기 데이터 검출 정보의 비트 수에 상응하는 데이터 검출 정보를 생성하는 오류 정정 부호화부 및 상기 수신된 데이터 및 상기 생성된 데이터 검출 정보를 메모리 셀에 저장하는 데이터 저장부를 포함하는 것을 특징으로 하는 메모리 데이터 저장 장치를 제공한다.
본 발명에 따르면 메모리 셀에 저장될 데이터의 임계 오류율에 기반하여 메모리 데이터와 동일한 메모리 셀에 저장될 데이터 검출 정보의 비트 수를 결정할 수 있다
메모리 셀, 오류 정정 부호, 데이터 검출 정보
Description
본 발명은 데이터를 저장하는 메모리 장치에 관한 것으로, 더욱 상세하게는 메모리 셀에 저장되는 데이터의 길이를 결정하고, 결정된 길이에 기반하여 메모리에 데이터를 저장하는 장치에 관한 것이다.
싱글 레벨 셀(SLC: single-level cell) 메모리는 하나의 메모리 셀에 1비트의 데이터를 저장하는 메모리이다. 싱글 레벨 셀 메모리는 싱글 비트 셀(SBC: single-bit cell) 메모리로도 불린다. 싱글 레벨 셀 메모리에서는 1비트의 데이터는 메모리 셀에 프로그램된 문턱 전압(threshold voltage)에 의하여 구분되는 2개의 산포(distribution)에 포함되는 전압으로 저장되고, 판독된다. 싱글 레벨 셀 메모리들 간의 미세한 전기적 특성의 차이로 인해 프로그램된 문턱 전압은 일정한 범위의 산포를 가지게 된다. 예를 들어, 메모리 셀로부터 판독된 전압이 0.5-1.5 볼트인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "1"이고, 메모리 셀로부터 판독된 전압이 2.5-3.5 볼트인 경우에는 상기 메모리 셀에 저장된 데이터는 논리 "0"으로 해석된다. 메모리 셀에 저장된 데이터는 판독 동작 시 셀 전류/전압의 차이에 의하여 구분된다.
한편 메모리의 고집적화 요구에 응답하여 하나의 메모리 셀에 2비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(MLC: multi-level cell) 메모리가 제안되었다. 멀티 레벨 셀 메모리는 멀티 비트 셀(MBC: multi-bit cell) 메모리로도 불린다. 그러나, 하나의 메모리 셀에 저장하는 비트의 수가 증가할수록 신뢰성은 떨어지고, 판독 실패율(read failure rate)은 증가하게 된다. 하나의 메모리 셀에 N 개의 비트를 저장하려면, 개의 산포(distribution)를 형성하여야 한다.
그러나, 메모리의 전압 윈도우(voltage window)는 제한되어 있기 때문에, m이 증가함에 따라 인접한 비트들 간의 문턱 전압(threshold)의 차이는 줄어들게 되고, 이에 따라 판독 실패율이 증가한다. 이러한 이유로 종래기술에 따르면, 멀티 레벨 셀(MLC: multi-level cell) 메모리를 이용한 저장 밀도의 향상이 용이하지 않았다.
본 발명의 목적은 메모리 셀에 저장될 데이터의 임계 오류율에 기반하여 메모리 데이터와 동일한 메모리 셀에 저장될 데이터 검출 정보의 비트 수를 결정하는 것이다.
본 발명의 목적은 메모리 셀에 저장된 데이터의 비트 오류율과 메모리 셀에 저장된 데이터의 임계 오류율을 비교하고, 그 결과에 따라서 데이터 검출 정보의 비트 수를 재결정하는 것이다.
상기의 목적을 이루고 종래기술의 문제점을 해결하기 위하여, 본 발명은 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 비트 결정부, 상기 결정된 데이터의 비트 수에 상응하는 데이터를 수신하는 데이터 수신부, 상기 수신한 데이터에 대한 오류 정정 부호화를 수행하여 상기 데이터 검출 정보의 비트 수에 상응하는 데이터 검출 정보를 생성하는 오류 정정 부호화부 및 상기 수신된 데이터 및 상기 생성된 데이터 검출 정보를 메모리 셀에 저장하는 데이터 저장부를 포함하는 것을 특징으로 하는 메모리 데이터 저장 장치를 제공한다.
본 발명의 일측에 따르면 데이터 및 데이터 검출 정보를 저장하는 데이터 저장부, 상기 데이터 및 상기 데이터 검출 정보 각각의 비트 수를 저장하는 길이 정보 저장부, 상기 데이터 검출 정보에 기반하여 상기 저장된 데이터에 대한 비트 오류율을 산출하는 오류 정정 복호화부, 상기 산출된 비트 오류율을 소정의 임계 오류율과 비교하는 제어부, 상기 비교 결과에 따라서 상기 데이터의 비트 수 또는 상기 데이터 검출 정보의 비트 수를 재결정하는 비트 결정부를 포함하고, 상기 데이터 저장부는 상기 재결정된 상기 데이터의 비트 수에 기반하여 상기 데이터를 재저장하거나 상기 데이터 검출 정보의 비트 수에 기반하여 상기 데이터 검출 정보를 재저장하는 것을 특징으로 하는 메모리 데이터 검출 장치가 제공된다.
본 발명의 또 다른 일측에 따르면 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 단계, 상기 결정된 데이터의 비트 수에 상응하는 데이터를 수신하는 단계, 상기 수신한 데이터에 대한 오류 정정 부호화를 수행하여 데이터 검출 정보를 생성하는 단계 및 상기 수신된 데이터 및 상기 생성된 데이터 검출 정보를 메모리 셀에 저장하는 단계를 포함하는 것을 특징으로 하는 메모리 데이터 저장 방법이 제공된다.
본 발명에 따르면 메모리 셀에 저장될 데이터의 임계 오류율에 기반하여 메모리 데이터와 동일한 메모리 셀에 저장될 데이터 검출 정보의 비트 수를 결정할 수 있다.
본 발명에 따르면 메모리 셀에 저장된 데이터의 비트 오류율과 메모리 셀에 저장된 데이터의 임계 오류율을 비교하고, 그 결과에 따라서 데이터 검출 정보의 비트 수를 재결정할 수 있다.
이하에서는 첨부된 도면을 참조하여 본 발명의 실시예를 상세히 설명한다.
도 1은 본 발명에 따라서 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 메모리 데이터 저장 장치의 구조를 도시한 블록도 이다. 이하 도 1을 참조하여 본 발명에 따른 메모리 데이터 저장 장치의 동작을 상세히 설명하기로 한다. 본 발명에 따른 메모리 데이터 저장 장치(100)는 비트 결정부(110), 데이터 수신부(120), 오류 정정 부호화부(130) 및 데이터 저장부(140)를 포함한다.
비트 결정부(110)는 메모리 셀에 저장될 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정한다.
본 발명의 일 실시예에 따르면, 메모리 데이터 저장 장치가 메모리 셀에 복수 비트의 정보를 저장하는 경우에, 일부 비트는 메모리 셀에 저장될 데이터이고, 일부 비트는 저장될 데이터에 관련된 데이터 검출 정보일 수 있다. 메모리 데이터 저장 장치는 데이터 검출 정보를 이용하여 메모리 셀에 저장된 데이터를 검출할 수 있다.
본 발명의 일 실시예에 따르면 데이터 검출 정보는 메모리 셀에 저장될 데이터에 대한 오류 정정 정보 또는 메모리 셀에 저장된 데이터를 유지하기 위한 저장 상태 유지 정보일 수 있다.
본 발명의 일 실시예에 따르면 메모리 데이터 저장 장치는 오류 정정 정보를 이용하여 메모리 셀에 저장된 데이터에 오류가 발생하였는지 여부를 판단할 수 있다. 또한, 메모리 셀에 저장된 데이터에 오류가 발생한 경우에, 오류를 제거할 수도 있다.
본 발명의 일 실시예에 따르면 메모리 데이터 저장 장치는 저장 상태 유지 정보를 참조하여 메모리 셀에 저장된 데이터를 유지, 관리할 수 있다. 저장 상태 유지 정보는 데이터가 저장되는 메모리 셀의 온도 정보, 메모리 셀에 저장된 데이터와 연관된 임계 오류율 정보를 포함할 수 있다.
메모리 셀에 저장된 데이터에 대한 비트 오류율은 메모리 셀의 동작 온도에 따라서 달라진다. 본 발명의 일 실시예에 따른 메모리 데이터 저장 장치는 데이터를 메모리 셀에 저장할 시점의 메모리 셀의 동작 온도를 데이터와 연관된 데이터 관리 정보로서 메모리 셀에 저장할 수 있다. 메모리 데이터 저장 장치는 데이터를 검출할 시점의 메모리 셀의 동작 온도와 데이터를 저장할 시점의 메모리 셀의 동작 온도를 비교하고, 비교 결과에 기반하여 메모리 셀에 저장된 데이터의 비트 수를 재결정 할 수 있다.
데이터 수신부(120)는 비트 결정부(110)가 결정한 데이터 비트 수에 상응하는 데이터를 수신한다. 본 발명의 일 실시예에 따르면 데이터 수신부(120)는 데이터 분할부로부터 데이터를 수신할 수 있다. 데이터 분할부는 메모리 셀에 저장될 데이터를 비트 결정부(110)가 결정한 비트 수에 상응하는 길이로 분할한다. 데이터 분할부는 분할된 각각의 데이터를 데이터 수신부(120)로 전송한다.
오류 정정 부호화부(130)는 수신한 데이터에 대한 오류 정정 부호화를 수행하여 데이터 검출 정보의 비트 수에 상응하는 데이터 검출 정보를 생성한다. 본 발명의 일 실시예에 따르면 오류 정정 부호화부(130)는 길쌈(Convolutional) 부호화 기법, BCH(Bose-Chadhuri-Hocquenghem) 부호화 기법, TCM 부호화 기법, BCM 부호화 기법, 리드 솔로몬(Reed-Solomon) 부호화 기법 또는 터보 부호화 기법에 따라서 메모리 셀에 저장될 데이터에 대한 오류 정정 정보를 생성할 수 있다.
데이터 저장부(140)는 수신된 데이터 및 생성된 데이터 검출 정보를 메모리 셀에 저장한다. 본 발명의 일 실시예에 따르면 데이터 수신부(120)는 메모리 셀에 대한 저장 상태 유지 정보를 데이터와 함께 수신하고, 데이터 저장부(140)는 저장 상태 유지 정보를 데이터 검출 정보에 포함하여 메모리 셀에 저장할 수 있다.
본 발명의 일 실시예에 따르면 데이터 수신부(120)는 저장될 데이터에 대한 임계 오류율을 수신하고 비트 결정부(110)는 수신된 임계 오류율에 기반하여 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다.
일반적으로 오류 정정 정보의 양이 많아 진다면 좀더 강력한 오류 정정을 수행할 수 있다. 강력한 오류 정정 기법을 수행하면, 오류 정정전의 비트 오류율은 큰 값을 가지는 경우에도, 오류 정정후의 비트 오류율은 매우 작은 값을 가질 수 있다. 따라서 비트 결정부(110)는 메모리 셀에 저장된 데이터의 비트 오류율이 수신된 임계 오류율 이하가 되도록 데이터 검출 정보의 비트 수를 결정할 수 있다.
메모리 셀에 저장되는 정보의 비트 수는 정해져 있으므로, 의 상태 수가 정해져 있다면, 데이터 검출 정보의 비트 수를 무한정 늘릴 수는 없다. 따라서 메모리 데이터 저장 장치(100)는 메모리 셀에 저장할 수 있는 정보의 비트 수 내에서 메모리 셀에 저장할 데이터에 대한 비트 수 및 데이터 검출 정보의 비트 수를 결정한다.
메모리 셀에 저장할 수 있는 정보는 메모리 셀에 저장될 데이터뿐만 아니라 데이터 검출 정보를 포함한다. 메모리 셀에 저장할 수 있는 정보의 최대 비트 수는 결정 되어 있으므로, 데이터 검출 정보의 비트 수도 제한된다. 따라서 데이터 검출 정보를 이용한 오류 정정 성능도 제한된다. 제한된 데이터 검출 정보의 비트 수에 기반하여 메모리 셀에 저장된 데이터에 대한 오류 정정 성능을 향상시키기 위하여 오류 정정 부호화 기법을 변경할 수 있다. 본 발명의 일 실시예에 따르면 상기 비트 결정부(110)는 수신한 데이터에 대한 오류 정정 부호화 기법을 결정하고, 상기 오류 정정 부호화부(130)는 상기 결정된 오류 정정 부호화 기법에 따라서 상기 데이터 검출 정보를 생성할 수 있다.
본 발명의 일 실시예에 따르면 비트 오류율 산출부는 메모리 셀에 저장된 데이터에 대한 비트 오류율을 산출할 수 있다. 본 발명의 일 실시예에 따르면 비트 오류율 산출부는 데이터 검출 정보에 포함된 오류 정정 정보를 이용하여 메모리 셀에 저장된 데이터에 오류가 발생하였는지 여부를 판단할 수 있다.
제어부는 비트 오류율 산출부가 산출한 비트 오류율을 소정의 임계 오류율과 비교한다. 본 발명의 일 실시예에 따르면 임계 오류율을 데이터 검출 정보에 포함될 수 있다. 본 발명의 일 실시예에 따르면 데이터 수신부(120)는 임계 오류율을 수신할 수 있다.
비트 결정부(110)는 제어부의 비교 결과에 따라서 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 재결정할 수 있다. 본 발명의 일 실시예에 따르면 메모리 셀에 저장된 데이터의 비트 오류율이 임계 오류율 보다 높은 경우에, 비트 결정부(110)는 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 재결정 할 수 있다. 데이터 저장부(140)는 재결정된 데이터의 비트 수에 기반하여 메모리 셀에 저장된 데이터를 재저장하거나 데이터 검출 정보의 비트 수에 기반하여 데이터 검 출 정보를 재저장할 수 있다.
메모리 셀에 저장된 데이터의 비트 오류율이 임계 오류율 보다 높은 경우에, 비트 결정부(110)는 종래의 데이터 검출 정보의 비트 수보다 증가되도록 새로운 데이터 검출 정보의 비트 수를 결정할 수 있다. 오류 정정 부호화부(130)는 재결정된 데이터 검출 정보의 비트 수에 상응하도록 데이터 검출 정보를 재생성할 수 있다. 재생성된 데이터 검출 정보는 기존 데이터 검출 정보의 양보다 많으므로, 오류 정정 부호화부(130)는 기존 오류 정정 부호화 기법보다 더 강력한 오류 정정 부호화 기법을 사용할 수 있다. 본 발명의 일 실시예에 따르면 비트 결정부(110)는 오류 정정 부호화부(130)가 이용하여 오류 정정 부호화 기법을 결정할 수 있다.
도 2는 본 발명의 일 실시예에 따라서 소정의 임계 오류율 보다 적은 비트 오류율을 산출하도록 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 개념을 도시한 도면이다. 이하 도 2를 참조하여 메모리 셀에 저장된 데이터의 비트 수를 결정하는 개념을 상세히 설명하기로 한다.
도 2의 가로축은 메모리 셀에 저장된 데이터의 오류 정정전 비트 오류율을 나타낸다. 도 2의 세로축은 메모리 셀에 저장된 데이터에 대하여 오류 정정 복호화를 수행하여, 오류를 정정한 이후의 비트 오류율을 나타낸다.
메모리 셀에 저장될 수 있는 정보의 양은 메모리 셀이 가질 수 있는 상태의 수와 관련된다. 본 발명의 일 실시예에 따르면, 비트 결정부(110)는 메모리 셀이 가질 수 있는 상태의 개수에 기반하여 상기 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다. 예를 들어 메모리 셀이 16가지의 상태를 가질 수 있다면, 메모리 셀은 최대 4비트의 정보를 저장 할 수 있다.
본 발명의 일 실시예에 따르면 메모리 데이터 저장 장치(100)는 메모리 셀의 상태 수를 고려하여 데이터 검출 정보를 결정할 수 있다. 예를 들어 메모리 셀이 가질 수 있는 최대 상태의 개수가 16인 경우에, 메모리 셀은 최대 4비트의 정보를 저장할 수 있다. 4비트의 정보는 메모리 셀에 저장될 데이터뿐만 아니라 데이터 관리 정보를 포함한다.
본 발명의 일 실시예에 따르면 메모리 데이터 저장 장치는 4비트의 정보를 저장할 수 있는 메모리 셀에 3비트의 정보 만을 저장하도록 결정할 수 있다. 3비트의 정보는 2비트의 데이터 및 1비트의 데이터 관리 정보를 포함할 수 있다. 4비트의 정보를 저장할 수 있는 메모리 셀에 3비트 만을 저장한다면, 각각의 비트에 대한 비트 오류율은 감소한다.
본 발명의 다른 실시예에 따르면 메모리 데이터 저장 장치는 2비트의 데이터와 2비트의 데이터 관리 정보를 저장하도록 결정 할 수 있다. 4비트의 정보를 저장하므로 각각의 비트에 대한 비트 오류율을 증가한다. 그러나 데이터 관리 정보의 양이 증가하므로 좀더 강력한 오류 정정 부호화 및 오류 정정 복호화를 수행할 수 있다. 따라서 오류 정정 복호화 수행후의 비트 오류율은 3비트의 정보를 저장한 경우보다 감소할 수 있다.
곡선 210은 N 비트의 데이터 검출 정보를 저장하는 경우에 오류 정정 부호화부의 오류 정정 성능을 나타낸다. N 데이터 검출 정보를 저장하는 경우에 오류 정정전의 비트 오류율은 211이고, 오류 정정 후의 비트 오류율은 212 이다.
곡선 220은 N+k 비트의 데이터 검출 정보를 저장하는 경우에, 오류 정정 부호화부의 오류 정정 성능을 나태난다. 동일한 메모리 셀에 k비트의 데이터 검출 정보를 더 저장하므로, 오류 정정전의 비트 오류율(221)은 N 비트의 데이터 검출 정보를 저장하는 경우(211)보다 증가하였다. 그러나 N+k 비트의 데이터 검출 정보를 저장하는 경우에는 N 비트의 데이터 검출 정보를 저장하는 경우보다 좀더 강력한 오류 정정 부호화, 오류 정정 복호화를 수행할 수 있다. 따라서 N+k 비트의 데이터 검출 정보를 저장하는 경우의 오류 정정후의 비트 오류율(222)은 N 비트의 데이터 검출 정보를 저장하는 경우(212)보다 낮을 수 있다.
본 발명의 일 실시예에 따르면 메모리 셀에 저장되는 데이터에 대한 임계 오류율이 223인 경우에, 비트 결정부(110)는 오류 정정후의 비트 오류율(212, 222)이 임계 오류율(223)보다 낮도록 데이터 검출 정보의 비트 수를 N+k 로 결정 할 수 있다.
도 3은 본 발명의 일 실시예에 따라서 메모리 셀에 저장된 데이터에 대한 비트 오류율이 최소가 되도록 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 개념을 도시한 도면이다. 이하 도 3을 참조하여 본 발명에 따라서 데이터 검출 정보의 비트 수를 결정하는 개념을 상세히 설명하기로 한다.
도 3의 가로축은 메모리 셀이 저장된 데이터의 오류 정정전 비트 오류율을 나타낸다. 도 3의 세로축은 메모리 셀에 저장된 데이터에 대하여 오류 정정 복호화를 수행하여 오류를 정정한 이후의 비트 오류율을 나타낸다.
곡선 310은 N 비트의 데이터 검출 정보를 저장하는 경우, 곡선 320은 N+k1 비트의 데이터 검출 정보를 저장하는 경우, 곡선 330은 N+k2 비트의 데이터 검출 정보를 저장하는 경우에 오류 정정 부호화부의 오류 정정 성능을 나타낸다.
N 비트, N+k1 비트, N+k2 비트의 데이터 검출 정보를 저장하는 경우에 오류 정정전의 비트 오류율은 각각 311, 321, 331 이다. 오류 정정후의 비트 오류율은 각각 312, 322, 332이다.
N+k1비트, N+k2 비트의 데이터 검출 정보를 저장하는 경우의 오류 정정전 비트 오류율(321, 331)은 N 비트의 데이터를 저장하는 경우의 오류 정정전 비트 오류율(311) 보다 증가한다. 그러나 좀더 강력한 오류 정정 부호화 기법을 사용할 수 있으므로 N+k1 비트, N+k2 비트의 데이터 검출 정보를 저장하는 경우의 오류 정정후의 비트 오류율(322, 332)은 N 비트의 데이터 검출 정보를 저장하는 경우의 오류 정정후의 비트 오류율(312)보다 낮을 수 있다.
본 발명의 일 실시예에 따르면 메모리 데이터 검출 장치(100)의 비트 결정부(110)는 메모리 셀에 저장될 데이터의 오류 정정후의 비트 오류율이 최소가 되도록 데이터 검출 정보의 비트 수를 결정 할 수 있다.
메모리 셀에 저장할 수 있는 정보의 양은 메모리 셀이 가질 수 있는 상태의 수에 의하여 결정된다. 메모리 셀에 최대한의 정보를 저장한다면, 메모리 셀에 저장할 수 있는 정보의 길이는 메모리 셀이 가질 수 있는 상태의 수에 의하여 결정된다. 메모리 셀에 저장되는 정보는 데이터 및 데이터 검출 정보를 포함한다. 따라서 데이터 검출 정보의 비트 수를 증가시킨다면, 메모리 셀에 저장하는 데이터의 비트 수는 감소한다.
본 발명의 일 실시예에 따르면 메모리 데이터 검출 장치(100)의 비트 결정부(110)는 메모리 셀에 저장될 데이터의 오류 정정후의 비트 오류율이 최소가 되도록 메모리 셀에 저장될 데이터의 비트 수를 결정할 수 있다.
도 4는 본 발명의 일 실시예에 따라서 메모리 셀에 저장된 데이터에 대한 비트 오류율을 산출하고 산출된 비트 오류율에 따라서 상기 데이터를 재저장하는 메모리 데이터 검출 장치의 구조를 도시한 블록도이다. 이하 도 4를 참조하여 본 발명에 따라서 데이터를 재저장하는 메모리 데이터 검출 장치의 동작을 상세히 설명하도록 한다. 본 발명에 따른 메모리 데이터 검출 장치(400)는 비트 결정부(410), 데이터 수신부(420), 오류 정정 부호화부(430), 데이터 저장부(440), 비트 오류율 산출부(450) 및 제어부(460)를 포함한다.
비트 결정부(410)는 메모리 셀에 저장된 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정한다. 본 발명의 일 실시예에 따르면 비트 결정부(410)는 메모리 셀에 저장될 데이터의 임계 오류율에 기반하여 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다.
데이터 수신부(420)는 비트 결정부(410)가 결정한 메모리 셀에 저장된 데이터의 비트 수에 상응하는 데이터를 수신한다.
오류 정정 부호화부(430)는 데이터 수신부(420)가 수신한 데이터에 대한 오류 정정 부호화를 수행하여 데이터 검출 정보를 생성한다. 오류 정정 부호화부(430)는 비트 결정부(410)가 결정한 데이터 검출 정보의 비트 수에 기반하여 데 이터 검출 정보를 생성할 수 있다. 본 발명의 일 실시예에 따르면 오류 정정 부호화부(430)는 길쌈(Convolutional) 부호화 기법, BCH(Bose-Chadhuri-Hocquenghem) 부호화 기법, TCM 부호화 기법, BCM 부호화 기법, 리드 솔로몬(Reed-Solomon) 부호화 기법 또는 터보 부호화 기법에 따라서 메모리 셀에 저장될 데이터에 대한 데이터 검출 정보를 생성할 수 있다.
데이터 저장부(440)는 데이터 수신부(420)가 수신한 데이터 및 오류 정정 부호화부(430)가 생성한 데이터 검출 정보를 메모리 셀에 저장한다.
비트 오류율 산출부(450)는 메모리 셀에 저장된 데이터에 대한 비트 오류율을 산출한다. 본 발명의 일 실시예에 따르면 비트 오류율 산출부(450)는 데이터 검출 정보를 이용하여 메모리 셀에 저장된 데이터에 오류가 발생하였는지 여부를 판단할 수 있다.
제어부(460)는 메모리 셀에 저장된 데이터에 대한 비트 오류율과 메모리 셀에 저장된 데이터에 대한 임계 오류율을 비교한다. 본 발명의 일 실시예에 따르면 메모리 셀에 저장된 데이터에 대한 비트 오류율이 임계 오류율보다 큰 값을 가지는 경우에, 비트 결정부(410)는 메모리 셀에 저장된 데이터 또는 데이터 검출 정보에 대한 비트 수를 재결정 할 수 있다.
본 발명의 일 실시예에 따르면 비트 결정부(410)는 종래의 데이터 검출 정보의 비트 수 보다 더 큰 값을 가지도록 데이터 검출 정보의 비트 수를 재결정 할 수 있다. 오류 정정 부호화부(430)는 좀더 강력한 오류 정정 부호화 기법을 사용할 수 있다. 따라서 오류 정정 부호화 기법을 이용하여 오류 정정된 데이터의 비트 오류율은 임계 오류율 보다 낮은 값을 가질 수 있다.
도 5는 본 발명의 일 실시예에 따라서 메모리 셀에 저장된 데이터에 대한 비트 오류율에 기반하여 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 재결정하는 메모리 데이터 검출 장치의 구성을 도시한 블록도이다. 이하 도 5를 참조하여 본 발명에 따른 데이터 검출 장치의 동작을 상세히 설명하도록 한다. 본 발명에 따른 데이터 검출 장치(500)는 데이터 수신부(510), 길이 정보 저장부(520), 오류 정정 복호화부(530), 제어부(540), 비트 결정부(550) 및 데이터 저장부(560)를 포함한다.
데이터 저장부(560)는 데이터 및 데이터 검출 정보를 메모리 셀에 저장한다. 본 발명의 일 실시예에 따르면 메모리 셀이 가질 수 있는 상태의 수에 따라서 메모리 셀에 저장되는 정보의 비트 수가 결정된다. 메모리 셀에 저장되는 정보는 데이터 및 데이터 검출 정보를 포함한다.
길이 정보 저장부(520)는 메모리 셀에 저장되는 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 저장한다.
데이터 수신부(510)는 메모리 셀에 저장되는 데이터의 비트 수에 상응하는 길이의 데이터를 수신한다. 본 발명의 일 실시예에 따르면 데이터 수신부(510)는 데이터 분할부로부터 데이터를 수신할 수 있다. 데이터 분할부는 메모리 셀에 저장할 전체 데이터를 메모리 셀에 저장되는 데이터의 비트 수에 기반하여 복수의 데이터 스트림으로 분할하고, 분할된 데이터 스트림을 데이터 수신부(510)로 전송할 수 있다. 데이터 수신부(510)가 수신한 데이터를 오류 정정 부호화된다. 데이터 저장부(560)는 오류 정정 부호화된 데이터를 저장할 수 있다.
오류 정정 복호화부(530)는 데이터 검출 정보에 기반하여 메모리 셀에 저장된 데이터에 대한 비트 오류율을 산출한다. 본 발명의 일 실시예에 따르면 오류 정정 복호화부는 메모리 셀에 저장된 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 참조하여 메모리 셀에 저장된 데이터에 대한 오류 정정 복호화를 수행한다.
제어부(540)는 오류 정정 복호화부(530)가 산출한 비트 오류율을 소정의 임계 오류율과 비교한다.
비트 결정부(550)는 비교 결과에 따라서 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 재결정 할 수 있다. 본 발명의 일 실시예에 따르면 오류 정정 복호화부(530)가 산출한 비트 오류율이 소정의 임계 오류율 보다 큰 경우에 비트 결정부(550)는 데이터 검출 정보의 비트 수를 종래의 데이터 검출 정보의 비트 수보다 더 큰 값을 가지도록 재결정 할 수 있다.
본 발명의 일 실시예에 따르면 비트 결정부(550)는 재결정된 데이터의 비트 수 또는 데이터 검출 정보의 비트 수에 따라서 길이 정보 저장부(520)를 업데이트 할 수 있다.
본 발명의 일 실시예에 따르면 비트 결정부(550)는 메모리 셀이 가질 수 있는 상태의 개수에 기반하여 메모리 셀에 저장될 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다. 메모리 셀이 가질 수 있는 상태의 개수에 기반하여 메모리 셀에 저장할 수 있는 정보의 최대 비트 수가 결정된다. 메모리 셀에 저장할 수 있는 정보는 메모리 셀에 저장될 데이터 및 데이터 검출 정보를 포함한다. 따라서 메모리 셀에 저장할 수 있는 데이터의 비트 수 또는 데이터 검출 정보의 비트 수는 메모리 셀이 가질 수 있는 상태의 수를 고려하여 결정될 수 있다.
본 발명의 일 실시예에 따르면 오류 정정 부호화부는 증가된 데이터 검출 정보의 비트 수를 고려하여 더 강력한 오류 정정 부호화를 수행할 수 있고, 데이터 저장부(560)는 다시 오류 정정 부호화된 데이터를 메모리 셀에 저장하거나, 증가된 비트 수의 데이터 검출 정보를 메모리 셀에 저장할 수 있다.
메모리 셀에 저장될 데이터의 비트 수를 고정하고 데이터 검출 정보의 비트 수를 증가 시키는 경우에, 오류 정정 복호화 되지 않은 데이터의 비트 오류율을 증가한다. 그러나 증가된 데이터 검출 정보에 따라서 더 강력한 오류 정정 복호화를 수행할 수 있으므로, 오류 정정 복호화되어 오류가 정정된 데이터의 비트 오류율은 감소할 수 있다. 본 발명의 일 실시예에 따르면 비트 결정부(550)는 재저장될 데이터의 비트 오류율이 최소가 되도록 메모리 셀에 저장될 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다.
도 6은 본 발명의 일 실시예에 따라서 데이터 및 데이터 검출 정보를 메모리 셀에 저장하는 개념을 도시한 도면이다. 이하 도 6을 참조하여 데이터 및 데이터 검출 정보를 메모리 셀에 저장하는 개념을 상세히 설명하기로 한다. 본 발명에 따른 데이터 저장 기술은 복수의 메모리 셀(610, 620, 630, 640)에 각각의 데이터(611, 621, 631, 641) 또는 데이터 검출 정보(612, 622, 632, 642)를 저장한다.
각각의 메모리 셀(610, 620, 630, 640)은 복수 비트의 정보를 저장할 수 있고, 복수 비트의 정보는 각각 데이터(611, 621, 631, 641) 또는 데이터 검출 정보(612, 622, 632, 642)를 포함한다.
본 발명의 일 실시예에 따르면 각각의 메모리 셀(610, 620, 630, 640)에 저장되는 데이터의 비트 수(651) 또는 데이터 검출 정보의 비트 수(652)는 각각의 메모리 셀에 따라서 개별적으로 결정될 수 있다. 각각의 메모리 셀(610, 620, 630, 640)의 동작 온도, 각각의 메모리 셀(610, 620, 630, 640)로부터 데이터 검출 장치까지의 채널 상태는 모두 독립적일 수 있다. 따라서 각각의 메모리 셀(610, 620, 630, 640)에 저장된 데이터에 대한 비트 오류율은 모두 상이할 수 있다. 따라서 각각의 메모리 셀(610, 620, 630, 640)에 저장된 데이터에 대한 비트 오류율이 소정의 임계 오류율 보다 작은 값을 가지도록 각각의 데이터 검출 정보의 비트 수(652)는 개별적으로 결정될 수 있다.
도 6에서는 각각의 메모리 셀(610, 620, 630, 640)에 저장된 데이터(611, 621, 631, 641) 및 데이터 검출 정보(612, 622, 632, 642)가 명확히 구분된 실시예가 도시되었다. 본 발명의 일 실시예에 따르면 오류 정정 부호화부가 수행하는 오류 정정 부호화 기법에 따라서 데이터 및 데이터 검출 정보가 명확히 구분되지 않을 수 있다.
본 발명의 일 실시예에 따르면 오류 정정 부호화부는 리드-솔로몬 코드와 같은 시스템적 코드(systematic code)를 이용하여 오류 정정 부호화를 수행할 수 있다. 이 경우에, 데이터(611, 621, 631, 641)와 데이터 검출 정보(612, 622, 632, 642)는 명확히 구분된다.
본 발명의 일 실시예에 따르면 오류 정정 부호화부는 터보 코드와 같은 비시스템적 코드(non-systematic code)를 이용하여 오류 정정 부호화를 수행할 수 있다. 이 경우에, 데이터(611, 621, 631, 641)와 데이터 검출 정보(612, 622, 632, 642)는 명확히 구분되지 않는다. 데이터와 데이터 검출 정보가 명확히 구분되지 않을 뿐, 비트 결정부(110)가 결정한 데이터의 비트 수 및 데이터 검출 정보의 비트 수에 따라서 오류 정정 부호화부(130)는 오류 정정 정보를 생성할 수 잇다.
도 7은 본 발명의 일 실시예에 따라서 메모리 셀에 저장될 데이터에 대한 데이터의 비트 수를 결정하는 방법을 단계적으로 설명한 순서도이다. 이하 도 7을 참조하여 메모리 셀에 저장될 데이터에 대한 데이터 비트의 수를 결정하는 방법을 상세히 설명하기로 한다.
단계(S710)에서는 메모리 셀에 저장될 데이터에 대한 저장 상태 유지 정보를 수신한다. 본 발명의 일 실시예에 따르면 저장 상태 유지 정보는 메모리 셀에 저장될 데이터에 대한 임계 오류율을 포함할 수 있다.
단계(S720)에서는 메모리 셀에 저장될 데이터에 대한 오류 정정 부호화 기법을 결정한다. 본 발명의 일 실시예에 따르면 단계(S720)에서는 길쌈(Convolutional) 부호화 기법, BCH(Bose-Chadhuri-Hocquenghem) 부호화 기법, TCM 부호화 기법, BCM 부호화 기법, 리드 솔로몬(Reed-Solomon) 부호화 기법 또는 터보 부호화 기법 중에서 어느 한 부호화 기법을 메모리 셀에 저장될 데이터에 대한 오류 정정 부호화 기법으로서 결정할 수 있다.
본 발명의 일 실시예에 따르면 단계(S720)에서는 단계(S710)에서 수신한 임계 오류율을 고려하여 오류 정정 부호화 기법을 결정할 수 있다.
단계(S730)에서는 메모리 셀에 저장될 데이터의 비트 수 및 데이터와 함께 저장될 데이터 검출 정보의 비트 수를 결정한다. 본 발명의 일 실시예에 따르면 단계(S730)에서는 단계(S710)에서 수신된 임계 오류율에 기반하여 메모리 셀에 저장될 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다. 본 발명의 일 실시예에 따르면 단계(S730)에서는 메모리 셀에 저장될 데이터의 비트 오류율이 단계(S710)에서 수신한 임계 오류율보다 낮은 값을 가지도록 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다.
본 발명의 일 실시예에 따르면 단계(S730)에서는 메모리 셀에 저장될 데이터의 비트 오류율이 최소가 되도록 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다.
본 발명의 일 실시예에 따르면 단계(S730)에서는 메모리 셀이 가질 수 있는 상태의 개수에 기반하여 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정할 수 있다. 메모리 셀에 저장할 수 있는 정보의 비트 수는 메모리 셀이 가질 수 있는 상태의 개수에 기반하여 결정된다. 메모리 셀에 저장할 수 있는 정보는 메모리 셀에 저장되는 데이터 및 데이터 검출 정보를 포함한다. 따라서 데이터 비트의 수와 데이터 검출 정보의 비트 수의 합은 메모리 셀에 저장할 수 있는 정보의 비트 수보다 커서는 안된다.
단계(S740)에서는 단계(S730)에서 결정된 데이터의 비트 수에 상응하는 데 이터를 수신한다.
단계(S750)에서는 수신한 데이터에 대한 오류 정정 부호화를 수행하여 데이터 검출 정보를 생성한다. 본 발명의 일 실시예에 따르면 단계(S750)에서는 단계(S720)에서 결정한 오류 정정 부호화 기법에 따라서 오류 정정 부호화를 수행할 수 있다. 본 발명의 일 실시예에 따르면 단계(S750)에서는 단계(S730)에서 결정한 데이터 검출 정보의 비트 수를 고려하여 데이터 검출 정보를 생성할 수 있다.
본 발명의 일 실시예에 따르면 단계(S760)에서는 데이터 검출 정보를 메모리 셀에 저장할 수 있다. 본 발명의 일 실시예에 따르면 단계(S760)에서는 단계(S710)에서 수신한 저장 상태 유지 정보를 데이터 검출 정보에 포함하여 메모리 셀에 저장할 수 있다.
단계(S770)에서는 메모리 셀에 저장된 데이터에 대한 비트 오류율을 산출한다. 본 발명의 일 실시예에 따르면 단계(S770)에서는 단계(S750)에서 생성된 데이터 검출 정보를 참조하여 메모리 셀에 저장된 데이터에 대한 비트 오류율을 산출할 수 있다.
단계(S780)에서는 단계(S770)에서 산출된 비트 오류율을 임계 오류율과 비교한다.
만약 단계(S770)에서 산출된 비트 오류율이 단계(S780)에서 산출된 임계 오류율 보다 큰 값을 가지는 경우에 단계(S790)에서는 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 재결정 할 수 있다. 본 발명의 일 실시예에 따르면 데이터 의 비트 수 또는 데이터 검출 정보의 비트 수는 메모리 셀에 저장된 데이터의 비트 오류율이 임계 오류율 보다 낮은 값을 가지도록 결정될 수 있다.
단계(S750)에서는 단계(S790)에서 재결정된 데이터 검출 정보의 비트 수를 고려하여 데이터 검출 정보를 재생성할 수 있다. 단계(S760)에서는 재생성된 데이터 검출 정보 또는 데이터를 메모리 셀에 재저장할 수 있다.
본 발명의 다양한 실시예들은 다양한 컴퓨터로 구현되는 동작을 수행하기 위한 프로그램 명령을 포함하는 컴퓨터 판독 가능 매체에 기록될 수 있다.
상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 본 발명에서 설명된 메모리 데이터 검출 장치의 전부 또는 일부가 컴퓨터 프로그램으로 구현된 경우, 상기 컴퓨터 프로그램을 저장한 컴퓨터 판독 가능 기록 매체도 본 발명에 포함된다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명에 따라서 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 메모리 데이터 저장 장치의 구조를 도시한 블록도이다.
도 2는 본 발명의 일 실시예에 따라서 소정의 임계 오류율 보다 적은 비트 오류율을 산출하도록 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 개념을 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따라서 메모리 셀에 저장된 데이터에 대한 비트 오류율이 최소가 되도록 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 개념을 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따라서 메모리 셀에 저장된 데이터에 대한 비트 오류율을 산출하고 산출된 비트 오류율에 따라서 상기 데이터를 재저장하는 메모리 데이터 검출 장치의 구조를 도시한 블록도이다.
도 5는 본 발명의 일 실시예에 따라서 메모리 셀에 저장된 데이터에 대한 비트 오류율에 기반하여 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 재결정하는 메모리 데이터 검출 장치의 구성을 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따라서 데이터 및 데이터 검출 정보를 메모리 셀에 저장하는 개념을 도시한 도면이다.
도 7은 본 발명의 일 실시예에 따라서 메모리 셀에 저장될 데이터에 대한 데이터의 비트 수를 결정하는 방법을 단계적으로 설명한 순서도이다.
Claims (18)
- 데이터 및 데이터 검출 정보를 저장하는 데이터 저장부;메모리 셀에 저장될 상기 데이터의 비트 수 및 상기 데이터 검출 정보의 비트 수를 결정하는 비트 결정부;상기 데이터 및 상기 데이터 검출 정보 각각의 비트 수를 저장하는 길이 정보 저장부;상기 데이터 검출 정보에 기반하여 상기 저장된 데이터에 대한 비트 오류율을 산출하는 오류 정정 복호화부; 및상기 산출된 비트 오류율을 소정의 임계 오류율과 비교하는 제어부를 포함하며,상기 비트 결정부는 상기 제어부의 비교 결과에 기초하여 상기 데이터의 비트 수 또는 상기 데이터 검출 정보의 비트 수를 재결정하고, 상기 데이터 저장부는 상기 재결정된 데이터의 비트 수에 따라 상기 데이터를 재저장하거나 또는 상기 재결정된 데이터 검출 정보의 비트 수에 따라 상기 데이터 검출 정보를 재저장하며,상기 데이터 검출 정보에는 상기 데이터가 저장된 상기 메모리 셀의 온도 정보가 더 포함되고, 상기 제어부는 상기 데이터를 검출하는 시점의 메모리 셀의 동작 온도와 상기 데이터를 저장하는 시점의 메모리 셀의 동작 온도를 비교하고, 상기 비트 결정부는 상기 제어부의 비교 결과에 기초하여 상기 데이터의 비트 수 및 상기 데이터 검출 정보의 비트 수를 재결정하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 제1항에 있어서,상기 결정된 데이터의 비트 수에 상응하는 데이터를 수신하는 데이터 수신부; 및상기 수신한 데이터에 대한 오류 정정 부호화를 수행하여 상기 데이터 검출 정보의 비트 수에 상응하는 데이터 검출 정보를 생성하는 오류 정정 부호화부를 더 포함하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 제2항에 있어서,상기 데이터 수신부는 상기 저장될 데이터에 대한 임계 오류율을 수신하고,상기 비트 결정부는 상기 수신된 임계 오류율에 기반하여 상기 데이터의 비트 수 또는 상기 데이터 검출 정보의 비트 수를 결정하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 제2항에 있어서, 상기 비트 결정부는,상기 저장될 데이터의 비트 오류율이 최소가 되도록 상기 데이터의 비트 수 또는 상기 데이터 검출 정보의 비트 수를 결정하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 제2항에 있어서, 상기 비트 결정부는,상기 메모리 셀이 가질 수 있는 상태의 개수에 기반하여 상기 데이터의 비트 수 또는 데이터 검출 정보의 비트 수를 결정하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 제2항에 있어서, 상기 비트 결정부는,상기 수신한 데이터에 대한 오류 정정 부호화 기법을 결정하고;상기 오류 정정 부호화부는 상기 결정된 오류 정정 부호화 기법에 따라서 상기 데이터 검출 정보를 생성하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 제2항에 있어서,상기 저장된 데이터에 대한 비트 오류율을 산출하는 비트 오류율 산출부; 및상기 산출된 비트 오류율을 소정의 임계 오류율과 비교하는 제어부를 더 포함하고,상기 비트 결정부는 상기 비교 결과에 따라서 상기 데이터의 비트 수 또는 상기 데이터 검출 정보의 비트 수를 재결정 하고,상기 데이터 저장부는 상기 재결정된 데이터의 비트 수에 기반하여 상기 데이터를 재저장하거나 또는 상기 데이터 검출 정보의 비트 수에 기반하여 상기 데이터 검출 정보를 재저장하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 제2항에 있어서,상기 데이터 수신부는 상기 데이터에 대한 저장 상태 유지 정보를 수신하고,상기 데이터 저장부는 상기 저장 상태 유지 정보를 상기 메모리 셀에 저장하는 것을 특징으로 하는 메모리 데이터 저장 장치.
- 삭제
- 삭제
- 메모리 셀에 저장될 데이터의 비트 수 및 데이터 검출 정보의 비트 수를 결정하는 단계;상기 결정된 데이터의 비트 수에 상응하는 데이터를 수신하는 단계;상기 수신한 데이터에 대한 오류 정정 부호화를 수행하여 데이터 검출 정보를 생성하는 단계;상기 수신된 데이터 및 상기 생성된 데이터 검출 정보를 메모리 셀에 저장하는 단계;상기 데이터 검출 정보에 기초하여 상기 저장된 데이터에 대한 비트 오류율을 산출하는 단계;상기 산출된 비트 오류율을 소정의 임계 오류율과 비교하는 단계;상기 비교 결과에 따라 상기 데이터의 비트 수 또는 상기 데이터 검출 정보의 비트 수를 재결정하는 단계; 및상기 재결정된 데이터의 비트 수 또는 데이터 검출 정보의 비트 수에 따라 상기 데이터를 상기 메모리 셀에 재저장하는 단계를 포함하며,상기 데이터 검출 정보에는 상기 데이터가 저장된 상기 메모리 셀의 온도 정보가 더 포함되고, 상기 데이터를 검출하는 시점의 메모리 셀의 동작 온도와 상기 데이터를 저장하는 시점의 메모리 셀의 동작 온도를 비교하고, 상기 비교 결과에 기초하여 상기 데이터의 비트 수 또는 상기 데이터 검출 정보의 비트 수를 재결정하는 것을 특징으로 하는 메모리 데이터 저장 방법.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 제11항의 방법을 실행하기 위한 프로그램이 기록된 컴퓨터 판독 가능한 기록매체.
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080019381A KR101497073B1 (ko) | 2008-02-29 | 2008-02-29 | 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치 |
US12/219,103 US8276046B2 (en) | 2008-02-29 | 2008-07-16 | Apparatus for determining number of bits to be stored in memory cell |
PCT/KR2008/006191 WO2009107917A1 (en) | 2008-02-29 | 2008-10-20 | Apparatus for determining number of bits to be stored in memory cell |
JP2010548600A JP5524869B2 (ja) | 2008-02-29 | 2008-10-20 | メモリセルに格納されるデータのビット数を決定する装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020080019381A KR101497073B1 (ko) | 2008-02-29 | 2008-02-29 | 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090093695A KR20090093695A (ko) | 2009-09-02 |
KR101497073B1 true KR101497073B1 (ko) | 2015-03-02 |
Family
ID=41014116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020080019381A KR101497073B1 (ko) | 2008-02-29 | 2008-02-29 | 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8276046B2 (ko) |
JP (1) | JP5524869B2 (ko) |
KR (1) | KR101497073B1 (ko) |
WO (1) | WO2009107917A1 (ko) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5668279B2 (ja) * | 2009-08-06 | 2015-02-12 | ソニー株式会社 | 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム |
US9195540B2 (en) * | 2010-10-06 | 2015-11-24 | HGST, Inc. | Multiple sector parallel access memory array with error correction |
KR20120064462A (ko) | 2010-12-09 | 2012-06-19 | 삼성전자주식회사 | 메모리 컨트롤러, 이의 오류정정 방법, 및 이를 포함하는 메모리 시스템 |
US9021328B2 (en) | 2013-01-15 | 2015-04-28 | International Business Machines Corporation | Shared error protection for register banks |
US9201727B2 (en) | 2013-01-15 | 2015-12-01 | International Business Machines Corporation | Error protection for a data bus |
US20140201599A1 (en) * | 2013-01-15 | 2014-07-17 | International Business Machines Corporation | Error protection for integrated circuits in an insensitive direction |
US9041428B2 (en) | 2013-01-15 | 2015-05-26 | International Business Machines Corporation | Placement of storage cells on an integrated circuit |
US9043683B2 (en) | 2013-01-23 | 2015-05-26 | International Business Machines Corporation | Error protection for integrated circuits |
US9235468B2 (en) * | 2013-04-12 | 2016-01-12 | Qualcomm Incorporated | Systems and methods to improve the reliability and lifespan of flash memory |
US9509905B2 (en) * | 2013-12-17 | 2016-11-29 | Google Inc. | Extraction and representation of three-dimensional (3D) and bidirectional reflectance distribution function (BRDF) parameters from lighted image sequences |
JP2015138498A (ja) * | 2014-01-24 | 2015-07-30 | 三菱電機株式会社 | フラッシュメモリの誤り訂正符号化装置および方法 |
WO2016051599A1 (ja) * | 2014-10-03 | 2016-04-07 | 株式会社日立製作所 | メモリコントローラ及びデータ制御方法 |
KR102669687B1 (ko) * | 2016-12-05 | 2024-05-28 | 삼성전자주식회사 | 메모리의 온도에 따라 상이하게 동작하는 스토리지 장치 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003131954A (ja) * | 2001-08-16 | 2003-05-09 | Hewlett Packard Co <Hp> | 動的可変長誤り訂正符号 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05342085A (ja) * | 1992-06-09 | 1993-12-24 | Mitsubishi Electric Corp | メモリアクセス制御回路 |
US20030012372A1 (en) * | 2001-04-25 | 2003-01-16 | Cheng Siu Lung | System and method for joint encryption and error-correcting coding |
KR100464439B1 (ko) * | 2002-11-25 | 2004-12-31 | 삼성전자주식회사 | 채널별 특성에 따른 적응적 디펙 스캔 처리 방법 및 장치 |
CN100483992C (zh) * | 2003-05-06 | 2009-04-29 | 国际商业机器公司 | 数据流的加密、解密方法和装置 |
US7356755B2 (en) * | 2003-10-16 | 2008-04-08 | Intel Corporation | Error correction for multi-level cell memory with overwrite capability |
US7428669B2 (en) * | 2003-12-07 | 2008-09-23 | Adaptive Spectrum And Signal Alignment, Inc. | Adaptive FEC codeword management |
WO2005096509A1 (en) * | 2004-03-31 | 2005-10-13 | Intel Corporation | Multi-threshold message passing decoding of low-density parity check codes |
JP3967338B2 (ja) * | 2004-06-09 | 2007-08-29 | 株式会社日立国際電気 | 無線パケット転送装置 |
US8402325B2 (en) * | 2004-08-02 | 2013-03-19 | St-Ericsson Sa | Data storage and replay apparatus |
JP4712365B2 (ja) | 2004-08-13 | 2011-06-29 | ルネサスエレクトロニクス株式会社 | 不揮発性半導体記憶装置および半導体記憶装置 |
US7275190B2 (en) * | 2004-11-08 | 2007-09-25 | Micron Technology, Inc. | Memory block quality identification in a memory device |
US7158421B2 (en) | 2005-04-01 | 2007-01-02 | Sandisk Corporation | Use of data latches in multi-phase programming of non-volatile memories |
US7266020B1 (en) | 2005-07-19 | 2007-09-04 | Xilinx, Inc. | Method and apparatus for address and data line usage in a multiple context programmable logic device |
US8055979B2 (en) * | 2006-01-20 | 2011-11-08 | Marvell World Trade Ltd. | Flash memory with coding and signal processing |
US8015473B2 (en) * | 2006-12-19 | 2011-09-06 | Intel Corporation | Method, system, and apparatus for ECC protection of small data structures |
US8006166B2 (en) * | 2007-06-12 | 2011-08-23 | Micron Technology, Inc. | Programming error correction code into a solid state memory device with varying bits per cell |
-
2008
- 2008-02-29 KR KR1020080019381A patent/KR101497073B1/ko not_active IP Right Cessation
- 2008-07-16 US US12/219,103 patent/US8276046B2/en not_active Expired - Fee Related
- 2008-10-20 WO PCT/KR2008/006191 patent/WO2009107917A1/en active Application Filing
- 2008-10-20 JP JP2010548600A patent/JP5524869B2/ja not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003131954A (ja) * | 2001-08-16 | 2003-05-09 | Hewlett Packard Co <Hp> | 動的可変長誤り訂正符号 |
Also Published As
Publication number | Publication date |
---|---|
KR20090093695A (ko) | 2009-09-02 |
WO2009107917A1 (en) | 2009-09-03 |
US20090222701A1 (en) | 2009-09-03 |
JP2011514595A (ja) | 2011-05-06 |
US8276046B2 (en) | 2012-09-25 |
JP5524869B2 (ja) | 2014-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101497073B1 (ko) | 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치 | |
KR101403429B1 (ko) | 멀티 비트 프로그래밍 장치 및 방법 | |
US10290358B2 (en) | Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights | |
CN107068187B (zh) | 似然值指派针对每一读取重试在不同读取电压处改变正负号的读取重试操作 | |
US10180868B2 (en) | Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping | |
US9563502B1 (en) | Read retry operations with read reference voltages ranked for different page populations of a memory | |
US10276247B2 (en) | Read retry operations with estimation of written data based on syndrome weights | |
KR101378365B1 (ko) | 하이브리드 메모리 데이터 검출 장치 및 방법 | |
CN108154902B (zh) | 存储器的高可靠性错误检测方法、读取控制方法及装置 | |
JP5241860B2 (ja) | メモリ装置およびメモリデータ読み出し方法 | |
KR101437102B1 (ko) | 메모리 장치 및 멀티 비트 셀 특성 추정 방법 | |
JP6556423B2 (ja) | 読み取り電圧適応のための補償ループ | |
JP5457339B2 (ja) | メモリセルの読み取りレベル制御装置およびその方法 | |
JP2011521394A (ja) | メモリ装置およびメモリデータ誤り管理方法 | |
KR101515122B1 (ko) | 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치 | |
US11210163B2 (en) | Memory system and control method | |
KR20090075101A (ko) | 메모리 장치 및 오류 제어 코드 디코딩 방법 | |
KR102239237B1 (ko) | 고체 상태 메모리 시스템에서의 레이턴시 기반 데이터 재활용을 위한 시스템 및 방법 | |
KR20090097673A (ko) | 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치 | |
WO2013112580A1 (en) | Generating soft read values using multiple reads and/or bins | |
US20170031755A1 (en) | Memory system and memory control method | |
US20160055055A1 (en) | Memory system and error correction decoding method | |
KR101492857B1 (ko) | 메모리 장치 및 메모리 프로그래밍 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |