KR101184953B1 - 플래시 메모리 타이밍 사전-특성화 - Google Patents
플래시 메모리 타이밍 사전-특성화 Download PDFInfo
- Publication number
- KR101184953B1 KR101184953B1 KR1020107015353A KR20107015353A KR101184953B1 KR 101184953 B1 KR101184953 B1 KR 101184953B1 KR 1020107015353 A KR1020107015353 A KR 1020107015353A KR 20107015353 A KR20107015353 A KR 20107015353A KR 101184953 B1 KR101184953 B1 KR 101184953B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- transaction
- time
- flash memory
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012512 characterization method Methods 0.000 title claims description 5
- 238000000034 method Methods 0.000 claims abstract description 100
- 238000012545 processing Methods 0.000 claims description 14
- 238000005259 measurement Methods 0.000 claims description 7
- 238000012913 prioritisation Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 claims description 4
- 238000012217 deletion Methods 0.000 claims description 4
- 230000037430 deletion Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 2
- 230000000977 initiatory effect Effects 0.000 claims 2
- 230000002950 deficient Effects 0.000 claims 1
- 238000007689 inspection Methods 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 9
- 230000007246 mechanism Effects 0.000 abstract description 7
- 238000012360 testing method Methods 0.000 abstract description 5
- 230000006870 function Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000007717 exclusion Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 230000007306 turnover Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000001771 impaired effect Effects 0.000 description 1
- 230000007334 memory performance Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
- G11C16/107—Programming all cells in an array, sector or block to the same state prior to flash erasing
-
- 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/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
-
- 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/50—Marginal testing, e.g. race, voltage or current testing
- G11C29/50012—Marginal testing, e.g. race, voltage or current testing of timing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
-
- 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
- G11C2029/4402—Internal storage of test result, quality data, chip identification, repair information
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
Description
도 2 는 플래시 메모리 시스템의 블록도를 제공한다. 더 상세하게는, 도 2 는 버퍼 또는 레지스터가 플래시 메모리 타이밍에 대응하는 적어도 하나의 제한을 저장하는 시스템을 도시한다. 이 제한은, 메모리의 어떤 유닛 (디바이스, 블록, 페이지 등) 이 메모리 이용의 하나 이상의 모드에서 이용가능한지를 나타내는 테이블을 생성하도록 적용될 수도 있다.
도 3 은 측정된 시간을 이용하여 메모리를 관리하는 방법의 도면이다. 특히, 도 3 의 점선 블록은 각각 도 3 의 점선 블록 309, 311 및 313 으로 표시된 바와 같이, 제어기가 (1) 단순히 연관된 시간 제한 내에 이전의 트랜잭션의 성공적인 완료를 가정하거나, (2) 트랜잭션의 끝에서 검증 기능을 수행하여, 시간 제한에 기초하여 성공을 검사하거나, 또는 (3) 다음 트랜잭션으로 진행하고 제외 프로세싱 (예를 들어, 인터럽트 프로세싱) 에 의존하여 이전의 트랜잭션에서의 문제를 식별할 수도 있는 실시형태를 소개하는데 이용된다.
도 4 는 명령의 일부로서 메모리 디바이스 (405) 에 시간 제한을 제공하도록 구성된 메모리 시스템 (401) 의 블록도이다.
도 5 는 프로그램-검증 사이클 카운트를 저장하는 온보드 레지스터 셋팅을 포함하는 플래시 메모리 디바이스의 도면이다. 비교기는, 레지스터 셋팅에 의해 나타낸 임의의 특정 메모리 모드가 주어질 때 메모리가 "불량"으로 마킹될 수도 있는지 여부를 평가하는데 이용된다.
도 6 은 메모리의 개별 유닛에 대한 최대 메모리 트랜잭션 시간을 측정하는 방법의 블록도이다. 도 6 에서, 예약된 메모리 영역 (605) 에서의 레지스터 셋팅은 임의의 측정된 값 또는 임의의 디바이스 (603) 를 저장하는데 이용될 수도 있다.
도 7 은, 메모리 트랜잭션의 성공을 효율적으로 검증하고, 트랜잭션이 시간 제한 내에 성공적이라고 검증될 수 없으면 유닛을 마킹하기 위해 측정된 시간이 런-타임 동안 이용될 수도 있는 방법을 도시한 블록도이다.
도 8 은, 메모리의 각 블록 또는 페이지와 같이, 시간 제한이 각 메모리 유닛을 위해 정의 및 저장될 수 있는 시스템을 도시한다. 도 8 에서, 테이블 (807) 은 메모리 유닛 (804) 에 대한 최대 트랜잭션 제한에 각각 대응하는 시간 (예를 들어, 클록 사이클, 프로그램-검증 사이클 또는 측정치의 다른 유닛) 을 저장하는데 이용될 수 있다. 점선 블록 817 로 표시된 바와 같이, 이 테이블은 (예를 들어, 온보드 제어기 메모리에서) 메모리 제어기 (813)에 의해 옵션적으로 유지될 수도 있다. 일 실시형태에서, 이는 또한 각 메모리 디바이스에서 비휘발성 방식으로 보유되고, 실제의 사용에서 제어기로 카피되고 운영 체제에 의해 모니터링될 수도 있다.
도 9 는 원하는 시스템 성능에 기초하여 메모리 모드를 선택하고 (하나 이상의 제한은 각 메모리 모드에 대해 채용됨), 선택된 모드에 의존하여 메모리를 구조화하기 위해, 마스터 시스템, 메모리 서브시스템 또는 애플리케이션 소프트웨어에 의해 이용될 수도 있는 방법을 도시한다. 예를 들어, 빠른 메모리 성능이 요구되면, 비교적 작은 시간 제한이 선택될 수도 있다 (메모리 유닛은 모드에 기초하여 선택된 시간 제한을 이용하여 프로세싱됨).
도 10 은 선택된 모드에 기초하여 이용 테이블을 만드는, 제어기로 구현되는 방법을 도시한다. 특히, 파워-업 또는 교정 인터벌 동안에, 제어기는 각각의 가능한 모드 (1007, 1009 및 1011) 의 특성을 식별하고, 대응하는 모드와 관련하여 런-타임 동안의 이용을 위해 대응하는 메모리 이용 테이블 (1017, 1018 및 1019) 을 만든다.
도 11 은, 메모리 유닛이 최대 예상 트랜잭션 시간에 따라서 우선될 수 있는 시스템에 관한 것이다.
도 12 는 예시적인 우선화 테이블을 도시한다.
도 13 은, 예를 들어, 파워-업 동안에, 교정 인터벌로, 또는 메모리 유닛이 다른 (비수행 (non-performance)) 메모리 모드에서 채용될 수도 있는지를 결정하는 특수 프로세스와 관련하여, 제한된 이용을 위해 이전에 마킹된 메모리 유닛이 이후 재평가될 수 있는 방법을 도시한다.
Claims (35)
- 플래시 메모리 디바이스를 이용하는 방법으로서,
상기 플래시 메모리 디바이스는 복수의 페이지를 포함하고,
상기 방법은,
상기 페이지 중 적어도 하나의 페이지에 대한 트랜잭션 시간을 특성화하는 단계; 및
제한에 기초하여 상기 적어도 하나의 페이지를 수반하는 메모리 트랜잭션을 스케줄링하는 단계를 포함하며,
상기 특성화하는 단계는,
상기 페이지 중 상기 적어도 하나의 페이지의 메모리 셀에 대해 메모리 동작을 수행하는 단계로서, 상기 메모리 동작은 상기 메모리 셀이 프로그래밍된 상태 또는 삭제된 상태 중 하나에 있을 때까지 프로그램-검증 사이클의 시퀀스를 수행하는 것을 포함하는, 상기 메모리 동작 수행 단계;
상기 프로그램-검증 사이클의 시퀀스와 연관된 시간 지연을 측정하는 단계; 및
상기 측정된 시간 지연에 기초하여 상기 제한을 저장하는 단계로서, 상기 제한은 상기 적어도 하나의 페이지에 대한 트랜잭션 시간에 대응하는, 상기 저장 단계를 포함하는, 플래시 메모리 디바이스의 이용 방법. - 제 1 항에 있어서,
상기 방법은,
상기 적어도 하나의 페이지에 대한 상기 트랜잭션 시간을 주기적으로 재특성화함으로써, 상기 제한을 재결정하는 단계; 및
상기 재결정된 제한에 기초하여 상기 적어도 하나의 페이지를 수반하는 후속 메모리 트랜잭션을 스케줄링하는 단계를 더 포함하는, 플래시 메모리 디바이스의 이용 방법. - 제 2 항에 있어서,
상기 주기적으로 재특성화하는 단계는 (ⅰ) 디지털 시스템 파워-업, (ⅱ) 미리 결정된 교정 인터벌, (ⅲ) 프로그래밍 트랜잭션의 수행, 또는 (ⅳ) 삭제 트랜잭션의 수행 중 적어도 하나 동안에 수행되는, 플래시 메모리 디바이스의 이용 방법. - 제 1 항에 있어서,
상기 측정하는 단계는 상기 메모리 셀 중 임의의 메모리 셀에 대한 메모리 동작의 완료를 위한 최대 개수의 프로그램-검증 사이클에 기초하여 상기 시간 지연을 측정하는, 플래시 메모리 디바이스의 이용 방법. - 제 4 항에 있어서,
복수의 페이지 중에서 상이한 페이지에 대하여 상이한 제한을 저장하는 단계; 및
상기 복수의 페이지 중 특정 페이지에 대해 후속 메모리 트랜잭션이 수행되는 경우, 연관된 제한을 검색하고 상기 연관된 제한 내에 상기 복수의 페이지 중 상기 특정 페이지에 대해 상기 후속 메모리 트랜잭션이 완료되지 않으면 이에 응답하여 상기 복수의 페이지 중 상기 특정 페이지를 마킹하는 단계를 더 포함하는, 플래시 메모리 디바이스의 이용 방법. - 제 4 항에 있어서,
상기 적어도 하나의 페이지는 제 1 개수의 페이지 중 하나이고;
상기 방법은,
상기 제 1 개수의 페이지보다 큰 제 2 개수의 페이지에 대한 제 2 트랜잭션 시간을 특성화하는 단계로서, 상기 제 2 개수의 페이지 중 적어도 하나는 상기 제 1 개수의 페이지 중 하나인, 상기 특성화 단계;
상기 제 2 트랜잭션 시간에 기초하여, 처음에 언급된 상기 제한보다 긴 제 2 제한을 저장하는 단계;
애플리케이션이 메모리 용량을 초과하는 성능을 요구하는지 여부에 기초하여 처음에 언급된 상기 제한 또는 제 2 제한 중 하나를 선택하는 단계; 및
상기 제 1 개수의 페이지 또는 상기 제 2 개수의 페이지 중 특정 페이지에 대해 후속 트랜잭션이 수행되는 경우, 상기 선택된 제한 내에 상기 후속 트랜잭션이 완료되지 않으면 이에 응답하여 상기 특정 페이지를 마킹하는 단계를 더 포함하는, 플래시 메모리 디바이스의 이용 방법. - 제 1 항에 있어서,
상기 방법은,
상기 적어도 하나의 페이지에 대한 트랜잭션 시간을 주기적으로 재특성화함으로써, 상기 제한을 재결정하는 단계를 더 포함하며,
상기 주기적으로 재특성화하는 것은 컴퓨터 운영 체계에 의해 수행되는, 플래시 메모리 디바이스의 이용 방법. - 플래시 메모리의 서브디비전의 복수의 유닛 중 각각의 유닛과 최대 시간을 연관시키는 단계; 및
상기 서브디비전의 유닛들 중 적어도 하나의 유닛에 대해:
상기 적어도 하나의 유닛의 메모리 셀에 대해 메모리 동작의 수행을 시도하는 단계로서, 상기 메모리 동작은 상기 메모리 셀이 프로그래밍된 상태 또는 삭제된 상태 중 하나에 있을 때까지 프로그램-검증 사이클의 시퀀스를 수행하는 것을 포함하는, 상기 메모리 동작의 수행 시도 단계;
상기 메모리 동작의 정확한 수행을 검사하는 단계;
상기 적어도 하나의 유닛과 연관된 적어도 상기 최대 시간까지, 상기 메모리 동작의 정확한 수행과 연관된 시간 주기를 측정하는 단계;
상기 시간 주기가 상기 최대 시간 미만이면, 상기 시간 주기를 새로운 최대 시간으로 저장하는 단계; 및
상기 시간 주기가 상기 최대 시간보다 크면, 상기 적어도 하나의 유닛을 마킹하는 단계를 포함하는, 방법. - 제 8 항에 있어서,
상기 플래시 메모리에 대해 수행될 새로운 메모리 트랜잭션을 개시하는 단계; 및
상기 유닛이 마킹되는지 여부에 기초하여 상기 복수의 유닛으로부터 상기 새로운 메모리 트랜잭션을 수행하게 될 상기 유닛 중 하나를 선택하는 단계를 더 포함하는, 방법. - 제 9 항에 있어서,
상기 시도하는 단계는 상기 적어도 하나의 유닛의 메모리 셀의 전체를 프로그래밍하는 것 또는 삭제하는 것 중 하나를 포함하고,
상기 방법은 상기 적어도 하나의 유닛의 상기 메모리 셀의 임의의 개수에 대해 후속 메모리 동작을 수행하기 위해 최대 시간을 교정하도록 구성되는, 방법. - 제 8 항에 있어서,
상기 적어도 하나의 유닛을 마킹하는 단계는 불량으로 상기 적어도 하나의 유닛을 마킹하는 것 또는 특수 프로세싱을 위해 상기 적어도 하나의 유닛을 마킹하는 것 중 적어도 하나를 포함하는, 방법. - 제 8 항에 있어서,
상기 유닛의 일부는 제한된 이용을 위해 마킹되고,
상기 방법은,
이전에 마킹된 각 유닛을 식별하는 단계;
제한된 이용을 위해 이전에 마킹된 각 유닛에 대해 새롭고 더 큰 최대 시간을 정의하는 단계; 및
대응하는 새롭고 더 큰 최대 시간을 이용하여 제한된 이용을 위해 이전에 마킹된 각 유닛에 대해 상기 시도, 검사 및 측정을 수행하고,
상기 시간 주기가 상기 새로운 최대 시간 미만이면, 정확한 수행을 위해 상기 메모리 동작의 정확한 수행이 검사되는 경우에 각 유닛에 대한 새로운 최대 시간으로서 상기 측정된 시간 주기를 정의하며,
상기 시간 주기가 상기 새로운 최대 시간보다 크면, 상기 유닛을 불량으로 마킹하는 단계를 더 포함하는, 방법. - 제 8 항에 있어서,
상기 연관시키는 단계는 예약된 메모리 영역으로부터 이전에 저장된 최대 시간을 검색하는 것을 포함하고;
상기 저장하는 단계는 상기 예약된 메모리 영역, 하드 디스크, 플래시 메모리 디바이스의 연장된 페이지, 직렬 프레즌스 검출 유닛, 비휘발성 메모리, 플래시 메모리 칩의 온보드 레지스터, 또는 메모리 시스템 제어기로부터 선택된 위치에 각 시간 주기를 저장하는 것을 포함하는, 방법. - 제 8 항에 있어서,
상기 플래시 메모리에 대해 수행될 새로운 메모리 트랜잭션을 개시하는 단계; 및
상기 유닛과 연관된 최대 시간에 의존하여 상기 복수의 유닛으로부터 상기 새로운 메모리 트랜잭션을 수행하게 될 플래시 메모리의 유닛 중 하나를 선택하는 단계를 더 포함하는, 방법. - 플래쉬 메모리 디바이스로서,
플래쉬 메모리;
상기 플래쉬 메모리의 올바른 프로그래밍과 연관되고 프로그램가능하게 정의된 메모리 트랜잭션 시간을 나타내는 값을 홀딩하는 로직; 및
상기 프로그램가능하게 정의된 메모리 트랜잭션 시간 내에 메모리 트랜잭션이 올바르게 프로그래밍되어 완료되었는지를 표시하는 출력을 제공하도록 구성된 레지스터 셋팅을 포함하고,
상기 로직은 상기 프로그램가능하게 정의된 메모리 트랜잭션 시간으로 상기 플래쉬 메모리에 있어서의 프로그래밍 동작을 제한하도록 구성되는, 플래쉬 메모리 디바이스. - 제 15 항에 있어서,
상기 로직은 프로그램-검증 사이클의 개수로서 상기 프로그램가능하게 정의된 메모리 트랜잭션 시간을 해석하고, 상기 프로그램-검증 사이클의 개수로 프로그래밍 동작을 제한하도록 구성되고,
상기 로직은, 상기 프로그래밍 동작이 상기 프로그램-검증 사이클의 개수 내에 성공적으로 완료되는지 여부에 기초하여 상기 레지스터 셋팅을 변경하도록 또한 동작하는, 플래시 메모리 디바이스. - 제 15 항에 있어서,
수개의 최대 프로그래밍 동작 시간을 저장하는 비휘발성 기억장치를 더 포함하며,
각 시간은 메모리 서브디비전의 하나 이상의 유닛과 연관되고 선택적인 외부 검색 및 이용을 위해 구성되는, 플래시 메모리 디바이스. - 레지스터 값을 홀딩하도록 구성된 레지스터;
플래시 메모리;
플래시 메모리의 지정된 부분에 대한 프로그램-검증 동작의 완료 시에 수반되는 시간을 측정하도록 구성된 타이머로서, 상기 측정된 시간은 타이머 값을 포함하는, 상기 타이머;
상기 레지스터 값과 타이머 값을 비교하도록 상기 타이머 및 상기 레지스터에 동작가능하게 커플링된 비교기;
플래시 메모리의 각 부분에 대해, 상기 타이머 값이 이전 트랜잭션에 대한 레지스터 값을 초과하지 않는 부분을 적어도 식별하는 테이블; 및
선택된 트랜잭션이 성공적으로 완료되는 경우, 상기 타이머 값이 상기 레지스터 값 미만이면 상기 레지스터 값을 재정의하는 로직을 포함하는, 장치. - 제 18 항에 있어서,
적어도 하나의 플래시 메모리 디바이스 및 플래시 메모리 제어기를 갖는 메모리 시스템으로 구현되는, 장치. - 제 19 항에 있어서,
각 디바이스는 상기 타이머 값이 상기 디바이스에 대응하는 유닛에 대해 이전 트랜잭션에 대한 상기 레지스터 값을 초과하였는지 여부를 식별하는 제 2 테이블을 포함하는, 장치. - 제 19 항에 있어서,
불량으로 이전에 마킹된 유닛을 재교정하는 수단을 더 포함하는, 장치. - 삭제
- 머신 판독가능 매체에 저장된 명령을 포함하는 장치로서,
상기 명령은 실행되는 경우에 머신으로 하여금,
플래시 메모리와 연관된 디폴트 제한을 검색하고;
상기 플래시 메모리의 부분에 대해 미리 결정된 트랜잭션을 수행하며, 상기 미리 결정된 트랜잭션은 (ⅰ) 상기 부분의 모든 메모리 컨텐츠를 삭제하는 삭제 트랜잭션 또는 (ⅱ) 상기 부분과 연관된 모든 비트를 프로그래밍하는 프로그래밍 트랜잭션 중 하나인 것으로 선택되고;
상기 미리 결정된 트랜잭션의 성공적인 완료와 연관된 시간을 측정하며;
상기 미리 결정된 트랜잭션을 경험한 상기 부분과 연관되어 상기 시간을 저장함으로써, 상기 부분에 대해 메모리 트랜잭션의 장래의 수행에 대한 새로운 제한을 확립하게 하는, 장치. - 제 23 항에 있어서,
상기 명령은 또한, 머신으로 하여금 상기 새로운 제한 내에 메모리 트랜잭션의 장래의 수행이 완료되지 않으면 많아야 제한된 이용을 위해 상기 플래시 메모리의 부분을 마킹하게 하도록 구성되는, 장치. - 제 23 항에 있어서,
상기 명령은 또한 머신으로 하여금 많아야 제한된 이용을 위해 이전에 마킹된 메모리의 부분을 식별하게 하며, 적어도 이러한 식별된 부분에 대해,
각 부분에 대해 상기 미리 결정된 메모리 트랜잭션을 수행하는 것을 시도하고;
상기 미리 결정된 트랜잭션의 성공적인 완료와 연관된 새로운 제한을 설정하며;
상기 미리 결정된 트랜잭션의 성공적이지 않은 완료와 연관된 각 부분을 불량으로 마킹하는, 장치. - 제 24 항에 있어서,
각 부분은 메모리 페이지 또는 메모리 블록 중 하나인 메모리 서브디비전의 유닛인, 장치. - 머신 판독가능 매체에 저장된 명령을 포함하는 장치로서,
상기 명령은 실행되는 경우에 머신으로 하여금,
수행 모드 및 메모리 용량 모드를 포함하는 선택 세트로부터 원하는 메모리 이용 모드를 선택하고;
플래시 메모리와 연관된 미리 결정된 값의 세트를 문의하되, 각각의 미리 결정된 값은 메모리의 특정 서브디비전에 대한 트랜잭션과 연관된 제한을 나타내며;
메모리 트랜잭션을 관리하는데 이용하기 위해 구성된 메모리 테이블을 정의하되, 메모리 서브디비전 각각에 대한 이용가능한 메모리로서 테이블에서의 식별은 상기 미리 결정된 값 및 상기 선택된 모드에 의존하여 결정되는, 장치. - 제 27 항에 있어서,
상기 명령은 머신으로 하여금, 상기 수행 모드의 선택에 응답하여, 연관된 제한이 임계값 미만이면 상기 테이블에서 특정 메모리 서브디비전을 식별하게 하도록 구성되는, 장치. - 제 28 항에 있어서,
머신 판독가능 매체에 저장된 명령을 더 포함하며,
상기 명령은 실행되는 경우에 머신으로 하여금, 연관된 제한에 기초하여 메모리 서브디비전을 우선화하고 상기 테이블에 우선화 결과를 저장하게 하는, 장치. - 플래쉬 메모리 디바이스로서,
임의의 프로그램 트랜잭션에 이용될 최대 프로그램-검증 사이클을 나타내는 값을 저장하는 레지스터;
프로그램 트랜잭션이 레지스터 값에 의해 지정된 사이클 카운트를 초과하면 상기 프로그램 트랜잭션이 정지하는 경우에, 상기 레지스터 값에 의해 지정된 것보다 많은 사이클을 프로그램 트랜잭션이 수행하였는지 여부를 평가하는 비교기; 및
프로그램 트랜잭션에 이용될 프로그램-검증 사이클의 개수를 카운팅하는 타이머를 포함하고,
상기 레지스터는 상기 타이머에 동작가능하게 커플링되며, 프로그램 트랜잭션이 이전의 레지스터 값에 의해 나타낸 것보다 더 적은 시간에 성공적으로 완료되면 최대 프로그램-검증 사이클을 타이머 컨텐츠와 교체하도록 구성되는, 플래시 메모리 디바이스. - 삭제
- 제 30 항에 있어서,
상기 레지스터는 다수의 위치를 포함하며, 각각의 위치는 상기 플래시 메모리 디바이스의 메모리의 페이지에 대응하는, 플래시 메모리 디바이스. - 플래시 메모리 디바이스를 교정하는 방법으로서,
상기 플래시 메모리 디바이스는 적어도 하나의 페이지를 포함하며,
상기 방법은,
특성화 모드에서,
상기 적어도 하나의 페이지를 삭제하는 단계;
상기 삭제의 완료를 검사하는 단계;
상기 삭제 및 상기 검사와 연관된 시간을 측정하는 단계; 및
상기 측정된 시간에 기초하여 제한을 저장하는 단계를 포함하는, 플래시 메모리 디바이스의 교정 방법. - 제 33 항에 있어서,
표준 모드에서,
상기 제한에 기초하여 상기 적어도 하나의 페이지를 수반하는 트랜잭션을 스케줄링하는 단계를 더 포함하는, 플래시 메모리 디바이스의 교정 방법. - 제 33 항에 있어서,
상기 삭제하는 단계는 페이지와 연관된 각 비트를 변경하는 미리 결정된 메모리 트랜잭션을 수행하는 단계를 포함하고;
상기 측정하는 단계는 상기 연관된 페이지의 임의의 비트에 대한 상기 트랜잭션의 완료를 위해 최대 개수의 프로그램-검증 사이클에 기초하여 상기 시간을 측정하는 단계를 포함하는, 플래시 메모리 디바이스의 교정 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US872407P | 2007-12-21 | 2007-12-21 | |
PCT/US2008/088223 WO2009086417A1 (en) | 2007-12-21 | 2008-12-23 | Flash memory timing pre-characterization for use in ormal operation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110043517A KR20110043517A (ko) | 2011-04-27 |
KR101184953B1 true KR101184953B1 (ko) | 2012-10-02 |
Family
ID=40459781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020107015353A Active KR101184953B1 (ko) | 2007-12-21 | 2008-12-23 | 플래시 메모리 타이밍 사전-특성화 |
Country Status (5)
Country | Link |
---|---|
US (3) | US8484407B2 (ko) |
EP (1) | EP2286412A1 (ko) |
JP (1) | JP5603778B2 (ko) |
KR (1) | KR101184953B1 (ko) |
WO (1) | WO2009086417A1 (ko) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8484407B2 (en) | 2007-12-21 | 2013-07-09 | Rambus Inc. | Flash memory timing pre-characterization |
US8825940B1 (en) | 2008-12-02 | 2014-09-02 | Siliconsystems, Inc. | Architecture for optimizing execution of storage access commands |
US9176859B2 (en) * | 2009-01-07 | 2015-11-03 | Siliconsystems, Inc. | Systems and methods for improving the performance of non-volatile memory operations |
US10079048B2 (en) * | 2009-03-24 | 2018-09-18 | Western Digital Technologies, Inc. | Adjusting access of non-volatile semiconductor memory based on access time |
TWI486966B (zh) * | 2010-02-04 | 2015-06-01 | Phison Electronics Corp | 快閃記憶體儲存裝置、其控制器與寫入管理方法 |
JP2012027964A (ja) * | 2010-07-20 | 2012-02-09 | Panasonic Corp | メモリ装置及びcpuの制御方法 |
US8499201B1 (en) * | 2010-07-22 | 2013-07-30 | Altera Corporation | Methods and systems for measuring and presenting performance data of a memory controller system |
US8806106B2 (en) * | 2010-11-12 | 2014-08-12 | Seagate Technology Llc | Estimating wear of non-volatile, solid state memory |
IT1403667B1 (it) * | 2011-01-31 | 2013-10-31 | St Microelectronics Srl | Dispositivo di memoria con misurazione interna di parametri funzionali |
US8659954B1 (en) * | 2011-09-14 | 2014-02-25 | Adesto Technologies Corporation | CBRAM/ReRAM with improved program and erase algorithms |
KR101949671B1 (ko) * | 2012-06-28 | 2019-04-25 | 삼성전자 주식회사 | 라이프 싸이클을 증가시킬 수 있는 저장 장치 및 그 동작 방법 |
KR20140130309A (ko) * | 2013-04-30 | 2014-11-10 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 컨트롤러를 포함하는 불휘발성 메모리 시스템 및 메모리 컨트롤러의 동작 방법 |
US9442842B2 (en) * | 2013-08-19 | 2016-09-13 | Sandisk Technologies Llc | Memory system performance configuration |
KR102187643B1 (ko) | 2013-12-04 | 2020-12-08 | 삼성전자주식회사 | 메모리 시스템 및 그것을 포함하는 유저 장치 |
CN106909318B (zh) * | 2013-12-23 | 2020-05-08 | 华为技术有限公司 | 固态硬盘使用方法及装置 |
US9632775B2 (en) | 2014-02-11 | 2017-04-25 | Apple Inc. | Completion time prediction for vector instructions |
US9442734B2 (en) * | 2014-02-11 | 2016-09-13 | Apple Inc. | Completion time determination for vector instructions |
KR102192242B1 (ko) | 2014-02-24 | 2020-12-17 | 삼성전자주식회사 | 메모리로 커맨드를 이슈하는 커맨드 이슈 방법 및 메모리의 커맨드 처리 방법 |
US9632706B2 (en) * | 2015-01-04 | 2017-04-25 | Apple Inc. | Ordering of parallel data storage based on die programming durations |
US10289327B2 (en) * | 2015-06-05 | 2019-05-14 | Western Digital Technologies, Inc. | Scheduling scheme(s) for a multi-die storage device |
US10146671B2 (en) * | 2015-09-25 | 2018-12-04 | International Business Machines Corporation | Testing of software upgrade |
JP2018041154A (ja) * | 2016-09-05 | 2018-03-15 | 東芝メモリ株式会社 | ストレージシステムおよび処理方法 |
JP6356837B1 (ja) * | 2017-01-13 | 2018-07-11 | ウィンボンド エレクトロニクス コーポレーション | 半導体記憶装置および読出し方法 |
US10002649B1 (en) * | 2017-02-23 | 2018-06-19 | Sandisk Technologies Llc | Preliminary ready indication for memory operations on non-volatile memory |
JP6414297B1 (ja) * | 2017-08-18 | 2018-10-31 | 富士通株式会社 | メモリコントローラ、情報処理システム、及び不揮発性メモリの不良判断方法 |
US11307909B2 (en) * | 2017-08-29 | 2022-04-19 | SK Hynix Inc. | System for slowdown status notification and operating method thereof |
US10936205B2 (en) | 2017-10-05 | 2021-03-02 | International Business Machines Corporation | Techniques for retention and read-disturb aware health binning |
US10824352B2 (en) | 2017-12-06 | 2020-11-03 | International Business Machines Corporation | Reducing unnecessary calibration of a memory unit for which the error count margin has been exceeded |
US11029879B2 (en) | 2018-01-29 | 2021-06-08 | Samsung Electronics Co., Ltd | Page size synchronization and page size aware scheduling method for non-volatile memory dual in-line memory module (NVDIMM) over memory channel |
US10852968B2 (en) * | 2018-05-07 | 2020-12-01 | Apple Inc. | Techniques for managing memory allocation within a storage device to improve operation of a camera application |
US10453537B1 (en) | 2018-05-10 | 2019-10-22 | International Business Machines Corporation | Techniques for reducing read voltage threshold calibration in non-volatile memory |
US10699791B2 (en) | 2018-08-24 | 2020-06-30 | International Business Machines Corporation | Adaptive read voltage threshold calibration in non-volatile memory |
WO2022027170A1 (zh) * | 2020-08-03 | 2022-02-10 | 华为技术有限公司 | 闪存数据管理方法、存储设备控制器及存储设备 |
US20250208965A1 (en) * | 2023-12-22 | 2025-06-26 | Hitachi Astemo, Ltd. | Memory fault management for software |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060104115A1 (en) * | 2004-11-18 | 2006-05-18 | Chun Dexter T | Robust and high-speed memory access with adaptive interface timing |
US20070266276A1 (en) * | 2006-04-12 | 2007-11-15 | Micron Technology, Inc. | Memory block testing |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3736882C2 (de) * | 1987-10-30 | 1997-04-30 | Gao Ges Automation Org | Verfahren zur Echtheitsprüfung eines Datenträgers mit integriertem Schaltkreis |
JP3135673B2 (ja) * | 1992-05-08 | 2001-02-19 | 株式会社東芝 | メモリのデータ書き込み装置 |
JPH0714392A (ja) * | 1993-06-14 | 1995-01-17 | Toshiba Corp | 不揮発性半導体メモリおよびそれを使用した半導体ディスク装置 |
JPH08221993A (ja) | 1994-03-25 | 1996-08-30 | Seiko Instr Inc | 半導体集積回路装置、その製造方法及びその駆動方法 |
US5610906A (en) | 1994-06-29 | 1997-03-11 | Interdigital Technology Corporation | Spread-spectrum changeable base station |
JPH0969294A (ja) * | 1995-08-31 | 1997-03-11 | Sanyo Electric Co Ltd | 不揮発性多値メモリ装置 |
EP0867887A3 (en) * | 1997-03-14 | 1998-11-25 | Texas Instruments Incorporated | Memory access time measurement circuit and method |
JP3995768B2 (ja) * | 1997-10-02 | 2007-10-24 | 株式会社ルネサステクノロジ | 不良解析方法及びその装置 |
JPH11144481A (ja) * | 1997-11-04 | 1999-05-28 | Hitachi Ltd | 半導体不揮発性メモリ |
US6519716B1 (en) | 1999-09-22 | 2003-02-11 | International Business Machines Corporation | Electronic device initialization with dynamic selection of access time for non-volatile memory |
US6205055B1 (en) | 2000-02-25 | 2001-03-20 | Advanced Micro Devices, Inc. | Dynamic memory cell programming voltage |
US6246611B1 (en) | 2000-02-28 | 2001-06-12 | Advanced Micro Devices, Inc. | System for erasing a memory cell |
JP4729179B2 (ja) * | 2000-05-24 | 2011-07-20 | 株式会社アドバンテスト | メモリ試験方法・メモリ試験装置 |
US6515909B1 (en) * | 2001-10-05 | 2003-02-04 | Micron Technology Inc. | Flash memory device with a variable erase pulse |
US6870770B2 (en) * | 2001-12-12 | 2005-03-22 | Micron Technology, Inc. | Method and architecture to calibrate read operations in synchronous flash memory |
JP2003233999A (ja) * | 2002-02-07 | 2003-08-22 | Hitachi Ltd | 半導体集積回路及び半導体集積回路の製造方法 |
JP3866627B2 (ja) * | 2002-07-12 | 2007-01-10 | 株式会社東芝 | 不揮発性半導体メモリ |
TWI229343B (en) * | 2002-11-27 | 2005-03-11 | Univ Tsinghua | Embedded memory access time measurement method and device |
JP2004241045A (ja) * | 2003-02-06 | 2004-08-26 | Matsushita Electric Ind Co Ltd | 不揮発性半導体記憶装置 |
US6940773B2 (en) | 2003-04-02 | 2005-09-06 | Infineon Technologies Ag | Method and system for manufacturing DRAMs with reduced self-refresh current requirements |
US7095669B2 (en) | 2003-11-07 | 2006-08-22 | Infineon Technologies Ag | Refresh for dynamic cells with weak retention |
KR100719380B1 (ko) * | 2006-03-31 | 2007-05-18 | 삼성전자주식회사 | 향상된 신뢰성 특성을 갖는 다치 플래시 메모리 장치 및그것을 포함한 메모리 시스템 |
JP2005190604A (ja) * | 2003-12-26 | 2005-07-14 | Toshiba Corp | 半導体不良解析装置及びそれを用いた不良モード分類方法 |
US7120888B2 (en) * | 2004-07-12 | 2006-10-10 | International Business Machines Corporation | Method, system and storage medium for determining circuit placement |
US7366013B2 (en) * | 2005-12-09 | 2008-04-29 | Micron Technology, Inc. | Single level cell programming in a multiple level cell non-volatile memory device |
JP2008146740A (ja) * | 2006-12-08 | 2008-06-26 | Sharp Corp | 半導体記憶装置 |
US8484407B2 (en) | 2007-12-21 | 2013-07-09 | Rambus Inc. | Flash memory timing pre-characterization |
-
2008
- 2008-12-23 US US12/809,039 patent/US8484407B2/en active Active
- 2008-12-23 EP EP08866212A patent/EP2286412A1/en not_active Ceased
- 2008-12-23 WO PCT/US2008/088223 patent/WO2009086417A1/en active Application Filing
- 2008-12-23 JP JP2010539944A patent/JP5603778B2/ja active Active
- 2008-12-23 KR KR1020107015353A patent/KR101184953B1/ko active Active
-
2013
- 2013-06-13 US US13/917,396 patent/US8990485B2/en active Active
-
2015
- 2015-02-18 US US14/625,505 patent/US9934866B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060104115A1 (en) * | 2004-11-18 | 2006-05-18 | Chun Dexter T | Robust and high-speed memory access with adaptive interface timing |
US20070266276A1 (en) * | 2006-04-12 | 2007-11-15 | Micron Technology, Inc. | Memory block testing |
Also Published As
Publication number | Publication date |
---|---|
US20150162092A1 (en) | 2015-06-11 |
US8990485B2 (en) | 2015-03-24 |
EP2286412A1 (en) | 2011-02-23 |
JP2012513652A (ja) | 2012-06-14 |
US20110191526A1 (en) | 2011-08-04 |
US9934866B2 (en) | 2018-04-03 |
WO2009086417A1 (en) | 2009-07-09 |
JP5603778B2 (ja) | 2014-10-08 |
KR20110043517A (ko) | 2011-04-27 |
US8484407B2 (en) | 2013-07-09 |
US20140006691A1 (en) | 2014-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101184953B1 (ko) | 플래시 메모리 타이밍 사전-특성화 | |
JP5629391B2 (ja) | 半導体記憶装置及び半導体記憶装置の制御方法 | |
TWI623878B (zh) | 資料讀取方法以及儲存控制器 | |
US8645770B2 (en) | Systems and methods for proactively refreshing nonvolatile memory | |
US10592126B2 (en) | Memory management method, memory storage device and memory control circuit unit | |
US10628257B2 (en) | Memory management method and storage controller | |
US8347024B2 (en) | Memory system monitoring data erasing time or writing time | |
US20100199020A1 (en) | Non-volatile memory subsystem and a memory controller therefor | |
US7877668B2 (en) | Memory access system | |
TWI650757B (zh) | 解碼方法以及儲存控制器 | |
TWI536386B (zh) | 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置 | |
US9881682B1 (en) | Fine grained data retention monitoring in solid state drives | |
US11494123B2 (en) | Memory system and control method thereof | |
TWI651726B (zh) | 解碼方法以及儲存控制器 | |
US20220392523A1 (en) | Memory system | |
TWI651721B (zh) | 解碼方法以及儲存控制器 | |
US10614892B1 (en) | Data reading method, storage controller and storage device | |
JP5447617B2 (ja) | フラッシュメモリコントローラ、フラッシュメモリシステム、及びフラッシュメモリ制御方法 | |
US11450397B2 (en) | Memory system | |
US10636493B2 (en) | Relaxed erase parameters for block erasures in non-volatile storage media | |
US20240379135A1 (en) | Method of voltage calibration and apparatus thereof, memory and memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PA0105 | International application |
Patent event date: 20100712 Patent event code: PA01051R01D Comment text: International Patent Application |
|
A201 | Request for examination | ||
PA0201 | Request for examination |
Patent event code: PA02012R01D Patent event date: 20100901 Comment text: Request for Examination of Application |
|
PG1501 | Laying open of application | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20111027 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20120730 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20120917 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20120917 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20150904 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20150904 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20160905 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20160905 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20170908 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20170908 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20180904 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20180904 Start annual number: 7 End annual number: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20190909 Start annual number: 8 End annual number: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20200908 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20210907 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20220902 Start annual number: 11 End annual number: 11 |
|
PR1001 | Payment of annual fee |
Payment date: 20230905 Start annual number: 12 End annual number: 12 |
|
PR1001 | Payment of annual fee |
Payment date: 20240904 Start annual number: 13 End annual number: 13 |