KR20120098324A - 반도체 메모리 시스템 및 그의 제어 방법 - Google Patents
반도체 메모리 시스템 및 그의 제어 방법 Download PDFInfo
- Publication number
- KR20120098324A KR20120098324A KR1020110018194A KR20110018194A KR20120098324A KR 20120098324 A KR20120098324 A KR 20120098324A KR 1020110018194 A KR1020110018194 A KR 1020110018194A KR 20110018194 A KR20110018194 A KR 20110018194A KR 20120098324 A KR20120098324 A KR 20120098324A
- Authority
- KR
- South Korea
- Prior art keywords
- descriptor
- unit
- memory device
- cell array
- semiconductor memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
본 발명은 반도체 메모리 시스템의 성능을 향상시킬 수 있도록 하는 반도체 메모리 시스템 및 그의 제어방법에 관한 것으로, 본 발명에 따른 반도체 메모리 시스템은 호스트로부터 입력되는 커맨드에 따라 디스크립터를 생성하는 프로세서, 상기 프로세서에서 생성된 디스크립터를 저장하고, 저장된 디스크립터를 전달하는 인터페이스 장치 및 상기 인터페이스 장치에서 전달된 디스크립터를 입력받아 상기 디스크립터에 대응하여 동작하는 메모리 장치를 포함할 수 있다.
Description
본 발명은 반도체 메모리 시스템에 관한 것으로, 보다 상세하게는 반도체 메모리 시스템의 성능을 향상시킬 수 있도록 하는 반도체 메모리 시스템 및 그의 제어방법에 관한 것이다.
일반적으로반도체 메모리 시스템은 호스트에서 입력되는 대부분의 커맨드(command)를 처리하는 프로세서와 상기 프로세서에서 처리된 커맨드를 버퍼링하여 셀 어레이가 집적된 메모리 장치로 전송하는 인터페이스 장치 및 상기 인터페이스 장치로부터 입력된 커맨드에 따라 동작하는 셀 어레이가 집적된 메모리 장치를 포함한다.
여기서, 일반적인 반도체 메모리 시스템의 프로세서는 상기 호스트에서 입력되는 커맨드를 처리하는 동작 외에 소프트웨어 추상화 레이어(Flash Translation Layer: FTL)의 웨어레벨링 작업도 수행하게 된다.
그러나, 일반적인 반도체 메모리 시스템의 프로세서는 상기 커맨드가 입력될 때마다 매번 해당 명령과 주소를 메모리 장치에 알려주고 데이터 전송에도 관여를 해야 하기 때문에 프로세서의 오버헤드 현상이 발생하게 된다.
이러한 일반적인 반도체 메모리 시스템의 오버헤드 현상은, 특히 동작 클록이 비교적 낮은 속도로 동작하는 플래시 메모리의 경우, 성능 상의 병목 현상을 일으키게 되는 문제점이 있다.
본 발명이 해결하려는 과제는 디스크립터를 이용하여 반도체 메모리 시스템의 성능을 향상시킬 수 있도록 하는 반도체 메모리 시스템 및 그의 제어방법을 제공하려는 것이다.
본 발명에 따른 반도체 메모리 시스템은 호스트로부터 입력되는 커맨드에 따라 디스크립터를 생성하는 프로세서, 상기 프로세서에서 생성된 디스크립터를 저장하고, 저장된 디스크립터를 전달하는 인터페이스 장치 및 상기 인터페이스 장치에서 전달된 디스크립터를 입력받아 상기 디스크립터에 대응하여 동작하는 메모리 장치를 포함할 수 있다.
또한, 본 발명에 따른 반도체 메모리 시스템의 제어 방법은 커맨드를 입력받아 디스크립터를 생성하여 저장하는 단계, 상기 디스크립터의 저장이 완료되었는지 판단하는 단계, 상기 디스크립터의 저장이 완료된 것으로 판단되면 상기 디스크립터를 분석하여 최적화하는 단계 및 상기 최적화된 디스크립터를 메모리 장치에 전달하는 단계를 포함할 수 있다.
본 발명에 따른 반도체 메모리 시스템 및 그의 제어 방법은 디스크립터를 이용하여 메모리 장치내의 셀 어레이 동작 제어부에서 셀 어레이를 제어하도록 하여 프로세서의 오버 헤드를 최소화할 수 있게 된다.
또한, 본 발명에 따른 반도체 메모리 시스템 및 그의 제어 방법은 디스크립터를 큐의 형태로 저장하여 관리함으로써 응답 속도가 빨라지게 되어 반도체 메모리 시스템의 성능을 향상시킬 수 있게 된다.
도 1은 본 발명의 일실시예에 따른 반도체 메모리 시스템의 구성을 나타내는 블록도,
도 2는 본 발명의 일실시예에 따른 디스크립터의 형식을 나타내는 블록도 및
도 3은 본 발명의 일실시예에 따른 반도체 메모리 시스템의 제어방법을 순차적으로 나타내는 흐름도이다.
도 2는 본 발명의 일실시예에 따른 디스크립터의 형식을 나타내는 블록도 및
도 3은 본 발명의 일실시예에 따른 반도체 메모리 시스템의 제어방법을 순차적으로 나타내는 흐름도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 일실시예를 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 반도체 메모리 시스템의 구성을 나타내는 블록도이고, 도 2는 본 발명의 일실시예에 따른 디스크립터의 형식을 나타내는 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 반도체 메모리 시스템(100)은 프로세서(110), 인터페이스 장치(120) 및 메모리 장치(130)를 포함할 수 있다.
프로세서(110)는 호스트(미도시)로부터 입력되는 커맨드(command)에 따라 메모리 장치(130)가 동작할 수 있도록 하는 것으로, 본 발명의 일실시예에 따른 반도체 메모리 시스템(100)의 성능을 향상시키기 위한 디스크립터 생성부(111)와 FTL 동작부(112)를 포함한다.
디스크립터 생성부(111)는 호스트(미도시)로부터 입력되는 커맨드(command)를 입력받아 설계자에 의해 정의된 디스크립터(descriptor)의 형식에 맞춰 디스크립터를 생성한다. 이러한 디스크립터 생성부(111)는 메모리 장치(130)의 동작에 필요한 정보인 호스트로부터 입력된 커맨드 정보, 다음 디스크립터가 저장될 위치 정보, 메모리 장치의 읽기 또는 쓰기 동작이 이루어져야 할 어드레스 정보, 데이터 버퍼 주소 정보, 메모리 장치의 읽기 또는 쓰기 동작 후의 결과 및 상태 정보 등을 생성할 수 있다. 또한, 디스크립터 생성부(111)는 필요에 따라 에러 정정 코드(Error Correction Code: ECC) 정보, 사용자 동작 옵션 등이 추가하여 생성할 수 있다.
FTL 동작부(112)는 메모리 장치(130)를 가상의 블록 디바이스처럼 사용할 수 있도록 하기 위해 주소 매핑 기능을 수행한다. 즉, 호스트에서 입력되는 논리 주소를 메모리 장치(130)에서 사용하는 물리 주소로 변경한다. 또한, FTL 동작부(112)는 웨어레벨링(Wear-leveling) 기능을 수행한다.
인터페이스 장치(120)는 상기 프로세서(110)에서 생성된 디스크립터를 상기 메모리 장치(130)에 전달하는 것으로, 디스크립터 저장부(121) 및 버퍼부(122)를 포함할 수 있다.
디스크립터 저장부(121)는 상기 프로세서(110)에서 생성된 디스크립터를 입력받아, 도 2에 도시된 바와 같이, 먼저 저장된 데이터가 먼저 출력되도록 하는 큐(queue)의 구조를 갖는다. 즉, 본 발명의 일실시예에 따른 반도체 메모리 시스템(100)의 디스크립터 저장부(121)는 큐라고 할 수 있다.
버퍼부(122)는 상기 디스크립터 저장부(121)에 저장된 디스크립터를 분석하고 순서 재배치 등의 디스크립터를 재구성하여 상기 메모리 장치(130)에 디스크립터의 주소가 입력되도록 한다. 이러한 버퍼부(122)는 재구성된 디스크립터의 주소를 상기 메모리 장치(130)에 입력하여 동작되도록 한다.
메모리 장치(130)는 상기 인터페이스 장치(120)로부터 입력되는 디스크립터에 따라 동작하는 것으로, 셀 어레이부(131)와 셀 어레이 동작 제어부(132)를 포함할 수 있다.
셀 어레이부(131)는 데이터를 저장하는 복수의 셀을 포함한다.
셀 어레이 동작 제어부(132)는 상기 인터페이스 장치(120)에서 입력되는 큐의 주소를 입력받아 상기 셀 어레이부(131)의 동작을 제어한다.
이와 같이 구성되는 본 발명의 일실시예에 따른 반도체 메모리 시스템(100)의 동작 제어방법을 살펴보면 다음 도 3과 같다.
도 3은 본 발명의 일실시예에 따른 반도체 메모리 시스템의 제어 방법을 순차적으로 나타내는 흐름도이다.
도 3을 살펴보면, 호스트(미도시)로부터 커맨드가 입력되면(S310) 디스크립터를 생성한다(S320). 이때, 디스크립터는, 앞서 설명한 바와 같이, 호스트로부터 입력된 커맨드 정보, 다음 디스크립터가 저장될 위치 정보, 메모리 장치의 읽기 또는 쓰기 동작이 이루어져야 할 어드레스 정보, 데이터 버퍼 주소 정보, 메모리 장치의 읽기 또는 쓰기 동작 후의 결과 및 상태 정보 등을 포함할 수 있다.
이렇게 생성된 디스크립터는 인터페이스 장치(120)의 디스크립터 저장부(121)에 저장된다(S330).
이렇게 디스크립터 저장부(121)에 저장되는 디스크립터는 큐의 구조로 저장되는데, 큐의 구조로 디스크립터가 저장 완료되었는지 판단하여(S340) 판단 결과, 저장이 완료되지 않은 것으로 판단되면 다음 커맨드를 입력받아(S310) 상기와 같은 과정을 반복하도록 한다.
한편, 디스크립터의 저장이 완료된 것으로 판단되면 저장된 디스크립터를 재분석하여(S350) 디스크립터를 재배치하여 최적화되도록 한다(S360). 예를 들어, 디스크립터가, 도 2에 도시된 바와 같이, 커맨드 정보, 다음 디스크립터가 저장될 위치 정보, 메모리 장치의 어드레스 정보, 데이터 버퍼 주소 정보, 메모리 장치의 읽기 또는 쓰기 동작 후의 결과 및 상태 정보, 기타의 순서로 저장되어 있다면 이를 분석하여 최적화된 구조인 커맨드 정보, 메모리 장치의 어드레스 정보, 데이터 버퍼 주소 정보, 메모리 장치의 읽기 또는 쓰기 동작 후의 결과 및 상태 정보, 다음 디스크립터가 저장될 위치 정보, 기타의 순서로 저장되도록 한다.
이렇게 최적화된 디스크립터의 주소를 메모리 장치(130)의 셀 어레이 동작 제어부(132)에 전달하여 입력된 디스크립터에 따라 셀 어레이부(131)가 동작하도록 한다(S380).
이와 같은 본 발명의 일실시예에 따른 반도체 메모리 시스템 및 그의 제어 방법은 메모리 장치의 동작 제어 등을 프로세서에서 제어하는 것이 아니라 디스크립터를 이용하여 메모리 장치내의 제어부에서 셀 어레이를 제어하도록 하여 프로세서의 오버 헤드를 최소화할 수 있게 된다.
또한, 본 발명의 일실시예에 따른 반도체 메모리 시스템 및 그의 제어 방법은 디스크립터를 큐의 형태로 저장하여 관리함으로써 응답 속도가 빨라지게 되어 반도체 메모리 시스템의 성능을 향상시킬 수 있게 된다.
이와 같이, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해해야만 한다. 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 반도체 메모리 시스템 110: 프로세서
111: 디스크립터 생성부 112: FTL 동작부
120: 인터페이스 장치 121: 디스크립터 저장부
122: 버퍼부 130: 메모리 장치
131: 셀 어레이부 132: 셀 어레이 동작 제어부
111: 디스크립터 생성부 112: FTL 동작부
120: 인터페이스 장치 121: 디스크립터 저장부
122: 버퍼부 130: 메모리 장치
131: 셀 어레이부 132: 셀 어레이 동작 제어부
Claims (10)
- 호스트로부터 입력되는 커맨드에 따라 디스크립터를 생성하는 프로세서;
상기 프로세서에서 생성된 디스크립터를 저장하고, 저장된 디스크립터를 전달하는 인터페이스 장치; 및
상기 인터페이스 장치에서 전달된 디스크립터를 입력받아 상기 디스크립터에 대응하여 동작하는 메모리 장치;
를 포함하는 반도체 메모리 시스템. - 제1항에 있어서, 상기 프로세서는
상기 메모리 장치의 동작을 제어하는 커맨드 정보, 어드레스 정보, 읽기 또는 쓰기 동작 후의 결과 및 상태 정보, 다음 디스크립터가 저장될 위치 정보, 데이터 버퍼 주소 정보, 에러 정정 코드 정보 및 사용자 동작 옵션 중 적어도 하나 이상의 정보를 포함하여 디스크립터를 생성하는 것을 특징으로 하는 반도체 메모리 시스템. - 제1항에 있어서, 상기 인터페이스 장치는,
상기 프로세서에서 생성되는 디스크립터를 저장하는 디스크립터 저장부; 및
상기 디스크립터 저장부로부터 상기 디스크립터를 입력받아 상기 디스크립터를 분석하고 재배치하여 전달하는 버퍼부;
를 포함하는 것을 특징으로 하는 반도체 메모리 시스템. - 제3항에 있어서, 상기 디스크립터 저장부는,
먼저 저장된 디스크립터가 먼저 출력되도록 하는 큐(queue)인 것을 특징으로 하는 반도체 메모리 시스템. - 제3항에 있어서, 상기 버퍼부는,
상기 디스크립터의 주소를 상기 메모리 장치에 전달하는 것을 특징으로 하는 반도체 메모리 시스템. - 제1항 또는 제5항에 있어서, 상기 메모리 장치는,
데이터를 저장하는 복수의 셀 어레이가 집적되는 셀 어레이부; 및
상기 셀 어레이부의 동작을 제어하는 셀 어레이 동작 제어부를 포함하며,
상기 디스크립터의 주소는 상기 셀 어레이 동작 제어부에 입력되는 것을 특징으로 하는 반도체 메모리 시스템. - 커맨드를 입력받아 디스크립터를 생성하여 저장하는 단계;
상기 디스크립터의 저장이 완료되었는지 판단하는 단계;
상기 디스크립터의 저장이 완료된 것으로 판단되면 상기 디스크립터를 분석하여 최적화하는 단계; 및
상기 최적화된 디스크립터를 메모리 장치에 전달하는 단계;
를 포함하는 반도체 메모리 시스템의 제어방법. - 제7항에 있어서, 상기 디스크립터를 생성하여 저장하는 단계는,
상기 디스크립터를 큐의 구조로 저장하는 것을 특징으로 하는 반도체 메모리 시스템의 제어방법. - 제7항에 있어서, 상기 저장이 완료되었는지 판단하는 단계에서,
상기 디스크립터의 저장이 완료되지 않은 것으로 판단되면 다음 커맨드를 입력받아 입력된 커맨드에 대응되는 디스크립터를 생성하는 것을 특징으로 하는 반도체 메모리 시스템의 제어방법. - 제7항에 있어서, 상기 디스크립터를 메모리 장치에 전달하는 단계는,
상기 디스크립터의 주소를 상기 메모리 장치에 전달하는 것을 특징으로 하는 반도체 메모리 시스템의 제어방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110018194A KR20120098324A (ko) | 2011-02-28 | 2011-02-28 | 반도체 메모리 시스템 및 그의 제어 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110018194A KR20120098324A (ko) | 2011-02-28 | 2011-02-28 | 반도체 메모리 시스템 및 그의 제어 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20120098324A true KR20120098324A (ko) | 2012-09-05 |
Family
ID=47109403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110018194A KR20120098324A (ko) | 2011-02-28 | 2011-02-28 | 반도체 메모리 시스템 및 그의 제어 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20120098324A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190091816A (ko) * | 2018-01-29 | 2019-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
-
2011
- 2011-02-28 KR KR1020110018194A patent/KR20120098324A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190091816A (ko) * | 2018-01-29 | 2019-08-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10114578B2 (en) | Solid state disk and data moving method | |
US9652177B2 (en) | Memory controller including host command queue and method of operating the same | |
JP4829365B1 (ja) | データ記憶装置及びデータ書き込み方法 | |
US9436447B2 (en) | Technique for live analysis-based rematerialization to reduce register pressures and enhance parallelism | |
US8386699B2 (en) | Method for giving program commands to flash memory for writing data according to a sequence, and controller and storage system using the same | |
US8862963B2 (en) | Nonvolatile memory, memory controller, nonvolatile memory accessing method, and program | |
KR102446733B1 (ko) | 스토리지 장치 및 스토리지 장치를 포함하는 전자 장치 | |
KR101366960B1 (ko) | 입출력 핀을 이용한 다중 웨이 낸드 플래시 제어 장치 및 방법 | |
TWI454906B (zh) | 資料讀取方法、快閃記憶體控制器與儲存系統 | |
KR102395477B1 (ko) | 호스트 메모리에 대한 메모리 액세스를 스케쥴링하는 장치 컨트롤러, 및 이를 포함하는 저장 장치 | |
JP5414656B2 (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
JP2012137885A (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
KR20090097051A (ko) | 고속 동작하는 반도체 스토리지 시스템 및 그 제어 방법 | |
CN110858128B (zh) | 数据存储装置及其共享控制器中存储器的方法 | |
US20140317628A1 (en) | Memory apparatus for processing support of long routing in processor, and scheduling apparatus and method using the memory apparatus | |
JP4966404B2 (ja) | メモリ制御装置、記憶装置、及びメモリ制御方法 | |
US9575887B2 (en) | Memory device, information-processing device and information-processing method | |
KR20180007374A (ko) | 메모리 채널의 소프트웨어 트레이닝을 수행하는 전자 장치 및 그것의 메모리 채널 트레이닝 방법 | |
KR102349381B1 (ko) | 데이터 저장 장치 및 그것의 동작 방법 | |
US20190146926A1 (en) | Storage device and operating method of storage device | |
JP2012137886A (ja) | データ記憶装置、メモリ制御装置及びメモリ制御方法 | |
CN105094691A (zh) | 一种数据操作的方法、设备和*** | |
KR20170001235A (ko) | 메모리 시스템 및 그것의 동작 방법 | |
CN109791510B (zh) | 在异构计算中管理数据流 | |
KR20220094601A (ko) | 스토리지 장치 및 그 구동 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |