KR20190052315A - 메모리 장치 및 그것을 포함하는 메모리 시스템 - Google Patents

메모리 장치 및 그것을 포함하는 메모리 시스템 Download PDF

Info

Publication number
KR20190052315A
KR20190052315A KR1020170147909A KR20170147909A KR20190052315A KR 20190052315 A KR20190052315 A KR 20190052315A KR 1020170147909 A KR1020170147909 A KR 1020170147909A KR 20170147909 A KR20170147909 A KR 20170147909A KR 20190052315 A KR20190052315 A KR 20190052315A
Authority
KR
South Korea
Prior art keywords
address
memory
memory device
offset value
access
Prior art date
Application number
KR1020170147909A
Other languages
English (en)
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 에스케이하이닉스 주식회사
Priority to KR1020170147909A priority Critical patent/KR20190052315A/ko
Priority to US15/883,953 priority patent/US10761747B2/en
Priority to TW107119516A priority patent/TWI779046B/zh
Priority to CN201810722351.1A priority patent/CN109753440B/zh
Publication of KR20190052315A publication Critical patent/KR20190052315A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/76Masking faults in memories by using spares or by reconfiguring using address translation or modifications
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/80Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout
    • G11C29/81Masking faults in memories by using spares or by reconfiguring using programmable devices with improved layout using a hierarchical redundancy scheme
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/88Masking faults in memories by using spares or by reconfiguring with partially good memories
    • G11C29/886Masking faults in memories by using spares or by reconfiguring with partially good memories combining plural defective memory devices to provide a contiguous address range, e.g. one device supplies working blocks to replace defective blocks in another device
    • 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/7207Details relating to flash memory management management of metadata or control data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

메모리 장치는 메모리 영역; 및 외부 장치의 제어에 따라 오프셋 값을 설정하고, 상기 메모리 영역의 제1 어드레스에 대한 상기 외부 장치의 액세스 명령에 응답하여, 상기 오프셋 값에 근거하여 상기 제1 어드레스를 상기 메모리 영역의 제2 어드레스로 조정하고 상기 제2 어드레스에 대해 액세스 동작을 수행하도록 구성된 액세스부를 포함한다.

Description

