KR20140118555A - 메모리 시스템 및 그것의 액세스 성능 조절 방법 - Google Patents

메모리 시스템 및 그것의 액세스 성능 조절 방법 Download PDF

Info

Publication number
KR20140118555A
KR20140118555A KR1020130034700A KR20130034700A KR20140118555A KR 20140118555 A KR20140118555 A KR 20140118555A KR 1020130034700 A KR1020130034700 A KR 1020130034700A KR 20130034700 A KR20130034700 A KR 20130034700A KR 20140118555 A KR20140118555 A KR 20140118555A
Authority
KR
South Korea
Prior art keywords
reliability information
storage area
memory
read
memory device
Prior art date
Application number
KR1020130034700A
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 KR1020130034700A priority Critical patent/KR20140118555A/ko
Publication of KR20140118555A publication Critical patent/KR20140118555A/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/109Control signal input circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

메모리 시스템 및 그것의 액세스 성능 조절 방법에 관하여 개시한다. 메모리 시스템의 액세스 성능 조절 방법은 메모리 디바이스의 저장 영역별 신뢰성 정보에 기초하여 리드 오퍼레이션을 수행할 저장 영역에 대한 리드 파라미터 값을 결정하는 단계, 상기 결정된 리드 파라미터 값을 적용하여 리드 오퍼레이션을 수행하는 단계 및, 상기 리드 오퍼레이션 수행에 의하여 독출된 데이터의 품질에 기초하여 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 단계를 포함함을 특징으로 한다.

Description

