KR102223980B1 - 비파괴적 기록/판독 레벨링 - Google Patents

비파괴적 기록/판독 레벨링 Download PDF

Info

Publication number
KR102223980B1
KR102223980B1 KR1020167004171A KR20167004171A KR102223980B1 KR 102223980 B1 KR102223980 B1 KR 102223980B1 KR 1020167004171 A KR1020167004171 A KR 1020167004171A KR 20167004171 A KR20167004171 A KR 20167004171A KR 102223980 B1 KR102223980 B1 KR 102223980B1
Authority
KR
South Korea
Prior art keywords
memory array
write
memory device
read
commands
Prior art date
Application number
KR1020167004171A
Other languages
English (en)
Other versions
KR20160045694A (ko
Inventor
토마스 안드레
Original Assignee
에버스핀 테크놀러지스, 인크.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 에버스핀 테크놀러지스, 인크. filed Critical 에버스핀 테크놀러지스, 인크.
Publication of KR20160045694A publication Critical patent/KR20160045694A/ko
Application granted granted Critical
Publication of KR102223980B1 publication Critical patent/KR102223980B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1675Writing or programming circuits or methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0871Allocation or management of cache space
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/005Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor comprising combined but independently operative RAM-ROM, RAM-PROM, RAM-EPROM cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1673Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1693Timing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C14/00Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/023Detection or location of defective auxiliary circuits, e.g. defective refresh counters in clock generator or timing circuitry
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/20Memory cell initialisation circuits, e.g. when powering up or down, memory clear, latent image memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (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

비파괴적 기록/판독 레벨링{NON-DESTRUCTIVE WRITE/READ LEVELING}
본 출원은 안드레 외에 의해 2013년 8월 21일에 출원된 발명의 명칭이 "Non-Destructive Write/Read Leveling Using User Accessible Register"인 미국 가출원 제 61,868,211호에 대한 우선권을 주장하고, 그의 내용들은 그의 전체로 참조로서 여기에 통합된다.
본 발명은 비파괴적 기록/판독 레벨링에 관한 것이다.
메모리 디바이스가 활성화될 때, 메모리 디바이스는 교정 또는 초기화 시퀀스를 수행할 수 있다. 교정 또는 초기화 시퀀스는 다수의 메모리 어레이들로 및 그로부터 테스트 데이터를 판독 및 기록하는 것을 요구할 수 있다. 불행히도, 몇몇 형태들의 메모리 디바이스들에서, 교정 또는 초기화 시퀀스 동안 테스트 데이터를 메모리 어레이들에 기록 또는 판독하는 것은 메모리 어레이들에 저장된 데이터의 의도적이지 않은 겹쳐쓰기를 초래할 수 있다.
본 발명의 목적은 비파괴적 기록/판독 레벨링을 제공하는 것이다.
본 개시는 메모리 디바이스들의 신뢰도를 개선하기 위한 기술들 및 구현들을 부분적으로 포함한다. 예를 들면, 본 개시는, 전원이 비활성화될 때, 데이터를 유지할 수 있는 비휘발성 또는 "영구적인" 저장 장치를 포함하는 메모리 디바이스들(예를 들면, 자기 메모리들 또는 자기 랜덤 액세스 메모리들, 즉 MRAMs)을 초기화하거나 교정하기 위한 개선된 시스템들 및 방법들을 포함한다.
일반적으로, 메모리 디바이스들, 예컨대 랜덤 액세스 메모리들(RAMs)은 메모리 디바이스로부터 데이터를 판독하는 것 및 메모리 디바이스로 데이터를 기록하는 것과 연관된 시간 요건들을 조정하기 위해 교정 또는 초기화 시퀀스를 수행한다. 초기화 프로세스는, 예를 들면, 미리 결정된 데이터 세트들을 메모리 어레이들로 기록 및 판독함으로써 기록 시간 및 판독 시간을 교정하는 것을 포함할 수 있다. 불행히도, 몇몇 경우들에서, 비휘발성 메모리 어레이들을 포함하는 메모리 디바이스들이 또한 전원이 비활성화될 때 데이터를 유지할 수 있기 때문에, 비휘발성 메모리 어레이들을 포함하는 메모리 디바이스들은 전자 디바이스의 디스크 드라이브들에 추가로 또는 그 대신에 실행가능한 코드 및 지속성 데이터를 저장하기 위해 전자 디바이스에 의해 이용될 수 있다.
비휘발성 메모리 어레이들이 메모리 디바이스의 비활성화를 통해 지속하도록 의도되는 실행가능한 코드 또는 데이터를 저장할 때, 실행가능한 코드 또는 지속성 데이터는 초기화 시퀀스 동안 교정 데이터에 의해 부분적으로 또는 완전히 겹쳐 쓰기될 수 있고, 잠재적으로 에러들, 데이터의 손실 및/또는 데이터 손상을 초래한다. 따라서, 여기에 기술된 몇몇 구현들에서, 개별적인 비휘발성 메모리 어레이는 휘발성 메모리 어레이와 쌍을 이뤄서, 데이터는 비휘발성 메모리 어레이들에 저장된 데이터를 겹쳐 쓰기하지 않고 교정 또는 초기화 프로세스 동안 휘발성 메모리 어레이로부터 판독되고 그에 기재될 수 있다. 몇몇 경우들에서, 메모리 디바이스들은 활성 및 프리차지 명령들을 비휘발성 메모리 어레이들로 라우팅할 수 있고 판독 및 기록 명령들을 휘발성 메모리 어레이들로 라우팅할 수 있는 제어 회로를 포함하도록 구성될 수 있다. 이러한 방식에서, 데이터는 비휘발성 메모리 어레이로 및 비휘발성 메모리 어레이로부터 휘발성 메모리 어레이로 전송될 수 있고, 휘발성 메모리 어레이로 및 휘발성 메모리 어레이로부터 캐시 또는 다른 외부 위치로 전송될 수 있고, 메모리 디바이스의 교정 또는 초기화 시퀀스는 비휘발성 메모리 어레이들에 저장된 데이터에 영향을 주지 않고 휘발성 메모리 어레이들에 발행된 판독 및 기록 명령들을 통해 수행될 수 있다.
다른 구현들에서, 메모리 디바이스는 비휘발성 메모리 어레이들에 저장된 데이터의 겹쳐 쓰기를 방지하기 위해 비파괴적 기록 모드 및/또는 비파괴적 판독 모드를 활성화 및 비활성화하기 위해 하나 이상의 레지스터들을 포함하도록 구성될 수 있다. 예를 들면, 메모리 디바이스는 사용자 또는 외부 소스가 메모리 디바이스에 대한 동작의 비파괴적 기록 모드 및/또는 비파괴적 판독 모드를 구성하게 할 수 있는 하나 이상의 사용자 액세스 가능하거나 또는 프로그램 가능한 레지스터들을 포함할 수 있다. 몇몇 경우들에서, 초기화 또는 교정 프로세스 동안 판독/기록 액세스를 방지하는 것 외에, 사용자는 (예를 들면, 메모리 디바이스를 테스트하기 위해) 메모리 디바이스의 표준 동작들 동안 메모리 디바이스를 비파괴적 기록 모드 및/또는 비파괴적 판독 모드로 두기 위해 레지스터를 이용할 수 있다.
다른 예들에서, 메모리 디바이스는 메모리 디바이스의 전원 투입에 응답하여 (예를 들면, 초기화 레지스터를 통해) 비파괴적 기록 모드를 디폴트로 하고, 교정 또는 초기화 시퀀스가 완료된 것을 나타내는 제어 회로로부터의 신호에 따라 비파괴적 기록 모드를 종료하도록 구성될 수 있다. 몇몇 예들에서, 레지스터는 하나 이상의 초기화 또는 모드 레지스터들, 하나 이상의 사용자 또는 외부에서 액세스 가능한 레지스터들, 하나 이상의 플립 플롭들, 래치들, 또는 다른 저장 요소들을 포함할 수 있다.
몇몇 구현들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드의 상태는 비휘발성 메모리 어레이들로/로부터 데이터를 판독 및/또는 기록하는 것을 불가능하게 하는 동작들을 구현하는 상태 머신에 의해 제어될 수 있다. 예를 들면, 상태 머신은 초기화 또는 교정 시퀀스의 상태, 전원 공급의 상태, 및/또는 메모리 디바이스의 상태에 기초하여 하나 이상의 값들을 설정할 수 있다.
몇몇 특정한 구현들에서, 비휘발성 메모리 어레이들에 대한 액세스를 제어하는 하나 이상의 레지스터들은 데이터 경로 내에 위치될 수 있고 및/또는 메모리 디바이스의 표준 동작들과 연관된 회로, 예컨대 데이터 경로들, 명령 라인 경로들, 및/또는 어드레싱 회로와 함께 동작하도록 구성될 수 있다. 예를 들면, 레지스터들은 제어 회로와 비휘발성 메모리 어레이들의 각각의 사이의 명령 라인 경로상에 위치될 수 있다.
본 발명은 비파괴적 기록/판독 레벨링을 제공한다.
도 1은 메모리 디바이스의 교정 또는 초기화 동안 비휘발성 메모리 어레이들에 판독들/기록들을 방지하기 위한 비휘발성 메모리 어레이들 및 휘발성 메모리 어레이들을 포함하는 메모리 디바이스의 선택 구성 요소들의 예시적인 블록도.
도 2는 메모리 디바이스의 교정 또는 초기화 동안 비휘발성 메모리 어레이들에 대한 판독들/기록들을 방지하기 위한 메모리 디바이스의 선택 구성 요소들의 다른 예시적인 블록도.
도 3은 메모리 디바이스의 교정 또는 초기화 동안 비휘발성 메모리 어레이들에 판독들/기록들을 방지하기 위한 메모리 디바이스의 선택 구성 요소들의 또 다른 예시적인 블록도.
도 4는 메모리 디바이스의 기록 기반 교정 또는 기록 기반 초기화를 수행하고 하나 이상의 비휘발성 메모리 어레이들에 저장된 데이터를 유지하기 위한 예시적인 프로세스를 도시하는 흐름도.
도 5는 메모리 디바이스의 판독 기반 교정 또는 판독 기반 초기화를 수행하고 하나 이상의 비휘발성 메모리 어레이들에 저장된 데이터를 유지하기 위한 예시적인 프로세스를 도시하는 흐름도.
상세한 설명은 첨부하는 도면들을 참조하여 기술된다. 도면들에서, 참조 번호의 제일 왼쪽의 숫자(들)은 참조 번호가 먼저 나타난 도면을 식별한다. 상이한 도면들에서 동일한 참조 번호들의 사용은 유사하거나 동일한 구성 요소들 또는 특징들을 나타낸다.
도 1은 메모리 디바이스(100)의 교정 또는 초기화 동안 비휘발성 메모리 어레이들(108, 110, 112)에 기록/판독들을 방지하기 위해 휘발성 메모리 어레이들(102, 104, 106) 및 비휘발성 메모리 어레이들(108, 110, 112)을 포함하는 메모리 디바이스(100)의 선택 구성 요소들의 예시적인 블록도를 도시한다. 몇몇 예들에서, 메모리 디바이스(100)는 컴퓨터 판독 가능 명령들 또는 모듈들, 데이터 구조들, 프로그램 모듈들 또는 다른 데이터와 같은 정보의 저장에 대해 다양한 형태들의 기술에서 구현된 탈착 가능한 및/또는 탈착 가능하지 않은 매체를 포함할 수 있다. 이러한 컴퓨터 판독 가능 매체는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 컴퓨터 판독가능 매체 기술, 고체 상태 저장 장치, RAID 저장 시스템들, 저장 장치 어레이들, 네트워크 부착 저장 장치, 저장 장치 영역 네트워크들, 클라우드 저장 장치, 또는 정보를 저장하기 위해 사용될 수 있는 임의의 다른 매체를 포함할 수 있지만, 그로 제한되지 않는다. 몇몇 특정 구현들에서, 비휘발성 메모리 어레이는 자기 메모리 셀들 또는 자기 디스크 저장 장치와 같은 자기 메모리들 또는 자기 랜덤 액세스 메모리들(MRAMs)의 요소들을 포함할 수 있다.
일반적으로, 메모리 디바이스(100)는 일시적 또는 휘발성 메모리 어레이들(102, 104, 106) 및 영구적 또는 비휘발성 메모리 어레이들(108, 110, 112) 모두를 포함하는 유형의 비일시적 컴퓨터 저장 매체의 일 예일 수 있다. 예시적인 예에서, 비휘발성 메모리 어레이들(108, 110, 112)의 각각은 휘발성 메모리 어레이들(102, 104, 106) 중 대응하는 것과 연관되어, 비휘발성 메모리 어레이들(108, 110, 112)에 저장된 데이터가 외부 소스(114)(예를 들면, 메모리 디바이스(100)에 액세스하는 전자 디바이스와 연관된 적어도 하나 이상의 회로들)에 의해 액세스될 때, 의도하지 않은 또는 불필요한 변경들 및/또는 삭제들로부터 비휘발성 메모리 어레이들(108, 110, 112)에 저장된 데이터를 보호하기 위해 대응하거나 또는 연관된 휘발성 메모리 어레이들(102, 104, 106)에 데이터가 먼저 저장될 수 있다. 예를 들면, 비휘발성 메모리 어레이(108)("비휘발성 메모리 어레이(1)"라고 식별됨)는 휘발성 메모리 어레이(102)("휘발성 메모리 어레이(1)"라고 식별됨)와 연관된다.
예시적인 예에서, 세 개의 비휘발성 어레이들(108, 110, 112) 및 세 개의 연관된 휘발성 메모리 어레이들(108, 110, 112)이 도시된다. 그러나, 메모리 디바이스(100)는 대안적인 수의 비휘발성 메모리 어레이들 및 대안적인 수의 휘발성 메모리 어레이들과 함께 배열될 수 있다는 것이 이해되어야 한다. 추가로, 몇몇 구현들에서, 비휘발성 메모리 어레이들과 휘발성 메모리 어레이들 사이의 하나의 1 대 1 대응이 존재하지 않을 수 있다. 예를 들면, 단일 휘발성 메모리 어레이는 두 개 이상의 비휘발성 메모리 어레이들과 연관될 수 있어서, 데이터가 대응하는 비휘발성 메모리 어레이들로부터 판독될 때, 외부 소스(114)가 데이터에 액세스하거나 또는 그를 편집하도록 허용되기 전에 데이터는 휘발성 메모리 어레이로 복사되거나 전송된다. 예를 들면, 휘발성 메모리 어레이(1)(102)는 비휘발성 메모리 어레이(1)(108) 및 비휘발성 메모리 어레이(2)(110)와 연관될 수 있다.
몇몇 예들에서, 제어 회로(116)는 외부 소스(114)로부터 다양한 명령들을 수신하도록 구성된다. 예를 들면, 외부 소스(114)는 메모리 디바이스(100)의 비휘발성 메모리 어레이들(108, 110, 112)에 저장된 데이터가 연관된 휘발성 메모리 어레이들(102, 104, 106)로 및/또는 외부 소스(114)에 액세스 가능한 하나 이상의 캐시들(도시되지 않음)로 로딩되게 하기 위한 활성 명령들을 발행할 수 있다. 다른 예들에서, 외부 소스(114)는 데이터의 다른 블록을 수신하기 위해 캐시를 준비하기 위해 휘발성 메모리 어레이들(102, 104, 106)에 또는 외부 소스(114)에 액세스 가능한 캐시에 저장된 데이터가 비휘발성 메모리 어레이들(108, 110, 112)에 라이트 백되게 하기 위해 프리차지 명령들을 발행할 수 있다. 몇몇 예들에서, 제어 회로(116)는 휘발성 메모리 어레이들(102, 104, 106)에 또는 외부 소스(114)에 액세스 가능한 캐시에 저장된 데이터에 액세스 및/또는 그를 변경하기 위한 외부 소스(114)로부터 판독 명령 및/또는 기록 명령을 수신할 수 있다.
몇몇 구현들에서, 제어 회로(116)와 연관된 모드 레지스터는 비파괴적 기록 모드 및/또는 비파괴적 판독 모드를 활성화 및 비활성화하도록 구성될 수 있다. 몇몇 예들에서, 비파괴적 모드들이 활성화될 때, 비휘발성 메모리 어레이들(108, 110, 112)과 휘발성 메모리 어레이들(102, 104, 106) 사이의 데이터 액세스(예를 들면, 로드들 및 라이트 백들)는 점선들(118, 120, 122)에 의해 나타낸 바와 같이 방지된다. 이러한 방식에서, 교정 또는 초기화 시퀀스는 다른 에러들을 비휘발성 어레이들(108, 110, 112)로 겹쳐 쓰기하거나 도입하지 않고 휘발성 메모리 어레이들(102, 104, 106)로 데이터를 기록 및 판독함으로써 제어 회로(116) 및/또는 외부 소스(114)에 의해 수행될 수 있다.
다른 구현들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드는 프리차지 및 활성 명령들과 같은 명령들 또는 선택 제어 신호들과 연관된 동작들이 비휘발성 메모리 어레이들(108, 110, 112) 및/또는 휘발성 메모리 어레이들(102, 104, 106)과 협력하여 수행되는 것을 방지하도록 구성될 수 있다. 예를 들면, 몇몇 구현들에서, 프리차지 명령은 휘발성 메모리 어레이들(102, 104, 106)에 저장된 데이터가 비휘발성 메모리 어레이들(108, 110, 112)로 전송되거나 기록되게 할 수 있다. 판독 및 기록 명령들은 외부 소스(114)가 휘발성 메모리 어레이들(102, 104, 106)에 저장된 데이터에 액세스 및/또는 그를 편집하게 할 수 있다. 따라서, 몇몇 예들에서, 제어 회로(116)와 연관된 모드 레지스터는 선택 제어 신호들 및/또는 명령들과 연관된 동작들이 메모리 어레이들(102 내지 112)에 의해 실행되거나 수행되는 것을 방지하기 위해 비파괴적 기록 모드 및/또는 비파괴적 판독 모드를 활성화 및 비활성화하도록 구성될 수 있다.
하나의 특정한 예에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드가 활성화될 때, 메모리 디바이스(100), 메모리 어레이들(102 내지 112), 및/또는 제어 회로(116)는 프리차지 및 활성화 명령들과 연관된 동작들을 무시하고, 동시에 판독 및 기록 명령들과 연관된 동작들을 수행하도록 구성될 수 있다. 이러한 방식에서, 교정 또는 초기화 시퀀스는 다른 에러들을 비휘발성 메모리 어레이들(108, 110, 112)로 겹쳐 쓰기하거나 또는 도입하지 않고 데이터를 휘발성 메모리 어레이들(102, 104, 106)로 기록 및 판독할 수 있다. 몇몇 특정 구현들에서, 비파과적 기록 모드는 비파괴적 판독 모드 없이 이용될 수 있어서, 메모리 디바이스(100)는 데이터가 비휘발성 메모리 어레이들(108, 110, 112)로부터 로딩되지만 데이터가 비휘발성 메모리 어레이들(108, 110, 112)로 라이트 백되는 것을 방지하도록 구성될 수 있다.
몇몇 예들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드를 활성화 및 비활성화하도록 구성된 모드 레지스터는 사용자 또는 외부 소스(114)가 메모리 디바이스(100)에 대한 동작 모드를 설정하게 할 수 있는 하나 이상의 외부적으로 액세스 가능하거나 또는 사용자 프로그램 가능한 레지스터들일 수 있다. 몇몇 경우들에서, 초기화 또는 교정 프로세스 동안 비휘발성 메모리 어레이들(108, 110, 112)에 로딩/라이트 백 액세스를 방지하는 것 외에, 모드 레지스터는, 메모리 디바이스(100)의 표준 동작들 동안, 예를 들면, 테스트 또는 유지 보수 모드 동안, 비휘발성 메모리 어레이들(108, 110, 112)에 대한 액세스를 방지할 수 있다. 다른 예들에서, 모드 레지스터는 메모리 디바이스(100)의 전원 투입에 응답하여 비파괴적 기록 모드 및/또는 비파괴적 판독 모드에 대해 디폴트로 되고 교정 또는 초기화 시퀀스가 완료된 것을 나타내는 제어 회로(116)로부터의 신호에 따라 비파괴적 기록 모드 및/또는 비파괴적 판독 모드를 종료하도록 구성된 초기화 레지스터일 수 있다. 몇몇 예들에서, 모드 레지스터는 하나 이상의 플립플롭들, 래치들, 또는 다른 저장 요소들을 포함할 수 있다.
몇몇 구현들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드의 상태는 비휘발성 메모리 어레이들(108, 110, 112)로부터 데이터를 판독하는 것 및/또는 비휘발성 메모리 어레이들(108, 110, 112)에 데이터를 기록하는 것을 불가능하게 하는 동작들을 구현하는 제어 회로(116)와 연관된 상태 머신에 의해 제어될 수 있다. 예를 들면, 상태 머신은 초기화 또는 교정 시퀀스의 상태, 전원 공급의 상태(도시되지 않음), 및/또는 메모리 디바이스(100)의 상태에 기초한 하나 이상의 값들을 설정할 수 있다.
몇몇 특정 구현들에서, 모드 레지스터는 데이터 경로 내에 배치될 수 있고 및/또는 메모리 디바이스의 정규 동작들과 연관된 회로, 예컨대 데이터 경로들, 명령 라인 경로들, 및/또는 어드레싱 회로와 함께 동작하도록 구성될 수 있다. 예를 들면, 레지스터(들)는 도 2에 관하여 이하에 예시되는 제어 회로(116)와 비휘발성 메모리 어레이들(108, 110, 112)의 각각의 사이의 명령 라인 경로에 위치될 수 있다.
도 2는 메모리 디바이스(200)의 교정 또는 초기화 동안 비휘발성 메모리 어레이(202)에 대한 기록들 및/또는 판독들을 방지하기 위한 메모리 디바이스(200)의 선택 구성 요소들의 다른 예시적인 블록도를 도시한다. 예시적인 예에서, 회로, 데이터 경로들, 및 제어 경로들은 비휘발성 메모리 어레이(202) 및 대응하는 휘발성 메모리 어레이(204)에 관하여 도시된다. 그러나, 메모리 디바이스(200)는 도 1에 관하여 상기에 기술된 임의의 수의 비휘발성 메모리 어레이들 및 휘발성 메모리 어레이들을 포함할 수 있다는 것이 이해되어야 한다.
예시적인 예에서, 메모리 디바이스(200)는 비휘발성 메모리 어레이(202)에 저장된 데이터에 액세스하는 외부 소스(212)로부터 활성/프리차지 명령들(208) 및 판독/기록 명령들(210)을 수신하도록 구성된 제어 회로(206)를 포함한다. 몇몇 경우들에서, 제어 회로(206)는 메모리 디바이스를 동작시키기 위해 다른 회로들 중에서 행 선택 회로, 열 선택 회로, 감지 증폭기들, 기록 구동기들, 및/또는 충전 펌프들을 포함할 수 있다.
일반적으로, 판독/기록 명령들(210)은 제어 회로(206)에 의해 수신되고 휘발성 메모리 어레이(204)로 라우팅되어서, 외부 소스(212)는 휘발성 메모리 어레이(204) 내에 저장된 데이터(214)에 액세스할 수 있다. 유사하게, 활성/프리차지 명령들(208)은 제어 회로(206)에 의해 수신되고 하나 이상의 레지스터들(216)을 통해 비휘발성 메모리 어레이(202)로 라우팅된다.
일반적으로, 데이터(214)는 비휘발성 메모리 어레이(202)와 휘발성 메모리 어레이(204) 사이에 전송될 수 있다. 데이터(214)가 비휘발성 메모리 어레이(202)로부터 전송되었고 휘발성 메모리 어레이(204)내에 저장되면, 외부 소스(212)는 데이터(214)에 액세스하도록 구성될 수 있다. 따라서, 몇몇 예들에서, 비휘발성 메모리 어레이(204)는 데이터(214)를 저장하기 위한 캐시로서의 역할을 할 수 있고, 데이터는 외부 소스(212)에 의해 액세스된다. 다른 예들에서, 외부 소스(212)는 데이터(214)가 캐시(도시되지 않음)에 저장될 때 데이터(214)에 액세스하도록 구성될 수 있고, 예를 들면, 전력 장애가 비휘발성 메모리 어레이(202)와 연관된 기록 동작 동안 발생하는 경우, 도입될 수 있는 에러들을 방지하기 위해 데이터가 비휘발성 메모리 어레이(202)로 라이트 백 또는 그로부터 로딩되는 동안 휘발성 메모리 어레이(204)는 데이터(214)를 저장할 수 있다.
레지스터(들)(216)는 비파괴적 기록 모드를 활성화 및 비활성화하도록 구성될 수 있다. 몇몇 예들에서, 비파괴적 기록 모드가 활성일 때, 레지스터(들)(216)는 활성/프리차지 명령들이 비휘발성 메모리 어레이(202)에 도달하는 것을 방지할 수 있고, 이는 결과적으로 비휘발성 메모리 어레이(202) 내에 저장된 데이터(214)가 외부 소스(212)에 의해 액세스되는 것을 방지할 수 있다.
몇몇 예들에서, 레지스터(들)(216)는 사용자 또는 외부 소스(212)가 메모리 디바이스(200)에 대한 동작의 기록 모드를 설정하게 하기 위해 하나 이상의 사용자 액세스가능한 또는 프로그램 가능한 레지스터들일 수 있다. 다른 예들에서, 레지스터(들)(216)는 교정 또는 초기화 시퀀스가 완료된 것을 나타내는 제어 회로(206) 또는 외부 소스(212)로부터의 신호에 따라 비파괴적 기록 모드를 종료하는 것 및 메모리 디바이스(200)의 전원 투입에 응답하여, 비파괴적 기록 모드에 대해 디폴트로 되도록 구성된 초기화 레지스터일 수 있다. 몇몇 예들에서, 레지스터(들)(216)는 하나 이상의 플립 플롭들, 래치들, 또는 비휘발성 메모리 어레이(202)로부터 제어 회로(206)를 결합 해제하도록 구성될 수 있는 다른 저장 장치 요소들을 포함할 수 있다.
예시적인 예에서, 레지스터(들)(216)는 활성 및 프리차지 명령들(208) 모두가 비휘발성 메모리 어레이(202)에 도달하는 것을 방지할 수 있어서, 그에 의해 연관된 활성 및 프리차지 동작들이 비휘발성 메모리 어레이(202)상에 수행되는 것을 방지한다. 그러나, 다른 예들에서, 레지스터(들)(216)는 프리차지 명령들과 연관된 동작들이 비휘발성 메모리 어레이(202)에서 수행되는 것을 방지하도록 구성될 수 있고, 동시에 활성 명령들과 연관된 동작들이 비휘발성 메모리 어레이(202)에서 수행되게 한다(예를 들면, 데이터는 비휘발성 메모리 어레이(202)로부터 휘발성 어레이(204)로 전송될 수 있지만, 데이터는 휘발성 어레이(204)로부터 비휘발성 메모리 어레이(202)로 전송되는 것이 방지될 수 있다). 이러한 방식에서, 레지스터(들)(216)는 데이터(214)가 비휘발성 메모리 어레이(202)로 라이트 백되는 것을 방지하고, 동시에 데이터(214)가 비휘발성 메모리 어레이(202)로부터 로딩되게 하도록 비파괴적 기록 모드를 설정할 수 있다.
도 2는 메모리 디바이스(200)의 초기화 또는 교정 프로세스 동안 비파괴적 기록 모드를 구현하도록 구성된 하나 이상의 레지스터들(216)을 도시하고, 하나 이상의 레지스터들(216)이 도 3에 관하여 이하에 도시되는 바와 같이 다수의 비휘발성 메모리 어레이들을 포함하는 메모리 디바이스의 비파괴적 기록 모드를 구현하기 위해 명령 경로 내에 배치될 수 있다는 것이 이해되어야 한다.
도 3은 메모리 디바이스(300)의 교정 또는 초기화 동안 비휘발성 메모리 어레이들(302, 304, 306)로의 판독/기록들을 방지하기 위한 메모리 디바이스(300)의 선택 구성 요소들의 또 다른 예시적인 블록도를 도시한다. 도 2에 관하여 상기에 기술되는 바와 같이, 외부 소스(308)는 메모리 디바이스(300)의 제어 회로(312)에 의해 수신되는 활성 및/또는 프리차지 명령들(310)을 발행할 수 있다. 제어 회로(312)는 이후 활성/프리차지 명령들(310)을 라우팅할 수 있거나 또는 액세스 명령들을 비휘발성 메모리 어레이들(302, 304, 306) 중 하나 이상에 발행할 수 있다.
예시적인 예에서, 하나 이상의 레지스터들(314)은 비파괴적 기록 모드가 활성화될 때 비휘발성 메모리 어레이들(302, 304, 306)에 저장된 데이터에 액세스 또는 기록들을 방지하도록 비파괴적 기록 모드를 구현하기 위해 명령 경로에 위치된다. 예를 들면, 메모리 디바이스(300)는 메모리 디바이스(300)의 전원 투입 또는 활성화시 메모리 디바이스(300)로부터 데이터를 판독 및 기록하는 것에 관하여 타이밍 요건들을 조정하기 위해 교정 또는 초기화 시퀀스를 수행할 수 있다. 교정 프로세스는 비휘발성 메모리 어레이들(302, 304, 306)로 미리 결정된 데이터 세트들을 기록 및 판독하는 것을 포함한다. 상기에 설명되는 바와 같이, 몇몇 경우들에서, 이는 비휘발성 메모리 어레이들(302, 304, 306)에 저장된 데이터가 의도하지 않게 겹쳐 쓰기되게 할 수 있다.
예시적인 예에서, 하나 이상의 레지스터들(314)은 비파괴적 기록 모드가 가능하게 될 때 활성 및 프리차지 명령들(310)이 비휘발성 메모리 어레이들(302, 304, 306)에 도달하는 것을 방지할 수 있고, 비파괴적 기록 모드가 불가능하게 될 때 활성 및 프리차지 명령들(310)이 비휘발성 메모리 어레이들(302, 304, 306)에 도달하게 할 수 있다. 예시적인 예는 또한 활성 및 프리차지 명령들(310)(또는 액세스 명령들)을 대응하는 비휘발성 메모리 어레이들(302, 304, 306)로 라우팅하도록 구성된 라우팅 회로(316)를 도시한다. 다른 예들에서, 예를 들면, 도 2에 관하여 상기에 기술된 바와 같이, 레지스터(314)가 메모리 어레이(302, 304, 306)의 각각과 연관될 때, 라우팅 회로(316)가 제거되거나 또는 제어 회로(312)로 통합될 수 있다.
도 4는 메모리 디바이스의 초기화 또는 교정 시퀀스 동안 비파괴적 기록 모드를 구현하는 예시적인 프로세스를 도시하는 흐름도이다. 프로세스는 동작들의 시퀀스를 나타내는 논리 흐름도에서 블록들의 집합으로서 도시되고, 동작들의 시퀀스의 일부 또는 모두는 하드웨어, 소프트웨어, 또는 그의 조합으로 구현될 수 있다. 소프트웨어의 환경에서, 블록들은, 하나 이상의 프로세서들에 의해 실행될 때 인용된 동작들을 수행하는 하나 이상의 컴퓨터 판독가능한 매체상에 저장된 컴퓨터 실행가능한 명령들을 나타낸다. 일반적으로, 컴퓨터 판독가능한 명령들은 특정한 기능들을 수행하거나 특정한 추상 데이터형들을 구현하는 루틴들, 프로그램들, 객체들, 구성 요소들, 데이터 구조들, 등을 포함한다.
동작들이 기술되는 순서는 제한으로서 해석되지 않아야 한다. 임의의 수의 기술된 블록들은 프로세스 또는 대안적인 프로세스들을 구현하기 위해 임의의 순서로 및/또는 동시에 조합될 수 있고, 모든 블록들이 시행되는 것이 요구되지는 않는다. 논의의 목적들을 위해, 프로세스들이 다양한 다른 프레임워크들, 아키텍처들 또는 환경들에서 구현될 수 있지만, 여기에서의 프로세스들은 여기에서의 예들에 기술된 프레임워크들, 아키텍처들 및 환경들을 참조하여 기술된다.
도 4는 메모리 디바이스의 기록 기반 교정 또는 기록 기반 초기화를 수행하고 하나 이상의 비휘발성 메모리 어레이들에 저장된 데이터를 유지하기 위한 예시적인 프로세스(400)를 도시하는 흐름도이다. 일반적으로, 메모리 디바이스는 메모리 디바이스의 초기화 또는 전원 투입시 메모리 디바이스로부터 데이터를 판독하는 것 및 기록하는 것에 관하여 타이밍을 조정하기 위해 기록 기반 교정 또는 기록 기반 초기화 시퀀스를 수행할 수 있다. 교정 프로세스는 일반적으로 메모리 어레이들로 미리 결정된 데이터 세트들을 기록하는 것 및 판독하는 것을 포함한다. 불행히도, 몇몇 경우들에서, 비휘발성 메모리 어레이들을 갖는 메모리 디바이스들은, 메모리 디바이스들이 전력 공급이 비활성화될 때 데이터를 유지할 수 있기 때문에 전자 디바이스 디스크 드라이브들에 추가로 또는 그 대신에 실행가능한 코드를 저장하기 위해 전자 디바이스에 의해 이용될 수 있고, 외부 소스들이 전원이 꺼진 기간들에 후속하여 메모리 어레이들이 초기화되지 않을 것이 예상될 수 있기 때문에 교정 프로세스는 의도하지 않게 실행가능한 코드가 겹쳐 쓰기되게 할 수 있다.
따라서, 몇몇 경우들에서, 메모리 디바이스의 어레이들이 메모리 디바이스의 비활성화 동안 지속하도록 의도된 실행가능한 코드 또는 데이터를 저장할 때, 실행가능한 코드 또는 지속성 데이터는 초기화 시퀀스 동안 교정 데이터에 의해 부분적으로 또는 완전히 겹쳐 쓰기될 수 있고, 잠재적으로 에러들, 데이터의 손실, 및/또는 코드의 손상을 야기한다. 따라서, 휘발성 메모리 어레이는 메모리 디바이스에서 비휘발성 메모리 어레이들의 각각과 쌍을 이룰 수 있어서, 데이터는 비휘발성 어레이에 저장된 데이터를 겹쳐 쓰기하지 않고 초기화 또는 교정 동안 휘발성 메모리 어레이들로부터 로딩되고 라이트 백될 수 있다.
몇몇 경우들에서, 메모리 디바이스들은, 활성 및 프리차지 명령들을 비휘발성 메모리 어레이들로 라우팅할 수 있고 판독 및 기록 명령들을 휘발성 메모리 어레이들로 라우팅할 수 있는 제어 회로를 포함하도록 구성될 수 있어서, 데이터는 비휘발성 어레이로 및 비휘발성 어레이로부터 휘발성 어레이로 및 휘발성 어레이로 및 휘발성 어레이로부터 캐시 또는 다른 외부 위치로 전송될 수 있다. 이러한 방식으로, 메모리 디바이스의 교정 또는 초기화 시퀀스는 비휘발성 메모리 어레이들에 저정된 데이터에 영향을 주지 않고 휘발성 메모리 어레이들로 발행된 판독 및 기록 명령들을 통해 수행될 수 있다.
몇몇 예들에서, 메모리 디바이스는 또한 초기화 또는 교정 동안 활성 및 프리차지 동작들이 수행되는 것을 방지하기 위해 하나 이상의 레지스터들을 포함할 수 있다. 예를 들면, 메모리 디바이스는 사용자 또는 외부 소스가 비휘발성 메모리 어레이들에 저장된 데이터에 대한 액세스를 방지하는 동작들의 기록 모드를 설정하게 할 수 있는 하나 이상의 사용자 액세스 가능하거나 프로그램 가능한 레지스터들을 포함할 수 있다. 다른 예들에서, 메모리 디바이스는, 교정 또는 초기화 시퀀스가 완료된 것을 나타내는 제어 회로로부터의 신호에 따라 비파괴적 기록 모드를 종료하는 것 및 메모리 디바이스의 전원 투입에 응답하여, (예를 들면, 초기화 레지스터를 통해) 비파괴적 기록 모드에 대해 디폴트로 되도록 구성될 수 있다. 몇몇 예들에서, 레지스터(들)는 하나 이상의 초기화 또는 모드 레지스터들, 하나 이상의 사용자 액세스 가능한 레지스터들, 하나 이상의 플립 플롭들, 래치들, 또는 다른 저장 장치 요소들을 포함할 수 있다.
402에서, 프로세스(400)는 비휘발성 메모리에 라이트 백하는 것을 불가능하게 하는 것을 포함한다. 예를 들면, 사용자 또는 외부 소스는 하나 이상의 레지스터들이 메모리 디바이스가 비파괴적 기록 모드 및/또는 비파괴적 판독 모드에 있다는 것을 메모리 디바이스에 나타내도록 설정되게 할 수 있다. 다른 예들에서, 메모리 디바이스는 메모리 디바이스 또는 연관된 전자 디바이스의 활성화에 응답하여 비파괴적 기록 모드 및/또는 비파괴적 판독 모드에 대해 디폴트로 되는 하나 이상의 초기화 레지스터들을 포함할 수 있다. 몇몇 특정 예들에서, 레지스터는 메모리 디바이스가 비파괴적 기록 모드로 진입하게 하고, 비휘발성 메모리 어레이들에 관하여 판독들이 수행되게 할 수 있다.
일반적으로, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드가 가능해질 때, 메모리 디바이스는 비휘발성 메모리 어레이들에 대한 액세스를 방지하고, 반면에 휘발성 메모리 어레이들에 대한 판독 및 기록 액세스를 허용한다. 예를 들면, 메모리 디바이스는, 예를 들면, 메모리 디바이스의 전력 장애 또는 다른 방해 동안 기록이 진행중일 때 비휘발성 메모리 어레이들에서 에러들이 발생하는 것을 방지하는 것을 돕기 위해, 비휘발성 메모리 어레이들 및 휘발성 메모리 어레이들의 쌍들을 포함할 수 있다. 따라서, 몇몇 구현들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드는 외부 소스가 비휘발성 메모리 어레이들에 저장된 데이터에 영향을 주지 않고 메모리 디바이스에 데이터를 기록 및 판독하는 것에 관하여 타이밍 요건들을 교정하기 위해 초기화 또는 교정 시퀀스 동안 미리 결정된 데이터 세트들을 휘발성 또는 일시적 메모리 어레이들로 기록 및 판독하게 할 수 있다.
404에서, 프로세스(400)는 메모리에 일시적 기록들을 수행하는 것을 포함한다. 예를 들면, 메모리 디바이스는 데이터를 기록하기 위한 명령들을 수신할 수 있고, 메모리 디바이스는 일시적 메모리 어레이들(예를 들면, 휘발성 메모리 어레이들)에 대한 기록들을 허용할 수 있고 비휘발성 메모리 어레이들에 대한 기록들을 방지할 수 있다. 예를 들면, 교정 시퀀스 동안, 외부 소스는 미리 결정된 데이터를 메모리 디바이스로 기록하기 위해 기록 명령들을 발행할 수 있다. 몇몇 예들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드가 활성인 동안(및 라이트 백이 비휘발성 메모리 어레이들에 대해 불가능인 동안), 메모리 디바이스는 휘발성 또는 일시적 메모리로 기록 명령을 라우팅할 수 있어서, 비휘발성 메모리 어레이들 내 데이터가 의도하지 않게 겹쳐 쓰기되는 것을 방지한다.
406에서,프로세스(400)는 일시적 메모리에 대해 판독들을 수행하는 것을 포함한다. 예를 들면, 메모리 디바이스는 데이터를 판독하기 위한 명령들을 수신하고, 메모리 디바이스는 일시적 메모리 어레이들에 대한 판독들을 허용할 수 있고, 동시에 비휘발성 메모리 어레이들에 대한 액세스를 방지한다. 상기에 기술된 바와 같이, 교정 시퀀스 동안, 외부 소스는 기록된 미리 결정된 데이터를 판독하기 위해 판독 명령들을 메모리 디바이스로 발행한다(404에서). 몇몇 예들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드가 활성인 동안(및 판독들이 비휘발성 메모리 어레이들에 대해 불가능인 동안), 메모리 디바이스는 판독 명령을 휘발성 또는 일시적 메모리로 라우팅할 수 있어서, 비휘발성 메모리 어레이들 내 데이터가 액세스되는 것을 방지한다. 다른 예들에서, 메모리 디바이스는 휘발성 또는 일시적 메모리 어레이들과 비휘발성 메모리 어레이들 사이의 데이터 전송을 불가능으로 할 수 있어서, 프리차지 및 활성 명령들이 메모리 디바이스에 의해 수신될 때, 일시적 또는 휘발성 메모리 어레이들과 비휘발성 메모리 어레이들 사이에 데이터가 전송되지 않는다.
408에서, 프로세스(400)는 타이밍이 정확한지의 여부를 결정하는 것을 포함한다. 예를 들면, 외부 소스 및/또는 메모리 디바이스는 타이밍이 정확한지를 결정할 수 있다. 설명을 위해, 판독 데이터와 연관된 타이밍이 계산될 때, 미리 결정된 데이터는 일시적 메모리로 기록될 수 있고(예를 들면, 404에서), 이후 일시적 메모리 어레이로부터 판독된 데이터(예를 들면, 406에서)는 타이밍이 정확한지를 결정하기 위해 미리 결정된 데이터와 비교될 수 있다. 예를 들면, 판독 타이밍에 관하여, 일시적 메모리 어레이로부터 판독되는 데이터가 일시적 메모리 어레이로 기록되는 미리 결정된 데이터와 일치하는 경우, 타이밍은 정확하다. 타이밍이 정확한 경우, 프로세스(400)는 410으로 진행한다. 그러나, 타이밍이 부정확한 경우, 프로세스(400)는 판독 타이밍을 조정하기 위해 412로 진행한다. 프로세스(400)는 이후 404로 돌아간다. 이러한 방식으로, 외부 소스는 비휘발성 메모리 어레이들에 저장된 데이터에 의도하지 않게 겹쳐 쓰기하지 않고 일시적 메모리 어레이들로 데이터를 판독 및 기록함으로써 메모리 디바이스와 연관된 타이밍 요건들을 교정할 수 있다.
410에서, 프로세스(400)는 비휘발성 메모리에 라이트 백을 가능하게 하는 것을 포함한다. 예를 들면, 메모리 디바이스 및/또는 외부 소스는 비휘발성 메모리 어레이들에 라이트 백을 다시 가능하게 할 수 있다. 설명을 위해, 외부 소스는 기록 및 판독 타이밍이 정확하다는 것을 결정하는 것에 응답하여 라이트 백을 가능하게 할 수 있다. 다른 예들에서, 라이트 백은 가능하게 될 수 있고 및/또는 비파괴적 기록 모드 및/또는 비파괴적 판독 모드는 메모리 디바이스의 교정 시퀀스 및/또는 초기화 시퀀스의 완료시 불가능으로 될 수 있다. 몇몇 특정 예들에서, 기록들은 가능하게 될 수 있고 및/또는 비파괴적 기록 모드 및/또는 비파괴적 판독 모드는 메모리 디바이스와 연관된 전자 디바이스의 전원 투입 또는 초기화 시퀀스의 완료에 응답하여 불가능으로 될 수 있다.
도 5는 메모리 디바이스의 판독 기반 교정 또는 판독 기반 초기화를 수행하고 하나 이상의 비휘발성 메모리 어레이들에 저장된 데이터를 유지하기 위한 예시적인 프로세스를 도시하는 흐름도이다. 일반적으로, 메모리 디바이스는 메모리 디바이스의 전원 투입 또는 초기화시 메모리 디바이스로부터 데이터를 판독 및/또는 기록하는 것에 관하여 타이밍을 조정하기 위해 판독 기반 교정 또는 판독 기반 초기화를 수행할 수 있다. 교정 프로세스는 일반적으로 메모리 어레이들로 미리 결정된 데이터 세트들을 기록하는 것 및 판독하는 것을 포함한다. 불행히도, 몇몇 경우들에서, 외부 소스들이 전력 오프 기간들에 후속하여 메모리 어레이들이 초기화되지 않을 것을 예상할 수 있기 때문에, 전원 공급이 비활성화되고 교정 프로세스는 의도하지 않게 실행가능 코드가 겹쳐 쓰기되게 할 수 있기 때문에, 비휘발성 메모리 어레이들을 구비하는 메모리 디바이스들은 전자 디바이스 디스크 드라이브들에 추가로 또는 그 대신에 실행가능 코드를 저장하기 위해 전자 디바이스에 의해 이용될 수 있다.
따라서, 몇몇 경우들에서, 메모리 디바이스의 어레이들이 메모리 디바이스의 비활성화 동안 지속되도록 의도된 데이터 또는 실행가능 코드를 저장할 때, 실행가능 코드 또는 지속성 데이터는 초기화 시퀀스 동안 교정 데이터에 의해 부분적으로 또는 완전히 겹쳐 쓰기될 수 있고, 이는 잠재적으로 에러들, 데이터의 손실, 및/또는 코드의 손상을 초래한다. 따라서, 휘발성 메모리 어레이는 메모리 디바이스에서 비휘발성 메모리 어레이들의 각각과 쌍을 이룰 수 있어서, 데이터는 비휘발성 어레이에 저장된 데이터를 겹쳐 쓰기하지 않고 초기화 또는 교정 동안 휘발성 메모리 어레이들로 로딩 및 라이트 백될 수 있다.
몇몇 경우들에서, 메모리 디바이스들은 활성 및 프리차지 명령들을 비휘발성 메모리 어레이들로 라우팅할 수 있고 판독 및 기록 명령들을 휘발성 메모리 어레이들에 라우팅할 수 있는 제어 회로를 포함하도록 구성될 수 있어서, 데이터는 비휘발성 어레이로 및 비휘발성 어레이로부터 휘발성 어레이로, 및 휘발성 어레이로 및 휘발성 어레이로부터 캐시 또는 다른 외부 위치로 전송될 수 있다. 이러한 방식에서, 메모리 디바이스의 교정 또는 초기화 시퀀스는 비휘발성 메모리 어레이들에 저장된 데이터에 영향을 주지 않고 휘발성 메모리 어레이들에 발행된 판독 및 기록 명령들을 통해 수행될 수 있다.
몇몇 예들에서, 메모리 디바이스는 또한 활성 및 프리차지 동작들이 초기화 또는 교정 동안 수행되는 것을 방지하기 위해 하나 이상의 레지스터들을 포함할 수 있다. 예를 들면, 메모리 디바이스는 사용자 또는 외부 소스가 비휘발성 메모리 어레이들에 저장된 데이터에 대한 액세스를 방지하는 동작의 기록 모드를 설정하게 할 수 있는 하나 이상의 사용자 액세스 가능한 또는 프로그램 가능한 레지스터들을 포함할 수 있다. 다른 예들에서, 메모리 디바이스는, 교정 또는 초기화 시퀀스가 완료되는 것을 나타내는 제어 회로로부터의 신호에 따라 비파괴적 기록 모드를 종료하는 것 및 메모리 디바이스의 전원 투입에 응답하여, 비파괴적 기록 모드(예를 들면, 초기화 레지스터를 통해)에 대해 디폴트로 되도록 구성될 수 있다. 몇몇 예들에서, 레지스터(들)는 하나 이상의 초기화 또는 모드 레지스터들, 하나 이상의 사용자 액세스 가능한 레지스터들, 하나 이상의 플립 플롭들, 래치들, 또는 다른 저장 장치 요소들을 포함할 수 있다.
502에서, 프로세스(500)는 비휘발성 메모리에 라이트 백을 불가능하게 하는 것을 포함한다. 예를 들면, 사용자 또는 외부 소스는 하나 이상의 레지스터들이 메모리 디바이스가 비파괴적 기록 모드 및/또는 비파괴적 판독 모드에 있다는 것을 메모리 디바이스에 나타내도록 설정되게 할 수 있다. 다른 예들에서, 메모리 디바이스는 메모리 디바이스 또는 연관된 전자 디바이스의 활성화에 응답하여 비파괴적 기록 모드 및/또는 비파괴적 판독 모드에 대해 디폴트로 되는 하나 이상의 초기화 레지스터들을 포함할 수 있다. 몇몇 특정 예들에서, 레지스터는 메모리 디바이스가 비파괴적 기록 모드로 진입하게 할 수 있고, 이는 비휘발성 메모리 어레이들에 관해 판독들이 수행되도록 허용한다.
일반적으로, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드가 가능할 때, 메모리 디바이스는 비휘발성 메모리 어레이들에 대한 액세스를 방지하고,동시에 휘발성 메모리 어레이들에 판독 및 기록 액세스를 허용한다. 예를 들면, 메모리 디바이스는, 예를 들면, 메모리 디바이스의 전력 장애 또는 다른 방해 동안 기록이 진행중일 때 에러들이 비휘발성 메모리 어레이들에서 발생하는 것을 방지하는 것을 돕기 위해, 비휘발성 메모리 어레이들 및 휘발성 메모리 어레이들의 쌍들을 포함할 수 있다. 따라서, 몇몇 구현들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드는 비휘발성 메모리 어레이들에 저장된 데이터에 영향을 주지 않고 메모리 디바이스에 대해 데이터를 판독 및 기록하는 것에 관해 타이밍 요건들을 교정하기 위해 외부 소스가 초기화 또는 교정 시퀀스 동안 휘발성 또는 일시적 메모리 어레이들로 미리 결정된 데이터 세트들을 판독 및 기록하게 할 수 있다.
504에서, 프로세스(500)는 메모리에 대해 일시적 기록들을 수행하는 것을 포함한다. 예를 들면, 메모리 디바이스는 데이터를 기록하기 위한 명령들을 수신할 수 있고, 메모리 디바이스는 일시적 메모리 어레이들(예를 들면, 휘발성 메모리 어레이들)에 대한 기록들을 허용할 수 있고, 비휘발성 메모리 어레이들에 대한 기록들을 방지할 수 있다. 예를 들면, 교정 시퀀스 동안, 외부 소스는 미리 결정된 데이터를 메모리 디바이스로 기록하기 위해 기록 명령들을 발행할 수 있다. 몇몇 예들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드가 활성인 동안(및 라이트 백이 비휘발성 메모리 어레이들에 대해 불가능인 동안), 메모리 디바이스는 기록 명령을 휘발성 또는 일시적 메모리에 라우팅할 수 있어서, 비휘발성 메모리 어레이들 내 데이터가 의도하지 않게 겹쳐 쓰기되는 것을 방지한다.
506에서, 프로세스(500)는 일시적 메모리에 대한 판독들을 수행하는 것을 포함한다. 예를 들면, 메모리 디바이스는 데이터를 판독하기 위한 명령들을 수신할 수 있고, 메모리 디바이스는 일시적 메모리 어레이들에 대해 판독들을 허용할 수 있고, 동시에 비휘발성 메모리 어레이들에 대한 액세스를 방지한다. 상기에 기술된 바와 같이, 교정 시퀀스 동안, 외부 소스는 기록된 미리 결정된 데이터를 판독하기 위해 판독 명령들을 메모리 디바이스로 발행할 수 있다(504에서). 몇몇 예들에서, 비파괴적 기록 모드 및/또는 비파괴적 판독 모드가 활성인 동안(및 판독들이 비휘발성 메모리 어레이들에 대해 불가능인 동안), 메모리 디바이스는 판독 명령을 휘발성 또는 일시적 메모리로 라우팅할 수 있어서, 비휘발성 메모리 어레이들 내 데이터가 액세스되는 것을 방지한다. 다른 예들에서, 메모리 디바이스는 휘발성 또는 일시적 메모리 어레이들과 비휘발성 메모리 어레이들 사이에 데이터 전송을 불가능하게 할 수 있어서, 프리차지 및 활성 명령들이 메모리 디바이스에 의해 수신될 때, 일시적 또는 휘발성 메모리 어레이들과 비휘발성 메모리 어레이들 사이에 데이터가 전송되지 않는다.
508에서, 프로세스(500)는 타이밍이 정확한지의 여부를 결정하는 것을 포함한다. 예를 들면, 외부 소스 및/또는 메모리 디바이스는 타이밍이 정확한지를 결정할 수 있다. 설명을 위해, 데이터를 판독하는 것과 연관된 타이밍이 계산될 때, 미리 결정된 데이터는 일시적 메모리로 기록될 수 있고(예를 들면, 504에서), 이후 일시적 메모리 어레이로부터 판독된 데이터(예를 들면, 506에서)는 타이밍이 정확한지를 결정하기 위해 미리 결정된 데이터와 비교될 수 있다. 예를 들면, 판독 타이밍에 관하여, 일시적 메모리 어레이로부터 판독되는 데이터가 일시적 메모리 어레이에 기록되는 미리 결정된 데이터와 일치하는 경우, 타이밍은 정확하다. 타이밍이 정확한 경우, 프로세스(500)는 510으로 진행한다. 그러나, 타이밍이 부정확한 경우, 프로세스(500)는 판독 타이밍을 조정하기 위해 512로 진행한다. 프로세스(500)는 이후 506으로 리턴한다. 이러한 방식으로, 외부 소스는 비휘발성 메모리 어레이들에 저장된 데이터를 의도하지 않게 겹쳐 쓰기하지 않고 일시적 메모리 어레이들에 대해 506에서 데이터를 재판독하고 512에서 타이밍을 반복적으로 조정함으로써 메모리 디바이스와 연관된 타이밍 요건들을 교정할 수 있다.
510에서, 프로세스(500)는 비휘발성 메모리에 라이트 백을 가능하게 하는 것을 포함한다. 예를 들면, 메모리 디바이스 및/또는 외부 소스는 비휘발성 메모리 어레이들에 라이트 백을 다시 가능하게 할 수 있다. 설명을 위해, 외부 소스는 기록 및 판독 타이밍이 정확한지를 결정하는 것에 응답하여 라이트 백을 가능하게 할 수 있다. 다른 예들에서, 라이트 백은 가능해질 수 있고 및/또는 비파괴적 기록 모드 및/또는 비파괴적 판독 모드는 메모리 디바이스의 교정 시퀀스 및/또는 초기화 시퀀스의 완료시 불가능으로 될 수 있다. 몇몇 특정 예들에서, 기록들은 가능해질 수 있고 및/또는 비파괴적 기록 모드 및/또는 비파괴적 판독 모드는 메모리 디바이스와 연관된 전자 디바이스의 전원 투입 또는 초기화 시퀀스의 완료에 응답하여 불가능으로 될 수 있다.
요지는 구조적인 특징들에 특정된 언어로 기술되었지만, 첨부된 청구항들에 규정된 요지는 기술된 특정 특징들로 반드시 한정되는 것이 아니라는 것이 이해될 것이다. 오히려, 특정한 특징들은 청구항들을 구현하는 예시적인 형태들로서 개시된다.
100 : 메모리 디바이스 102, 104, 106 : 휘발성 메모리 어레이
108, 110, 112 : 비휘발성 메모리 어레이
114 : 외부 소스 116 : 제어 회로
204 : 휘발성 메모리 어레이 206 : 제어 회로
208 : 활성/프리차지 명령들 210 : 판독/기록 명령들
212 : 외부 소스 216 : 레지스터(들)

Claims (20)

  1. 방법에 있어서,
    메모리 디바이스에 대한 판독 및 기록 동작들의 타이밍 요건들을 교정하기 위해 상기 메모리 디바이스의 교정 또는 초기화 동안 상기 메모리 디바이스의 적어도 하나의 비휘발성 메모리 어레이에 라이트 백하는 것을 불가능하게 하는 단계로서,
    상기 메모리 디바이스의 적어도 하나의 비휘발성 메모리 어레이에 라이트 백하는 것을 불가능하게 하는 단계는, 상기 적어도 하나의 비휘발성 메모리 어레이에 대한 라이트 백이 불가능한 동안, 상기 적어도 하나의 비휘발성 메모리 어레이에 대해 기록 동작들이 수행되는 것을 방지하는 단계를 포함하는, 상기 메모리 디바이스의 적어도 하나의 비휘발성 메모리 어레이에 라이트 백하는 것을 불가능하게 하는 단계;
    외부 소스로부터 기록 명령을 수신하는 단계;
    일시적 메모리 어레이에 상기 기록 명령과 연관된 기록 동작들을 수행하는 단계;
    상기 외부 소스로부터 판독 명령을 수신하는 단계;
    상기 일시적 메모리 어레이에 상기 판독 명령과 연관된 판독 동작들을 수행하는 단계; 및
    상기 일시적 메모리 어레이에 상기 기록 동작들 및 상기 판독 동작들을 수행한 후에 그리고 상기 메모리 디바이스에 액세스하는 것과 연관된 시간을 식별하는 것에 응답하여, 상기 적어도 하나의 비휘발성 메모리 어레이에 라이트 백을 가능하게 하는 단계를 포함하는, 방법.
  2. 제 1 항에 있어서,
    상기 일시적 메모리 어레이는 상기 적어도 하나의 비휘발성 메모리 어레이와 연관되는, 방법.
  3. 제 1 항에 있어서,
    상기 메모리 디바이스의 상기 적어도 하나의 비휘발성 메모리 어레이에 라이트 백하는 것을 불가능하게 하는 단계는 상기 일시적 메모리 어레이와 상기 적어도 하나의 비휘발성 메모리 어레이 사이의 데이터 전송을 방지하는 단계를 추가로 포함하는, 방법.
  4. 제 1 항에 있어서,
    상기 메모리 디바이스의 상기 적어도 하나의 비휘발성 메모리 어레이에 라이트 백을 불가능하게 하는 단계는 활성 명령들 및 프리차지 명령들과 연관된 동작들이 상기 적어도 하나의 비휘발성 메모리 어레이상에 수행되는 것을 방지하는 단계를 추가로 포함하는, 방법.
  5. 제 1 항에 있어서,
    상기 메모리 디바이스의 상기 적어도 하나의 비휘발성 메모리 어레이에 라이트 백을 불가능하게 하는 단계는 상기 일시적 메모리 어레이상에 상기 외부 소스로부터 수신된 각각의 판독 명령들과 연관된 판독 동작들 및 각각의 기록 명령들과 연관된 기록 동작을 수행하는 단계 및 상기 판독 명령들 및 상기 기록 명령들이 상기 적어도 하나의 비휘발성 메모리 어레이상에 수행되는 것을 방지하는 단계를 추가로 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 메모리 디바이스의 상기 적어도 하나의 비휘발성 메모리 어레이에 라이트 백을 불가능하게 하는 단계는 비파괴적 기록 모드를 가능하게 하도록 적어도 하나의 레지스터를 설정하는 단계를 추가로 포함하는, 방법.
  7. 제 1 항에 있어서,
    판독 액세스와 연관된 타이밍이 부정확할 때:
    상기 판독 명령들 및 상기 기록 명령들의 타이밍을 조정하는 단계;
    상기 외부 소스로부터 제 2 판독 명령을 수신하는 단계; 및
    상기 일시적 메모리 어레이에 상기 제 2 판독 명령과 연관된 판독 동작들의 제 2 세트를 수행하는 단계를 추가로 포함하는, 방법.
  8. 제 1 항에 있어서,
    판독 액세스와 연관된 타이밍이 부정확할 때:
    상기 판독 명령들 및 상기 기록 명령들의 타이밍을 조정하는 단계;
    상기 외부 소스로부터 제 2 기록 명령을 수신하는 단계;
    상기 일시적 메모리 어레이에 상기 제 2 기록 명령과 연관된 기록 동작들의 제 2 세트를 수행하는 단계;
    상기 외부 소스로부터 제 2 판독 명령을 수신하는 단계; 및
    상기 일시적 메모리 어레이에 상기 제 2 판독 명령과 연관된 판독 동작들의 제 2 세트를 수행하는 단계를 추가로 포함하는, 방법.
  9. 메모리 디바이스에 있어서,
    비휘발성 메모리 어레이;
    휘발성 메모리 어레이로서, 데이터가 상기 휘발성 메모리 어레이와 상기 비휘발성 메모리 어레이 사이에 전송되게 하기 위해 상기 비휘발성 메모리 어레이에 통신 가능하게 연결되는, 상기 휘발성 메모리 어레이;
    활성 명령들, 프리차지 명령들, 판독 명령들, 및 기록 명령들을 외부 소스로부터 수신하고, 상기 활성 명령들 및 상기 프리차지 명령들을 상기 비휘발성 메모리 어레이로 라우팅하고, 상기 판독 명령들 및 상기 기록 명령들을 상기 휘발성 메모리 어레이로 라우팅하도록 구성된, 제어 회로; 및
    상기 메모리 디바이스의 비파괴적 기록 모드를 가능하게 하고 불가능하게 하기 위해 상기 제어 회로와 연관된 레지스터로서, 상기 비파괴적 기록 모드가 가능할 때, 상기 제어 회로는, 상기 메모리 디바이스의 교정 또는 초기화 동안, 상기 메모리 디바이스에 대한 판독 및 기록 동작들의 타이밍 요건들을 교정하기 위해, 상기 판독 및 기록 명령들이 상기 비휘발성 메모리 어레이에서 수행되는 동안 상기 활성 명령들 및 상기 프리차지 명령들이 상기 비휘발성 메모리 어레이에서 수행되는 것을 방지하는, 상기 레지스터를 포함하는, 메모리 디바이스.
  10. 제 9 항에 있어서,
    상기 비파괴적 기록 모드가 가능할 때, 상기 제어 회로는 상기 판독 명령들 및 기록 명령들이 상기 휘발성 메모리 어레이에서 수행되게 하는, 메모리 디바이스.
  11. 제 9 항에 있어서,
    상기 레지스터는 상기 외부 소스에 의해 프로그램 가능한 모드 레지스터인, 메모리 디바이스.
  12. 제 9 항에 있어서,
    상기 레지스터는 상기 메모리 디바이스의 전원 투입에 응답하여 상기 비파괴적 기록 모드를 가능하게 하도록 디폴트로 구성되는 초기화 레지스터인, 메모리 디바이스.
  13. 제 9 항에 있어서,
    상기 레지스터는:
    하나 이상의 비휘발성 레지스터들;
    하나 이상의 자기 메모리 셀들;
    하나 이상의 플립 플롭들;
    패키지상의 하나 이상의 핀들에 적용된 하나 이상의 고정된 입력 신호들; 또는
    상태 머신, 중 적어도 하나를 포함하는, 메모리 디바이스.
  14. 자기 메모리 디바이스에 있어서,
    적어도 하나의 비휘발성 메모리 어레이;
    적어도 하나의 휘발성 메모리로서, 상기 적어도 하나의 휘발성 메모리 어레이와 상기 적어도 하나의 비휘발성 메모리 사이에 데이터가 전송되게 하기 위해 상기 적어도 하나의 비휘발성 메모리에 어레이에 통신가능하게 연결된, 상기 적어도 하나의 휘발성 메모리;
    외부 소스로부터 명령들을 수신하고, 응답하여 상기 적어도 하나의 비휘발성 메모리 어레이와 상기 적어도 하나의 휘발성 메모리 어레이 사이에 데이터가 전송되게 하도록 구성된 제어 회로; 및
    상기 메모리 디바이스의 교정 또는 초기화 동안, 상기 메모리 디바이스에 대한 판독 및 기록 동작들의 타이밍 요건들을 교정하기 위해, 상기 판독 및 기록 명령들이 상기 비휘발성 메모리 어레이에서 수행되는 동안 상기 적어도 하나의 휘발성 메모리 어레이로부터 상기 적어도 하나의 비휘발성 메모리 어레이로 데이터 전송을 가능 및 불가능하게 하기 위해 상기 제어 회로와 연관된 적어도 하나의 레지스터를 포함하는, 자기 메모리 디바이스.
  15. 제 14 항에 있어서,
    상기 적어도 하나의 레지스터는 상기 적어도 하나의 휘발성 메모리 어레이와 상기 적어도 하나의 비휘발성 메모리 어레이 사이의 통신을 불가능하게 함으로써 상기 적어도 하나의 휘발성 메모리 어레이로부터 상기 적어도 하나의 비휘발성 메모리 어레이로의 데이터 송신을 불가능하게 하는, 자기 메모리 디바이스.
  16. 제 14 항에 있어서,
    상기 적어도 하나의 레지스터는 상기 제어 회로와 상기 적어도 하나의 비휘발성 메모리 어레이 사이의 통신을 불가능하게 함으로써 상기 적어도 하나의 휘발성 메모리 어레이로부터 상기 적어도 하나의 비휘발성 메모리 어레이로의 데이터 전송을 불가능하게 하는, 자기 메모리 디바이스.
  17. 제 14 항에 있어서,
    상기 적어도 하나의 레지스터는 상기 메모리 디바이스가 프리차지 명령들 및 활성 명령들과 연관된 동작들을 수행하는 것을 방지함으로써 상기 적어도 하나의 비휘발성 메모리 어레이에 대한 기록들을 불가능하게 하는, 자기 메모리 디바이스.
  18. 제 14 항에 있어서,
    상기 적어도 하나의 레지스터가 상기 적어도 하나의 휘발성 메모리 어레이로부터 상기 적어도 하나의 비휘발성 메모리 어레이로의 데이터 전송을 불가능하게 할 때, 상기 메모리 디바이스는 상기 휘발성 메모리 어레이에 관한 판독 및 기록 동작들을 수행하는, 자기 메모리 디바이스.
  19. 제 18 항에 있어서,
    판독 타이밍 및 기록 타이밍과 연관된 교정 시퀀스는 상기 적어도 하나의 휘발성 메모리 어레이를 사용하여 수행되고, 동시에 상기 적어도 하나의 휘발성 메모리 어레이로부터 상기 적어도 하나의 비휘발성 메모리 어레이로의 데이터 전송은 불가능하게 되는, 자기 메모리 디바이스.
  20. 제 14 항에 있어서,
    상기 적어도 하나의 휘발성 메모리 어레이에 저장된 상기 데이터는 상기 외부 소스에 액세스가능한, 자기 메모리 디바이스.
KR1020167004171A 2013-08-21 2014-08-19 비파괴적 기록/판독 레벨링 KR102223980B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201361868221P 2013-08-21 2013-08-21
US61/868,221 2013-08-21
PCT/US2014/051691 WO2015026826A1 (en) 2013-08-21 2014-08-19 Non-destructive write/read leveling

Publications (2)

Publication Number Publication Date
KR20160045694A KR20160045694A (ko) 2016-04-27
KR102223980B1 true KR102223980B1 (ko) 2021-03-09

Family

ID=52480254

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167004171A KR102223980B1 (ko) 2013-08-21 2014-08-19 비파괴적 기록/판독 레벨링

Country Status (4)

Country Link
US (3) US9275715B2 (ko)
EP (1) EP3036641B1 (ko)
KR (1) KR102223980B1 (ko)
WO (1) WO2015026826A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102223980B1 (ko) 2013-08-21 2021-03-09 에버스핀 테크놀러지스, 인크. 비파괴적 기록/판독 레벨링
KR20180118840A (ko) * 2017-04-21 2018-11-01 에스케이하이닉스 주식회사 메모리소자의 쓰기 디스터번스 억제를 위한 어드레스 분산 장치 및 방법
US10650899B2 (en) * 2017-04-27 2020-05-12 Everspin Technologies, Inc. Delayed write-back in memory with calibration support
US11137919B2 (en) * 2017-10-30 2021-10-05 Arm Ltd. Initialisation of a storage device
KR20200084200A (ko) * 2019-01-02 2020-07-10 에스케이하이닉스 주식회사 컨트롤러 및 컨트롤러의 동작방법
WO2020232573A1 (en) * 2019-05-17 2020-11-26 Yangtze Memory Technologies Co., Ltd. Three-dimensional memory device with static random-access memory
KR20210122287A (ko) 2019-05-17 2021-10-08 양쯔 메모리 테크놀로지스 씨오., 엘티디. 정적 랜덤 액세스 메모리를 사용하는 3차원 메모리 디바이스의 캐시 프로그램 작동

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265483A (ja) * 2003-02-28 2004-09-24 Renesas Technology Corp 不揮発性記憶装置

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0547769B1 (en) * 1991-12-18 1999-10-13 Sun Microsystems, Inc. Write overlap with overwrite prevention
US6418506B1 (en) 1996-12-31 2002-07-09 Intel Corporation Integrated circuit memory and method for transferring data using a volatile memory to buffer data for a nonvolatile memory array
US6462985B2 (en) * 1999-12-10 2002-10-08 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory for storing initially-setting data
JP4049297B2 (ja) * 2001-06-11 2008-02-20 株式会社ルネサステクノロジ 半導体記憶装置
US7117126B2 (en) * 2001-09-05 2006-10-03 International Business Machines Corporation Data processing system and method with dynamic idle for tunable interface calibration
WO2003085677A1 (fr) 2002-04-05 2003-10-16 Renesas Technology Corp. Memoire non volatile
US7502256B2 (en) * 2004-11-30 2009-03-10 Siliconsystems, Inc. Systems and methods for reducing unauthorized data recovery from solid-state storage devices
JP2008305350A (ja) * 2007-06-11 2008-12-18 Spansion Llc メモリシステム、メモリ装置、およびメモリ装置の制御方法
US7729191B2 (en) * 2007-09-06 2010-06-01 Micron Technology, Inc. Memory device command decoding system and memory device and processor-based system using same
US8271737B2 (en) 2009-05-27 2012-09-18 Spansion Llc Cache auto-flush in a solid state memory device
KR101585213B1 (ko) * 2009-08-18 2016-01-13 삼성전자주식회사 라이트 레벨링 동작을 수행하기 위한 메모리 장치의 제어 방법, 메모리 장치의 라이트 레벨링 방법, 및 라이트 레벨링 동작을 수행하는 메모리 컨트롤러, 메모리 장치, 및 메모리 시스템
KR101953088B1 (ko) * 2011-01-31 2019-03-04 에버스핀 테크놀러지스, 인크. 스핀 토크 자기 랜덤 액세스 메모리에 대한 기록 방법
US20120297147A1 (en) 2011-05-20 2012-11-22 Nokia Corporation Caching Operations for a Non-Volatile Memory Array
KR102223980B1 (ko) 2013-08-21 2021-03-09 에버스핀 테크놀러지스, 인크. 비파괴적 기록/판독 레벨링

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004265483A (ja) * 2003-02-28 2004-09-24 Renesas Technology Corp 不揮発性記憶装置

Also Published As

Publication number Publication date
US20160163371A1 (en) 2016-06-09
KR20160045694A (ko) 2016-04-27
US9275715B2 (en) 2016-03-01
US9548098B2 (en) 2017-01-17
US20150055406A1 (en) 2015-02-26
US9978433B2 (en) 2018-05-22
EP3036641B1 (en) 2023-11-01
EP3036641A4 (en) 2017-04-26
EP3036641A1 (en) 2016-06-29
US20170084323A1 (en) 2017-03-23
WO2015026826A1 (en) 2015-02-26

Similar Documents

Publication Publication Date Title
KR102223980B1 (ko) 비파괴적 기록/판독 레벨링
KR102145401B1 (ko) 메모리 동작 파라미터에 대한 다수의 파라미터 코드를 저장 및 기록하기 위한 방법 및 장치
KR102491651B1 (ko) 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법
US8286044B2 (en) Dynamic random access memory having internal built-in self-test with initialization
US9009531B2 (en) Memory subsystem data bus stress testing
JP5651784B2 (ja) 内蔵自己試験を使用するデバッガベースのメモリダンプ
TWI688858B (zh) 記憶體裝置、包括一記憶體裝置之設備及用於實施計數器之方法
CN107845397B (zh) 存储器系统以及处理器系统
JP2005011317A5 (ko)
US10114700B2 (en) Memory device with page emulation mode
US10445017B2 (en) Memory system and operating method thereof
KR20150025393A (ko) 복수개의 스토리지를 개별 제어 가능한 테스트 장치
US9773571B2 (en) Memory repair redundancy with array cache redundancy
US11237976B2 (en) Memory system, memory controller and meta-information storage device
US9047923B1 (en) Fast shingled tracks recording
KR20230007041A (ko) 스토리지 장치의 디버깅 로그 관리 방법
US20080162853A1 (en) Memory systems having a plurality of memories and memory access methods thereof
KR20160025377A (ko) 반도체 메모리 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 저장 장치
KR102184706B1 (ko) 반도체 장치 및 그의 구동방법
US8917572B2 (en) Semiconductor memory device and method of testing the same
KR101814894B1 (ko) 제어 디바이스 및 그 제어 디바이스를 이용하는 액세스 시스템
US11798601B2 (en) Read only memory (ROM)-emulated memory (REM) profile mode of memory device
JP2017174246A (ja) 制御装置、メモリモジュール、制御装置の制御方法、メモリモジュールの制御方法及びプログラム
KR20160108760A (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