메모리 장치 및 그것을 포함하는 메모리 시스템{MEMORY DEVICE AND MEMORY SYSTEM INCLUDING THE SAME}
본 발명은 메모리 시스템에 관한 것으로, 더욱 상세하게는 메모리 장치를 포함하는 메모리 시스템에 관한 것이다.
메모리 시스템은 외부 장치의 라이트 요청에 응답하여, 외부 장치로부터 제공된 데이터를 저장하도록 구성될 수 있다. 또한, 메모리 시스템은 외부 장치의 리드 요청에 응답하여, 저장된 데이터를 외부 장치로 제공하도록 구성될 수 있다. 외부 장치는 데이터를 처리할 수 있는 전자 장치로서, 컴퓨터, 디지털 카메라 또는 휴대폰 등을 포함할 수 있다. 메모리 시스템은 외부 장치에 내장되어 동작하거나, 분리 가능한 형태로 제작되어 외부 장치에 연결됨으로써 동작할 수 있다.
본 발명의 실시 예는 데이터 신뢰성을 보장하기 위한 관리 동작을 메모리 장치들의 서로 다른 메모리 유닛들에 대해 병렬적으로 동시에 수행할 수 있는 메모리 시스템을 제공하는 데 있다.
본 발명의 실시 예에 따른 메모리 장치는 메모리 영역; 및 외부 장치의 제어에 따라 오프셋 값을 설정하고, 상기 메모리 영역의 제1 어드레스에 대한 상기 외부 장치의 액세스 명령에 응답하여, 상기 오프셋 값에 근거하여 상기 제1 어드레스를 상기 메모리 영역의 제2 어드레스로 조정하고 상기 제2 어드레스에 대해 액세스 동작을 수행하도록 구성된 액세스부를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은 제1 어드레스에 대응하는 제1 메모리 유닛 및 제2 어드레스에 대응하는 제2 메모리 유닛을 포함하는 제1 메모리 장치; 및 상기 제2 메모리 유닛을 액세스하기 위해, 상기 제1 어드레스 및 상기 제2 어드레스에 근거하여 상기 제1 메모리 장치에 제1 오프셋 값을 설정하고, 상기 제1 메모리 장치로 상기 제1 어드레스에 대한 액세스 명령을 전송하도록 구성된 컨트롤러를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은 제1 및 제2 메모리 장치들; 및 상기 제1 및 제2 메모리 장치들의 서로 다른 제1 및 제2 타겟 어드레스들을 동시에 액세스함으로써, 상기 제1 및 제2 타겟 어드레스들에 대해 관리 동작을 수행하도록 구성된 컨트롤러를 포함할 수 있다.
본 발명의 실시 예에 따른 메모리 시스템은 데이터 신뢰성을 보장하기 위한 관리 동작을 메모리 장치들의 서로 다른 메모리 유닛들에 대해 병렬적으로 동시에 수행할 수 있다.
도1은 본 발명의 실시 예에 따른 메모리 시스템을 도시하는 블록도,
도2는 본 발명의 실시 예에 따른 메모리 장치를 구체적으로 도시하는 블록도,
도3a 및 도3b은 본 발명의 실시 예에 따라 오프셋 값 레지스터에 오프셋 값이 저장되는 방법들을 도시하는 도면들,
도4는 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 도시하는 순서도,
도5는 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 도시하는 순서도,
도6은 본 발명의 실시 예에 따른 메모리 시스템을 도시하는 블록도,
도7은 본 발명의 실시 예에 따라 메인 메모리 영역들과 대체 메모리 영역들을 포함하는 저장 매체를 도시하는 도면,
도8은 라이트 디스터번스 영향이 인접 메모리 유닛들로 미치는 상황을 설명하기 위한 도면,
도9a 내지 도9c는 본 발명의 실시 예에 따라 컨트롤러가 관리 동작을 수행하는 방법을 도시하는 도면들,
도10은 본 발명의 실시 예에 따른 메모리 시스템의 동작 방법을 도시하는 순서도,
도11은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도12는 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도13은 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면,
도14는 본 발명의 실시 예에 따른 메모리 시스템을 포함하는 네트워크 시스템을 예시적으로 도시하는 도면이다.
이하, 도면들을 참조하여 본 발명의 실시 예에 대해 상세히 설명하기로 한다.
도1은 본 발명의 실시 예에 따른 메모리 시스템(100)을 도시하는 블록도이다.
도1을 참조하면, 메모리 시스템(100)은 컨트롤러(110) 및 메모리 장치(D0)를 포함할 수 있다.
컨트롤러(110)는 메모리 시스템(100)의 제반 동작을 제어할 수 있다. 컨트롤러(110)는 외부의 호스트 장치(미도시)의 제어에 따라 메모리 장치(D0)에 데이터를 저장하고, 메모리 장치(D0)로부터 데이터를 리드하여 호스트 장치로 전송할 수 있다.
또한, 컨트롤러(110)는 다양한 내부 동작들을 수행할 수 있다. 컨트롤러(110)의 내부 동작은 오프셋 값 설정 동작을 포함할 수 있다. 오프셋 값 설정 동작은, 메모리 장치(D0)가 어드레스를 조정하는데 사용할 오프셋 값(OV)을 메모리 장치(D0)에 설정하기 위해서 수행될 수 있다. 오프셋 값 설정 동작은, 메모리 장치(D0)의 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장함으로써 수행될 수 있다.
컨트롤러(110)는, 메모리 장치(D0)가 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장하도록 다양한 방식으로 메모리 장치(D0)를 제어할 수 있다. 예를 들어, 컨트롤러(110)는 오프셋 값 설정 명령을 통해 메모리 장치(D0)에게 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장하도록 지시할 수 있다. 다른 예로서, 컨트롤러(110)는 오프셋 값(OV)에 대해 라이트 명령을 메모리 장치(D0)로 전송할 때 메모리 장치(D0)에 연결된 별도의 오프셋 값 설정 라인을 활성화시킴으로써, 해당 라이트 명령이 오프셋 값 설정 동작을 위한 것임을 메모리 장치(D0)에게 알릴 수 있다. 이러한 경우, 메모리 장치(D0)는 해당 라이트 명령에 응답하여 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장할 수 있다. 컨트롤러(110)가 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 설정하는 방법은 도3a 및 도3b를 참조하여 보다 자세하게 설명될 것이다.
또한, 컨트롤러(110)의 내부 동작은 동작 모드 설정 동작을 포함할 수 있다. 동작 모드 설정 동작은, 메모리 장치(D0)가 노멀 모드에서 동작할 것인지 또는 어드레스 조정 모드에서 동작할 것인지를 메모리 장치(D0)에 설정해주기 위해서 수행될 수 있다.
구체적으로, 컨트롤러(110)는 메모리 장치(D0)의 동작 모드를 어드레스 조정 모드 또는 노멀 모드 중 어느 하나로 선택하고 선택된 동작 모드를 메모리 장치(D0)에 설정할 수 있다. 컨트롤러(110)는, 메모리 장치(D0)가 선택된 동작 모드에서 동작하도록 다양한 방식으로 메모리 장치(D0)를 제어할 수 있다. 간단한 예로서, 컨트롤러(110)는, 동작 모드 설정 명령을 통해 메모리 장치(D0)에 동작 모드를 설정할 수 있다. 다른 예로서, 컨트롤러(110)는 메모리 장치(D0)에 액세스 명령(ACCMD)을 통해 액세스 동작을 지시할 때, 동작 모드를 함께 설정할 수 있다. 어드레스 조정 모드와 노멀 모드에 대한 자세한 설명은 후술될 것이다.
또한, 컨트롤러(110)의 내부 동작은 관리 동작을 포함할 수 있다. 관리 동작은 다양한 원인에 의해 손상된/손상될 염려가 있는 데이터를 리드하여 에러들을 정정하고 다시 라이트하기 위해 수행될 수 있다. 데이터를 손상시키는 원인은, 예를 들어, 라이트 디스터번스 영향을 포함할 수 있다.
컨트롤러(110)는 메모리 장치(D0)로 액세스 명령(ACCMD)을 전송할 수 있다. 액세스 명령(ACCMD)은 호스트 장치의 액세스 요청을 처리하기 위한 것일 수 있다. 컨트롤러(110)는 액세스 명령(ACCMD)을 통해 메모리 장치(D0)에게 제1 어드레스(AD1)에 대한 액세스 동작, 예를 들어, 라이트 동작 및 리드 동작 등을 수행하도록 지시할 수 있다.
실시 예에 따라, 컨트롤러(110)는 액세스 명령(ACCMD)을 통해 컨트롤러(110)의 내부 동작들, 예를 들어, 상술한 오프셋 값 설정 동작, 동작 모드 설정 동작 및 관리 동작을 수행할 수 있다.
메모리 장치(D0)는 컨트롤러(110)의 제어에 따라, 컨트롤러(110)로부터 전송된 데이터를 저장하기 위해 라이트 동작을 수행하고, 저장된 데이터를 리드하여 컨트롤러(110)로 전송하기 위해 리드 동작을 수행할 수 있다. 메모리 장치(D0)는 컨트롤러(110)로부터 전송된 액세스 명령(ACCMD)에 응답하여 후술될 바와 같이 액세스 동작을 수행할 수 있다.
메모리 장치(D0)는 액세스부(ACU)를 포함할 수 있다. 액세스부(ACU)는 컨트롤러(110)의 제어에 따라 오프셋 값(OV)을 저장하는 오프셋 값 레지스터(OVR)를 포함할 수 있다.
우선, 액세스부(ACU)는 컨트롤러(110)의 제어에 따라 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장하고, 어드레스 조정 모드에서 오프셋 값(OV)에 근거하여 어드레스 조정 동작을 수행할 수 있다. 구체적으로, 액세스부(ACU)는, 어드레스 조정 모드에서 컨트롤러(110)로부터 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)을 수신할 때, 오프셋 값 레지스터(OVR)에 저장된 오프셋 값(OV)에 근거하여 제1 어드레스(AD1)를 제2 어드레스(AD2)로 조정함으로써 어드레스 조정 동작을 수행할 수 있다. 그리고, 액세스부(ACU)는 제2 어드레스(AD2)의 메모리 유닛(AD2_R)에 대해 액세스 동작을 수행할 수 있다.
한편, 액세스부(ACU)는, 노멀 모드에서 컨트롤러(110)로부터 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)을 수신할 때, 제1 어드레스(AD1)의 메모리 유닛(미도시)에 대해 그대로 액세스 동작을 수행할 수 있다. 즉, 액세스부(ACU)는, 노멀 모드에서 어드레스 조정 동작을 수행하지 않을 수 있다. 동작 모드에 따른 액세스부(ACU)의 동작은 도2를 참조하여 자세하게 후술될 것이다.
액세스부(ACU)는 컨트롤러(110)의 제어에 따라 동작 모드를 설정한 결과 노멀 모드 또는 어드레스 조정 모드에서 동작할 수 있다. 미도시되었지만, 액세스부(ACU)는 동작 모드를 저장하는 모드 레지스터를 더 포함할 수 있다. 액세스부(ACU)는 컨트롤러(110)의 제어에 따라 모드 레지스터에 동작 모드를 저장하고, 모드 레지스터에 저장된 동작 모드에서 동작할 수 있다.
실시 예에 따라, 컨트롤러(110)는 액세스부(ACU)에 동작 모드를 설정하는 방법이 아닌 다른 방법으로 액세스부(ACU)가 어드레스 조정 동작을 선택적으로 수행하도록 제어할 수 있다. 예를 들어, 컨트롤러(110)는 단지 액세스부(ACU)에 오프셋 값(OV)을 설정한 뒤 액세스 명령(ACCMD)을 이어서 전송함으로써, 액세스부(ACU)가 상술한 어드레스 조정 모드에서처럼 어드레스 조정 동작을 수행한 뒤 액세스 동작을 수행하도록 제어할 수 있다. 이를 위해, 액세스부(ACU)는 오프셋 값(OV)을 설정한 뒤 액세스 명령(ACCMD)을 이어서 수신하면, 액세스 명령(ACCMD)에 응답하여 어드레스 조정 동작을 수행한 뒤 액세스 동작을 수행하도록 구성될 수 있다.
또한, 컨트롤러(110)는 오프셋 값 설정 동작을 수행함이 없이 액세스 명령(ACCMD)을 액세스부(ACU)로 전송함으로써, 액세스부(ACU)가 상술한 노멀 모드에서처럼 어드레스 조정 동작 없이 액세스 동작을 수행하도록 제어할 수 있다. 이를 위해, 액세스부(ACU)는 오프셋 값(OV)의 설정 없이 액세스 명령(ACCMD)을 수신하면, 액세스 명령(ACCMD)에 응답하여 어드레스 조정 동작 없이 액세스 동작을 수행하도록 구성될 수 있다.
실시 예에 따라, 액세스부(ACU)는 별개의 동작 모드들을 설정함이 없이, 액세스 명령(ACCMD)에 응답하여 항상 어드레스 조정 동작을 수행하고 액세스 동작을 수행하도록 구성될 수 있다. 액세스부(ACU)가 이와 같이 구성되는 상황에서, 컨트롤러(110)는 만일 어드레스 조정 동작이 실질적으로 수행되지 않기를 원한다면, 즉, 제1 어드레스(AD1)에 대한 액세스 동작을 원한다면, 오프셋 값(OV)을, 예를 들어, "0"으로 설정할 수 있다. 즉, 액세스부(ACU)는, 오프셋 값(OV)이 "0"으로 설정될 때, 제2 어드레스(AD2)를 제1 어드레스(AD1)와 동일하게 생성하고, 따라서, 제1 어드레스(AD1)에 대해 액세스 동작을 수행할 것이다.
메모리 장치(D0)는 비휘발성 메모리 장치일 수 있다. 메모리 장치(D0)는, 예를 들어, PCRAM(Phase-Change Random Access Memory)일 수 있다. 그러나, 이에 제한되는 것은 아니고, 실시 예에 따라 메모리 장치(D0)는 낸드 플래시(NAND Flash) 또는 노어 플래시(NOR Flash)와 같은 플래시 메모리 장치, FeRAM(Ferroelectrics Random Access Memory), MRAM(Magnetic Random Access Memory) 또는 ReRAM(Resistive Random Access Memory)일 수 있다.
메모리 장치(D0)는 휘발성 메모리 장치일 수 있다. 예를 들어, 메모리 장치(D0)는 SRAM(Static Random Access Memory) 또는 DRAM(Dynamic Random Access Memory)일 수 있다.
도2는 본 발명의 실시 예에 따른 메모리 장치(D0)를 구체적으로 도시하는 블록도이다.
도2를 참조하면, 메모리 장치(D0)는 메모리 영역(RG) 및 액세스부(ACU)를 포함할 수 있다.
메모리 영역(RG)은 복수의 메모리 유닛들(U0~Un)을 포함할 수 있다. 메모리 유닛은 액세스부(ACU)가 메모리 영역(RG)에서 한번에 라이트/리드 가능한 메모리 단위일 수 있다. 메모리 유닛은 복수의 메모리 셀들을 포함할 수 있다. 메모리 영역(RG)이 복수의 메모리 부분들, 예를 들어, 메모리 블록들 또는 메모리 뱅크들의 집합일 때, 메모리 유닛은 복수의 메모리 부분들에서 상대적으로 동일한 위치에 각각 존재하는 메모리 셀들일 수 있다.
메모리 유닛들(U0~Un) 각각은 고유의 어드레스에 대응할 수 있다. 메모리 유닛은, 자신의 어드레스가 액세스부(ACU)에 의해 선택됨으로써 액세스될 수 있다.
액세스부(ACU)는 도1에서 설명한 오프셋 값 레지스터(OVR)뿐만 아니라 어드레스 조정부(ADJ)를 더 포함할 수 있다. 어드레스 조정부(ADJ)는 어드레스 조정 모드에서 오프셋 값 레지스터(OVR)로부터 출력된 오프셋 값(OV)에 근거하여 제1 어드레스(AD1)를 제2 어드레스(AD2)로 조정할 수 있다. 예를 들어, 어드레스 조정부(ADJ)는 제1 어드레스(AD1)에 오프셋 값(OV)을 더함으로써 제2 어드레스(AD2)를 생성할 수 있다.
액세스부(ACU)의 동작을 상세하게 설명하면 다음과 같다.
액세스부(ACU)는 컨트롤러(110)로부터 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)을 수신할 수 있다. 이때, 어드레스 조정 동작이 수행되어야 할 상황일 때, 예를 들어, 어드레스 조정 모드에 있거나 컨트롤러(110)가 어드레스 조정 동작을 수행하도록 기타 방법으로 제어할 때, 어드레스 조정부(ADJ)는 액세스 명령(ACCMD)에 응답하여, 오프셋 값 레지스터(OVR)에 저장된 오프셋 값(OV)에 근거하여 제1 어드레스(AD1)를 제2 어드레스(AD2)로 조정할 수 있다. 그리고 액세스부(ACU)는 제2 어드레스(AD2)의 메모리 유닛(AD2_R)을 액세스할 수 있다.
즉, 컨트롤러(110)는 액세스 명령(ACCMD)을 통해 제1 어드레스(AD1)의 메모리 유닛(AD1_RG)을 액세스하도록 지시하지만, 액세스부(ACU)는 어드레스 조정 모드에서 오프셋 값(OV)에 근거하여 제2 어드레스(AD2)의 메모리 유닛(AD2_RG)을 액세스할 수 있다.
반면에, 어드레스 조정 동작이 수행되지 않아야 할 상황일 때, 예를 들어, 노멀 모드에 있거나 컨트롤러(110)가 어드레스 조정 동작을 수행하지 않도록 기타 방법으로 제어할 때, 액세스부(ACU)는 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여 어드레스 조정 동작을 수행함이 없이 액세스 동작을 수행할 수 있다. 즉, 어드레스 조정부(ADJ)는 비활성화될 수 있다. 실시 예에 따라, 제1 어드레스(AD1)는 어드레스 조정부(ADJ)를 바이패스할 수 있다. 따라서, 액세스부(ACU)는 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여, 제1 어드레스(AD1)의 메모리 유닛(AD1_RG)을 액세스할 수 있다.
앞서 설명한 바와 같이, 실시 예에 따라 액세스부(ACU)는 언제나 어드레스 조정 동작을 수행하도록 구성될 수 있다. 즉, 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)이 전송될 때, 어드레스 조정부(ADJ)는 언제나 오프셋 값(OV)에 근거하여 제1 어드레스(AD1)를 제2 어드레스(AD2)로 조정할 수 있다. 다만, 컨트롤러(110)가 오프셋 값(OV)을 "0"으로 설정할 때, 어드레스 조정부(ADJ)는 제2 어드레스(AD2)를 제1 어드레스(AD1)와 동일하게 생성할 것이다.
도3a 및 도3b은 본 발명의 실시 예에 따라 오프셋 값 레지스터(OVR)에 오프셋 값(OV)이 저장되는 방법들을 도시하는 도면들이다.
도3a를 참조하면, 컨트롤러(110)는 메모리 장치(D0)와 오프셋 값 설정 라인(OVL)을 통해 연결될 수 있다. 컨트롤러(110)는 오프셋 값 설정 라인(OVL)을 활성화시키면서 오프셋 값(OV)에 대한 라이트 명령(WTCMD)을 메모리 장치(D0)로 전송할 수 있다. 이때, 라이트 명령(WTCMD)은 메모리 장치(D0)의 메모리 영역(RG)에 데이터를 라이트하기 위한 보통의 라이트 명령과 동일한 포멧일 수 있다. 즉, 컨트롤러(110)는 데이터를 메모리 영역(RG)에 저장하기 위해서는, 오프셋 값 설정 라인(OVL)을 비활성화시키면서 해당 데이터에 대한 라이트 명령(WTCMD)을 메모리 장치(D0)로 전송할 수 있다. 즉, 컨트롤러(110)는 오프셋 값 설정 라인(OVL)을 추가로 제어함으로써 라이트 명령(WTCMD)이 보통의 라이트 동작을 위한 것인지 또는 오프셋 값 설정 동작을 위한 것인지를 구별하여 제어할 수 있다.
액세스부(ACU)는 오프셋 값 설정 라인(OVL)이 활성화되었을 때, 오프셋 값(OV)에 대한 라이트 명령(WTCMD)에 응답하여 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장할 수 있다. 액세스부(ACU)는 오프셋 값 설정 라인(OVL)이 비활성화되었을 때, 라이트 명령(WTCMD)에 응답하여 메모리 영역(RG)에 대해 라이트 동작을 수행할 수 있다.
도3b를 참조하면, 컨트롤러(110)는 오프셋 값 설정 명령(OVCMD)을 메모리 장치(D0)로 전송할 수 있다. 컨트롤러(110)는 오프셋 값 설정 명령(OVCMD)을 통해 메모리 장치(D0)에게 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장하도록 지시할 수 있다. 오프셋 값 설정 명령(OVCMD)은 일종의 파라미터 셋팅 명령일 수 있다.
액세스부(ACU)는 오프셋 값 설정 명령(OVCMD)에 응답하여 오프셋 값 레지스터(OVR)에 오프셋 값(OV)을 저장할 수 있다.
도4는 본 발명의 실시 예에 따른 메모리 시스템(100)의 동작 방법을 도시하는 순서도이다. 도4는, 컨트롤러(110)가, 어드레스 조정 모드 및 노멀 모드를 지원하는 메모리 장치(D0)를 액세스하는 방법을 예시적으로 도시한다.
도1 및 도4를 함께 참조하면, 단계(S110)에서, 컨트롤러(110)는 메모리 장치(D0)의 어드레스 조정 동작이 필요한지 여부를 판단할 수 있다. 어드레스 조정 동작이 필요할 때, 절차는 단계(S120)로 진행될 수 있다.
단계(S120)에서, 컨트롤러(110)는 메모리 장치(D0)에 오프셋 값(OV)을 설정할 수 있다.
단계(S130)에서, 컨트롤러(110)는 메모리 장치(D0)에 어드레스 조정 모드를 설정할 수 있다.
단계(S140)에서, 컨트롤러(110)는 메모리 장치(D0)로 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)을 전송할 수 있다.
실시 예에 따라, 컨트롤러(110)는 단계(S130)처럼 별도로 동작 모드 설정 동작을 수행하지 않고, 단계(S140)에서 액세스 명령(ACCMD)을 통해 메모리 장치(D0)에 어드레스 조정 모드의 설정과 액세스 동작을 함께 지시할 수 있다.
단계(S150)에서, 메모리 장치(D0)는 액세스 명령(ACCMD)에 응답하여, 오프셋 값(OV)에 근거하여 제1 어드레스(AD1)를 제2 어드레스(AD2)로 조정할 수 있다.
단계(S160)에서, 메모리 장치(D0)는 제2 어드레스(AD2)에 대해 액세스 동작을 수행할 수 있다.
한편, 단계(S110)에서, 어드레스 조정 동작이 필요하지 않을 때, 절차는 단계(S170)로 진행될 수 있다.
단계(S170)에서, 컨트롤러(110)는 메모리 장치(D0)에 노멀 모드를 설정할 수 있다.
단계(S180)에서, 컨트롤러(110)는 메모리 장치(D0)로 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)을 전송할 수 있다.
실시 예에 따라, 컨트롤러(110)는 단계(S170)처럼 별도로 동작 모드 설정 동작을 수행하지 않고, 단계(S180)에서 액세스 명령(ACCMD)을 통해 메모리 장치(D0)에 노멀 모드의 설정과 액세스 동작을 함께 지시할 수 있다.
단계(S190)에서, 메모리 장치(D0)는 액세스 명령(ACCMD)에 응답하여, 제1 어드레스(AD1)에 대해 액세스 동작을 수행할 수 있다.
실시 예에 따라, 메모리 장치(D0)가 별개의 동작 모드를 지원하지 않을 때, 단계(S130)는 제외되고, 단계(S120)에서 컨트롤러(110)는 메모리 장치(D0)에 오프셋 값(OV)을 설정한 뒤 단계(S140)에서 메모리 장치(D0)로 액세스 명령(ACCMD)을 이어서 전송할 수 있다. 또한, 단계(S170)가 제외되고, 단계(S180)에서 컨트롤러(110)는 메모리 장치(D0)로 액세스 명령(ACCMD)을 즉시 전송할 수 있다. 이때, 메모리 장치(D0)는 오프셋 값(OV)을 설정한 뒤 액세스 명령(ACCMD)을 이어서 수신하면, 액세스 명령(ACCMD)에 응답하여 어드레스 조정 동작을 수행한 뒤 액세스 동작을 수행하도록 구성될 수 있다. 또한, 메모리 장치(D0)는 오프셋 값(OV)의 설정 없이 액세스 명령(ACCMD)을 수신하면, 액세스 명령(ACCMD)에 응답하여 어드레스 조정 동작 없이 액세스 동작을 수행하도록 구성될 수 있다.
도5는 본 발명의 실시 예에 따른 메모리 시스템(100)의 동작 방법을 도시하는 순서도이다. 도5는, 컨트롤러(110)가 항상 어드레스 조정 모드를 수행하는 메모리 장치(D0)를 액세스하는 방법을 예시적으로 도시한다.
도1 및 도5를 함께 참조하면, 단계(S210)에서, 컨트롤러(110)는 메모리 장치(D0)의 어드레스 조정 동작이 필요한지 여부를 판단할 수 있다. 어드레스 조정 동작이 필요할 때, 절차는 단계(S220)로 진행될 수 있다. 어드레스 조정 동작이 필요하지 않을 때, 절차는 단계(S230)로 진행될 수 있다.
단계(S220)에서, 컨트롤러(110)는 메모리 장치(D0)에 오프셋 값(OV)을 필요한 소정 값으로 설정할 수 있다.
단계(S230)에서, 컨트롤러(110)는 메모리 장치(D0)에 오프셋 값(OV)을 "0"으로 설정할 수 있다.
단계(S240)에서, 컨트롤러(110)는 메모리 장치(D0)로 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)을 전송할 수 있다.
단계(S250)에서, 메모리 장치(D0)는 액세스 명령(ACCMD)에 응답하여, 오프셋 값(OV)에 근거하여 제1 어드레스(AD1)를 제2 어드레스(AD2)로 조정할 수 있다. 이때, 오프셋 값(OV)이 소정 값으로 설정되었다면, 제1 어드레스(AD1)는 소정 값만큼 조정될 수 있다. 그리고, 오프셋 값(OV)이 "0"으로 설정되었다면, 조정된 제2 어드레스(AD2)는 제1 어드레스(AD1)와 동일할 것이다.
단계(S260)에서, 메모리 장치(D0)는 제2 어드레스(AD2)에 대해 액세스 동작을 수행할 수 있다.
도6은 본 발명의 실시 예에 따른 메모리 시스템(200)을 도시하는 블록도이다.
도6을 참조하면, 메모리 시스템(200)은 컨트롤러(210) 및 저장 매체(220)를 포함할 수 있다.
컨트롤러(210)는 저장 매체(220)와 제어 라인(CTL) 및 데이터 라인들(DQ1~DQ4)을 통해 연결될 수 있다. 제어 라인(CTL) 및 데이터 라인들(DQ1~DQ4) 각각은 하나 이상의 신호 라인들을 포함할 수 있다. 제어 라인(CTL)은 명령을 전송하기 위한 명령 라인, 어드레스를 전송하기 위한 어드레스 라인 등을 포함할 수 있다.
컨트롤러(210)는 제어 라인(CTL)을 통해 각종 명령 및 어드레스 등의 제어 신호를 저장 매체(220)의 메모리 장치들(D1~D4)로 전송할 수 있다. 이때, 메모리 장치들(D1~D4)은 제어 라인(CTL)을 공유할 수 있다. 따라서, 컨트롤러(210)는 제어 라인(CTL)을 통해 메모리 장치들(D1~D4)로 제어 신호를 동시에 전송함으로써 메모리 장치들(D1~D4)을 동시에 제어할 수 있다.
그러나, 실시 예에 따라, 컨트롤러(210)는 제어 라인(CTL)을 통해 메모리 장치들(D1~D4)을 개별적으로 제어할 수 있다. 예를 들어, 컨트롤러(210)는, 메모리 장치들(D1~D4)이 제어 라인(CTL)으로 전송된 제어 신호에 선택적으로 응답하도록 메모리 장치들(D1~D4)을 설정할 수 있다. 예를 들어, 컨트롤러(210)는 소정의 식별 정보를 포함하는 제어 신호를 제어 라인(CTL)으로 전송할 수 있다. 이때, 메모리 장치들(D1~D4)은 제어 신호에 포함된 식별 정보를 참조하여 제어 신호에 선택적으로 응답할 수 있다. 따라서, 메모리 장치들(D1~D4)이 제어 라인(CTL)을 공유하더라도, 컨트롤러(210)는 식별 정보를 통해 메모리 장치들(D1~D4)을 개별적으로 선택하고 제어할 수 있다. 컨트롤러(210)는 식별 정보를 통해 메모리 장치들(D1~D4) 중 적어도 하나를 선택할 수 있다.
실시 예에 따라, 컨트롤러(210)는 메모리 장치들(D1~D4)과 선택 라인들(미도시)을 통해 추가적으로 연결될 수 있다. 메모리 장치들(D1~D4)들 각각은 자신의 선택 라인을 통해 컨트롤러(210)와 연결될 수 있다. 즉, 메모리 장치들(D1~D4)은 선택 라인들을 공유하지 않을 수 있다. 따라서, 컨트롤러(210)는 선택 라인들을 통해 메모리 장치들(D1~D4)을 개별적으로 선택하고 제어할 수 있다. 컨트롤러(210)는 선택 라인들을 통해 메모리 장치들(D1~D4) 중 적어도 하나를 선택할 수 있다.
구체적으로, 컨트롤러(210)는 선택 라인들 중 적어도 하나의 선택 라인을 활성화시킴으로써 해당 선택 라인에 연결된 메모리 장치를 선택할 수 있다. 활성화된 선택 라인에 연결된 메모리 장치는 제어 라인(CTL)을 통해 제어 신호를 수신함으로써 컨트롤러(210)의 제어를 받을 수 있다.
활성화된 선택 라인에 연결되지 않은 메모리 장치, 즉, 비활성화된 선택 라인에 연결된 메모리 장치는 제어 라인(CTL)을 통해 전송된 제어 신호를 무시함으로써 컨트롤러(210)의 제어를 받지 않을 수 있다.
컨트롤러(210)는 데이터 라인들(DQ1~DQ4)을 통해 메모리 장치들(D1~D4)과 데이터를 주고받을 수 있다. 데이터 라인들(DQ1~DQ4)은 메모리 장치들(D1~D4)에 각각 대응할 수 있다. 따라서, 컨트롤러(210)는 제어 라인(CTL)을 통해 메모리 장치들(D1~D4)로 제어 신호를 동시에 전송하면서, 데이터 라인들(DQ1~DQ4)을 통해 메모리 장치들(D1~D4)과 서로 다른 데이터를 각각 주고받을 수 있다. 예를 들어, 컨트롤러(210)는 제어 라인(CTL)을 통해 메모리 장치들(D1~D4)로 라이트 명령을 동시에 전송하면서, 데이터 라인들(DQ1~DQ4)을 통해 메모리 장치들(D1~D4)로 서로 다른 데이터를 각각 전송할 수 있다.
실시 예에 따라, 컨트롤러(210)가 상술한 바와 같이 식별 정보 또는 선택 라인을 통해 메모리 장치들(D1~D4)을 개별적으로 선택하고 제어할 수 있을 때, 컨트롤러(210)는 선택된 메모리 장치에 연결된 데이터 라인을 통해서만 선택된 메모리 장치와 데이터를 주고받을 수 있다.
상술한 컨트롤러(210)의 구성 하에서, 컨트롤러(210)는 도1의 컨트롤러(110)와 유사하게 구성되고 동작할 수 있다.
구체적으로, 컨트롤러(210)는 상술한 오프셋 값 설정 동작을 통해 메모리 장치들(D1~D4)에 오프셋 값들(OV1~OV4)을 설정할 수 있다. 예를 들어, 제어 라인(CTL)은 도3a에 도시된 오프셋 값 설정 라인(OVL)과 같은, 오프셋 값 설정 라인(미도시)을 더 포함할 수 있다. 즉, 컨트롤러(210)는 오프셋 값 설정 라인을 통해 메모리 장치들(D1~D4)과 동시에 연결되고, 메모리 장치들(D1~D4)은 오프셋 값 설정 라인을 공유할 수 있다. 이러한 경우, 컨트롤러(210)는 오프셋 값들(OV1~OV4)을 메모리 장치들(D1~D4)에 동시에 설정하기 위해서, 오프셋 값 설정 라인을 활성화시키면서 오프셋 값들(OV1~OV4)에 대한 라이트 명령을 제어 라인(CTL)의 명령 라인을 통해 메모리 장치들(D1~D4)로 전송할 수 있다. 이때, 컨트롤러(210)는 오프셋 값들(OV1~OV4)을 데이터 라인들(DQ1~DQ4)을 통해 메모리 장치들(D1~D4)로 전송할 수 있다. 오프셋 값들(OV1~OV4)에 대한 라이트 명령은 보통의 라이트 동작을 위한 라이트 명령과 동일한 포멧이지만, 컨트롤러(210)는 오프셋 값 설정 라인을 별도로 활성화시킴으로써 오프셋 값 설정 동작과 보통의 라이트 동작을 구별하여 제어할 수 있다.
실시 예에 따라, 컨트롤러(210)는 메모리 장치들(D1~D4)에 오프셋 값들(OV1~OV4)을 각각 설정하기 위해, 도3b에 도시된 오프셋 값 설정 명령(OVCMD)과 같은 오프셋 값 설정 명령을 제어 라인(CTL)으로 전송할 수 있다. 이때, 제어 라인(CTL)으로 전송되는 오프셋 값 설정 명령은 오프셋 값을 포함할 수 있다. 이러한 경우, 서로 다른 오프셋 값들(OV1~OV4)을 설정하기 위해서, 오프셋 값 설정 명령은 메모리 장치들(D1~D4)로 개별적으로 전송되어야 할 것이다. 따라서, 컨트롤러(210)는 각각의 메모리 장치들(D1~D4)을 식별 정보 또는 선택 라인을 통해 개별적으로 제어하면서 오프셋 값 설정 명령을 제어 라인(CTL)으로 전송할 수 있다. 오프셋 값 설정 명령은 선택된 메모리 장치만 수신할 수 있다.
그리고, 컨트롤러(210)는 동작 모드를 어드레스 조정 모드 또는 노멀 모드 중 어느 하나로 선택하고, 상술한 동작 모드 설정 동작을 통해 메모리 장치들(D1~D4)에 동작 모드를 설정할 수 있다. 예를 들어, 컨트롤러(210)는 동작 모드 설정 명령을 제어 라인(CTL)으로 전송함으로써 메모리 장치들(D1~D4)에 동일한 동작 모드를 동시에 설정할 수 있다.
실시 예에 따라, 컨트롤러(210)는 각각의 메모리 장치들(D1~D4)을 식별 정보 또는 선택 라인을 통해 개별적으로 제어하면서 동작 모드 설정 명령을 제어 라인(CTL)으로 전송함으로써, 메모리 장치들(D1~D4)에 서로 다른 동작 모드들을 개별적으로 설정할 수 있다.
실시 예에 따라, 컨트롤러(110)는 메모리 장치들(D1~D4)에 동작 모드를 설정하는 방법이 아닌 다른 방법으로 각각의 메모리 장치들(D1~D4)이 어드레스 조정 동작을 선택적으로 수행하도록 제어할 수 있다. 예를 들어, 컨트롤러(110)는 메모리 장치들(D1~D4)에 오프셋 값들(OV1~OV4)을 설정한 뒤 액세스 명령(ACCMD)을 이어서 전송함으로써, 메모리 장치들(D1~D4)이 어드레스 조정 모드에서처럼 어드레스 조정 동작을 수행한 뒤 액세스 동작을 수행하도록 제어할 수 있다. 즉, 메모리 장치들(D1~D4)은 오프셋 값들(OV1~OV4)을 설정한 뒤 액세스 명령(ACCMD)을 이어서 수신하면, 액세스 명령(ACCMD)에 응답하여 어드레스 조정 동작을 수행한 뒤 액세스 동작을 수행하도록 구성될 수 있다.
또한, 컨트롤러(110)는 오프셋 값 설정 동작을 수행함이 없이 액세스 명령(ACCMD)을 메모리 장치들(D1~D4)로 전송함으로써, 메모리 장치들(D1~D4)이 노멀 모드에서처럼 어드레스 조정 동작 없이 액세스 동작을 수행하도록 제어할 수 있다. 즉, 메모리 장치들(D1~D4)은 오프셋 값들(OV1~OV4)의 설정 없이 액세스 명령(ACCMD)을 수신하면, 액세스 명령(ACCMD)에 응답하여 어드레스 조정 동작 없이 액세스 동작을 수행하도록 구성될 수 있다.
컨트롤러(210)는 제어 라인(CTL)을 통해 메모리 장치들(D1~D4)로 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)을 전송할 수 있다.
저장 매체(220)는 메모리 장치들(D1~D4)을 포함할 수 있다. 메모리 장치들(D1~D4)은 메모리 영역들(R1~R4) 및 액세스부들(ACU1~ACU4)을 각각 포함할 수 있다. 메모리 장치들(D1~D4) 각각은 도1의 메모리 장치(D0)와 실질적으로 동일하게 구성되고 동작할 수 있다.
구체적으로, 메모리 장치들(D1~D4) 각각은 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여, 어드레스 조정 동작을 선택적으로 수행하고, 액세스 동작을 수행할 수 있다. 예를 들어, 메모리 장치들(D1~D4)이 상술한 방법들에 따라 어드레스 조정 동작을 수행하도록 설정되어 있다면, 메모리 장치들(D1~D4) 각각은 자신의 오프셋 값에 근거하여 제1 어드레스(AD1)에 대해 어드레스 조정 동작을 수행한 뒤 액세스 동작을 수행할 수 있다. 예를 들어, 메모리 장치(D1)는 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여, 오프셋 값(OV1)에 근거하여 제1 어드레스(AD1)를 제2 어드레스(AD11)로 조정하고, 제2 어드레스(AD11)의 메모리 유닛(AD11_R1)을 액세스할 수 있다. 오프셋 값들(OV1~OV4)이 서로 다를 때, 메모리 장치들(D1~D4)은 서로 다른 제2 어드레스들(AD11~AD14)에 대해 액세스 동작을 각각 수행할 수 있다.
한편, 메모리 장치들(D1~D4)은 상술한 바에 따라 서로 다른 동작 모드들로 설정될 수 있다. 어드레스 조정 모드로 설정된 메모리 장치는 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여, 상술한 바와 같이 어드레스 조정 동작을 수행하고, 조정된 어드레스에 대해 액세스 동작을 수행할 수 있다. 반면에, 노멀 모드로 설정된 메모리 장치는 제1 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여, 어드레스 조정 동작을 수행하지 않고, 제1 어드레스(AD1)에 대해 액세스 동작을 수행할 것이다.
정리하면, 컨트롤러(210)는 메모리 장치들(D1~D4)의 서로 다른 제2 어드레스들(AD11~AD14)에 대한 액세스 동작을 동시에 제어할 수 있다. 즉, 컨트롤러(210)는 제1 어드레스(AD1)와 제2 어드레스들(AD11~AD14) 간의 차이들을 오프셋 값들(OV1~OV4)로서 메모리 장치들(D1~D4)에 각각 설정하고, 제1 어드레스(AD1)를 사용하여 제2 어드레스들(AD11~AD14)의 메모리 유닛들(AD11_R1, AD12_R2, AD13_R3, AD14_R4)을 동시에 액세스할 수 있다. 즉, 제1 어드레스(AD1)는 오프셋 값들(OV1~OV4)을 계산하기 위한 기준 어드레스가 된다.
도7은 본 발명의 실시 예에 따라 메인 메모리 영역들(MR1~MR4)과 대체 메모리 영역들(RR1~RR4)을 포함하는 저장 매체(220)를 도시하는 도면이다.
도7을 참조하면, 각각의 메모리 장치들(D1~D4)은 메인 메모리 영역들(MR1~MR4)과 대체 메모리 영역들(RR1~RR4)을 포함할 수 있다. 예를 들어, 메모리 장치(D1)는 메인 메모리 영역(MR1)과 대체 메모리 영역(RR1)을 포함할 수 있다. 도2의 메모리 영역이 복수의 메모리 유닛들을 포함한 것과 유사하게, 메인 메모리 영역들(MR1~MR4) 각각은 메인 메모리 유닛들(MU0~MUm)을 포함하고 및 대체 메모리 영역들(RR1~RR4) 각각은 대체 메모리 유닛들(RU0~RUr)을 포함할 수 있다.
대체 메모리 유닛들(RU0~RUr)은 메인 메모리 영역(MR1)에 포함된 결함 메인 메모리 유닛을 대체하기 위해 사용될 수 있다. 예를 들어, 도시된 바와 같이 메모리 장치들(D1~D4)의 메인 메모리 유닛들(AD1_MR1~AD1_MR4) 중 메인 메모리 유닛들(AD1_MR1, AD1_MR4)은 정상이지만, 메인 메모리 유닛들(AD1_MR2, AD1_MR3)은 결함을 가질 수 있고, 따라서, 결함 메인 메모리 유닛들(AD1_MR2, AD1_MR3)은 대체 메모리 유닛들(AD12_RR2, AD13_RR3)로 각각 대체될 수 있다.
메모리 장치(D2)는 결함 메인 메모리 유닛(AD1_MR2)에 대한 액세스 명령(ACCMD)에 응답하여, 결함 메인 메모리 유닛(AD1_MR2) 대신 대체 메모리 유닛(AD12_RR2)을 액세스할 수 있다. 결함 메인 메모리 유닛(AD1_MR2)을 대체 메모리 유닛(AD12_RR2)으로 대체하였다는 것을 나타내는 대체 정보는 메모리 장치(D2)가 관리할 수 있다. 메모리 장치(D2)는 대체 정보를 참조하여 액세스 명령(ACCMD)이 결함 메인 메모리 유닛(AD1_MR2)의 어드레스(AD1)를 포함할 때, 결함 메인 메모리 유닛(AD1_MR2) 대신에 대체 메모리 유닛(AD12_RR2)을 액세스할 수 있다.
한편, 대체 정보는, 메모리 장치(D2)를 생산할 때 테스트에 의해 생성될 수도 있고, 메모리 장치(D2)의 동작 중에 새로운 결함 메인 메모리 유닛이 발생함에 따라 생성될 수도 있다. 또한, 대체 정보는, 결함 메인 메모리 유닛(AD1_MR2)을 대체하기 위해 대체 메모리 유닛(AD12_RR2) 대신 대체 메모리 영역(RR2)의 다른 대체 메모리 유닛이 사용될 때, 수정될 수 있다.
또한, 메모리 장치(D3)도 대체 정보, 즉, 결함 메인 메모리 유닛(AD1_MR3)을 대체 메모리 유닛(AD13_RR3)으로 대체하였다는 것을 나타내는 정보를 관리할 수 있다.
한편, 메인 메모리 유닛들(AD1_MR1~AD1_MR4)은 각각의 메모리 장치들(D1~D4)에서 동일한 어드레스(AD1)에 대응할 수 있다. 다른 말로 하면, 메인 메모리 유닛들(AD1_MR1~AD1_MR4)은 각각의 메모리 장치들(D1~D4)에서 상대적으로 동일한 위치에 존재할 수 있다.
메인 메모리 유닛들(AD1_MR2, AD1_MR3)을 대체하는 대체 메모리 유닛들(AD12_RR2, AD13_RR3)의 대체 어드레스들(AD12, AD13)은 동일하거나 서로 다를 수 있다. 다른 말로 하면, 대체 메모리 유닛들(AD12_RR2, AD13_RR3)은 각각의 메모리 장치들(D2, D3)에서 상대적으로 동일한 위치에 존재하거나 서로 다른 위치들에 존재할 수 있다.
상술한 구조에서, 컨트롤러(210)는 제어 라인(CTL)을 통해 어드레스(AD1)에 대한 액세스 명령(ACCMD), 즉, 메인 메모리 유닛들(AD1_MR1~AD1_MR4)에 대한 액세스 명령(ACCMD)을 메모리 장치들(D1~D4)로 동시에 전송할 수 있다. 어드레스 조정 동작을 수행하지 않을 때, 액세스부들(ACU1~ACU4)은 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여 메인 메모리 유닛들(AD1_MR1, AD1_MR4)을 액세스할 것이고, 액세스부들(ACU1~ACU4)은 어드레스(AD1)에 대한 액세스 명령(ACCMD)에 응답하여 대체 메모리 유닛들(AD12_RR2, AD13_RR3)을 액세스할 것이다.
한편, 어드레스(AD1)는 로우 어드레스 및 컬럼 어드레스를 포함할 수 있다. 대체 메모리 영역들(RR1~RR4)은, 로우 어드레스 및 컬럼 어드레스 중 어느 하나에 관해 결함이 발생할 때, 액세스될 수 있다.
구체적으로, 각각의 대체 메모리 유닛들(AD12_RR2, AD13_RR3)은 어드레스(AD1)의 로우 어드레스 및 컬럼 어드레스 중 결함있는 어느 하나가 대체됨으로써 선택될 수 있다. 예를 들어, 결함 메인 메모리 유닛(AD1_MR2)은 로우 어드레스에 대한 결함으로 인해 발생한 것이라면, 대체 메모리 유닛(AD12_MR2)은 어드레스(AD1)의 로우 어드레스가 대체됨으로써 선택될 수 있다. 즉, 대체 메모리 유닛(AD12_MR2)의 대체 어드레스(AD12)는 어드레스(AD1)와 비교하면 서로 다른 로우 어드레스 및 동일한 컬럼 어드레스를 포함할 수 있다. 예를 들어, 결함 메인 메모리 유닛(AD1_MR3)은 컬럼 어드레스에 대해 결함으로 인해 발생한 것이라면, 대체 메모리 유닛(AD13_MR2)은 어드레스(AD1)의 컬럼 어드레스가 대체됨으로써 선택될 수 있다. 즉, 대체 메모리 유닛(AD13_MR2)의 대체 어드레스(AD13)는 어드레스(AD1)와 비교하면 동일한 로우 어드레스 및 서로 다른 컬럼 어드레스를 포함할 수 있다.
도8은 라이트 디스터번스 영향이 인접 메모리 유닛들로 미치는 상황을 설명하기 위한 도면이다.
도8을 참조하면, 상술한 바와 같이 메모리 장치들(D1~D4)로 어드레스(AD1)에 대한 라이트 명령이 동시에 전송될 때, 메모리 장치들(D1~D4)은 메인 메모리 유닛들(AD1_MR1, AD1_MR4)에 대해 라이트 동작을 수행할 것이고, 메모리 장치들(D1~D4)은 대체 메모리 유닛들(AD12_RR2, AD13_RR3)에 대해 라이트 동작을 수행할 것이다.
이때, 라이트 디스터번스 영향은 라이트 동작이 수행되는 메인 메모리 유닛들(AD1_MR1, AD1_MR4)과 대체 메모리 유닛들(AD12_RR2, AD13_RR3)에 인접한 인접 메모리 유닛들에 미칠 수 있다. 따라서, 동일한 데이터가 인접 메모리 유닛들에 계속 유지되는 동안 어드레스(AD1)에 대한 라이트 명령이 지속적으로 전송되면, 데이터는 계속 손상되고 결국 복구 불가능하게 될 수 있다.
따라서, 어드레스(AD1)에 대응하는 라이트 횟수가 소정의 임계 횟수에 도달할 때, 컨트롤러(210)는 어드레스(AD1)에 관한 인접 메모리 유닛들에 대해 관리 동작을 수행할 수 있다. 예를 들어, 컨트롤러(210)는 인접 메모리 유닛들에 저장된 데이터를 리드하여 에러들을 정정하고 동일한 위치에 라이트함으로써 관리 동작을 수행할 수 있다.
이때, 대체 메모리 유닛들(AD12_RR2, AD13_RR3)이 사용됨에 따라, 인접 메모리 유닛들은 메모리 장치들(D1~D4)에서 서로 다른 어드레스들에 대응하지만, 컨트롤러(210)는 후술될 바와 같이 메모리 장치들(D1~D4) 각각에 어드레스 조정 동작을 위한 오프셋 값을 설정함으로써 인접 메모리 유닛들에 대한 관리 동작을 효율적으로 수행할 수 있다.
한편, 도8은, 메인 메모리 유닛들(AD1_MR1, AD1_MR4) 및 대체 메모리 유닛들(AD12_RR2, AD13_RR3) 각각에 대해 반대의 두 방향에서 인접하는 인접 메모리 유닛들을 도시한다. 그러나, 라이트 디스터번스 영향은 라이트되는 메모리 셀로부터 모든 방향으로 미칠 수 있으므로, 메모리 장치의 구조에 따라 인접 메모리 유닛들은 하나의 메모리 장치에서 2개 이상으로 존재할 수 있다. 물론, 실시 예에 따라 하나의 메모리 장치에서 단일의 인접 메모리 유닛이 존재할 수도 있다.
도9a 내지 도9c는 본 발명의 실시 예에 따라 컨트롤러(210)가 관리 동작을 수행하는 방법을 도시하는 도면들이다.
도9a를 참조하면, 컨트롤러(210)는 어드레스(AD1)에 대응하는 라이트 횟수를 카운트할 수 있다. 컨트롤러(210)는 어드레스(AD1)에 대한 라이트 명령(WTCMD)을 저장 매체(220)로 전송할 때마다 라이트 횟수를 증가시킬 수 있다. 즉, 라이트 횟수는 모든 메모리 장치들(D1~D4)이 어드레스(AD1)에 대해 라이트 동작을 수행할 때뿐만 아니라, 메모리 장치들(D1~D4) 중 선택된 일부만이 수행할 때도 증가될 수 있다. 이것은 가장 나쁜 케이스, 즉, 어느 하나의 메모리 장치만 어드레스(AD1)에 대해 라이트 동작을 지속적으로 수행하는 경우를 대비할 수 있다.
컨트롤러(210)는 어드레스(AD1)에 대응하는 라이트 횟수가 임계 횟수에 도달할 때, 어드레스(AD1)의 인접 어드레스들(TU, TD)에 대해 관리 동작을 수행할 수 있다. 인접 어드레스들(TU, TD)은 어드레스(AD1)의 메모리 유닛에 모든 방향으로 인접한 인접 메모리 유닛들의 어드레스일 수 있다.
구체적으로, 컨트롤러(210)는 메모리 장치들(D1~D4)의 대체 정보를 메모리 장치들(D1~D4)로부터 획득할 수 있다. 컨트롤러(210)는 대체 정보를 부팅 시에 획득하거나, 부팅된 후 동작 중에 획득할 수 있다. 따라서, 컨트롤러(210)는 대체 정보를 통해서, 메모리 장치들(D2, D3)은 어드레스(AD1)의 결함 메인 메모리 유닛들(AD1_MR2, AD1_MR3)을 대체하여 대체 메모리 유닛들(AD12_RR2, AD13_RR3)을 사용하고 있다는 것을 알 수 있다.
그리고, 컨트롤러(210)는 결함 메인 메모리 유닛(AD1_MR2)의 어드레스(AD1)와 대체 메모리 유닛(AD12_RR2)의 대체 어드레스(AD12) 간의 차이를 메모리 장치(D2)에 설정할 오프셋 값(OV2)으로서 계산할 수 있다. 예를 들어, 대체 어드레스(AD12)가 어드레스(AD1)와 서로 다른 로우 어드레스를 포함할 때, 오프셋 값(OV2)은 어드레스(AD1)의 로우 어드레스와 대체 어드레스(AD12)의 로우 어드레스의 차이일 수 있다.
유사하게, 컨트롤러(210)는 결함 메인 메모리 유닛(AD1_MR3)의 어드레스(AD1)와 대체 메모리 유닛(AD13_RR3)의 대체 어드레스(AD13) 간의 차이를 메모리(D3)에 설정할 오프셋 값(OV3)으로서 계산할 수 있다. 예를 들어, 대체 어드레스(AD13)가 어드레스(AD1)와 서로 다른 컬럼 어드레스를 포함할 때, 오프셋 값(OV3)은 어드레스(AD1)의 컬럼 어드레스와 대체 어드레스(AD13)의 컬럼 어드레스의 차이일 수 있다.
컨트롤러(210)는 계산된 오프셋 값들(OV2, OV3)을 메모리 장치들(D2, D3)에 각각 설정할 수 있다. 라이트 횟수가 임계 횟수에 도달한 어드레스(AD1)는 오프셋 값들(OV2, OV3)을 계산하기 위한 기준 어드레스가 될 수 있다.
실시 예에 따라, 컨트롤러(210)는 대체 메모리 유닛을 사용하지 않는 메모리 장치들(D1, D4)에 오프셋 값들(OV1, OV4)을 "0"으로 설정할 수 있다.
도9b를 참조하면, 도9a의 인접 메모리 유닛들 중 일부가 관리 동작의 타겟 메모리 유닛들로서 도시된다. 컨트롤러(210)는 우선 도9b에 도시된 타겟 메모리 유닛들에 대한 관리 동작을 수행할 수 있다. 전체 인접 메모리 유닛들 중에서 동시에 관리 동작이 수행되는 타겟 메모리 유닛들은 라이트 디스터번스를 유발한 메인 또는 결함 메모리 유닛들에 대해 상대적으로 동일한 방향에 위치할 수 있다.
한편, 도9b에서 대체 메모리 유닛을 사용하지 않는 메모리 장치들(D1, D4)은 노멀 모드로 설정되고, 대체 메모리 유닛들(AD12_RR2, AD13_RR3)을 사용하는 메모리 장치들(D2, D3)은 어드레스 조정 모드로 설정된 것으로 가정할 것이다.
구체적으로 관리 동작을 설명하면, 컨트롤러(210)는 제어 라인(CTL)을 통해 타겟 어드레스(TU)에 대한 리드 명령(RDCMD)을 메모리 장치들(D1~D4)로 전송할 수 있다. 리드 명령(RDCMD)에 포함되는 타겟 어드레스(TU)는 기준 어드레스(AD1)의 인접 어드레스들 중 어느 하나일 수 있다. 기준 어드레스(AD1)의 인접 어드레스들은 기준 어드레스(AD1)의 메모리 유닛에 인접한 인접 메모리 유닛들의 어드레스일 수 있다.
메모리 장치들(D1~D4)의 타겟 메모리 유닛들이 타겟 어드레스(TU)를 통해 동시에 액세스되는 방법은 다음과 같다. 우선, 메모리 장치들(D1~D4) 각각은 타겟 어드레스(TU)에 대한 리드 명령(RDCMD)에 응답하여, 자신의 오프셋 값에 근거하여 입력된 타겟 어드레스(TU)를 자신의 실제 타겟 어드레스로 조정하고 실제 타겟 어드레스에 대해 리드 동작을 수행할 수 있다.
예를 들어, 노멀 모드에 있는 메모리 장치(D1)의 액세스부(ACU1)는 타겟 어드레스(TU)에 대한 리드 명령(RDCMD)에 응답하여, 어드레스 조정 동작을 수행하지 않고 타겟 어드레스(TU)의 타겟 메모리 유닛(TU_MR1)을 리드 액세스할 수 있다.
예를 들어, 어드레스 조정 모드에 있는 메모리 장치(D2)의 액세스부(ACU2)는 타겟 어드레스(TU)에 대한 리드 명령(RDCMD)에 응답하여, 오프셋 값(OV2)에 근거하여 타겟 어드레스(TU)를 실제 타겟 어드레스(TU2)로 조정하고 실제 타겟 어드레스(TU2)의 타겟 메모리 유닛(TU2_RR2)을 리드 액세스할 수 있다. 즉, 타겟 어드레스(TU)와 실제 타겟 어드레스(TU2)의 차이는 결함 메인 메모리 유닛(AD1_MR2)의 어드레스(AD1)와 대체 메모리 유닛(AD12_RR2)의 대체 어드레스(AD12)의 차이와 같기 때문에, 타겟 어드레스(TU)는 오프셋 값(OV2)에 근거하여 실제 타겟 어드레스(TU2)로 조정될 수 있다.
그리고, 컨트롤러(210)는 리드 명령(RDCMD)에 따라 리드된 데이터에 대해 에러 정정 동작을 수행할 수 있다.
이어서, 컨트롤러(210)는 정정된 데이터를 동일한 타겟 메모리 유닛들에 다시 저장하기 위해, 타겟 어드레스(TU)에 대한 라이트 명령(WTCMD)을 메모리 장치들(D1~D4)로 전송할 수 있다. 리드 동작에 대해 설명한 바와 유사하게, 메모리 장치들(D1~D4) 각각은 타겟 어드레스(TU)에 대한 라이트 명령(WTCMD)에 응답하여, 자신의 오프셋 값에 근거하여 타겟 어드레스(TU)를 자신의 실제 타겟 어드레스로 조정하고 실제 타겟 어드레스에 대해 라이트 동작을 수행할 수 있다.
예를 들어, 노멀 모드에 있는 메모리 장치(D1)의 액세스부(ACU1)는 타겟 어드레스(TU)에 대한 라이트 명령(WTCMD)에 응답하여, 어드레스 조정 동작을 수행하지 않고 타겟 어드레스(TU)의 타겟 메모리 유닛(TU_MR1)을 라이트 액세스할 수 있다.
예를 들어, 어드레스 조정 모드에 있는 메모리 장치(D2)의 액세스부(ACU2)는 타겟 어드레스(TU)에 대한 라이트 명령(WTCMD)에 응답하여, 오프셋 값(OV2)에 근거하여 타겟 어드레스(TU)를 실제 타겟 어드레스(TU2)로 조정하고 실제 타겟 어드레스(TU2)의 타겟 메모리 유닛(TU2_RR2)을 라이트 액세스할 수 있다.
도9c를 참조하면, 도9b에서 설명한 방법과 유사하게, 컨트롤러(210)는 다른 인접 메모리 유닛들을 타겟 메모리 유닛들로 하여 관리 동작을 수행할 수 있다.
컨트롤러(210)는 제어 라인(CTL)을 통해 타겟 어드레스(TD)에 대한 리드 명령(RDCMD)을 메모리 장치들(D1~D4)로 전송할 수 있다. 리드 명령(RDCMD)에 포함되는 타겟 어드레스(TD)는 기준 어드레스(AD1)의 인접 어드레스들 중 관리 동작이 수행되지 않은 어느 하나일 수 있다.
메모리 장치들(D1~D4) 각각은 타겟 어드레스(TD)에 대한 리드 명령(RDCMD)에 응답하여, 자신의 오프셋 값에 근거하여 타겟 어드레스(TD)를 자신의 실제 타겟 어드레스로 조정하고 실제 타겟 어드레스에 대해 리드 동작을 수행할 수 있다.
예를 들어, 노멀 모드에 있는 메모리 장치(D1)의 액세스부(ACU1)는 타겟 어드레스(TD)에 대한 리드 명령(RDCMD)에 응답하여, 어드레스 조정 동작을 수행하지 않고 타겟 어드레스(TD)의 타겟 메모리 유닛(TD_MR1)을 리드 액세스할 수 있다.
예를 들어, 어드레스 조정 모드에 있는 메모리 장치(D2)의 액세스부(ACU2)는 타겟 어드레스(TD)에 대한 리드 명령(RDCMD)에 응답하여, 오프셋 값(OV2)에 근거하여 타겟 어드레스(TD)를 실제 타겟 어드레스(TD2)로 조정하고 실제 타겟 어드레스(TD2)의 타겟 메모리 유닛(TD2_RR2)을 리드 액세스할 수 있다. 즉, 타겟 어드레스(TD)와 실제 타겟 어드레스(TD2)의 차이는 결함 메인 메모리 유닛(AD1_MR2)의 어드레스(AD1)와 대체 메모리 유닛(AD12_RR2)의 대체 어드레스(AD12)의 차이와 같기 때문에, 타겟 어드레스(TD)는 오프셋 값(OV2)에 근거하여 실제 타겟 어드레스(TD2)로 조정될 수 있다.
그리고, 컨트롤러(210)는 리드 명령(RDCMD)에 따라 리드된 데이터에 대해 에러 정정 동작을 수행할 수 있다.
이어서, 컨트롤러(210)는 정정된 데이터를 동일한 타겟 메모리 유닛들에 다시 저장하기 위해, 타겟 어드레스(TD)에 대한 라이트 명령(WTCMD)을 메모리 장치들(D1~D4)로 전송할 수 있다. 리드 동작에 대해 설명한 바와 유사하게, 메모리 장치들(D1~D4) 각각은 타겟 어드레스(TD)에 대한 라이트 명령(WTCMD)에 응답하여, 자신의 오프셋 값에 근거하여 타겟 어드레스(TD)를 자신의 실제 타겟 어드레스로 조정하고 실제 타겟 어드레스에 대해 라이트 동작을 수행할 수 있다.
예를 들어, 노멀 모드에 있는 메모리 장치(D1)의 액세스부(ACU1)는 타겟 어드레스(TD)에 대한 라이트 명령(WTCMD)에 응답하여, 어드레스 조정 동작을 수행하지 않고 타겟 어드레스(TD)의 타겟 메모리 유닛(TD_MR1)을 라이트 액세스할 수 있다.
예를 들어, 어드레스 조정 모드에 있는 메모리 장치(D2)의 액세스부(ACU2)는 타겟 어드레스(TD)에 대한 라이트 명령(WTCMD)에 응답하여, 오프셋 값(OV2)에 근거하여 타겟 어드레스(TD)를 실제 타겟 어드레스(TD2)로 조정하고 실제 타겟 어드레스(TD2)의 타겟 메모리 유닛(TD2_RR2)을 라이트 액세스할 수 있다.
정리하면, 본 발명의 실시 예에 따른 관리 동작은 메모리 장치들(D1~D4)의 서로 다른 타겟 어드레스들에 대해 병렬적으로 동시에 수행될 수 있다. 따라서, 관리 동작은 신속하고 효율적으로 수행될 수 있다.
앞서 가정한 바와 같이, 도9b 및 도9c에서, 메모리 장치들(D1~D4) 각각은 노멀 모드 또는 어드레스 조정 모드로 설정될 수 있다. 그러나 실시 예에 따라, 메모리 장치들(D1~D4)이 동작 모드를 지원하지 않고 언제나 어드레스 조정 동작을 수행할 때, 컨트롤러(210)는 메모리 장치들(D1, D4)의 오프셋 값들(OV1, OV4)을 "0"으로 설정함으로써 상술한 관리 동작을 실질적으로 동일하게 수행할 수 있을 것이다.
도10은 본 발명의 실시 예에 따른 도6의 메모리 시스템(200)의 동작 방법을 도시하는 순서도이다. 도10은 메모리 시스템(200)이 라이트 디스터번스 영향에 기인한 관리 동작을 수행하는 방법을 도시한다.
도10을 참조하면, 단계(S310)에서, 컨트롤러(210)는 관리 동작이 필요한지 여부를 판단할 수 있다. 컨트롤러(210)는 소정 어드레스에 대한 라이트 횟수가 임계 횟수에 도달할 때, 소정 어드레스의 하나 이상의 인접 어드레스들에 대해 관리 동작이 필요한 것으로 판단할 수 있다. 관리 동작이 필요할 때, 절차는 단계(S320)로 진행될 수 있다. 관리 동작이 필요하지 않을 때, 절차는 종료할 수 있다.
단계(S320)에서, 컨트롤러(210)는 메모리 장치들(D1~D4)의 대체 정보를 참조하여 메모리 장치들의 오프셋 값들을 계산할 수 있다. 우선, 컨트롤러(210)는 메모리 장치들(D1~D4) 각각에 대해 대체 정보를 참조하여, 단계(S310)에서 라이트 횟수가 임계 횟수에 도달한 어드레스, 즉, 기준 어드레스가 대체되었는지를 판단할 수 있다. 그리고, 컨트롤러(210)는 메모리 장치들(D1~D4) 각각에 대해 대체 메모리 유닛의 어드레스와 기준 어드레스의 차이를 오프셋 값으로 계산할 수 있다.
단계(S330)에서, 컨트롤러(210)는 메모리 장치들(D1~D4)에 오프셋 값들(OV1~OV4)을 각각 설정할 수 있다. 컨트롤러(210)는 기준 어드레스에 대해 대체 메모리 유닛을 사용하지 않는 메모리 장치의 오프셋 값을 설정하지 않을 수 있다. 실시 예에 따라, 컨트롤러(210)는 기준 어드레스에 대해 대체 메모리 유닛을 사용하지 않는 메모리 장치의 오프셋 값을 "0"으로 설정할 수 있다.
단계(S340)에서, 컨트롤러(210)는 메모리 장치들(D1~D4)에 동작 모드들을 각각 설정할 수 있다. 컨트롤러(210)는 기준 어드레스에 대해 대체 메모리 유닛을 사용하지 않는 메모리 장치에 노멀 모드를 설정하고, 기준 어드레스에 대해 대체 메모리 유닛을 사용하는 메모리 장치에 어드레스 조정 모드를 설정할 수 있다.
한편, 도4에서 단계들(S130, S170)이 생략가능한 바와 같이, 단계(S340)는 실시 예에 따라 생략될 수 있다.
단계(S350)에서, 컨트롤러(210)는 메모리 장치들(D1~D4)로 타겟 어드레스에 대한 리드 명령을 전송할 수 있다. 타겟 어드레스는 기준 어드레스의 인접 어드레스들 중 어느 하나일 수 있다. 기준 어드레스의 인접 어드레스들은 기준 어드레스의 메모리 유닛에 인접한 인접 메모리 유닛들의 어드레스일 수 있다.
단계(S360)에서, 메모리 장치들(D1~D4) 각각은 자신의 동작 모드에 따라, 리드 명령에 응답하여 타겟 어드레스에 대한 어드레스 조정 동작을 선택적으로 수행하고 리드 동작을 수행할 수 있다.
단계(S370)에서, 컨트롤러(210)는 리드 명령에 따라 리드된 데이터에 대해 에러 정정 동작을 수행할 수 있다.
단계(S380)에서, 컨트롤러(210)는 메모리 장치들(D1~D4)로 타겟 어드레스에 대한 라이트 명령을 전송할 수 있다.
단계(S390)에서, 메모리 장치들(D1~D4) 각각은 자신의 동작 모드에 따라, 라이트 명령에 응답하여 타겟 어드레스에 대한 어드레스 조정 동작을 선택적으로 수행하고 및 라이트 동작을 수행할 수 있다.
단계(S400)에서, 컨트롤러(210)는 기준 어드레스의 모든 인접 어드레스들에 대해 관리 동작이 수행되었는지 여부를 판단할 수 있다. 기준 어드레스의 인접 어드레스들 중 일부에 대해서만 관리 동작이 수행된 경우, 절차는 단계(S350)로 진행될 수 있다. 즉, 단계(S350)에서부터, 컨트롤러(210)는 관리 동작이 수행되지 않은 인접 어드레스를 타겟 어드레스로 선택하여 관리 동작을 수행할 수 있다. 단계들(S350~S400)은 모든 인접 어드레스들에 대해 관리 동작이 수행될 때까지 반복될 수 있다. 모든 인접 어드레스들에 대해 관리 동작이 수행될 때, 절차는 종료할 수 있다.
도 11은 본 발명의 실시 예에 따른 메모리 시스템(1200)을 포함하는 데이터 처리 시스템(1000)을 예시적으로 도시하는 도면이다.
도 11을 참조하면, 데이터 처리 시스템(1000)은 호스트 장치(1100)와 메모리 시스템(1200)을 포함할 수 있다.
메모리 시스템(1200)은 컨트롤러(1210), 버퍼 메모리 장치(1220), 비휘발성 메모리 장치들(1231~123n), 전원 공급기(1240), 신호 커넥터(1250) 및 전원 커넥터(1260)를 포함할 수 있다.
컨트롤러(1210)는 메모리 시스템(1200)의 제반 동작을 제어할 수 있다.
컨트롤러(1210)는 호스트 인터페이스 유닛(1211), 컨트롤 유닛(1212), 랜덤 액세스 메모리(1213), 에러 정정 코드(ECC) 유닛(1214) 및 메모리 인터페이스 유닛(1215)을 포함할 수 있다.
호스트 인터페이스 유닛(1211)은 신호 커넥터(1250)를 통해서 호스트 장치(1100)와 신호(SGL)를 주고 받을 수 있다. 여기에서, 신호(SGL)는 커맨드, 어드레스, 데이터 등을 포함할 수 있다. 호스트 인터페이스 유닛(1211)은, 호스트 장치(1100)의 프로토콜에 따라서, 호스트 장치(1100)와 메모리 시스템(1200)를 인터페이싱할 수 있다. 예를 들면, 호스트 인터페이스 유닛(1211)은, 시큐어 디지털(secure digital), USB(universal serial bus), MMC(multi-media card), eMMC(embedded MMC), PCMCIA(personal computer memory card international association), PATA(parallel advanced technology attachment), SATA(serial advanced technology attachment), SCSI(small computer system interface), SAS(serial attached SCSI), PCI(peripheral component interconnection), PCI-E(PCI Expresss), UFS(universal flash storage)와 같은 표준 인터페이스 프로토콜들 중 어느 하나를 통해서 호스트 장치(1100)와 통신할 수 있다.
컨트롤 유닛(1212)은 호스트 장치(1100)로부터 입력된 신호(SGL)를 분석하고 처리할 수 있다. 컨트롤 유닛(1212)은 메모리 시스템(1200)를 구동하기 위한 펌웨어 또는 소프트웨어에 따라서 백그라운드 기능 블럭들의 동작을 제어할 수 있다. 랜덤 액세스 메모리(1213)는 이러한 펌웨어 또는 소프트웨어를 구동하기 위한 동작 메모리로서 사용될 수 있다.
에러 정정 코드(ECC) 유닛(1214)은 비휘발성 메모리 장치들(1231~123n)로 전송될 데이터의 패리티 데이터를 생성할 수 있다. 생성된 패리티 데이터는 데이터와 함께 비휘발성 메모리 장치들(1231~123n)에 저장될 수 있다. 에러 정정 코드(ECC) 유닛(1214)은 패리티 데이터에 근거하여 비휘발성 메모리 장치들(1231~123n)로부터 독출된 데이터의 에러를 검출할 수 있다. 만약, 검출된 에러가 정정 범위 내이면, 에러 정정 코드(ECC) 유닛(1214)은 검출된 에러를 정정할 수 있다.
메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)에 커맨드 및 어드레스와 같은 제어 신호를 제공할 수 있다. 그리고 메모리 인터페이스 유닛(1215)은, 컨트롤 유닛(1212)의 제어에 따라서, 비휘발성 메모리 장치들(1231~123n)과 데이터를 주고받을 수 있다. 예를 들면, 메모리 인터페이스 유닛(1215)은 버퍼 메모리 장치(1220)에 저장된 데이터를 비휘발성 메모리 장치들(1231~123n)로 제공하거나, 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 버퍼 메모리 장치(1220)로 제공할 수 있다.
버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(1220)는 비휘발성 메모리 장치들(1231~123n)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(1220)에 임시 저장된 데이터는 컨트롤러(1210)의 제어에 따라 호스트 장치(1100) 또는 비휘발성 메모리 장치들(1231~123n)로 전송될 수 있다.
컨트롤러(1210)는 도6의 컨트롤러(210)와 실질적으로 동일하게 구성되고 동작할 수 있다. 즉, 컨트롤러(1210)는 비휘발성 메모리 장치들(1231~123n)에 적절한 오프셋 값들을 설정함으로써 서로 다른 어드레스들의 메모리 유닛들을 동시에 액세스할 수 있다.
비휘발성 메모리 장치들(1231~123n)은 메모리 시스템(1200)의 저장 매체로 사용될 수 있다. 비휘발성 메모리 장치들(1231~123n) 각각은 복수의 채널들(CH1~CHn)을 통해 컨트롤러(1210)와 연결될 수 있다. 하나의 채널에는 하나 또는 그 이상의 비휘발성 메모리 장치가 연결될 수 있다.
비휘발성 메모리 장치들(1231~123n) 각각은 도1의 메모리 장치(D0) 또는 도6의 메모리 장치들(D1~D4)과 실질적으로 동일하게 구성되고 동작할 수 있다.
전원 공급기(1240)는 전원 커넥터(1260)를 통해 입력된 전원(PWR)을 메모리 시스템(1200) 백그라운드에 제공할 수 있다. 전원 공급기(1240)는 보조 전원 공급기(1241)를 포함할 수 있다. 보조 전원 공급기(1241)는 서든 파워 오프(sudden power off)가 발생되는 경우, 메모리 시스템(1200)가 정상적으로 종료될 수 있도록 전원을 공급할 수 있다. 보조 전원 공급기(1241)는 대용량 캐패시터들(capacitors)을 포함할 수 있다.
신호 커넥터(1250)는 호스트 장치(1100)와 메모리 시스템(1200)의 인터페이스 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.
전원 커넥터(1260)는 호스트 장치(1100)의 전원 공급 방식에 따라서 다양한 형태의 커넥터로 구성될 수 있다.
도 12는 본 발명의 실시 예에 따른 메모리 시스템(2000)을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 12를 참조하면, 데이터 처리 시스템(2000)은 호스트 장치(2100)와 메모리 시스템(2200)을 포함할 수 있다.
호스트 장치(2100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(2100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.
호스트 장치(2100)는 소켓(socket), 슬롯(slot) 또는 커넥터(connector)와 같은 접속 터미널(2110)을 포함할 수 있다. 메모리 시스템(2200)은 접속 터미널(2110)에 마운트(mount)될 수 있다.
메모리 시스템(2200)은 인쇄 회로 기판과 같은 기판 형태로 구성될 수 있다. 메모리 시스템(2200)은 메모리 모듈 또는 메모리 카드로 불릴 수 있다. 메모리 시스템(2200)은 컨트롤러(2210), 버퍼 메모리 장치(2220), 비휘발성 메모리 장치(2231~2232), PMIC(power management integrated circuit)(2240) 및 접속 터미널(2250)을 포함할 수 있다.
컨트롤러(2210)는 메모리 시스템(2200)의 제반 동작을 제어할 수 있다. 컨트롤러(2210)는 도 11에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.
버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(2220)는 비휘발성 메모리 장치들(2231~2232)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(2220)에 임시 저장된 데이터는 컨트롤러(2210)의 제어에 따라 호스트 장치(2100) 또는 비휘발성 메모리 장치들(2231~2232)로 전송될 수 있다.
비휘발성 메모리 장치들(2231~2232)은 메모리 시스템(2200)의 저장 매체로 사용될 수 있다.
PMIC(2240)는 접속 터미널(2250)을 통해 입력된 전원을 메모리 시스템(2200) 백그라운드에 제공할 수 있다. PMIC(2240)는, 컨트롤러(2210)의 제어에 따라서, 메모리 시스템(2200)의 전원을 관리할 수 있다.
접속 터미널(2250)은 호스트 장치의 접속 터미널(2110)에 연결될 수 있다. 접속 터미널(2250)을 통해서, 호스트 장치(2100)와 메모리 시스템(2200) 간에 커맨드, 어드레스, 데이터 등과 같은 신호와, 전원이 전달될 수 있다. 접속 터미널(2250)은 호스트 장치(2100)와 메모리 시스템(2200)의 인터페이스 방식에 따라 다양한 형태로 구성될 수 있다. 접속 터미널(2250)은 메모리 시스템(2200)의 어느 한 변에 배치될 수 있다.
도 13은 본 발명의 실시 예에 따른 메모리 시스템(3200)을 포함하는 데이터 처리 시스템을 예시적으로 도시하는 도면이다. 도 13을 참조하면, 데이터 처리 시스템(3000)은 호스트 장치(3100)와 메모리 시스템(3200)을 포함할 수 있다.
호스트 장치(3100)는 인쇄 회로 기판(printed circuit board)과 같은 기판(board) 형태로 구성될 수 있다. 비록 도시되지 않았지만, 호스트 장치(3100)는 호스트 장치의 기능을 수행하기 위한 백그라운드 기능 블럭들을 포함할 수 있다.
메모리 시스템(3200)은 표면 실장형 패키지 형태로 구성될 수 있다. 메모리 시스템(3200)은 솔더 볼(solder ball)(3250)을 통해서 호스트 장치(3100)에 마운트될 수 있다. 메모리 시스템(3200)은 컨트롤러(3210), 버퍼 메모리 장치(3220) 및 비휘발성 메모리 장치(3230)를 포함할 수 있다.
컨트롤러(3210)는 메모리 시스템(3200)의 제반 동작을 제어할 수 있다. 컨트롤러(3210)는 도 11에 도시된 컨트롤러(1210)와 동일하게 구성될 수 있다.
버퍼 메모리 장치(3220)는 비휘발성 메모리 장치(3230)에 저장될 데이터를 임시 저장할 수 있다. 또한, 버퍼 메모리 장치(3220)는 비휘발성 메모리 장치들(3230)로부터 읽혀진 데이터를 임시 저장할 수 있다. 버퍼 메모리 장치(3220)에 임시 저장된 데이터는 컨트롤러(3210)의 제어에 따라 호스트 장치(3100) 또는 비휘발성 메모리 장치(3230)로 전송될 수 있다.
비휘발성 메모리 장치(3230)는 메모리 시스템(3200)의 저장 매체로 사용될 수 있다.
도 14는 본 발명의 실시 예에 따른 메모리 시스템(4200)을 포함하는 네트워크 시스템을 예시적으로 도시하는 도면이다. 도 14를 참조하면, 네트워크 시스템(4000)은 네트워크(4500)를 통해서 연결된 서버 시스템(4300) 및 복수의 클라이언트 시스템들(4410~4430)을 포함할 수 있다.
서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)의 요청에 응답하여 데이터를 서비스할 수 있다. 예를 들면, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로부터 제공된 데이터를 저장할 수 있다. 다른 예로서, 서버 시스템(4300)은 복수의 클라이언트 시스템들(4410~4430)로 데이터를 제공할 수 있다.
서버 시스템(4300)은 호스트 장치(4100) 및 메모리 시스템(4200)을 포함할 수 있다. 메모리 시스템(4200)은 도 1의 메모리 시스템(100), 도 6의 메모리 시스템(200), 도 11의 메모리 시스템(1200), 도 12의 메모리 시스템(2200), 도 13의 메모리 시스템(3200)으로 구성될 수 있다.
본 발명이 속하는 기술분야의 통상의 기술자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있으므로, 이상에서 기술한 실시 예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 메모리 시스템
110: 컨트롤러
D0: 메모리 장치
ACU: 액세스부
OVR: 오프셋 값 레지스터
AD2_R: 메모리 유닛

Claims (22)

  1. 메모리 영역; 및
    외부 장치의 제어에 따라 오프셋 값을 설정하고, 상기 메모리 영역의 제1 어드레스에 대한 상기 외부 장치의 액세스 명령에 응답하여, 상기 오프셋 값에 근거하여 상기 제1 어드레스를 상기 메모리 영역의 제2 어드레스로 조정하고 상기 제2 어드레스에 대해 액세스 동작을 수행하도록 구성된 액세스부를 포함하는 메모리 장치.
  2. 제1항에 있어서,
    상기 액세스부는, 상기 외부 장치의 제어에 따라 어드레스 조정 모드로 설정될 때 상기 액세스 명령에 응답하여 상기 제2 어드레스에 대해 상기 액세스 동작을 수행하고, 상기 외부 장치의 제어에 따라 노멀 모드로 설정될 때 상기 액세스 명령에 응답하여 상기 제2 어드레스로의 조정 없이 상기 제1 어드레스에 대해 액세스 동작을 수행하는 메모리 장치.
  3. 제1항에 있어서,
    상기 외부 장치와 연결되는 오프셋 값 설정 라인을 더 포함하고,
    상기 액세스부는, 상기 오프셋 값 설정 라인이 활성화될 때 상기 오프셋 값에 대한 라이트 명령을 상기 외부 장치로부터 수신하면, 상기 라이트 명령에 응답하여 상기 오프셋 값을 설정하는 메모리 장치.
  4. 제1항에 있어서,
    상기 액세스부는, 상기 제1 어드레스에 상기 오프셋 값을 더함으로써 상기 제2 어드레스를 생성하도록 구성된 어드레스 조정부를 포함하는 메모리 장치.
  5. 제1 어드레스에 대응하는 제1 메모리 유닛 및 제2 어드레스에 대응하는 제2 메모리 유닛을 포함하는 제1 메모리 장치; 및
    상기 제2 메모리 유닛을 액세스하기 위해, 상기 제1 어드레스 및 상기 제2 어드레스에 근거하여 상기 제1 메모리 장치에 제1 오프셋 값을 설정하고, 상기 제1 메모리 장치로 상기 제1 어드레스에 대한 액세스 명령을 전송하도록 구성된 컨트롤러를 포함하는 메모리 시스템.
  6. 제5항에 있어서,
    상기 제1 메모리 장치는, 상기 액세스 명령에 응답하여, 상기 제1 오프셋 값에 근거하여 상기 제1 어드레스를 상기 제2 어드레스로 조정하고, 상기 제2 어드레스에 대해 액세스 동작을 수행하는 메모리 시스템.
  7. 제6항에 있어서,
    상기 제1 메모리 장치는, 상기 제1 어드레스에 상기 제1 오프셋 값을 더함으로써 상기 제2 어드레스를 생성하도록 구성된 어드레스 조정부를 더 포함하는 메모리 시스템.
  8. 제5항에 있어서,
    상기 컨트롤러는, 상기 제1 메모리 장치에 동작 모드를 설정하고,
    상기 제1 메모리 장치는, 상기 동작 모드가 어드레스 조정 모드일 때 상기 액세스 명령에 응답하여 상기 제2 어드레스에 대해 상기 액세스 동작을 수행하고, 상기 동작 모드가 노멀 모드일 때 상기 액세스 명령에 응답하여 상기 제1 어드레스에 대해 액세스 동작을 수행하는 메모리 시스템.
  9. 제5항에 있어서,
    제3 어드레스에 대응하는 제3 메모리 유닛을 포함하는 제2 메모리 장치를 더 포함하고,
    상기 컨트롤러는, 상기 제3 메모리 유닛을 액세스하기 위해, 상기 제1 어드레스 및 상기 제3 어드레스에 근거하여 상기 제2 메모리 장치에 제2 오프셋 값을 설정하고, 상기 제2 메모리 장치로 상기 제1 어드레스에 대한 상기 액세스 명령을 전송하는 메모리 시스템.
  10. 제9항에 있어서,
    상기 제2 메모리 장치는, 상기 액세스 명령에 응답하여, 상기 제2 오프셋 값에 근거하여 상기 제1 어드레스를 상기 제3 어드레스로 조정하고, 상기 제3 어드레스에 대해 액세스 동작을 수행하는 메모리 시스템.
  11. 제9항에 있어서,
    상기 컨트롤러는, 상기 제3 어드레스가 상기 제1 어드레스와 동일할 때, 상기 제2 오프셋 값을 "0"으로 설정하는 메모리 시스템.
  12. 제9항에 있어서,
    상기 컨트롤러는 상기 제1 메모리 장치 및 상기 제2 메모리 장치와 연결된 제어 라인을 통해 상기 액세스 명령을 상기 제1 메모리 장치 및 상기 제2 메모리 장치로 동시에 전송하는 메모리 시스템.
  13. 제12항에 있어서,
    상기 컨트롤러는, 오프셋 값 설정 라인을 통해 상기 제1 메모리 장치 및 상기 제2 메모리 장치와 연결되고, 제1 데이터 라인 및 제2 데이터 라인을 통해 상기 제1 메모리 장치 및 상기 제2 메모리 장치와 각각 연결되고,
    상기 컨트롤러는, 상기 오프셋 값 설정 라인을 활성화시키면서, 라이트 명령을 상기 제어 라인을 통해 상기 제1 메모리 장치 및 상기 제2 메모리 장치로 전송하고, 상기 제1 오프셋 값 및 상기 제2 오프셋 값을 상기 제1 데이터 라인 및 상기 제2 데이터 라인을 통해 상기 제1 메모리 장치 및 상기 제2 메모리 장치로 각각 전송하고,
    상기 제1 메모리 장치는, 상기 라이트 명령에 응답하여 상기 제1 오프셋 값을 설정하고,
    상기 제2 메모리 장치는, 상기 라이트 명령에 응답하여 상기 제2 오프셋 값을 설정하는 메모리 시스템.
  14. 제1 및 제2 메모리 장치들; 및
    상기 제1 및 제2 메모리 장치들의 서로 다른 제1 및 제2 타겟 어드레스들을 동시에 액세스함으로써, 상기 제1 및 제2 타겟 어드레스들에 대해 관리 동작을 수행하도록 구성된 컨트롤러를 포함하는 메모리 시스템.
  15. 제14항에 있어서,
    상기 컨트롤러는, 기준 어드레스에 대한 라이트 횟수에 근거하여 상기 관리 동작을 수행할 것으로 결정하고, 상기 기준 어드레스의 인접 어드레스를 상기 관리 동작의 타겟 어드레스로 결정하는 메모리 시스템.
  16. 제15항에 있어서,
    상기 컨트롤러는, 상기 제1 및 제2 메모리 장치들에 제1 및 제2 오프셋 값들을 각각 설정하고 상기 타겟 어드레스에 대한 액세스 명령을 상기 제1 및 제2 메모리 장치들로 동시에 전송함으로써, 상기 관리 동작을 수행하는 메모리 시스템.
  17. 제16항에 있어서,
    상기 컨트롤러는, 상기 제1 메모리 장치의 대체 정보를 참조하여 상기 기준 어드레스가 대체된 제1 대체 어드레스를 식별하고, 상기 기준 어드레스와 상기 제1 대체 어드레스의 차이를 상기 제1 오프셋 값으로 설정하고,
    상기 컨트롤러는, 상기 제2 메모리 장치의 대체 정보를 참조하여 상기 기준 어드레스가 대체된 제2 대체 어드레스를 식별하고, 상기 기준 어드레스와 상기 제2 대체 어드레스의 차이를 상기 제2 오프셋 값으로 설정하는 메모리 시스템.
  18. 제17항에 있어서,
    상기 컨트롤러는, 상기 제1 메모리 장치의 상기 대체 정보를 참조하여 상기 기준 어드레스가 대체되지 않았다고 판단될 때, 상기 제1 오프셋 값을 "0"으로 설정하는 메모리 시스템.
  19. 제16항에 있어서,
    상기 제1 메모리 장치는, 상기 타겟 어드레스에 대한 액세스 명령에 응답하여, 상기 제1 오프셋 값에 근거하여 상기 타겟 어드레스를 상기 제1 타겟 어드레스로 조절하고 상기 제1 타겟 어드레스에 대해 액세스 동작을 수행하고,
    상기 제2 메모리 장치는, 상기 타겟 어드레스에 대한 액세스 명령에 응답하여, 상기 제2 오프셋 값에 근거하여 상기 타겟 어드레스를 상기 제2 타겟 어드레스로 조절하고 상기 제2 타겟 어드레스에 대해 액세스 동작을 수행하는 메모리 시스템.
  20. 제15항에 있어서,
    상기 컨트롤러는, 상기 기준 어드레스의 하나 이상의 인접 어드레스들 각각을 타겟 어드레스로 하여 상기 관리 동작을 반복하는 메모리 시스템.
  21. 제14항에 있어서,
    상기 컨트롤러는, 상기 제1 및 제2 타겟 어드레스들에 대응하는 제1 및 제2 메모리 유닛들에 저장된 데이터를 리드하고, 리드된 데이터를 에러 정정하고, 에러 정정된 데이터를 상기 제1 및 제2 메모리 유닛들에 저장함으로써 상기 관리 동작을 수행하는 메모리 시스템.
  22. 제14항에 있어서,
    상기 컨트롤러는, 제어 라인을 통해 상기 제1 및 제2 메모리 장치들과 연결되고, 서로 다른 데이터 라인들을 통해 상기 제1 및 제2 메모리 장치들과 각각 연결되는 메모리 시스템.
KR1020170147909A 2017-11-08 2017-11-08 메모리 장치 및 그것을 포함하는 메모리 시스템 KR20190052315A (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020170147909A KR20190052315A (ko) 2017-11-08 2017-11-08 메모리 장치 및 그것을 포함하는 메모리 시스템
US15/883,953 US10761747B2 (en) 2017-11-08 2018-01-30 Memory device and memory system including the same
TW107119516A TWI779046B (zh) 2017-11-08 2018-06-06 記憶體裝置及包括其的記憶體系統
CN201810722351.1A CN109753440B (zh) 2017-11-08 2018-06-29 存储器件及包括其的存储系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170147909A KR20190052315A (ko) 2017-11-08 2017-11-08 메모리 장치 및 그것을 포함하는 메모리 시스템

Publications (1)

Publication Number Publication Date
KR20190052315A true KR20190052315A (ko) 2019-05-16

Family

ID=66327148

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170147909A KR20190052315A (ko) 2017-11-08 2017-11-08 메모리 장치 및 그것을 포함하는 메모리 시스템

Country Status (4)

Country Link
US (1) US10761747B2 (ko)
KR (1) KR20190052315A (ko)
CN (1) CN109753440B (ko)
TW (1) TWI779046B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113010463B (zh) * 2019-12-20 2024-05-14 林德(中国)叉车有限公司 一种用于锂电池管理的iic通信方法及系统
JP2023028994A (ja) * 2021-08-20 2023-03-03 キヤノン株式会社 演算装置、撮像装置、制御方法及びプログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4129381B2 (ja) * 2002-09-25 2008-08-06 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
US7120282B2 (en) * 2003-01-29 2006-10-10 General Electric Company Method and apparatus for correcting digital X-ray images
JP4073799B2 (ja) * 2003-02-07 2008-04-09 株式会社ルネサステクノロジ メモリシステム
GB2402763B (en) * 2003-06-13 2006-03-01 Advanced Risc Mach Ltd Data access program instruction encoding
US20090013148A1 (en) * 2007-07-03 2009-01-08 Micron Technology, Inc. Block addressing for parallel memory arrays
US7694195B2 (en) * 2007-08-14 2010-04-06 Dell Products L.P. System and method for using a memory mapping function to map memory defects
TWI499907B (zh) * 2009-07-17 2015-09-11 Genesys Logic Inc 快閃記憶體之平行處理架構及其方法
GB2483225B (en) * 2010-08-27 2018-07-11 Nvidia Tech Uk Limited Improved processor architecture
US8495435B2 (en) * 2010-09-22 2013-07-23 Intel Corporation Dynamic physical memory replacement through address swapping
KR101873526B1 (ko) 2011-06-09 2018-07-02 삼성전자주식회사 에러 정정회로를 구비한 온 칩 데이터 스크러빙 장치 및 방법
US8966137B1 (en) * 2013-08-04 2015-02-24 Transcend Information, Inc. Storage device and memory accessing method for a storage device
WO2016023519A1 (en) * 2014-08-15 2016-02-18 Mediatek Inc. Method for managing multi-channel memory device to have improved channel switch response time and related memory control system
KR20170053278A (ko) * 2015-11-06 2017-05-16 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9842059B2 (en) * 2016-04-14 2017-12-12 Western Digital Technologies, Inc. Wear leveling in storage devices

Also Published As

Publication number Publication date
US20190138229A1 (en) 2019-05-09
CN109753440B (zh) 2023-06-06
US10761747B2 (en) 2020-09-01
TWI779046B (zh) 2022-10-01
TW201918884A (zh) 2019-05-16
CN109753440A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
US11101017B2 (en) Memory system and test system
US11157357B2 (en) Operation methods of memory system and host, and computing system
US10650901B2 (en) Electronic device, non-transitory computer-readable storage medium, and method of controlling electronic device
US11704048B2 (en) Electronic device
US20190057026A1 (en) Data storage device and operating method thereof
TWI779046B (zh) 記憶體裝置及包括其的記憶體系統
KR20190076296A (ko) 메모리 시스템 및 그것의 동작 방법
US11733911B2 (en) Storage device and storage device management method
US11720276B2 (en) Memory system and controller for managing write status
US11467910B2 (en) Memory system re-performing access operation and operating method thereof
US10776008B2 (en) Memory system and operating method thereof
KR20190072306A (ko) 메모리 시스템 및 그것의 동작 방법
KR20190070092A (ko) 메모리 시스템 및 그것의 동작 방법
US11544004B2 (en) Nonvolatile memory device and memory system including the same
US20230214151A1 (en) Memory system and operating method thereof
US11662941B2 (en) System and method for mitigating effect of erase cells on adjacent cells
US20240078026A1 (en) Adaptive tuning of memory device clock rates based on dynamic parameters
US20240097708A1 (en) Partial Speed Changes To Improve In-Order Transfer
US20220246230A1 (en) Memory system
US20210223956A1 (en) Memory system and data processing system including the same
TW202217574A (zh) 用於控制資料儲存裝置之方法及相關快閃記憶體控制器