메모리 시스템 및 그것의 액세스 성능 조절 방법{Memory system and access performance adjustment method thereof}
본 발명은 메모리 시스템 및 메모리 시스템의 액세스 방법에 관한 것으로서, 자세하게는 메모리 시스템 및 그것의 액세스 성능 조절 방법에 관한 것이다.
반도체를 저장매체로 사용하는 메모리 시스템은 저장 장치인 메모리 디바이스를 구동하는 하드웨어의 성능 향상도 중요하지만, 하드웨어 성능을 최대한 발휘하도록 펌웨어(firmware)를 설계하는 것이 또한 중요하다. 따라서, 메모리 시스템의 하드웨어 성능이 최대한 발휘될 수 있도록 액세스 성능을 조절하기 위한 펌웨어 설계에 대한 연구가 필요하게 되었다.
본 발명의 목적은 리드 오퍼레이션 수행에 따른 독출된 데이터의 품질에 기초하여 액세스 성능을 제어하는 메모리 시스템의 액세스 성능 조절 방법을 제공하는데 있다.
본 발명의 다른 목적은 리드 오퍼레이션 수행에 따른 독출된 데이터의 품질에 기초하여 액세스 성능을 조절하는 메모리 시스템을 제공하는데 있다.
본 발명의 기술적 사상의 일면에 따른 메모리 시스템의 액세스 성능 조절 방법은 메모리 디바이스의 저장 영역별 신뢰성 정보에 기초하여 리드 오퍼레이션을 수행할 저장 영역에 대한 리드 파라미터 값을 결정하는 단계, 상기 결정된 리드 파라미터 값을 적용하여 리드 오퍼레이션을 수행하는 단계 및, 상기 리드 오퍼레이션 수행에 의하여 독출된 데이터의 품질에 기초하여 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 단계를 포함함을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 리드 파라미터는 리드 속도를 조절하는 파라미터를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 리드 속도를 조절하는 파라미터는 메모리 디바이스의 프리챠지 전압 레벨을 결정하는 파라미터 또는 디벨로프 시간을 결정하는 파라미터 중 적어도 하나를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 단계는 상기 리드 오퍼레이션 수행에 의하여 독출된 데이터로부터 에러 비트 개수를 산출하는 단계, 상기 산출된 에러 비트 개수에 기초하여 리드 오퍼레이션을 수행한 메모리 디바이스의 저장 영역에 대한 신뢰성 정보를 결정하는 단계 및, 상기 결정된 신뢰성 정보로 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 단계를 포함할 수 있다.
본 발명의 실시 예에 따르면, 상기 저장 영역별 신뢰성 정보를 업데이트하는 단계는 블록 내 페이지 오프셋에 따른 통계적 정보를 이용하여 상기 리드 오퍼레이션이 수행된 블록 또는 페이지들에 대한 신뢰성 정보를 업데이트할 수 있다.
본 발명의 실시 예에 따르면, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 초기화시키는 단계를 더 포함하고, 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행될 때 상기 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행된 영역에 대한 신뢰성 정보를 프로그램/이레이즈 사이클 정보에 기초하여 초기화시킬 수 있다.
본 발명의 실시 예에 따르면, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 초기화시키는 단계는 상기 메모리 디바이스가 초기화될 때 수행될 수 있다.
본 발명의 실시 예에 따르면, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 적어도 리드 회수 정보 또는 신뢰성 정보 초기화/갱신 후의 경과 시간 정보 중의 하나 이상의 정보에 기초하여 갱신하는 단계를 더 포함할 수 있다.
본 발명의 기술적 사상의 다른 면에 따른 메모리 시스템은 하나 이상의 메모리 디바이스들을 포함하는 저장 장치 및, 상기 저장 장치의 저장 영역별 신뢰성 정보를 초기 설정하고, 리드 오퍼레이션 수행에 의하여 독출된 데이터의 품질에 기초하여 상기 저장 영역별 신뢰성 정보를 업데이트하는 메모리 컨트롤러를 포함함을 특징으로 한다.
본 발명의 실시 예에 따르면, 상기 메모리 컨트롤러는 상기 저장 영역별 신뢰성 정보를 저장하는 랜덤 액세스 메모리, 상기 독출된 데이터로부터 에러 비트를 검출하여 정정하는 ECC 처리부 및, 상기 ECC 처리부에서 단위 사이즈 당 검출되는 에러 비트 개수를 산출하고, 상기 산출된 에러 비트 개수에 기초하여 상기 저장 영역별 신뢰성 정보를 업데이트 처리하는 중앙처리장치를 포함할 수 있다.
본 발명에 의하면 비휘발성 메모리 셀의 신뢰성 정보를 이용하여 읽기 속도를 결정하고, 데이터를 읽은 후에 품질 수준을 바탕으로 신뢰성 정보를 업데이트함으로써, 실제 셀에 저장되어 있는 데이터를 읽은 품질에 기초하여 정확하게 신뢰성 정보를 결정할 수 있는 효과가 발생된다.
또한, 본 발명에 의하면 하드웨어 수정은 최소화하고 소프트웨어를 통해 정밀하게 ECC 에러가 발생되지 않는 범위 내에서 최대한의 속도로 리드 오퍼레이션을 수행할 수 있으므로, 저장 장치의 성능을 높일 수 있는 효과가 발생된다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템의 구성도이다.
도 2는 도 1에 도시된 메모리 시스템의 채널 및 뱅크의 구성을 예시적으로 보여주는 도면이다.
도 3은 도 1의 메모리 시스템에 포함된 플래시 메모리 디바이스를 상세하게 나타내는 블록도이다.
도 4는 도 1의 저장 장치를 구성하는 하나의 메모리 디바이스에 대한 저장 구조의 예를 보여주는 도면이다.
도 5는 도 1의 저장 장치를 구성하는 하나의 메모리 디바이스에 포함된 메모리 블록의 회로에 대한 일 예를 보여주는 도면이다.
도 6은 도 5의 메모리 블록에 포함된 메모리 셀의 일 예를 나타내는 단면도이다.
도 7은 도 1의 메모리 시스템의 소프트웨어 구조의 일 예를 보여주는 도면이다.
도 8은 도 1에 도시된 메모리 컨트롤러의 세부 구성을 예시적으로 보여주는 도면이다.
도 9는 메모리 시스템에서의 페이지 오프셋에 따른 신뢰성 변화를 예시적으로 보여주는 도면이다.
도 10은 메모리 디바이스의 저장 영역별 신뢰성 정보를 예시적으로 보여주는 도면이다.
도 11은 본 발명의 실시 예에 따른 신뢰성 정보를 초기화시키는 방법의 흐름도이다.
도 12는 본 발명의 다른 실시 예에 따른 신뢰성 정보를 초기화시키는 방법의 흐름도이다.
도 13은 본 발명의 실시 예에 따른 메모리 시스템의 액세스 성능 조절 방법의 흐름도이다.
도 14는 도 13에 도시된 신뢰성 정보를 업데이트하는 단계에 대한 세부적인 동작을 예시적으로 보여주는 흐름도이다.
도 15는 본 발명의 실시 예에 따른 신뢰성 정보를 갱신하는 방법을 예시적으로 보여주는 흐름도이다.
도 16은 본 발명의 다른 실시 예에 따른 신뢰성 정보를 갱신하는 방법을 예시적으로 보여주는 흐름도이다.
도 17은 본 발명의 실시 예에 따른 메모리 시스템에서의 리드 동작을 예시적으로 보여주는 흐름도이다.
도 18은 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 19는 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 20은 본 발명의 실시 예들에 따른 메모리 시스템을 솔리드 스테이트 드라이브에 적용한 예를 나타내는 블록도이다.
도 21은 도 20의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
이하, 첨부한 도면을 참조하여 본 발명의 실시 예에 대해 상세히 설명한다. 본 발명의 실시 예는 당 업계에서 평균적인 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되는 것이다. 본 발명은 다양한 변경을 가할 수 있고 여러 가지 형태를 가질 수 있는 바, 특정 실시 예들을 도면에 예시하고 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 개시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용한다. 첨부된 도면에 있어서, 구조물들의 치수는 본 발명의 명확성을 기하기 위하여 실제보다 확대하거나 축소하여 도시한 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 갖는다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 메모리 시스템(100)의 구성도이다.
도 1에 도시된 바와 같이, 메모리 시스템(100)은 메모리 컨트롤러(110) 및 저장 장치(120)를 포함한다.
일 예로서, 저장 장치(120)를 플래시 메모리 디바이스 등과 같은 비휘발성 메모리 디바이스로 구현하는 경우에 메모리 시스템(100)은 SSD(Solid State Drive)가 될 수 있다. SSD는 솔리드 스테이트 디스크(Solid State Disc)라고 칭해지기도 한다.
도 1에서는 저장 장치(120)를 플래시 메모리 디바이스들(121, 123)로 구현한 예를 보여준다. 도 1에서는 채널별로 4개의 플래시 메모리 디바이스들이 결합되는 멀티 뱅크 구조의 예를 보여준다.
저장 장치(120)는 비휘발성 메모리 디바이스들 중에서도 플래시 메모리 디바이스들로 구성되는 경우뿐만 아니라 다양한 종류 및 형태의 메모리 디바이스들이 적용될 수 있다. 예를 들면, 저장 장치(120)에 적용되는 메모리 디바이스는 플래시 메모리 디바이스뿐만 아니라 PRAM(Phase change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 디바이스 등이 포함될 수 있다. 저장 장치(120)는 적어도 하나 이상의 비휘발성 메모리 디바이스(들)와 적어도 하나 이상의 휘발성 메모리 디바이스(들)가 혼합된 형태로 구성될 수 있고, 적어도 두 종류 이상의 비휘발성 메모리 디바이스들이 혼합된 형태로 구성될 수도 있다.
메모리 컨트롤러(110)는 호스트에서 발행된 리퀘스트(request)에 응답하여 저장 장치(120)에서의 소거, 쓰기 또는 읽기 프로세스를 수행하도록 메모리 시스템(100)을 제어할 있다.
메모리 컨트롤러(110)와 호스트간의 데이터 I/O(Input/Output)는 연속된 논리 주소 단위로 구성될 수 있다. 이 때 한번에 요청되는 I/O를 리퀘스트(request)로 정의할 수 있다.
메모리 컨트롤러(110)와 저장 장치(120) 사이에는 오퍼레이션 수행에 필요한 신호들을 전달하기 위한 채널(channel)들이 형성되어 있다. 오퍼레이션 수행에 필요한 신호들은 예로서 커맨드, 어드레스 및, 데이터 등이 될 수 있다. 채널이란 메모리 컨트롤러(110)와 저장 장치(120)가 신호를 주고받을 수 있는 독립적인 신호의 통로이다.
본 발명의 실시 예에 따른 메모리 시스템(100)은 메모리 컨트롤러(110)와 저장 장치(120) 사이에 하나 이상의 채널이 형성될 수 있다. 도 1에서는 N(N은 자연수)개의 채널이 형성되는 예를 보여준다.
그리고, 각각의 채널들은 복수 개의 뱅크(bank)들로 구성될 수 있다. 여기에서, 뱅크는 채널을 공유하는 메모리 디바이스들을 의미한다. 참고적으로, 뱅크는 웨이(way)라 칭해지기도 한다. 채널과 뱅크의 상세 구성 예는 아래에서 상세히 설명될 것이다.
메모리 컨트롤러(110)는 도 11 ~ 도 17에 도시된 흐름도에 따른 방법을 수행할 수 있다. 메모리 컨트롤러(110)의 세부적인 동작은 아래에서 설명되어질 것이다.
도 2는 도 1에 도시된 저장 장치(120)의 채널 및 뱅크의 구성을 예시적으로 보여주는 도면이다.
각각의 채널(CH1 ~ CHN))에는 복수 개의 플래시 메모리 디바이스들(121, 122, 123)이 전기적으로 연결될 수 있다. 각각의 채널(CH1 ~ CHN)들은 대응되는 플래시 메모리 디바이스들(121, 122, 123)로 커맨드, 어드레스 및 데이터를 송수신할 수 있는 독립적인 버스를 의미할 수 있다. 서로 다른 채널에 접속된 플래시 메모리 디바이스들은 각각 독립적으로 동작할 수 있다. 각각의 채널에 접속된 복수의 플래시 메모리 디바이스들(121, 122, 123)은 복수 개의 뱅크(Bank0 ~ BankM)들을 구성할 수 있다. 각 채널에 구성된 (M+1)개의 뱅크에는 (M+1)개의 플래시 메모리 디바이스들이 접속될 수 있다.
예를 들어, 참조번호 121의 플래시 메모리 디바이스들은 1번 채널(CH1)에서 (M+1)개의 뱅크들(Bank0 ~ BankM)을 구성할 수 있다. 1번 채널(CH1)에는 (M+1)개의 뱅크들(Bank0 ~ BankM) 각각에 대응되는 플래시 메모리 디바이스(121-0 ~ 121-M)가 접속될 수 있다. 이와 같은 플래시 메모리 디바이스들과 각각의 채널과 뱅크와의 접속 관계는 참조 번호 122의 플래시 메모리 디바이스들 및 참조번호 123의 플래시 메모리 디바이스들에도 동일하게 적용될 수 있다.
뱅크는 동일한 채널을 공유하는 플래시 메모리 디바이스들을 구분하기 위한 단위이다. 채널 번호와 뱅크 번호에 따라서 각각의 플래시 메모리 디바이스들이 식별될 수 있다. 호스트로부터 제공된 리퀘스트(request)가 어느 채널의 어느 뱅크의 플래시 메모리 디바이스에서 수행될 지는 호스트로부터 전달된 논리 블록 어드레스(Logical Block Address; LBA)에 따라서 정해질 수 있다.
다른 예로서, 호스트로부터 제공된 라이트 리퀘스트(request)가 채널 또는 뱅크에서의 오퍼레이션 수행 상태를 고려하여 대기 중인 채널 또는 뱅크에서 수행되도록 논리적 페이지 주소에 대한 물리적 페이지 주소를 할당할 수 있다. 또 다른 예로서, 호스트로부터 제공된 리퀘스트(request)가 하나의 채널에서 페이지 단위로 순차적으로 시프트된 뱅크에서 수행되도록 논리적 페이지 주소에 대한 물리적 페이지 주소를 할당할 수 있다.
도 3은 도 1의 메모리 시스템(100)의 저장 장치(120)를 구성하는 하나의 플래시 메모리 디바이스(121-0)의 회로 구성을 예시적으로 보여주는 도면이다.
도 3을 참조하면, 플래시 메모리 디바이스(121-0)는 메모리 셀 어레이(21), 제어 로직(22), 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)를 포함할 수 있다.
제어 로직(22)은 메모리 컨트롤러(110)로부터 수신한 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 기초로 하여 메모리 셀 어레이(21)에 데이터를 기입하거나 메모리 셀 어레이(21)로부터 데이터를 독출하기 위한 각종 제어 신호를 출력할 수 있다. 이때, 제어 로직(22)에서 출력된 제어 신호는 전압 발생기(23), 로우 디코더(24) 및 페이지 버퍼(25)에 전달될 수 있다. 예로서, 제어 로직(22)은 제어 신호(CTRL)에 기초하여 프리챠지 전압 레벨 또는/ 및 디벨로프 시간을 조절할 수 있다. 이 때 제어 신호(CTRL)는 프리챠지 전압 레벨을 결정하는 파라미터 값 또는 디벨로프 시간을 결정하는 파라미터 값 중 적어도 하나를 조절할 수 있다.
전압 발생기(23)는 제어 로직(22)으로부터 수신한 제어 신호를 기초로 하여 복수의 워드 라인들(WL)을 구동하기 위한 구동 전압(VWL) 및 비트 라인들을 프리챠지하기 위한 프리챠지 전압(VPC)을 생성할 수 있다. 구체적으로, 구동 전압(VWL)은 기입 전압(또는 프로그램 전압), 독출 전압, 소거 전압 또는 패스(pass) 전압일 수 있다.
로우 디코더(24)는 로우 어드레스를 기초로 하여 복수의 워드 라인들(WL) 중 일부 워드 라인을 활성화할 수 있다. 구체적으로, 독출 동작 시에 로우 디코더(24)는 선택된 워드 라인에 독출 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다. 한편, 기입 동작 시에 로우 디코더(24)는 선택된 워드 라인에 기입 전압을 인가하고, 비 선택된 워드 라인에 패스 전압을 인가할 수 있다.
페이지 버퍼(25)는 복수의 비트 라인들(BL)을 통해 메모리 셀 어레이(21)에 연결될 수 있다. 페이지 버퍼(25)는 메모리 셀 어레이(21)에 기록될 데이터 또는 메모리 셀 어레이(21)로부터 독출된 데이터를 임시적으로 저장할 수 있다.
이에 따라서, 선택된 페이지의 셀들에 대한 리드 오퍼레이션은 제어 로직(22)에서 조절된 디벨로프 시간 또는/ 및 비트 라인 프리챠지 전압을 적용하여 수행될 수 있다.
리드(read) 오퍼레이션에서 셀(cell)을 읽는 과정은 크게 프리챠지(precharge), 디벨로프(develope), 센싱(sensing) 과정으로 이루어진다. 프리챠지 과정에서는 비트 라인을 프리챠지 전압에 의하여 초기 설정된 프리챠지 구간 동안에 프리챠지 레벨로 충천시키는 동작이 수행된다. 다음으로, 디벨로프 과정에서는 셀의 데이터를 읽기 위해 디벨로프 시간 동안 방전시키는 동작이 수행된다. 다음으로, 센싱 과정에서는 디벨로프 시간 동안 셀을 방전시킨 후에 셀 전압을 감지하여 제1기준 전압(V1)보다 높게 유지되는 셀은 오프 셀(off cell)로 판정하고, 제2기준 전압(V2; V2<V1)보다 낮게 유지되는 셀은 온 셀(on cell)로 판정한다. 이에 따라서, 프리챠지 전압 레벨 및 디벨로프 시간에 따라서 리드 오퍼레이션 속도가 결정된다.
일반적으로, 프로그램/소거 사이클(program/erase cycle) 횟수 또는 사용 시간이 경과함에 따라서 메모리 셀들의 프로그램 특성이 나빠지므로, 메모리 셀들을 통해 흐르는 셀 전류는 줄어들게 된다. 셀 전류가 적게 흐를 경우에는 디벨로프 시간을 증가시키거나 프리챠지 전압의 레벨을 낮추어야 셀들을 오류 없이 읽어낼 수 있다.
도 4는 도 1의 저장 장치를 구성하는 하나의 메모리 디바이스에 대한 저장 구조의 예를 보여주는 도면이다.
도 4를 참조하면, 메모리 셀 어레이(21)는 플래시 메모리 셀 어레이일 수 있다. 이때, 메모리 셀 어레이(21)는 a(a는 2 이상의 정수)개의 블록들(BLK0 내지 BLKa-1)을 포함하고, 각 블록들(BLK0 내지 BLKa-1)은 b(b는 2 이상의 정수)개의 페이지들(PAG0 내지 PAGb-1)을 포함하며, 각 페이지들(PAG0 내지 PAGb-1)은 c(c는 2 이상의 정수)개의 섹터들(SEC0 내지 SECc-1)을 포함할 수 있다. 도 4에서는 도시의 편의를 위해, 블록 BLK0에 대하여만 페이지들(PAG0 내지 PAGb-1) 및 섹터들(SEC0 내지 SECc-1)을 도시하였으나, 다른 블록들(BLK1 내지 BLKa-1)도 블록 BLK0과 동일한 구조를 가질 수 있다.
도 5는 도 1의 저장 장치를 구성하는 하나의 메모리 디바이스에 포함된 메모리 블록의 회로에 대한 일 예를 보여주는 도면이다.
참고적으로, 도 4에 도시된 각 블록들(BLK0 내지 BLKa-1)은 도 5와 같이 구현될 수 있다. 도 5를 참조하면, 각 블록들(BLK0 내지 BLKa-1)은 비트 라인(BL0 내지 BLd-1) 방향으로, 8개의 메모리 셀(MCEL)들이 직렬로 연결되는 d(d는 2 이상의 정수)개의 스트링(STR)들을 포함할 수 있다. 각 스트링(STR)은 각각 직렬로 연결되는 메모리 셀(MCEL)들의 양 끝에 연결되는, 드레인(drain) 선택 트랜지스터(Str1) 및 소스(source) 선택 트랜지스터(Str2)를 포함할 수 있다.
도 5와 같은 구조를 갖는 낸드 플래시 메모리 장치는 블록 단위로 소거(erase)가 수행되고, 각 워드 라인(WL0 내지 WL7)에 대응되는 페이지(PAG) 단위로 프로그램을 수행한다. 도 5는 하나의 블록에 8개의 워드 라인들(WL0 내지 WL7)에 대한 8개의 페이지(PAG)들이 구비되는 예를 도시한다. 다만, 본 발명의 실시예에 따른 메모리 셀 어레이(21)의 블록들(BLK0 내지 BLKa-1)은 도 5에 도시되는 메모리 셀(MCEL) 및 페이지(PAG)의 개수와 다른 개수의 메모리 셀 및 페이지를 구비할 수도 있다.
도 6은 도 5의 메모리 블록(BLK0)에 포함된 메모리 셀(MCEL)의 일 예를 나타내는 단면도이다.
도 6을 참조하면, 기판(SUB) 상에 소스(S) 및 드레인(D)이 형성되고, 소스(S)와 드레인(D)의 사이에는 채널 영역이 형성될 수 있다. 채널 영역의 상부에는 플로팅 게이트(FG)가 형성되는데, 채널 영역과 플로팅 게이트(FG)의 사이에는 터널링(tunneling) 절연층과 같은 절연층이 배치될 수 있다. 플로팅 게이트(FG)의 상부에는 컨트롤 게이트(CG)가 형성되는데, 플로팅 게이트(FG)와 컨트롤 게이트(CG)의 사이에는 블로킹(blocking) 절연층과 같은 절연층이 배치될 수 있다. 기판(SUB), 소스(S), 드레인(D) 및 컨트롤 게이트(CG)에는 메모리 셀(MCEL)에 대한 프로그램, 소거 및 독출 동작에 필요한 전압들이 인가될 수 있다.
플래시 메모리 디바이스에서는 메모리 셀(MCEL)의 문턱 전압(threshold voltage, Vth)의 구별에 의해 메모리 셀(MCEL)에 저장된 데이터가 독출될 수 있다. 이때, 메모리 셀(MCEL)의 문턱 전압(Vth)은 플로팅 게이트(FG)에 저장된 전자(electron)의 양에 따라 결정될 수 있다. 구체적으로, 플로팅 게이트(FG)에 저장된 전자가 많을수록 메모리 셀(MCEL)의 문턱 전압은 높아질 수 있다.
메모리 셀(MCEL)의 플로팅 게이트(FG)에 저장된 전자는 다양한 원인들에 의해 화살표 방향으로 누설(leakage)될 수 있고, 이에 따라, 메모리 셀(MCEL)의 문턱 전압이 변경될 수 있다. 예를 들어, 플로팅 게이트(FG)에 저장된 전자는 메모리 셀의 마모에 의해 누설될 수 있다. 구체적으로, 메모리 셀(MCEL)에 대한 프로그램, 소거 또는 독출과 같은 액세스 동작을 반복하면 채널 영역과 플로팅 게이트(FG) 사이의 절연막은 마모될 수 있고, 이에 따라, 플로팅 게이트(FG)에 저장된 전자가 누설될 수 있다. 또 다른 예로, 플로팅 게이트(FG)에 저장된 전자는 고온 스트레스 또는 프로그램/독출 시의 온도 차이 등에 의해 누설될 수도 있다. 이와 같은 누설 현상은 메모리 장치의 신뢰성을 저하시키는 요인이 된다.
플래시 메모리 디바이스에서는 데이터의 기입 및 독출은 페이지 단위로 수행되고, 전기적 소거는 블록 단위로 이루어진다. 또한, 기입 전에 블록의 전기적 소거 작업이 요구된다. 이에 따라서, 덮어쓰기가 불가능하다.
덮어쓰기가 불가능한 메모리 장치에서는 사용자 데이터를 사용자가 원하는 물리적 영역에 기입할 수 없다. 따라서 호스트로부터 기입 또는 독출을 위하여 액세스를 요청받는 경우, 호스트로부터 기입 또는 독출이 요청된 논리적 어드레스를 실제로 데이터가 저장되어 있는 또는 데이터가 저장될 물리적 어드레스로 변환시키는 어드레스 변환 동작이 필요하다.
메모리 시스템(100)에서 논리적 어드레스를 물리적 어드레스로 변환시키는 과정을 도 7을 참조하여 설명하기로 한다.
도 7은 메모리 시스템(100)의 소프트웨어 구조를 보여주는 블록도이다. 일 예로서, 도 7에서는 메모리 시스템(100)을 구성하는 저장 장치(120)를 플래시 메모리 디바이스들로 구현한 경우의 메모리 시스템(100)의 소프트웨어 구조를 보여준다.
도 7을 참조하면, 메모리 시스템(100)은 애플리케이션(101), 파일 시스템(102), 플래시 변환 계층(103), 그리고 플래시 메모리(104)순으로 소프트웨어 계층 구조를 갖는다. 여기에서, 플래시 메모리(104)는 물리적으로 도 3에 도시된 플래시 메모리 디바이스(121-0)를 의미한다.
애플리케이션(101)은 사용자 데이터를 가공하는 펌웨어를 의미한다. 예를 들어, 애플리케이션(101)은 워드 프로세서와 같은 문서 처리 소프트웨어, 계산 소프트웨어, 웹 브라우저와 같은 문서 뷰어가 될 수 있다. 애플리케이션(101)은 사용자의 입력에 응답하여 사용자 데이터를 처리하고, 처리된 사용자 데이터를 플래시 메모리(104)에 저장하기 위한 커맨드를 파일 시스템(102)에 전달한다.
파일 시스템(102)은 플래시 메모리(104)에 사용자 데이터를 저장하기 위해 사용되는 구조 또는 소프트웨어를 의미한다. 파일 시스템(102)은 애플리케이션(101)으로부터의 커맨드에 응답하여, 사용자 데이터가 저장될 논리적 어드레스를 할당한다. 파일 시스템(102)의 일종으로 FAT(File Allocation Table) 파일 시스템, NTFS 등이 있다.
플래시 변환 계층(Flash Translation Layer; FTL, 103)에서는 파일 시스템(102)으로부터 전달받은 논리적 어드레스를 플래시 메모리(104)에서의 읽기/쓰기 동작을 위한 물리적 어드레스로의 변환 과정을 수행한다. 플래시 변환 계층(103)에서는 맵 테이블 정보를 이용하여 논리적 어드레스를 물리적 어드레스로 변환시킨다.
예로서, 논리적 어드레스들을 논리적 페이지 단위로 분할하여 논리적 페이지 번호(LPN)를 할당하고, 논리적 페이지 번호를 맵 테이블 정보를 이용하여 물리적 페이지 번호로 변환시킬 수 있다.
다른 예로서, 논리적 어드레스들을 논리적 페이지 단위로 분할하여 논리적 페이지 번호(LPN)를 할당하고, 논리적 페이지 번호를 맵 테이블 정보를 이용하여 가상 페이지 번호(VPN)로 변환시키고, 가상 페이지 번호(VPN)를 이용하여 물리적 페이지 번호(PPN)를 산출할 수도 있다.
어드레스 매핑 방법은 페이지 매핑 방법 또는 블록 매핑 방법을 이용할 수 있다. 페이지 매핑 방법은 페이지 단위로 어드레스 매핑 동작을 수행하고, 블록 매핑 방법은 블록 단위로 어드레스 매핑 동작을 수행하는 방식이다. 또한, 페이지 매핑과 블록 매핑을 혼합한 혼합 매핑 방법이 적용될 수도 있다. 여기에서, 물리적 어드레스는 플래시 메모리(104)의 데이터 저장 위치를 나타낸다.
예로서, 플래시 변환 계층(103)에서는 논리 블록 어드레스(Logical Block Address; LBA)를 페이지 단위의 논리적 페이지 번호(Logical Page Number; LPN)로 나누고, 논리적 페이지 번호(Logical Page Number; LPN)를 플래시 메모리 디바이스의 물리적 저장 위치를 나타내는 물리적 페이지 번호(Physical Page Number; PPN)로 변환시키는 처리를 수행할 수 있다.
도 8은 도 1에 도시된 메모리 컨트롤러의 세부 구성을 예시적으로 보여주는 도면이다.
도 8을 참조하면, 메모리 컨트롤러(110)는 중앙처리장치(CPU; 111), ROM(Read Only Memory; 112), RAM(Random Access Memory; 113), 호스트 인터페이스(Host Interface; 114), ECC(Error Correction Code) 처리부(115), 메모리 인터페이스(116) 및, 버스(Bus; 117)를 구비한다.
메모리 컨트롤러(110)의 구성요소들은 버스(117)를 통하여 전기적으로 연결될 수 있다.
호스트 인터페이스(114)는 메모리 시스템(100)과 접속되는 호스트와의 데이터 교환 프로토콜을 구비하고 메모리 시스템(100)과 호스트 사이의 인터페이스를 수행한다. 호스트 인터페이스(114)는 예로서 ATA(Advanced Technology Attachment) 인터페이스, SATA(Serial Advanced Technology Attachment) 인터페이스, PATA(Parallel Advanced Technology Attachment) 인터페이스, USB(Universal Serial Bus) 또는 SAS(Serial Attached Small Computer System) 인터페이스, SCSI(Small Computer System Interface), eMMC(embedded Multi Media Card) 인터페이스, UFS(Unix File System) 인터페이스로 구현할 수 있다. 그러나 이는 예시일 뿐 이에 제한되는 것은 아니다. 호스트 인터페이스(114)는 중앙처리장치(111)의 제어에 따라 호스트와 커맨드, 어드레스 및, 데이터를 주고받을 수 있다.
ROM(112)에는 메모리 시스템(100)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들이 저장될 수 있다. 예로서, 도 11 ~ 도 17의 흐름도에 따른 방법들을 실행하기 위한 프로그램 코드들도 ROM(112)에 저장될 수 있다.
RAM(113)에는 ROM(112)에서 읽어낸 프로그램 코드 및 데이터가 저장될 수 있다. 또한, RAM(113)에는 호스트 인터페이스(114)를 통하여 수신되는 데이터 또는 메모리 인터페이스(118)를 통하여 저장 장치(120)로부터 수신되는 데이터가 저장될 수 있다.
ECC 처리부(115)는 라이트 동작 시에 RS 코드(Reed-Solomon code), 헤밍 코드(Hamming code), CRC(Cyclic Redundancy Code) 등과 같은 알고리즘을 이용하여 수신되는 데이터에 대한 에러 정정 코드(Error Correction Code)를 생성시킬 수 있다. 그리고, 리드 동작 시에는 데이터와 함께 리드된 에러 정정 코드(ECC)를 이용하여 수신된 데이터에 대한 에러 검출 및 정정 처리를 수행한다.
중앙처리장치(111)는 RAM(113)에 저장된 프로그램 코드 및 데이터들을 이용하여 메모리 시스템(100)의 동작을 전반적으로 제어할 수 있다.
예컨대, 메모리 시스템(100)이 파워 온(power on) 되면 중앙처리장치(111)는 ROM(112) 또는 저장 장치(120)에 저장된 메모리 시스템(100)에서 수행되는 동작들을 제어하는데 필요한 프로그램 코드 및 데이터들을 읽어내어 RAM(113)에 저장할 수 있다.
예로서, 메모리 시스템(100)이 파워 온 되면, 중앙처리장치(111)는 저장 장치(120)로부터 맵 테이블 정보 및 저장 영역별 신뢰성 정보를 읽어내어 RAM(113)에 저장할 수 있다. 그리고, 메모리 시스템(100)이 파워 오프 되기 전에 중앙처리장치(111)는 RAM(113)로부터 맵 테이블 정보 및 저장 영역별 신뢰성 정보를 읽어내어 저장 장치(120)에 라이트하도록 제어할 수 있다.
다른 예로서, 메모리 시스템(100)이 파워 온 되면, 중앙처리장치(111)는 저장 장치(120)로부터 맵 테이블 정보를 읽어내어 RAM(113)에 저장하고, 저장 영역별 신뢰성 정보를 초기화시켜 RAM(113)에 저장할 수 있다. 예로서, 저장 영역별 신뢰성 정보는 초기 설정된 디폴트 값으로 초기화시킬 수 있다. 다른 예로서, 저장 영역별 신뢰성 정보는 저장 영역별 프로그램/소거 사이클 정보에 기초하여 초기화시킬 수도 있다.
또 다른 예로서, 중앙처리장치(111)는 라이트 오퍼레이션 또는 이레이즈 오퍼레이션 수행 후에 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행된 저장 영역에 대한 신뢰성 정보를 초기화시킬 수 있다. 예로서, 라이트 오퍼레이션 또는 이레이즈 오퍼레이션 수행 후에 저장 영역별 프로그램/소거 사이클 정보에 기초하여 초기화시킬 수 있다.
중앙처리장치(111)는 메모리 디바이스의 저장 영역별 신뢰성 정보에 기초하여 리드 오퍼레이션을 수행할 저장 영역에 대한 리드 파라미터 값을 결정할 수 있다. 예로서, 리드 파라미터는 리드 속도를 조절하는 파라미터가 포함될 수 있다. 그리고, 리드 속도를 조절하는 파라미터는 메모리 디바이스의 프리챠지 전압 레벨을 결정하는 파라미터 또는 디벨로프 시간을 결정하는 파라미터 중 적어도 하나가 포함될 수 있다.
예로서, 신뢰성 정보는 블록 단위 또는 페이지 단위 중의 하나로 결정될 수 있다. 다른 예로서, 복수의 페이지 단위로 신뢰성 정보가 결정될 수도 있다. 그리고, 신뢰성 정보는 복수개로 나누어진 신뢰성 수준들 중의 하나의 수준을 나타내는 정보가 될 수 있다. 저장 영역별 신뢰성 정보가 나타내는 수준에 따라서 리드 파라미터 값을 결정할 수 있다. 예로서, 신뢰성 수준이 높을수록 리드 속도가 높아지도록 프리챠지 전압 레벨 또는 디벨로프 시간에 대한 파라미터 값을 결정할 수 있다. 반대로, 신뢰성 수준이 낮을수록 리드 속도가 낮아지도록 프리챠지 전압 레벨 또는 디벨로프 시간에 대한 파라미터 값을 결정할 수 있다.
중앙처리장치(111)는 리드 오퍼레이션을 수행하고 나서 독출된 데이터의 품질에 기초하여 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 동작을 수행할 수 있다. 예로서, 중앙처리장치(111)는 ECC 처리부(115)에서 리드 오퍼레이션 수행에 의한 데이터로부터 검출된 에러 비트 개수를 산출하고, 산출된 에러 비트 개수에 기초하여 리드 오퍼레이션을 수행한 메모리 디바이스의 저장 영역에 대한 신뢰성 정보를 결정하고, 결정된 신뢰성 정보로 저장 영역별 신뢰성 정보를 업데이트할 수 있다. 예로서, 에러 비트 개수는 페이지 단위로 산출할 수 있다. 예로서, 산출된 에러 비트 개수가 초기 설정된 상한 기준값보다 큰 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준보다 낮은 신뢰성 수준을 나타내는 신뢰성 정보로 업데이트한다. 만일, 산출된 에러 비트 개수가 초기 설정된 하한 기준값보다 작은 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준보다 높은 신뢰성 수준을 나타내는 신뢰성 정보로 업데이트한다. 만일, 산출된 에러 비트 개수가 상한 기준값보다 작거나 같고 하한 기준값보다 크거나 같은 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준을 그대로 유지한다.
도 9는 메모리 시스템에서의 페이지 오프셋에 따른 신뢰성 변화를 예시적으로 보여주는 도면이다.
예로서, 블록 내에서 각 페이지별로 BER(Bit Error Ratio)을 측정하면 서로 다르게 나오는 것을 확인할 수 있다. 신뢰성 정보의 초기 값을 결정하거나, 리드 오퍼레이션 후의 신뢰성 정보를 결정할 때 도 9와 같은 페이지 오프셋의 통계적인 정보를 이용할 수도 있다. 도 9에서 점선은 MSB 페이지에 대한 페이지 오프셋을 나타내고, 실선은 LSB 페이지에 대한 페이지 오프셋을 나타낸다.
도 10은 메모리 디바이스의 저장 영역별 신뢰성 정보를 예시적으로 보여주는 도면이다.
도 10을 참조하면, 블록 별로 신뢰성 정보를 결정한 예를 보여준다. 다른 예로서, 페이지별로 신뢰성 정보를 결정할 수도 있다. 또한, 초기 설정된 복수개의 페이지별로 신뢰성 정보를 결정할 수도 있다.
도 10을 참조하면, 신뢰성 정보(GR)가 '0'인 경우에 가장 높은 신뢰성 수준을 나타내고, 신뢰성 정보(GR)가 '7'경우에 가장 낮은 신뢰성 수준을 나타낸다. 즉, 신뢰성 수준을 8개의 등급으로 분류하고, 신뢰성 정보(GR)가 작은 값으로 설정될수록 신뢰성 수준이 높고, 신뢰성 정보(GR)가 커질수록 신뢰성 수준이 낮아지는 것을 의미한다.
도 10을 참조하면, 블록 번호 0에는 신뢰성 정보(GR)가 '0'으로 설정되어 있다. 이는 셀 특성에 변화가 없이 가장 높은 신뢰성 수준을 유지하고 있다는 것을 의미한다. 블록 번호 1에는 신뢰성 정보(GR)가 '7'로 설정되어 있다. 예로서, 블록 번호 1에서 높은 프로그램/이레이즈 사이클로 인해 가장 낮은 신뢰성 수준을 유지하고 있다는 것을 의미한다. 블록 2~5도 각각 리드 회수 증가에 따른 리드 디스터브(read disturb), 데이터 장시간 보존, P/E 사이클, 셀 자체 특성 변화에 의하여 신뢰성 수준이 변화되는 것을 보여준다.
도 10과 같은 저장 영역별 신뢰성 정보에서 블록 번호를 단순 배열로 구성할 경우에 배열의 인덱스로 사용한다면 블록 번호는 따로 둘 필요가 없다. 그리고, 신뢰성 정보는 정수나, 실수 등의 변수로 나타내어 신뢰성 수준을 표시할 수 있다. 또한, 셀 특성에 대한 부분은 존재할 수도 있고, 그렇지 않을 수도 있다. 만약 셀 특성에 대한 정보를 유지한다면 여러 가지 신뢰성을 저하시킬 수 있는 특성을 플래그(flag)나 비트맵(bitmap) 등으로 표현하여 나타낼 수 있다.
저장 영역별 신뢰성 정보는 RAM(113)에 저장되어 관리될 수 있다. 다른 예로서, 비휘발성 메모리인 ROM(112) 또는 저장 장치(120)에 포함된 플래시 메모리 디바이스에 저장하여 관리할 수도 있다.
중앙처리장치(111)는 호스트로부터 수신되는 I/O 리퀘스트를 저장 장치(120)에서 오퍼레이션을 수행할 수 있도록 서브 리퀘스트로 분할한다. 그리고, 저장 장치(120)에서 인식할 수 있는 물리적 주소로 변환시킨다. 예로서, I/O 리퀘스트를 플래시 메모리 디바이스에서 프로그램/리드 오퍼레이션이 가능한 규격의 서브 리퀘스트로 분할할 수 있다. 서브 리퀘스트의 크기는 플래시 메모리 디바이스에서 독립적으로 처리할 수 있는 페이지 단위로 정의될 수 있다. 예로서, 서브 리퀘스트는 커맨드 코드와 논리적 페이지 번호를 포함할 수 있다.
중앙처리장치(111)는 I/O 리퀘스트에서 서브 리퀘스트로 분할되어 할당된 논리적 페이지 번호를 플래시 메모리 디바이스의 물리적 페이지 번호로 변환시킨다. 예로서, 중앙처리장치(111)는 I/O 리퀘스트에서 서브 리퀘스트로 분할되어 할당된 논리적 페이지 번호(LPN)를 가상 페이지 번호(VPN)로 변환시키고, 가상 페이지 번호(VPN)를 이용하여 물리적 페이지 번호(PPN)를 산출할 수도 있다.
중앙처리장치(111)는 서브 리퀘스트로 분할된 커맨드 정보와 물리적 페이지 번호로 표시되는 어드레스 정보를 메모리 인터페이스(116)를 통하여 저장 장치(120)로 전송한다.
메모리 인터페이스(118)는 메모리 컨트롤러(110)와 저장 장치(120)간의 인터페이싱 동작을 수행한다. 메모리 인터페이스(118)는 서브 리퀘스트 큐(116)에서 읽어낸 서브 리퀘스트 정보를 기초하여 선택된 채널을 통하여 커맨드(CMD), 어드레스(ADDR) 및 제어 신호(CTRL)를 저장 장치(120)로 전달하고, 라이트할 데이터를 저장 장치(120)로 전송하거나 저장 장치(120)로부터 읽어낸 데이터를 수신할 수 있다.
다음으로, 본 발명의 실시 예에 따른 메모리 시스템의 액세스 성능 조절 방법을 설명하기로 한다.
본 발명의 실시 예에 따른 방법들이 도시된 도 11 ~ 도 18의 흐름도들은 메모리 시스템의 메모리 컨트롤러(110)에 의하여 수행될 수 있다. 세부적으로, 도 8에 도시된 메모리 컨트롤러(110)의 중앙처리장치(111)의 제어에 의하여 수행될 수 있다.
도 11은 본 발명의 실시 예에 따른 신뢰성 정보를 초기화시키는 방법의 흐름도이다.
우선, 메모리 컨트롤러(110)는 메모리 시스템 초기화 조건이 발생되는지를 판단한다(S110). 예로서, 메모리 시스템 초기화 조건은 메모리 컨트롤러(110)가 리세트 되는 조건이 포함될 수도 있다. 또한, 메모리 시스템이 파워 오프 상태에서 파워 온 상태로 천이될 때 메모리 컨트롤러(110)는 리세트 될 수 있다.
메모리 시스템 초기화 조건이 발생되는 경우에, 메모리 컨트롤러(110)는 메모리 디바이스의 저장 영역별 신뢰성 정보를 초기화시키는 처리를 수행한다(S120). 예로서, 저장 영역별 프로그램/소거 사이클 정보에 기초하여 저장 영역별 신뢰성 정보를 초기화시킬 수도 있다. 저장 영역별 프로그램/소거 사이클이 큰 값을 가질수록 신뢰성 수준이 상대적으로 낮아지도록 신뢰성 정보를 초기화시킬 수 있다. 예로서, 신뢰성 정보가 초기화되는 저장 영역의 단위는 블록 단위, 페이지 단위, 복수의 페이지 단위 중의 하나로 설정할 수 있다.
도 12는 본 발명의 다른 실시 예에 따른 신뢰성 정보를 초기화시키는 방법의 흐름도이다.
메모리 컨트롤러(110)는 메모리 시스템에서 라이트 오퍼레이션(write operation) 또는 이레이즈 오퍼레이션(erase operation)이 수행되었는지를 판단한다(S210).
메모리 시스템에서 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행된 경우에, 메모리 컨트롤러(110)는 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행된 저장 영역에 대한 신뢰성 정보를 초기화시키는 처리를 수행한다(S220). 예로서, 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행된 저장 영역에 대한 프로그램/소거 사이클 정보에 기초하여 저장 영역별 신뢰성 정보를 초기화시킬 수 있다.
도 13은 본 발명의 실시 예에 따른 메모리 시스템의 액세스 성능 조절 방법의 흐름도이다.
메모리 컨트롤러(110)는 메모리 디바이스의 저장 영역별 신뢰성 정보에 기초하여 리드 오퍼레이션을 수행할 저장 영역에 대한 리드 파라미터(read parameter) 값을 결정하도록 메모리 시스템을 제어한다(S310). 리드 파라미터는 리드 속도를 조절하는 파라미터를 포함할 수 있다. 리드 속도를 조절하는 파라미터는 메모리 디바이스의 프리챠지 전압 레벨을 결정하는 파라미터 또는 디벨로프 시간을 결정하는 파라미터 중 적어도 하나를 포함할 수 있다. 예로서, 리드 파라미터 값은 메모리 컨트롤러(100)에서 발생되는 제어신호에 의하여 조절될 수 있다.
예로서, 신뢰성 정보는 블록 단위, 페이지 단위 또는, 복수의 페이지 단위로 결정될 수 있다. 그리고, 신뢰성 정보는 복수개로 나누어진 신뢰성 수준들 중의 하나의 수준을 나타내는 정보가 될 수 있다. 저장 영역별 신뢰성 정보가 나타내는 수준에 따라서 리드 파라미터 값을 결정할 수 있다. 예로서, 신뢰성 수준이 높을수록 리드 속도가 높아지도록 프리챠지 전압 레벨 또는 디벨로프 시간에 대한 파라미터 값을 결정할 수 있다. 반대로, 신뢰성 수준이 낮을수록 리드 속도가 낮아지도록 프리챠지 전압 레벨 또는 디벨로프 시간에 대한 파라미터 값을 결정할 수 있다. 세부적으로, 신뢰성 수준이 낮을수록 프리챠지 전압을 낮추거나 디벨로프 시간을 증가시키도록 파라미터 값을 결정할 수 있다.
메모리 컨트롤러(110)는 단계310(S310)에서 결정된 파라미터 값을 적용하여 리드 오퍼레이션을 수행하도록 메모리 시스템(100)을 제어한다(S320). 예로서, 리드 오퍼레이션이 수행될 저장 영역에 대한 신뢰성 정보에 기초하여 결정된 프리챠지 전압 레벨 또는/ 및 디벨로프 시간을 저장 장치(120)의 메모리 디바이스에 적용하여 데이터를 읽어낼 수 있다.
메모리 컨트롤러(110)는 단계320(S320)에 따른 리드 오퍼레이션을 수행하여 독출된 데이터의 품질에 기초하여 저장 영역별 신뢰성 정보를 업데이트 처리한다(S330). 예로서, 독출된 데이터에서 검출된 단위 사이즈별 에러 비트 개수 또는 비트 에러 레이트(BER)에 기초하여 리드 오퍼레이션을 수행한 저장 영역에 대한 신뢰성 정보를 산출하고, 산출된 신뢰성 정보로 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트 처리할 수 있다.
도 14는 도 13에 도시된 신뢰성 정보를 업데이트하는 단계에 대한 세부적인 동작을 예시적으로 보여주는 흐름도이다.
메모리 컨트롤러(110)는 메모리 디바이스로부터 독출된 데이터로부터 ECC 처리 과정에서 검출되는 에러 비트 개수를 산출한다(S330-1). 예로서, 페이지 단위로 에러 비트 개수를 산출할 수 있다.
메모리 컨트롤러(110)는 단계(S330-1)에서 산출된 에러 비트 개수에 기초하여 리드 오퍼레이션을 수행한 메모리 디바이스의 저장 영역에 대한 신뢰성 정보를 결정한다(S330-2). 예로서, 산출된 에러 비트 개수가 초기 설정된 상한 기준값보다 큰 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준보다 낮은 신뢰성 수준을 나타내는 신뢰성 정보로 업데이트할 수 있다. 만일, 산출된 에러 비트 개수가 초기 설정된 하한 기준값보다 작은 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준보다 높은 신뢰성 수준을 나타내는 신뢰성 정보로 업데이트할 수 있다. 만일, 산출된 에러 비트 개수가 상한 기준값보다 작거나 같고 하한 기준값보다 크거나 같은 경우에는 해당 저장 영역에서 현재 설정되어 있는 신뢰성 수준을 그대로 유지할 수 있다.
메모리 컨트롤러(110)는 단계(S330-2)에서 결정된 신뢰성 정보로 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트 처리한다(S330-3).
도 15는 본 발명의 실시 예에 따른 신뢰성 정보를 갱신하는 방법을 예시적으로 보여주는 흐름도이다.
메모리 컨트롤러(110)는 메모리 디바이스의 저장 영역(i)별로 신뢰성 정보 초기화/갱신 후의 경과된 시간(Ti)을 산출한다(S410). 예로서, 신뢰성 정보가 초기화된 후에 갱신되지 않은 저장 영역에 대해서는 신뢰성 정보가 초기화된 후에 경과된 시간을 산출한다. 그리고, 신뢰성 정보가 갱신된 저장 영역에 대해서는 신뢰성 정보가 갱신된 후에 경과된 시간을 산출한다.
메모리 컨트롤러(110)는 저장 영역(i)별로 신뢰성 정보 초기화/갱신 후의 경과된 시간(Ti)이 제1임계값(TH1)보다 크거나 같은지를 판단한다(S420). 제1임계값(TH1)은 초기 설정값으로서, 시간의 경과에 따른 메모리 디바이스의 품질 변화를 검사하여 실험적으로 구할 수 있다.
신뢰성 정보 초기화/갱신 후의 경과된 시간(Ti)이 제1임계값(TH1)보다 크거나 같은 경우에, 메모리 컨트롤러(110)는 해당 저장 영역에 대한 신뢰성 수준을 낮춘다(S430). 예로서, 저장 영역 i에 대한 Ti가 TH1보다 크거나 같은 경우에, 저장 영역 i에 현재 설정되어 있는 신뢰성 수준을 한 단계 낮춘다. 세부적으로, 저장 영역 i에 대한 Ti가 TH1보다 크거나 같은 경우에, 저장 영역 i에 현재 설정되어 있는 신뢰성 정보 GR(i)에 1을 더한 후에, 더한 결과 값으로 저장 영역 i에 대한 신뢰성 정보 GR(i)를 업데이트한다.
도 16은 본 발명의 다른 실시 예에 따른 신뢰성 정보를 갱신하는 방법을 예시적으로 보여주는 흐름도이다.
메모리 컨트롤러(110)는 메모리 디바이스의 저장 영역(i)별로 리드 오퍼레이션 수행 회수(Ni)를 산출한다(S510).
메모리 컨트롤러(110)는 저장 영역(i)별로 리드 오퍼레이션 수행 회수(Ni)가 제2임계값(TH2)보다 크거나 같은지를 판단한다(S520). 제2임계값(TH2)은 초기 설정값으로서, 리드 수행 회수에 따른 메모리 디바이스의 품질 변화를 검사하여 실험적으로 구할 수 있다.
리드 오퍼레이션 수행 회수(Ni)가 제2임계값(TH2)보다 크거나 같은 경우에, 메모리 컨트롤러(110)는 해당 저장 영역에 대한 신뢰성 수준을 낮춘다(S530). 예로서, 저장 영역 i에 대한 Ni가 TH2보다 크거나 같은 경우에, 저장 영역 i에 현재 설정되어 있는 신뢰성 수준을 한 단계 낮춘다. 세부적으로, 저장 영역 i에 대한 Ni가 TH2보다 크거나 같은 경우에, 저장 영역 i에 현재 설정되어 있는 신뢰성 정보 GR(i)에 1을 더한 후에, 더한 결과 값으로 저장 영역 i에 대한 신뢰성 정보 GR(i)를 업데이트한다.
도 17은 본 발명의 실시 예에 따른 메모리 시스템에서의 리드 동작을 예시적으로 보여주는 흐름도이다.
메모리 컨트롤러(110)는 호스트로부터 리드 리퀘스트(read request)가 수신되는지를 판단한다(S610).
호스트로부터 리드 리퀘스트가 수신되면 메모리 컨트롤러(110)는 리드 리퀘스트가 수행될 논리적 어드레스를 메모리 디바이스의 물리적 어드레스로 변환시킨다(S620). 예로서, 논리적 어드레스들을 논리적 페이지 단위로 분할하여 논리적 페이지 번호를 할당하고, 논리적 페이지 번호를 맵 테이블 정보를 이용하여 물리적 페이지 번호로 변환시킬 수 있다.
메모리 컨트롤러(110)는 변환된 물리적 어드레스에 대한 신뢰성 정보를 저장 영역별 신뢰성 정보로부터 검색한다(S630).
메모리 컨트롤러(110)는 검색된 신뢰성 정보에 기초하여 리드 파라미터 값을 결정한다(S640). 예로서, 리드 파라미터는 리드 속도를 조절하는 파라미터가 포함될 수 있다. 그리고, 리드 속도를 조절하는 파라미터는 메모리 디바이스의 프리챠지 전압 레벨을 결정하는 파라미터 또는 디벨로프 시간을 결정하는 파라미터 중 적어도 하나가 포함될 수 있다.
메모리 컨트롤러(110)는 결정된 리드 파라미터 값을 메모리 디바이스에 적용하여 리드 오퍼레이션이 수행되도록 메모리 시스템(100)을 제어한다(S650).
메모리 컨트롤러(110)는 리드 오퍼레이션 수행에 의하여 메모리 디바이스로부터 독출된 데이터의 품질에 기초하여 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트 처리한다(S660). 저장 영역별 신뢰성 정보를 업데이트하는 동작에 대해서는 도 13 및 도 14에서 상세히 설명하였으므로, 중복 설명은 피하기로 한다.
도 18은 본 발명의 실시 예들에 따른 메모리 시스템을 메모리 카드에 적용한 예를 나타내는 블록도이다.
도 18을 참조하면, 메모리 카드 시스템(2000)은 호스트(2100) 및 메모리 카드(2200)를 포함할 수 있다. 호스트(2100)는 호스트 컨트롤러(2110) 및 호스트 접속부(2120)를 포함할 수 있다. 메모리 카드(2200)는 카드 접속부(2210), 카드 컨트롤러(2220) 및 메모리 디바이스(2230)를 포함할 수 있다.
호스트(2100)는 메모리 카드(2200)에 데이터를 기입하거나, 메모리 카드(2200)에 저장된 데이터를 독출할 수 있다. 호스트 컨트롤러(2110)는 커맨드(CMD), 호스트(2100) 내의 클럭 발생기(미도시)에서 발생한 클럭 신호(CLK) 및 데이터(DATA)를 호스트 접속부(2120)를 통해 메모리 카드(2200)로 전송할 수 있다.
카드 컨트롤러(2220)는 카드 접속부(2210)를 통해 수신된 커맨드에 응답하여, 카드 컨트롤러(2220) 내에 있는 클럭 발생기(미도시)에서 발생한 클럭 신호에 동기하여 데이터를 메모리 디바이스(2230)에 저장할 수 있다. 메모리 디바이스(2230)는 호스트(2100)로부터 전송된 데이터를 저장할 수 있다. 이때, 카드 컨트롤러(2220)는 도 1 또는 도 8에 도시된 메모리 컨트롤러(110)로 구현될 수 있으며, 메모리 디바이스(2230)는 도 1 또는 도 3에 도시된 플래시 메모리 디바이스로 구현될 수 있다.
메모리 카드(2200)는 컴팩트 플래시 카드(CFC: Compact Flash Card), 마이크로 드라이브(Microdrive), 스마트 미디어 카드(SMC: Smart Media Card) 멀티미디어 카드(MMC: Multimedia Card), 보안 디지털 카드(SDC: Security Digital Card), 메모리 스틱(Memory Stick), 및 USB 플래시 메모리 드라이버 등으로 구현될 수 있다.
도 19는 본 발명의 실시 예들에 따른 메모리 시스템을 포함하는 컴퓨팅 시스템을 나타내는 블록도이다.
도 19를 참조하면, 컴퓨팅 시스템(3000)은 프로세서(3100), RAM(3200), 입출력 장치(3300), 전원 장치(3400) 및 메모리 시스템(1000)을 포함할 수 있다. 한편, 도 19에는 도시되지 않았지만, 컴퓨팅 시스템(3000)은 비디오 카드, 사운드 카드, 메모리 카드, USB 장치 등과 통신하거나, 또는 다른 전자 기기들과 통신할 수 있는 포트(port)들을 더 포함할 수 있다. 컴퓨팅 시스템(3000)은 퍼스널 컴퓨터로 구현되거나, 노트북 컴퓨터, 휴대폰, PDA(personal digital assistant) 및 카메라 등과 같은 휴대용 전자 장치로 구현될 수 있다. 메모리 시스템(1000)은 도 1에 도시된 메모리 시스템(100)으로 구현될 수 있다.
프로세서(3100)는 특정 계산들 또는 태스크(task)들을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 마이크로프로세서(micro-processor), 중앙 처리 장치(Central Processing Unit; CPU)일수 있다. 프로세서(3100)는 어드레스 버스(address bus), 제어 버스(control bus) 및 데이터 버스(data bus) 등과 같은 버스(3500)를 통하여 RAM(3200), 입출력 장치(3300) 및 메모리 시스템(1000)과 통신을 수행할 수 있다. 실시예에 따라, 프로세서(3100)는 주변 구성요소 상호연결(Peripheral Component Interconnect; PCI) 버스와 같은 확장 버스에도 연결될 수 있다.
RAM(3200)는 컴퓨팅 시스템(3000)의 동작에 필요한 데이터를 저장할 수 있다. 예를 들어, 메모리 장치(3200)는 디램(DRAM), 모바일 디램, 에스램(SRAM), 피램(PRAM), 에프램(FRAM), 알램(RRAM) 및/또는 엠램(MRAM)으로 구현될 수 있다.
입출력 장치(3300)는 키보드, 키패드, 마우스 등과 같은 입력 수단 및 프린터, 디스플레이 등과 같은 출력 수단을 포함할 수 있다. 전원 장치(3400)는 컴퓨팅 시스템(3000)의 동작에 필요한 동작 전압을 공급할 수 있다.
도 20은 본 발명의 실시 예들에 따른 메모리 시스템을 SSD에 적용한 예를 나타내는 블록도이다.
도 20을 참조하면, SSD 시스템(4000)은 호스트(4100) 및 SSD(4200)를 포함할 수 있다.SSD(4200)는 신호 커넥터(signal connector)(4211)를 통해 호스트(4100)와 신호를 주고 받으며, 전원 커넥터(power connector)(4221)를 통해 전원을 입력 받는다. SSD(4200)는 SSD 컨트롤러(4210), 보조 전원 장치(4220) 및 복수의 메모리 장치들(4230, 4240, 4250)을 포함할 수 있다. 이때, SSD 컨트롤러(4210) 또는 복수의 메모리 장치들(4230, 4240, 4350)은 도 1에 도시된 메모리 컨트롤러(110) 또는 저장 장치(120)로 구현될 수 있다.
도 21은 도 20의 SSD를 포함하는 서버 시스템 및 네트워크 시스템을 나타내는 블록도이다.
도 21을 참조하면, 본 발명의 실시예에 따른 네트워크 시스템(5000)은 네트워크(5200)를 통해 연결되는 서버 시스템(5100) 및 다수의 단말들(5300, 5400, 5500)을 포함할 수 있다. 본 발명의 실시예에 따른 서버 시스템(5100)은 네트워크(5200)에 연결되는 다수의 단말들(5300, 5400, 5500)로부터 수신되는 요청을 처리하는 서버(5110) 및 단말들(5300, 5400, 5500)로부터 수신되는 요청에 대응되는 데이터를 저장하는 SSD(5120)를 포함할 수 있다. 이때, SSD(5120)는 도 20의 SSD(4000)일 수 있다.
한편, 상기에서 설명된 본 발명에 따른 플래시 메모리 시스템은 다양한 형태들의 패키지를 이용하여 실장 될 수 있다. 예를 들면, 본 발명에 따른 메모리 시스템은 PoP(Package on Package), Ball grid arrays(BGAs), Chip scale packages(CSPs), Plastic Leaded Chip Carrier(PLCC), Plastic Dual In-Line Package(PDIP), Die in Waffle Pack, Die in Wafer Form, Chip On Board(COB), Ceramic Dual In-Line Package(CERDIP), Plastic MetricQuad Flat Pack(MQFP), Thin Quad Flatpack(TQFP), Small Outline(SOIC), Shrink Small Outline Package(SSOP), Thin Small Outline(TSOP), Thin Quad Flatpack(TQFP), System In Package(SIP), Multi Chip Package(MCP), Wafer-level Fabricated Package(WFP), Wafer-Level Processed Stack Package(WSP), 등과 같은 패키지들을 이용하여 실장될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100 : 메모리 시스템 110 : 메모리 컨트롤러
120 : 저장 장치 10 : 셀 어레이
20 : 페이지 버퍼 30 : 제어 회로
40 : 로우 디코더 111 : 중앙처리장치
112 : ROM 113, 3200 : RAM
114 : 호스트 인터페이스 115 : ECC 처리부
116 : 메모리 인터페이스 117 : 버스

Claims (10)

  1. 메모리 디바이스의 저장 영역별 신뢰성 정보에 기초하여 리드 오퍼레이션을 수행할 저장 영역에 대한 리드 파라미터 값을 결정하는 단계;
    상기 결정된 리드 파라미터 값을 적용하여 리드 오퍼레이션을 수행하는 단계; 및
    상기 리드 오퍼레이션 수행에 의하여 독출된 데이터의 품질에 기초하여 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 단계를 포함함을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  2. 제1항에 있어서, 상기 리드 파라미터는 리드 속도를 조절하는 파라미터를 포함함을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  3. 제2항에 있어서, 상기 리드 속도를 조절하는 파라미터는 메모리 디바이스의 프리챠지 전압 레벨을 결정하는 파라미터 또는 디벨로프 시간을 결정하는 파라미터 중 적어도 하나를 포함함을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  4. 제1항에 있어서, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 단계는
    상기 리드 오퍼레이션 수행에 의하여 독출된 데이터로부터 에러 비트 개수를 산출하는 단계;
    상기 산출된 에러 비트 개수에 기초하여 리드 오퍼레이션을 수행한 메모리 디바이스의 저장 영역에 대한 신뢰성 정보를 결정하는 단계; 및
    상기 결정된 신뢰성 정보로 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 업데이트하는 단계를 포함함을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  5. 제4항에 있어서, 상기 저장 영역별 신뢰성 정보를 업데이트하는 단계는 블록 내 페이지 오프셋에 따른 통계적 정보를 이용하여 상기 리드 오퍼레이션이 수행된 블록 또는 페이지들에 대한 신뢰성 정보를 업데이트하는 것을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  6. 제1항에 있어서, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 초기화시키는 단계를 더 포함하고, 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행될 때 상기 라이트 오퍼레이션 또는 이레이즈 오퍼레이션이 수행된 영역에 대한 신뢰성 정보를 프로그램/이레이즈 사이클 정보에 기초하여 초기화시키는 것을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  7. 제6항에 있어서, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 초기화시키는 단계는 상기 메모리 디바이스가 초기화될 때 수행되는 것을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  8. 제1항에 있어서, 상기 메모리 디바이스의 저장 영역별 신뢰성 정보를 적어도 리드 회수 정보 또는 신뢰성 정보 초기화/갱신 후의 경과 시간 정보 중의 하나 이상의 정보에 기초하여 갱신하는 단계를 더 포함함을 특징으로 하는 메모리 시스템의 액세스 성능 조절 방법.
  9. 하나 이상의 메모리 디바이스들을 포함하는 저장 장치; 및
    상기 저장 장치의 저장 영역별 신뢰성 정보를 초기 설정하고, 리드 오퍼레이션 수행에 의하여 독출된 데이터의 품질에 기초하여 상기 저장 영역별 신뢰성 정보를 업데이트하는 메모리 컨트롤러를 포함함을 특징으로 하는 메모리 시스템.
  10. 제9항에 있어서, 상기 메모리 컨트롤러는
    상기 저장 영역별 신뢰성 정보를 저장하는 랜덤 액세스 메모리;
    상기 독출된 데이터로부터 에러 비트를 검출하여 정정하는 ECC 처리부; 및
    상기 ECC 처리부에서 단위 사이즈 당 검출되는 에러 비트 개수를 산출하고, 상기 산출된 에러 비트 개수에 기초하여 상기 저장 영역별 신뢰성 정보를 업데이트 처리하는 중앙처리장치를 포함함을 특징으로 하는 메모리 시스템.
