1 |
1
반도체 메모리 장치에 대한 데이터 입출력을 제어하는 컨트롤러로서,인터페이스 및 상기 반도체 메모리 장치와 데이터를 송수신하는 제 1 버퍼;외부 요청에 따라 상기 반도체 메모리 장치의 읽기 동작 또는 쓰기 동작을 제어하는 제 1 제어기 및다수의 상기 외부 요청들을 파이프라인 방식으로 동시에 처리하기 위해 상기 제 1 버퍼와 상기 제 1 제어기를 제어하는 제 2 제어기를 포함하는 컨트롤러
|
2 |
2
청구항 1에 있어서, 상기 제 2 제어기는상기 제 1 버퍼를 할당하는 제 1 단계 및상기 외부 요청에 따라 상기 제 1 버퍼와 상기 반도체 메모리 장치 사이에서 데이터를 이동시키는 제 2 단계를 포함하는 파이프라인 단계들이 수행되도록 상기 제 1 버퍼와 상기 제 1 제어기를 제어하는 컨트롤러
|
3 |
3
청구항 2에 있어서, 상기 외부 요청이 데이터 쓰기 요청인 경우상기 제 1 단계는 상기 인터페이스로부터의 데이터를 상기 제 1 버퍼에 저장하고 상기 제 2 단계는 상기 제 1 버퍼의 데이터를 상기 반도체 메모리 장치에 저장하는 컨트롤러
|
4 |
4
청구항 2에 있어서, 상기 외부 요청이 데이터 읽기 요청인 경우 상기 제 2 단계는 상기 반도체 메모리 장치의 데이터를 상기 제 1 버퍼에 저장하여 상기 인터페이스로 제공하는 컨트롤러
|
5 |
5
청구항 1에 있어서, 상기 컨트롤러는 상기 다수의 외부 요청 각각이 위치하는 파이프라인 단계 및 요청된 주소 중 적어도 하나를 저장하는 레지스터를 더 포함하는 컨트롤러
|
6 |
6
청구항 1에 있어서, 상기 제 2 제어기는상기 제 1 버퍼를 할당하는 제 1 단계;상기 제 1 제어기에서 외부 요청에 따라 내부 명령을 생성하는 제 2 단계; 및상기 내부 명령에 따라 상기 제 1 버퍼와 상기 반도체 메모리 장치 사이에서 데이터를 이동시키는 제 3 단계를 포함하는 파이프라인 단계들이 수행되도록 상기 제 1 버퍼와 상기 제 1 제어기를 제어하는 컨트롤러
|
7 |
7
청구항 6에 있어서, 상기 외부 요청이 데이터 쓰기 요청인 경우상기 제 1 단계는 상기 인터페이스로부터의 데이터를 상기 제 1 버퍼에 저장하고 상기 제 3 단계는 상기 제 1 버퍼의 데이터를 상기 반도체 메모리 장치에 저장하는 컨트롤러
|
8 |
8
청구항 6에 있어서, 상기 외부 요청이 데이터 읽기 요청인 경우상기 제 3 단계는 상기 반도체 메모리 장치의 데이터를 상기 제 1 버퍼에 저장하여 상기 인터페이스로 제공하는 컨트롤러
|
9 |
9
청구항 6에 있어서, 상기 반도체 메모리 장치는 비휘발성 메모리 장치인 컨트롤러
|
10 |
10
청구항 9에 있어서, 상기 반도체 메모리 장치는 플래시 메모리 장치이고 상기 제 1 제어기는 FTL(Flash Translation Layer) 동작을 수행하여 상기 외부 요청에 대응하는 내부 명령을 생성하는 컨트롤러
|
11 |
11
청구항 1에 있어서, 상기 제 2 제어기의 제어에 따라 상기 제 1 버퍼와 데이터를 송수신하는 제 2 버퍼를 더 포함하는 컨트롤러
|
12 |
12
청구항 11에 있어서, 상기 제 2 제어기는상기 제 1 버퍼를 할당하는 제 1 단계;상기 외부 요청에 해당하는 주소의 데이터가 상기 제 2 버퍼에 존재하는지 판단하고, 상기 외부 요청에 해당하는 주소의 데이터가 상기 제 2 버퍼에 존재하면 상기 제 1 버퍼와 상기 제 2 버퍼 사이에서 데이터를 이동하는 제 2 단계 및상기 외부 요청에 해당하는 주소의 데이터가 상기 제 2 버퍼에 존재하지 않으면 상기 외부 요청에 따라 상기 반도체 메모리 장치와 상기 제 1 버퍼 사이에서 데이터를 이동하는 제 3 단계를 포함하는 파이프라인 단계들이 수행되도록 상기 제 1 버퍼, 상기 제 2 버퍼 및 상기 제 1 제어기를 제어하는 컨트롤러
|
13 |
13
청구항 12에 있어서, 상기 외부 요청이 데이터 쓰기 요청인 경우상기 제 1 단계는 상기 인터페이스로부터의 데이터를 상기 제 1 버퍼에 저장하고,상기 외부 요청에 대응하는 주소의 데이터가 상기 제 2 버퍼에 존재하면 상기 제 2 단계는 상기 제 1 버퍼의 데이터를 상기 제 2 버퍼에 저장하고,상기 외부 요청에 대응하는 주소의 데이터가 상기 제 2 버퍼에 존재하지 않으면 상기 제 2 단계는 상기 제 2 버퍼의 데이터를 상기 제 1 버퍼의 데이터와 교환하여 저장하고 상기 제 3 단계는 상기 외부 요청에 따라 상기 제 1 버퍼의 데이터를 상기 반도체 메모리 장치에 저장하는 컨트롤러
|
14 |
14
청구항 12에 있어서, 상기 외부 요청이 데이터 읽기 요청인 경우상기 외부 요청에 대응하는 주소의 데이터가 상기 제 2 버퍼에 존재하면 상기 제 2 단계는 상기 제 2 버퍼의 데이터를 상기 제 1 버퍼에 저장하여 상기 인터페이스로 제공하고,상기 외부 요청에 대응하는 주소가 상기 제 2 버퍼에 존재하지 않으면 상기 제 3 단계는 상기 외부 요청에 따라 상기 반도체 메모리 장치의 데이터를 상기 제 1 버퍼에 저장하여 상기 인터페이스로 제공하는 컨트롤러
|
15 |
15
청구항 11에 있어서, 상기 컨트롤러는 상기 다수의 외부 요청 각각의 파이프라인 단계 및 주소 중 적어도 하나를 포함하는 레지스터를 더 포함하는 컨트롤러
|
16 |
16
청구항 11에 있어서, 상기 제 2 제어기는상기 제 1 버퍼를 할당하는 제 1 단계;상기 외부 요청에 해당하는 주소의 데이터가 상기 제 2 버퍼에 존재하는지 판단하고, 상기 외부 요청에 해당하는 주소의 데이터가 상기 제 2 버퍼에 존재하면 상기 제 1 버퍼와 상기 제 2 버퍼 사이에서 데이터를 이동하는 제 2 단계;상기 외부 요청에 해당하는 주소의 데이터가 상기 제 2 버퍼에 존재하지 않으면 상기 제 1 제어기에서 FTL 동작을 수행하여 내부 명령을 생성하는 제 3 단계 및 상기 내부 명령에 따라 상기 반도체 메모리 장치와 상기 제 1 버퍼 사이에서 데이터를 이동하는 제 4 단계를 포함하는 파이프라인 단계들이 수행되도록 상기 제 1 버퍼, 상기 제 2 버퍼 및 상기 제 1 제어기를 제어하는 컨트롤러
|
17 |
17
청구항 16에 있어서, 상기 외부 요청이 데이터 쓰기 요청인 경우상기 제 1 단계는 상기 인터페이스로부터의 데이터를 상기 제 1 버퍼에 저장하고,상기 외부 요청에 대응하는 주소의 데이터가 상기 제 2 버퍼에 존재하면 상기 제 2 단계는 상기 제 1 버퍼의 데이터를 상기 제 2 버퍼에 저장하고,상기 외부 요청에 대응하는 주소의 데이터가 상기 제 2 버퍼에 존재하지 않으면 상기 제 2 단계는 상기 제 2 버퍼의 데이터를 상기 제 1 버퍼의 데이터와 서로 교환하고 상기 제 4 단계는 상기 내부 명령에 따라 상기 제 1 버퍼의 데이터를 상기 반도체 메모리 장치에 저장하는 컨트롤러
|
18 |
18
청구항 16에 있어서, 상기 외부 요청이 데이터 읽기 요청인 경우상기 외부 요청에 대응하는 주소의 데이터가 상기 제 2 버퍼에 존재하면 상기 제 2 단계는 상기 제 2 버퍼의 데이터를 상기 제 1 버퍼에 저장하여 상기 인터페이스로 제공하고,상기 외부 요청에 대응하는 주소의 데이터가 상기 제 2 버퍼에 존재하지 않으면 상기 제 4 단계는 상기 내부 명령에 따라 상기 반도체 메모리 장치의 데이터를 상기 제 1 버퍼에 저장하여 상기 인터페이스로 제공하는 컨트롤러
|
19 |
19
청구항 16에 있어서, 상기 반도체 메모리 장치는 비휘발성 메모리 장치인 컨트롤러
|
20 |
20
청구항 19에 있어서, 상기 반도체 메모리 장치는 플래시 메모리 장치인 컨트롤러
|
21 |
21
반도체 메모리 장치 및 인터페이스 및 상기 반도체 메모리 장치와 데이터를 송수신하는 제 1 버퍼; 외부 요청에 따라 상기 반도체 메모리 장치의 읽기 동작 또는 쓰기 동작을 제어하는 제 1 제어기 및 다수의 상기 외부 요청들을 파이프라인 방식으로 동시에 처리하기 위해 상기 제 1 버퍼와 상기 제 1 제어기를 제어하는 제 2 제어기 를 포함하는 컨트롤러를 포함하는 시스템
|
22 |
22
청구항 21에 있어서, 상기 컨트롤러는 상기 제 2 제어기의 제어에 따라 상기 제 1 버퍼와 데이터를 송수신하는 제 2 버퍼를 더 포함하는 시스템
|
23 |
23
청구항 21 에 있어서, 상기 반도체 메모리 장치는 비휘발성 메모리 장치인 시스템
|
24 |
24
청구항 23 에 있어서, 상기 반도체 메모리 장치는 플래시 메모리 장치인 시스템
|
25 |
25
청구항 24 에 있어서, 상기 제 1 제어기는 FTL(Flash Translation Layer) 동작을 수행하여 상기 외부 요청에 대응하는 내부 명령을 생성하는 시스템
|
26 |
26
청구항 21 에 있어서, 상기 반도체 메모리 장치는 다수의 메모리 블록을 포함하되 상기 다수의 메모리 블록 각각은 상기 컨트롤러에서 독립적으로 제어할 수 있는 시스템
|
27 |
27
청구항 21 내지 26항 중 어느 한 항에 있어서, 상기 시스템은 솔리드 스테이트 드라이브인 시스템
|