KR1020130034700A 2013-03-29 2013-03-29 메모리 시스템 및 그것의 액세스 성능 조절 방법 KR20140118555A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130034700A KR20140118555A (ko) 2013-03-29 2013-03-29 메모리 시스템 및 그것의 액세스 성능 조절 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130034700A KR20140118555A (ko) 2013-03-29 2013-03-29 메모리 시스템 및 그것의 액세스 성능 조절 방법

Publications (1)

Publication Number Publication Date
KR20140118555A true KR20140118555A (ko) 2014-10-08

Family

ID=51991377

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130034700A KR20140118555A (ko) 2013-03-29 2013-03-29 메모리 시스템 및 그것의 액세스 성능 조절 방법

Country Status (1)

Country Link
KR (1) KR20140118555A (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10095577B2 (en) 2016-10-26 2018-10-09 SK Hynix Inc. Memory system and operating method thereof
US10120593B2 (en) 2015-05-22 2018-11-06 Samsung Electronics Co., Ltd. Method of controlling temperature of non-volatile storage device
US10255131B2 (en) 2015-07-06 2019-04-09 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device
CN116469447A (zh) * 2022-02-18 2023-07-21 武汉置富半导体技术有限公司 一种基于动态规划的存储单元可靠性等级确定方法及装置
US11914892B2 (en) 2021-08-31 2024-02-27 Samsung Electronics Co., Ltd. Storage device adjusting history read level storage areas based on reliabilities of memory blocks, storage controller, and operating method of storage controller

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10120593B2 (en) 2015-05-22 2018-11-06 Samsung Electronics Co., Ltd. Method of controlling temperature of non-volatile storage device
US10255131B2 (en) 2015-07-06 2019-04-09 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device
US10095577B2 (en) 2016-10-26 2018-10-09 SK Hynix Inc. Memory system and operating method thereof
US11914892B2 (en) 2021-08-31 2024-02-27 Samsung Electronics Co., Ltd. Storage device adjusting history read level storage areas based on reliabilities of memory blocks, storage controller, and operating method of storage controller
CN116469447A (zh) * 2022-02-18 2023-07-21 武汉置富半导体技术有限公司 一种基于动态规划的存储单元可靠性等级确定方法及装置
CN116469447B (zh) * 2022-02-18 2024-04-09 武汉置富半导体技术有限公司 一种基于动态规划的存储单元可靠性等级确定方法及装置

Similar Documents

Publication Publication Date Title
KR20140113176A (ko) 매핑 정보 업데이트 방법 및 이를 이용한 메모리 시스템
US11342013B2 (en) Memory system and operating method to set target command delay time to merge and process read commands
KR20140118555A (ko) 메모리 시스템 및 그것의 액세스 성능 조절 방법
KR20200139913A (ko) 메모리 시스템, 메모리 컨트롤러 및 메타 정보 저장 장치
CN112349315B (zh) 存储器系统、存储器控制器和操作方法
KR20210079552A (ko) 메모리 시스템 및 메모리 컨트롤러
US11868647B2 (en) Nonvolatile memory device, with valley search for threshold voltage, memory controller, and reading method of storage device including the same
US11474726B2 (en) Memory system, memory controller, and operation method thereof
US11182108B2 (en) Memory system, memory controller, and operation method
US11249838B2 (en) Memory system, memory controller, and method of operating memory controller
KR20230072196A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20220079264A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20220118004A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20220035577A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20210071314A (ko) 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법
KR20200117555A (ko) 메모리 시스템, 메모리 장치 및 메모리 컨트롤러
US11941272B2 (en) Memory system and operating method of memory system
US11995352B2 (en) Memory controller and operating method thereof
US20240004566A1 (en) Memory system for managing namespace using write pointer and write count, memory controller, and method for operating memory system
US20230006673A1 (en) Memory system and memory controller
US20240153576A1 (en) Memory system, memory controller and method for operating memory system
US20230385193A1 (en) Memory system, memory controller and operating method thereof for determining garbage collection victim block
US20230289260A1 (en) Controller and operating method of the controller for determining reliability data based on syndrome weight
KR20220117998A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
KR20230135334A (ko) 가비지 컬렉션을 제어하는 메모리 시스템, 메모리 컨트롤러 및 그 동작 방법

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination