KR20090087689A - 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법 - Google Patents

다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법 Download PDF

Info

Publication number
KR20090087689A
KR20090087689A KR1020080013092A KR20080013092A KR20090087689A KR 20090087689 A KR20090087689 A KR 20090087689A KR 1020080013092 A KR1020080013092 A KR 1020080013092A KR 20080013092 A KR20080013092 A KR 20080013092A KR 20090087689 A KR20090087689 A KR 20090087689A
Authority
KR
South Korea
Prior art keywords
sector
flash memories
jumping
address
addresses
Prior art date
Application number
KR1020080013092A
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 KR1020080013092A priority Critical patent/KR20090087689A/ko
Priority to US12/369,943 priority patent/US20090204748A1/en
Priority to TW098104478A priority patent/TW200937429A/zh
Publication of KR20090087689A publication Critical patent/KR20090087689A/ko

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)

Abstract

여기에 개시된 다중 채널 플래시 메모리 시스템은 복수의 섹터들로 구성된 복수의 페이지들을 갖는 플래시 메모리들, 상기 플래시 메모리들에 각각 대응하는 채널들, 및 상기 채널들을 통해 플래시 메모리들을 적어도 하나 이상의 섹터 단위로 액세스하는 인터페이스 장치를 포함하고, 상기 인터페이스 장치는 어드레스를 복수 개의 섹터 단위 어드레스들로 분할하고, 상기 분할된 각각의 어드레스가 소정의 크기로 각각 점핑되도록 제어한다.

Description

다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법{MULTI CHANNEL FLASH MEMORY SYSTEM AND ACCESS METHOD THEREOF}
본 발명은 다중 채널 플래시 메모리 시스템에 관한 것으로, 좀더 구체적으로는 액세스 성능을 향상시킬 수 있는 다중 채널 플래시 메모리 시스템에 관한 것이다.
일반적으로 다중 채널 플래시 메모리 시스템은 복수의 플래시 메모리들 및 복수의 플래시 메모리들에 각각 대응하는 복수의 채널들을 포함한다. 플래시 메모리들을 제어하는 인터페이스 장치는 채널들을 통해 DMA(Direct Memory Access) 방식으로 동시에 플래시 메모리들을 액세스할 수 있다. 채널들은 각각 DMA(Direct Memory Access)채널들이라 불리 울 수 있다. 채널은 어드레스 포트, 데이터 입/출력포트가 한 쌍이 되는 것을 의미한다.
플래시 메모리들은 복수의 섹터들로 구성되는 복수의 페이지들을 포함하며, 쓰기/읽기 동작은 페이지 단위로 실행된다. 플래시 메모리들 서로 간에 대응되는 페이지들은 묶여서 하나의 논리적인 슈퍼 페이지로서 관리된다. 예를 들어, 플래시 메모리들 각각의 0번 페이지들은 묶여서 하나의 논리적인 슈퍼 페이지로 관리된다. 1개의 채널로 대응하는 메모리의 페이지를 액세스하는 시간과 N개의 채널들로 대응하는 메모리들 각각의 페이지를 액세스하는 시간은 동일하다. 예를 들어, 하나의 채널로 대응하는 메모리의 1개의 페이지를 액세스하는 시간과, N개의 채널들로 대응하는 메모리들 각각의 1개의 페이지를 동시에 액세스하는 시간은 동일하다.
하나의 페이지가 512 바이트 단위의 섹터 8개로 구성되고, 다중 채널 플래시 메모리 시스템이 4개의 플래시 메모리들을 포함할 경우, 슈퍼페이지로 관리되는 플래시 메모리들의 0번째 페이지들은 0부터 31 섹터로 구분된다. 예를 들어, 첫 번째 메모리의 0번째 페이지는 0~7 섹터, 두 번째 메모리의 0번째 페이지는 8~15 섹터, 세 번째 메모리의 0번째 페이지는 16~23 섹터, 그리고 네 번째 메모리의 0번째 페이지는 24~31 섹터로 구분된다.
일반적으로, 플래시 메모리는 페이지 버퍼를 포함하며, 페이지 버퍼는 쓰기 데이터를 플래시 메모리 셀들에 제공하거나, 메모리 셀들로부터 독출된 데이터를 임시 저장한다. 액세스 시간은 플래시 메모리의 셀들과 페이지 버퍼 사이의 액세스 시간과 페이지 버퍼와 인터페이스 장치 사이의 액세스 시간을 합한 것을 의미한다. 예를 들어, 읽기 동작의 액세스 시간은 플래시 메모리의 셀들에 저장된 데이터가 페이지 버퍼로 독출되는 시간과 페이지 버퍼로 독출된 데이터가 인터페이스 장치로 제공되는 시간을 합한 것을 의미한다. 메모리의 셀들에 저장된 데이터가 페이지 버퍼로 독출되는 시간은 페이지 단위로 동일하다. 페이지 버퍼로 독출된 데이터가 인터페이스 장치로 제공되는 시간은 데이터의 크기에 따라 정비례한다.
읽기 동작 동안, 슈퍼 페이지로 관리되는 0~7 섹터를 액세스할 경우 하나의 채널을 통해 액세스 되므로, 0~7 섹터까지의 액세스 시간은 순차적으로 증가한다. 슈퍼 페이지로 관리되는 0~15 섹터까지의 액세스는 두 개의 채널을 통해 동시에 수행되므로, 액세스 시간이 증가하지 않는다. 역시, 0~23 섹터 또는 0~31 섹터까지의 액세스는 3 개 또는 4개의 채널을 통해 동시에 수행되므로, 액세스 시간이 증가하지 않는다. 결과적으로, 8개 섹터 크기의 데이터 액세스 시간은 섹터 크기에 비례하여 증가한다. 그러나 8개보다 큰 섹터 크기의 데이터 액세스 시간은 8개 섹터 크기의 데이터 액세스 시간과 동일하다. 따라서, 8 개 섹터 크기 이하의 데이터를 액세스할 경우 최대 액세스 시간에 도달하는 시간이 빠르며, 8 개 섹터보다 큰 데이터는 최대 액세스 시간으로 액세스 된다. 이러한 액세스 동작은 액세스가 전 채널에 고르게 분포되지 않는 문제점을 갖는다. 예를 들어, 24개보다 적은 섹터들을 액세스할 경우, 적어도 하나 이상의 채널이 사용되지 않는다. 채널 사용이 효율적이지 못하므로, 데이터 액세스 시간이 길어진다.
본 발명의 목적은 액세스 성능을 향상시킬 수 있는 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법을 제공하는데 있다.
본 발명의 특징에 따른 다중 채널 플래시 메모리 시스템은: 복수의 섹터들로 구성된 복수의 페이지들을 갖는 플래시 메모리들; 상기 플래시 메모리들에 각각 대응하는 채널들; 및 상기 채널들을 통해 플래시 메모리들을 적어도 하나 이상의 섹 터 단위로 액세스하는 인터페이스 장치를 포함하고, 상기 인터페이스 장치는 어드레스를 복수 개의 섹터 단위 어드레스들로 분할하고, 상기 분할된 각각의 어드레스가 소정의 크기로 각각 점핑되도록 제어한다.
이 실시 예에 있어서, 상기 섹터 단위어드레스는 적어도 하나 이상의 섹터를 가리킨다.
이 실시 예에 있어서, 상기 채널은 직접 메모리 액세스 방식으로 액세스를 수행한다.
이 실시 예에 있어서, 상기 플래시 메모리들은 섹터 단위로 동시에 액세스된다.
이 실시 예에 있어서, 상기 점핑되는 어드레스 크기는 액세스되는 플래시 메모리들의 수 및 액세스되는 상기 섹터 단위에 따라서 달라진다.
이 실시 예에 있어서, 액세스 되는 플래시 메모리들의 수를 양의 정수 m 그리고 섹터 단위를 양의 정수 a 이라 할 경우, 상기 점핑되는 어드레스 크기는 (m-1)*a가 된다.
이 실시 예에 있어서, 상기 인터페이스 장치는 상기 어드레스 점핑 동작을 수행하는 컨트롤러; 및 쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고, 쓰기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상기 버퍼 메모리를 제어한다.
이 실시 예에 있어서, 읽기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레 스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어한다.
이 실시 예에 있어서, 상기 인터페이스 장치는 상기 어드레스 점핑 기능을 수행하기 위한 점핑 소프트웨어를 저장하는 롬을 더 포함하고, 상기 컨트롤러는 상기 점핑 소프트 웨어를 실행한다.
이 실시 예에 있어서, 상기 컨트롤러는 상기 어드레스 점핑 기능을 수행하기 위해 상기 플래시 메모리들의 히든 영역에 저장된 점핑 소프트웨어를 실행한다.
이 실시 예에 있어서, 상기 점핑 소프트웨어는 파워 업시 상기 버퍼 메모리에 로딩되고, 상기 로딩된 점핑 소프트웨어는 상기 컨트롤러에 의해 실행된다.
이 실시 예에 있어서, 상기 버퍼 메모리는 휘발성 메모리 또는 불 휘발성 메모리이다.
이 실시 예에 있어서, 상기 인터페이스 장치는 어드레스 점핑 기능을 수행하는 버퍼 컨트롤러; 및 쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고, 쓰기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상기 버퍼 메모리를 제어한다.
이 실시 예에 있어서, 읽기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어한다.
이 실시 예에 있어서, 상기 인터페이스 장치는 어드레스 점핑 정보를 저장하 는 레지스터를 갖는 버퍼 컨트롤러; 및 쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고, 상기 버퍼 컨트롤러는 상기 어드레스 점핑 정보에 따라서 어드레스 점핑 동작을 수행하며, 쓰기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상기 버퍼 메모리를 제어한다.
이 실시 예에 있어서, 읽기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어한다.
이 실시 예에 있어서, 상기 인터페이스 장치는 어드레스 점핑 정보를 저장하는 레지스터를 갖는 버퍼 컨트롤러; 상기 레지스터로부터 제공받은 상기 어드레스 점핑 정보에 따라서 어드레스 점핑 동작을 수행하는 컨트롤러; 및 쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고, 쓰기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상기 버퍼 메모리를 제어한다.
이 실시 예에 있어서, 읽기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어한다.
본 발명의 다른 특징에 따른 복수의 섹터들로 구성된 복수의 페이지들을 갖는 복수의 메모리들 및 상기 복수의 메모리들에 대응되는 복수의 채널들을 포함하는 다중 채널 플래시 메모리 시스템의 액세스 방법은: (a) 어드레스를 섹터 단위 어드레스들로 분할하는 단계; (b) 상기 분할된 섹터 단위 어드레스들 각각에 대해 소정 크기로 어드레스 점핑을 수행하는 단계; 그리고, (c) 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 액세스 되도록 상기 플래시 메모리들에 대한 액세스 동작을 수행하는 단계를 포함한다.
이 실시 예에 있어서, 상기 섹터 단위어드레스는 적어도 하나 이상의 섹터를 가리키며, 상기 점핑되는 어드레스 크기는, 액세스 되는 플래시 메모리들의 수를 양의 정수 m 그리고 섹터 단위를 양의 정수 l 이라 할 경우, (m-1)*l의 섹터수이다.
이 실시 예에 있어서, 상기 (c) 단계는 쓰기 동작시 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터를 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공하는 단계를 포함한다.
이 실시 예에 있어서, 상기 (c) 단계는 읽기 동작시 상기 섹터 단위 어드레스들이 가리키는 플래시 메모리에 저장된 섹터 단위 데이터를 독출하는 단계를 포함한다.
본 발명에 따른 다중 채널 플래시 메모리 시스템은 액세스 성능을 향상시킬 수 있다.
이하, 첨부된 도면을 참조하여 본 발명의 실시 예에 대하여 상세히 설명한다.
도 1은 본 발명의 실시 예에 따른 다중 채널 플래시 메모리 시스템의 블록도이다.
도 1을 참조하면, 본 발명의 실시 예에 따른 다중 채널 플래시 메모리 시스템(1000)은 호스트(100) 및 저장 장치(200)를 포함한다. 저장 장치(200)는 인터페이스 장치(300), 복수의 DMA(Direct Memory Access)채널들(10_0~10_N-1) 및 복수의 플래시 메모리들(400_0~400_N-1)을 포함한다. 인터페이스 장치(300)는 호스트(100)로부터 액세스가 요청될때, 플래시 메모리들(400_0~400_N-1)을 액세스하기 위한 어드레스들을 섹터 단위 어드레스들로 분할한다. 섹터 단위 어드레스들은 플래시 메모리들(400_0~400_N-1)을 적어도 하나 이상의 섹터 단위로 액세스하기 위한 어드레스들이며, 적어도 하나 이상의 섹터를 가리킨다. 또한, 인터페이스 장치(300)는 플래시 메모리들(400_0~400_N-1)을 적어도 하나 이상의 섹터 단위로 액세스하기 위한 섹터 단위 어드레스들이 소정의 크기로 점프되도록 제어한다. 인터페이스 장치(300)는 점프된 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 액세스 되도록 복수의 DMA 채널들(10_0~10_N-1)을 통해 플래시 메모리들(400_0~400_N-1)에 대한 액세스 동작을 제어한다. 플래시 메모리들(400_0~400_N-1)은 각각 대응되는 DMA채널들(10_0~10_N-1)을 통해 동시에 액세스 될 수 있으며, 액세스는 직접 메모리 액세스(Direct Memory Access) 방식으로 수행될 것이다.
인터페이스 장치(300)는 호스트 인터페이스(310), 컨트롤러(320), 롬(330), 버퍼 메모리(340), 및 버퍼 컨트롤러(350)를 포함한다. 호스트 인터페이스(310)는 저장 장치(200)와 호스트(100) 사이의 인터페이스 기능을 제공하며, 컨트롤러(320) 는 인터페이스 장치(300)의 전반적인 동작을 제어한다. 예를 들어, 컨트롤러(320)는 호스트(500)로부터 프로그램, 소거, 또는 독출 동작이 요청될 때, 플래시 메모리들(400_0~400_N-1)의 읽기/쓰기/소거 동작들을 제어하도록 구현된다. 또한, 컨트롤러(320)는 전체 채널을 고르게 할당하여 섹터 단위 액세스를 수행한다. 이러한 액세스 동작은 어드레스 점핑(jumping) 동작(이하, 점핑 동작이라 칭함)에 의해 수행되며, 점핑 동작은 이하 상세히 설명될 것이다.
롬(330)은 컨트롤러(320)에 의해서 제어되며, 롬(330) 내부에는 FTL(Flash Translation Layer)이 저장된다. FTL은 플래시 메모리의 기입 동작시 파일 시스템이 생성한 논리주소를 삭제 연산이 수행된 플래시 메모리의 물리 주소로 매핑 시켜 주는 역할을 수행한다. 이러한 동작은 어드레스 매핑 이라 한다.
버퍼 메모리(340)는 컨트롤러(320)에 의해서 제어되며, 호스트(100)로부터 제공되는 데이터 또는 플래시 메모리들(400_0~400_N-1)로부터 제공되는 데이터를 임시 저장한다. 또한, 버퍼 메모리(340)는 컨트롤러(320)의 제어에 따라서 롬(330)에 저장되어 있는 FTL을 로딩하여 실행하는 역할을 수행한다. 버퍼 메모리(340)는, 바람직하게, 에스램(SRAM ; Static Random Access Memory)으로 구현될 수 있다. 하지만, 이는 버퍼 메모리(340)의 일 구성 예에 불과하다. 예를 들면, 버퍼 메모리(340)는 디램(DRAM ; Dynamic Random Access Memory)과 같은 휘발성 메모리 또는 플래시 메모리와 같은 불 휘발성 메모리로 구현될 수 있음은 이 분야의 통상적인 지식을 습득한 자들에게 자명하다.
버퍼 컨트롤러(350)는 버퍼 메모리(340)를 제어하여 컨트롤러(320) 대신에 점핑 동작을 수행할 수 있다.
각각의 플래시 메모리들(400_0~400_N-1)은 복수 개의 메모리 블록들로 구성된 메모리 셀 어레이를 포함하며, 각 메모리 블록은 복수의 페이지들로 구성된다. 하나의 페이지는 복수의 섹터들로 구성된다. 도면에 도시하지 않았으나, 플래시 메모리들(400_0~400_N-1)은 각각 페이지 버퍼 회로를 포함한다. 쓰기 동작시 기입 데이터는 페이지 버퍼 회로를 통해 메모리 셀 어레이에 제공되며, 읽기 동작시, 독출된 데이터들은 페이지 버퍼 회로를 통해 인터페이스 장치(300)에 제공된다.
점핑 동작은 소프트웨어 또는 하드웨어로 구현될 수 있다. 점핑 동작이 소프트웨어로 구현될 경우, 점핑 동작을 수행하기 위한 소프트웨어(이하, 점핑 소프트웨어라 칭함)는 롬(330)에 저장된다. 컨트롤러(320)의 제어에 의해 롬(330)에 저장된 점핑 소프트웨어는 버퍼 메모리(340)에 로딩되어 수행된다. 그러나, 점핑 소프트웨어는 롬(330)에 저장되지 않고 플래시 메모리들(400_0~400_N-1)의 임의의 영역(예를 들면, 히든 영역)에 저장될 수 있다. 이러한 경우, 플래시 메모리들(400_0~400_N-1)에 저장된 점핑 소프트웨어는 파워-업시 자동적으로 버퍼 메모리(340)에 로딩된다. 역시, 컨트롤러(320)의 제어에 의해 버퍼 메모리(340)에 로딩된 점핑 소프트웨어가 실행된다. 점핑 소프트웨어의 실행은 컨트롤러(320) 대신에 버퍼 컨트롤러(350)의 제어에 의해 수행될 수도 있다.
점핑 동작이 하드웨어로 구현될 경우, 점핑 동작을 수행하기 위한 점핑 정보는 버퍼 컨트롤러(350) 내부의 레지스테에 셋팅 된다. 버퍼 컨트롤러(350)는 레지스테에 셋팅 된 정보에 따라서 점핑 동작을 수행한다. 레지스터에 셋팅된 정보는 컨트롤러(320)에 제공될 수 있으며, 이러한 경우, 버퍼 컨트롤러(350) 대신 컨트롤러(320)가 점핑 동작을 수행한다.
컨트롤러(320)에 의해 점핑 동작이 수행될 경우, 플래시 메모리 시스템(1000)의 액세스 동작은 다음과 같다. 쓰기 동작시, 점핑 동작에 의해 플래시 메모리들(400_0~400_N-1)을 액세스하기 위한 어드레스는 채널들(10_0~10_N-1)에 각각 대응되는 섹터 단위 어드레스들로 분할된다. 분할된 섹터 단위 어드레스들은 대응되는 플래시 메모리들(400_0~400_N-1)의 섹터들을 가리키는 어드레스들로 매핑될 것이다.
컨트롤러(320)의 제어에 의해 분할된 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터들이 채널들(10_0~10_N-1)을 통해 대응되는 플래시 메모리들(400_0~400_N-1)에 제공된다. 또한, 분할된 섹터 단위 어드레스들부터 각각 소정의 크기로 점프된 섹터 단위 어드레스들이 가리키는 섹터 단위의 데이터가 채널들(10_0~10_N-1)을 통해 대응되는 플래시 메모리들(400_0~400_N-1)에 제공된다. 결과적으로, 쓰기 동작시 섹터 단위 어드레스들부터 각각 소정의 크기로 점프된 섹터 단위 어드레스들이 가리키는 섹터 단위의 데이터가 채널들(10_0~10_N-1)을 통해 대응되는 플래시 메모리들(400_0~400_N-1)에 제공된다. 역시 소정의 크기로 점프된 섹터 단위 어드레스들은 대응되는 플래시 메모리들(400_0~400_N-1)의 섹터들을 가리키는 어드레스들로 매핑될 것이다.
소정의 크기는 점핑된 어드레스 크기이며, 점핑된 어드레스 크기에 대응되는 섹터들의 갯수로 나타낼 수 있다. 소정의 크기는 액세스되는 플래시 메모리의 수 및 액세스되는 섹터 단위에 따라서 달라진다. 섹터 단위 데이터는 적어도 하나 이상의 섹터 단위 데이터 이다. 미리 정해진 섹터 단위는 적어도 하나 이상의 섹터 단위이다. 이하, 이러한 어드레스 점핑 동작은 도 2 및 3에서 상세히 설명될 것이다. 플래시 메모리들(400_0~400_N-1)에 제공된 섹터 데이터들은 대응되는 플래시 메모리들(400_0~400_N-1)의 각 섹터에 저장된다.
읽기 동작시, 분할된 섹터 단위 어드레스들부터 미리 결정된 섹터 단위 데이터가 플래시 메모리들(400_0~400_N-1)로부터 독출된다. 또한, 분할된 섹터 단위 어드레스들부터 각각 소정의 크기로 점프된 섹터 단위 어드레스들이 가리키는 섹터 단위의 데이터가 플래시 메모리들(400_0~400_N-1)로부터 독출된다. 따라서, 읽기 동작시 섹터 단위 어드레스들부터 각각 소정의 크기로 점프된 섹터 단위 어드레스들이 가리키는 섹터 단위의 데이터가 플래시 메모리들(400_0~400_N-1)로부터 독출된다. 독출된 섹터 단위 데이터는 각각 대응하는 채널들(10_0~10_N-1)을 통해 인터페이스 장치(300)에 제공된다. 인터페이스 장치(300)에 제공된 독출 데이터는 버퍼 메모리(340)에 임시 저장된 후, 호스트(100)로 전송될 것이다.
버퍼 컨트롤러(350)에 의해 수행되는 점핑 동작은, 컨트롤러(310)에 의해 수행되는 점핑 동작과 실질적으로 같다.
전술한 액세스 동작을 참조하면, 점핑 기능에 의해 적은 양의 데이터라도 복수의 채널을 이용하여 섹터 단위로 액세스가 수행된다. 액세스 동작이 효율적인 채널 사용에 의해 수행하므로, 액세스 시간이 감소 된다. 결과적으로 다중 채널 플래시 메모리 시스템의 액세스 성능은 향상된다.
도 2는 본 발명의 실시 예에 따른 점핑 동작에 의한 액세스를 설명하기 위한 도면이고, 도 3은 도 2에 도시된 점핑 동작에 따른 섹터들의 어드레스 매핑을 보여주는 도면이다.
도 2 및 3은 설명의 편의를 위해 4개의 플래시 메모리들(400_0~400_3) 및 플래시 메모리들(400_0~400_3)에 각각 대응하는 4 개의 채널들(10_0~10_3)만을 도시하였다. 그러나, 본 발명의 실시 예는 여기에 한정되지 않을 것이다. 이하 쓰기 동작에 대해 설명되며, 읽기 동작의 액세스는 쓰기 동작의 액세스와 동일한 섹터 단위로 수행되므로, 그것의 설명은 생략한다. 도 2 및 도 3에 도시된 본 발명의 실시 예에 따른 점핑 동작에 의한 액세스는 1 섹터 단위 액세스에 대한 설명이다.
도 2를 참조하면, 점핑 동작에 의해 플래시 메모리들(400_0~400_3)을 액세스하기 위한 어드레스는 채널들(10_0~10_3)에 각각 대응되는 1 섹터 단위 어드레스들(0,1,2,3)로 분할된다. 분할된 1 섹터 단위 어드레스들(0,1,2,3)은 대응되는 플래시 메모리들(400_0~400_N-1)의 섹터들(0,1,2,3)이 가리키는 어드레스로 매핑될 것이다.
미리 결정된 섹터 단위는 1 섹터 단위이므로, 분할된 1 섹터 어드레스(0)가 가리키는 1 섹터 단위 데이터는 대응되는 채널(10_0)을 통해 플래시 메모리(400_0)의 섹터(0)에 제공된다. 분할된 1 섹터 어드레스(0)는 액세스된 1 섹터 어드레스(0)이다. 따라서, 액세스된 1 섹터 어드레스(0)부터 소정의 크기의 3 개 섹터(어드레스 1~3)가 점프된 1 섹터 어드레스(4)가 가리키는 섹터 데이터는 채널(10_0)을 통해 플래시 메모리(400_0)의 섹터(4)에 제공된다. 이러한 점핑 동작에 의해 1 섹 터 어드레스들(0, 4, 8, 12)이 가리키는 데이터는 대응되는 채널(10_0)을 통해 플래시 메모리(400_0)의 대응되는 섹터들(0,4,8,12)에 제공된다.
도 3에 도시된 플래시 메모리들(400_0~400_3)의 페이지들은 각각 512 바이트 단위의 섹터 8개로 구성된다. 또한, 플래시 메모리들(400_0~400_3) 서로 간의 대응되는 페이지들은 슈퍼 페이지 영역으로서 관리된다. 예를 들어, 플래시 메모리들(400_0~400_3) 각각의 페이지(page0)는 하나로 묶여 0번째 슈퍼 페이지로 관리된다. 따라서, 0번째 슈퍼 페이지는 도 3에 도시된 바와 같이 어드레스 매핑된 32개 섹터들(0~31)로 구분된다.
인터페이스 장치(300)는 점핑 동작에 따른 1섹터 단위 데이터들을 채널들(10_0~10_3)을 통해 대응되는 플래시 메모리(400_0~400_3)들에 제공한다. 예를 들어, 도 2에 도시된 점핑 동작에 따른 어드레스들(0,4,8,12, ...)이 가리키는 데이터들은 채널(10_0)을 통해 섹터들(0,4,5,8,12,...)에 제공된다. 역시 어드레스들(1,5,9,13,...)이 가리키는 데이터들은 채널(10_1)을 통해 섹터들(1,5,9,13,...)에 제공된다. 나머지 데이터도 전술한 바와 같이, 대응되는 채널들(10_2~10_3)을 통해 대응하는 플래시 메모리들(400_2~400_3)의 섹터들에 각각 제공된다. 따라서, 섹터 단위로 복수의 플래시 메모리들(400_0~400_3)을 동시에 액세스할 수 있다.
도 2 및 도 3을 참조하면, 액새스되는 플래시 메모리들의 수가 많을수록 점프되는 소정의 크기의 섹터수는 더 많아 질 것이다. 예를들어, 플래시 메모리가 8개일 경우, 어드레스(0)의 데이터가 채널(10_0)을 통해 플래시 메모리(400_0)에 제공되고, 7개 섹터들에 해당하는 어드레스 단위가 점핑될 것이다. 점핑 동작에 의해 어드레스(8)의 데이터가 채널(10_0)을 통해 플래시 메모리(400_0)에 제공될 것이다. 소정의 크기의 섹터수는 1 섹터 단위로 액세스 되는 플래시 메모리들의 수를 m 이라 할경우, m-1이 될 것이다.
도 4는 도 2 및 3에 도시된 액세스 동작에 따른 액세스 시간을 보여주는 도면이다.
도 4에 도시된 액세스 시간은 쓰기 동작에 따른 액세스 시간이다. 읽기 동작에 따른 액세스 시간도 도 4에 도시된 쓰기 동작에 따른 액세스 시간의 그래프 파형과 실질적으로 동일 할 것이다. 전술한 점핑 기능이 제공되지 않을 경우, 쓰기 동작에 따른 액세스 시간은 그래프(A)이며, 점핑 기능이 제공될 경우, 액세스 시간은 그래프(B)이다.
버퍼 메모리(340)에서 메모리의 페이지 버퍼에 데이터를 제공하는 시간은 데이터 량에 비례하며, 페이지 버퍼에서 데이터를 메모리의 페이지에 저장하는 시간은 페이지 단위로 동일하게 수행된다.
점핑 기능이 제공되지 않을 경우, 1개부터 8개까지의 섹터 데이터들은 대응되는 하나의 채널을 통해 대응되는 메모리의 한 페이지에 저장된다. 따라서, 쓰기 동작동안 1개부터 8개까지의 섹터 데이터들을 액세스하는 시간은 도 4에 도시된 그래프(A)와 같이 증가 된다. 8개보다 큰 섹터 데이터들은 복수의 채널들을 사용하여 액세스 되므로, 8개의 섹터 데이터를 액세스하는 시간과 동일하다.
그러나, 점핑 기능이 제공될 경우, 쓰기 동작 동안, 섹터 어드레스들(0~3)이 가리키는 섹터 데이터들은 대응하는 채널들(10_0~10_3)을 통해 대응하는 메모리 들(400_0~400_3)의 섹터들(0~3)에 제공된다. 메모리들(400_0~400_3) 각각의 0번째 페이지들에 각각 한 개 섹터 데이터들이 저장되므로, 4개의 섹터 데이터들을 액세스하는 시간은 1개의 섹터 데이터를 액세스하는 시간과 같다.
섹터 어드레스들(0~7)이 가리키는 섹터 데이터들은 채널들(10_0~10_3)을 통해 대응하는 메모리들(400_0~400_3)의 섹터들(0~7)에 제공된다. 메모리들(400_0~400_3) 각각의 0번째 페이지들에 각각 두 개 섹터 데이터들이 저장되므로, 8개의 섹터 데이터들을 액세스하는 시간은 2개의 섹터 데이터를 액세스하는 시간과 같다. 이러한 점핑 기능에 의한 쓰기 동작의 액세스 시간(B)은 도 4에 도시된 바와 같다.
액세스 시간을 표시한 그래프(A) 및 그래프(B)를 비교할 경우, 점핑 기능에 따른 쓰기 동작의 액세스 시간(B)은 점핑 기능이 수행되지 않을 경우 쓰기 동작의 액세스 시간(A)보다 작다.
결과적으로, 본 발명의 실시 예에 따른 다중 채널 플래시 메모리 시스템은 채널을 효율적으로 사용하여 액세스를 수행하므로, 액세스 시간이 감소된다. 결과적으로 다중 채널 플래시 메모리 시스템의 액세스 성능은 향상된다.
도 5는 본 발명의 다른 실시 예에 따른 점핑 동작에 의한 액세스를 설명하기 위한 도면이고, 도 6은 도 5에 도시된 점핑 동작에 따른 섹터들의 어드레스 매핑을 보여주는 도면이다.
도 5 및 6은 도 2 및 도 3과 같이, 설명의 편의를 위해 4개의 플래시 메모리들(400_0~400_3) 및 플래시 메모리들(400_0~400_3)에 각각 대응하는 4 개의 채널 들(10_0~10_3)만을 도시하였다. 또한, 이하, 쓰기 동작에 대해 설명될 것이며, 읽기 동작에 대한 설명은 생략될 것이다.
도 5 및 6에 도시된 본 발명의 다른 실시 예에 따른 점핑 동작에 의한 액세스는 2 섹터 단위 액세스에 대한 설명이다.
도 5를 참조하면, 점핑 동작에 의해 플래시 메모리들(400_0~400_3)을 액세스하기 위한 어드레스는 채널들(10_0~10_3)에 각각 대응되는 2 섹터 단위 어드레스들(0,1)(2,3)(4,5)(6,7)로 분할된다. 분할된 2 섹터 단위 어드레스들(0,1)(2,3)(4,5)(6,7)은 대응되는 플래시 메모리들(400_0~400_N-1)의 섹터들(0,1)(2,3)(4,5)(6,7)이 가리키는 어드레스로 매핑될 것이다.
미리 결정된 섹터 단위는 2 섹터 단위이므로, 분할된 2 섹터 어드레스(0,1)가 가리키는 2 섹터 단위 데이터는 대응되는 채널(10_0)을 통해 플래시 메모리(400_0)의 섹터(0,1)에 제공된다. 분할된 2 섹터 단위 어드레스(0,1)는 액세스된 2 섹터 단위 어드레스(0,1)이다. 따라서, 액세스된 2 섹터 단위 어드레스들(0,1)부터 소정의 크기의 6 개 섹터(어드레스 1~3)가 점프된 2 섹터 단위 어드레스들(8,9)이 가리키는 2 섹터 단위 데이터는 채널(10_0)을 통해 플래시 메모리(400_0)의 섹터들(8,9)에 제공된다. 이러한 점핑 동작에 의해 2 섹터 단위 어드레스들(0,1)(8,9)이 가리키는 데이터는 대응되는 채널(10_0)을 통해 플래시 메모리(400_0)의 대응되는 섹터들(0,1,8,9)에 제공된다. 2 섹터 단위 어드레스들(0,1)(8,9)은 각각 액세스된 2 섹터 어드레스들이다.
도 6에 도시된 플래시 메모리들(400_0~400_3)의 페이지들은 도 3에 도시된 바와 같이, 각각 512 바이트 단위의 섹터 8개로 구성된다. 본 발명의 다른 실시 예에 따른 0번째 슈퍼 페이지는 도 6에 도시된 바와 같이 어드레스 매핑된 32개 섹터들(0~31)로 구분된다.
인터페이스 장치(300)는 점핑 동작에 따른 2 섹터 단위 데이터들을 채널들(10_0~10_3)을 통해 대응되는 플래시 메모리(400_0~400_3)들에 제공한다. 예를 들어, 도 2에 도시된 점핑 동작에 따른 2 섹터 단위 어드레스들(0,1,8,9,...)이 가리키는 2 섹터 단위 데이터들은 채널(10_0)을 통해 섹터들(0,1,8,9,...)에 제공된다. 역시 2 섹터 단위 어드레스들(2,3,10,11,...)이 가리키는 2 섹터 단위 데이터는 채널(10_1)을 통해 섹터들(2,3,10,11,...)에 제공된다. 나머지 2 섹터 단위 데이터도 전술한 바와 같이, 대응되는 채널들(10_2~10_3)을 통해 대응하는 플래시 메모리들(400_2~400_3)의 섹터들에 각각 제공된다. 따라서, 2 섹터 단위로 복수의 플래시 메모리들(400_0~400_3)을 동시에 액세스할 수 있다.
도 2 내지 6을 참조하면, 액세스 되는 단위 섹터가 많을수록 소정의 크기에 대응되는 섹터수는 더 많아 질 것이다. 예를 들어, 액세스 되는 플래시 메모리들이 4개 이고, 1 섹터 단위로 액세스 동작이 수행될 경우 소정의 크기의 섹터 수는 3개 섹터이다. 그러나, 2 섹터 단위로 액세스 동작이 수행될 경우, 소정의 크기의 섹터 수는 6개 섹터이다. 결과적으로, 액세스 되는 플래시 메모리들의 수를 m 그리고 섹터 단위를 l 이라 할 경우, 소정의 크기의 섹터수는 (m-1)*l이 될 것이다. 즉, 점핑되는 어드레스 크기는(m-1)*l이 된다. m 및 l은 양의 정수이다.
도 5 및 도 6에 도시된 본 발명의 다른 실시 예에 따른 액세스 동작에 따른 액세스 시간은 동시에 액세스 되는 섹터가 8개인 것을 제외하면, 실질적으로 도 4에 도시된 도면과 유사할 것이다.
결과적으로, 본 발명의 다른 실시 예에 따른 다중 채널 플래시 메모리 시스템은 채널을 효율적으로 사용하여 액세스를 수행하므로, 액세스 시간을 감소할 수 있다. 결과적으로 다중 채널 플래시 메모리 시스템의 액세스 성능은 향상된다.
도 7은 본 발명의 실시 예에 따른 다중 채널 플래시 메모리 시스템의 액세스 동작 방법을 설명하기 위한 순서도이다.
도 7을 참조하면, 단계(S10)에서 매모리들(400_0~400_N-1)을 액세스하기 위한 어드레스가 섹터 단위로 액세스하기 위한 섹터 단위 어드레스들로 분할된다.
단계(S30)에서, 분할된 섹터 단위 어드레스들 각각에 대해 소정의 크기로 어드레스 점핑을 수행한다. 전술한 바와 같이, 분할된 섹터 단위 어드레스들 및 점핑된 섹터 단위 어드레스들은 대응되는 플래시 메모리들(400_0~400_N-1)의 섹터들을 가리키는 어드레스들로 매핑될 것이다.
단계(S50)에서, 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 액세스 되도록 채널들(10_0~10_N-1)을 통해 플래시 메모리들(400_0~400_N-1)에 대한 액세스 동작이 수행된다.
이러한 점핑 동작에 따른 액세스 방법에 의해, 적은 양의 데이터라도 복수의 채널들을 이용하여 적어도 하나 이상의 섹터 단위로 액세스가 수행된다. 액세스 동작이 효율적인 채널 사용에 의해 수행하므로, 액세스 시간이 감소 된다. 결과적으로 다중 채널 플래시 메모리 시스템의 액세스 성능은 향상된다.
도 8은 본 발명의 다른 실시 예에 따른 다중 채널 플래시 메모리 시스템의 블록도이다. 본 발명의 다른 실시 예에 따른 다중 채널 플래시 메모리 시스템(2000)는 버퍼 메모리(340) 및 버퍼 컨트롤러(350)가 없는 것을 제외하면, 도 1에 도시된 다중 채널 플래시 메모리 시스템(1000)의 구성과 동일하다. 도 8을 참조하면, 호스트(100)로부터 인터페이스 장치(300)에 전송된 데이터는 컨트롤러(320)에 의해 수행된 점핑 동작에 따라서 적어도 하나 이상의 섹터 단위로 각각 대응되는 채널들(10_0~10_N-1)을 통해 플래시 메모리들(400_0~400_N-1)에 제공된다. 다른 동작들은 도 1에 도시된 본 발명의 실시 예에 따른 다중 채널 플래시 메모리 시스템(1000)의 동작들과 실질적으로 동일하다.
그러나, 점핑 동작은 다중 채널 플래시 메모리 시스템(2000)의 호스트(100)에서 수행되고, 수행된 점핑 동작에 따라서 적어도 하나 이상의 섹터 단위로 데이터를 호스트 인터페이스(310)를 통해 컨트롤러(320)에 제공한다. 컨트롤러(320)에 제공된 섹터 단위의 데이터는 각각 대응되는 채널들(10_0~10_N-1)을 통해 플래시 메모리들(400_0~400_N-1)에 제공된다. 이러한 경우, 점핑 프로그램은 롬(330) 및 플래시 메모리들(400_0~400_N-1)에 저장되지 않고 호스트내의 저장장치에 제공될 것이다.
이상에서와 같이 도면과 명세서에서 최적의 실시 예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미 한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로 부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
도 1은 본 발명의 실시 예에 따른 다중 채널 플래시 메모리 시스템의 블록도;
도 2는 본 발명의 실시 예에 따른 점핑 기능에 의한 액세스를 설명하기 위한 도면;
도 3은 도 2에 도시된 점핑 기능에 따른 섹터들의 어드레스 매핑을 보여주는 도면;
도 4는 도 2 및 3에 도시된 본 발명의 실시 예에 따른 액세스 시간을 보여주는 도면;
도 5는 본 발명의 다른 실시 예에 따른 점핑 기능에 의한 엑세스를 설명하기 위한 도면;
도 6은 도 5에 도시된 점핑 기능에 따른 섹터들의 어드레스 매핑을 보여주는 도면;
도 7은 본 발명의 실시 예에 따른 다중 채널 플래시 메모리 시스템의 액세스 동작 방법을 설명하기 위한 순서도; 그리고
도 8은 본 발명의 다른 실시 예에 따른 다중 채널 플래시 메모리 시스템의 블록도이다.
<도면의 주요 부분에 대한 부호 설명>
1000: 다중 채널 플래시 메모리 시스템 200: 저장 장치
300: 인터페이스 장치 310: 호스트 인터페이스
320: 컨트롤러 330: 롬
340: 버퍼 메모리 350: 버퍼 컨트롤러
10_0~10_N-1:DMA 채널들
400_0~400_N-1: 플래시 메모리들

Claims (22)

  1. 복수의 섹터들로 구성된 복수의 페이지들을 갖는 플래시 메모리들;
    상기 플래시 메모리들에 각각 대응하는 채널들; 및
    상기 채널들을 통해 플래시 메모리들을 적어도 하나 이상의 섹터 단위로 액세스하는 인터페이스 장치를 포함하고,
    상기 인터페이스 장치는 어드레스를 복수 개의 섹터 단위 어드레스들로 분할하고, 상기 분할된 각각의 어드레스가 소정의 크기로 각각 점핑되도록 제어하는 다중 채널 플래시 메모리 시스템.
  2. 제 1 항에 있어서,
    상기 섹터 단위어드레스는 적어도 하나 이상의 섹터를 가리키는 다중 채널 플래시 메모리 시스템.
  3. 제 1 항에 있어서,
    상기 채널은 직접 메모리 액세스 방식으로 액세스를 수행하는 다중 채널 플래시 메모리 시스템.
  4. 제 1 항에 있어서,
    상기 플래시 메모리들은 섹터 단위로 동시에 액세스되는 다중 채널 플래시 메모리 시스템.
  5. 제 1 항에 있어서,
    상기 점핑되는 어드레스 크기는 액세스되는 플래시 메모리들의 수 및 액세스되는 상기 섹터 단위에 따라서 달라지는 다중 채널 플래시 메모리 시스템.
  6. 제 5 항에 있어서,
    액세스 되는 플래시 메모리들의 수를 양의 정수 m 그리고 섹터 단위를 양의 정수 a 이라 할 경우, 상기 점핑되는 어드레스 크기는 (m-1)*a가 되는 다중 채널 플래시 메모리 시스템.
  7. 제 1 항에 있어서,
    상기 인터페이스 장치는
    상기 어드레스 점핑 동작을 수행하는 컨트롤러; 및
    쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고,
    쓰기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상기 버퍼 메모리를 제어하는 다중 채널 플래시 메모리 시스템.
  8. 제 7 항에 있어서,
    읽기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어하는 다중 채널 플래시 메모리 시스템.
  9. 제 7 항에 있어서,
    상기 인터페이스 장치는 상기 어드레스 점핑 기능을 수행하기 위한 점핑 소프트웨어를 저장하는 롬을 더 포함하고,
    상기 컨트롤러는 상기 점핑 소프트 웨어를 실행하는 다중 채널 플래시 메모리 시스템.
  10. 제 7 항에 있어서,
    상기 컨트롤러는 상기 어드레스 점핑 기능을 수행하기 위해 상기 플래시 메모리들의 히든 영역에 저장된 점핑 소프트웨어를 실행하는 다중 채널 플래시 메모리 시스템.
  11. 제 10 항에 있어서,
    상기 점핑 소프트웨어는 파워 업시 상기 버퍼 메모리에 로딩되고, 상기 로딩된 점핑 소프트웨어는 상기 컨트롤러에 의해 실행되는 다중 채널 플래시 메모리 시스템.
  12. 제 4 항에 있어서,
    상기 버퍼 메모리는 휘발성 메모리 또는 불 휘발성 메모리인 다중 채널 플래시 메모리 시스템.
  13. 제 1 항에 있어서,
    상기 인터페이스 장치는
    어드레스 점핑 기능을 수행하는 버퍼 컨트롤러; 및
    쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고,
    쓰기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상기 버퍼 메모리를 제어하는 다중 채널 플래시 메모리 시스템.
  14. 제 13 항에 있어서,
    읽기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어하는 다중 채널 플래시 메모리 시스템.
  15. 제 1 항에 있어서,
    상기 인터페이스 장치는
    어드레스 점핑 정보를 저장하는 레지스터를 갖는 버퍼 컨트롤러; 및
    쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고,
    상기 버퍼 컨트롤러는 상기 어드레스 점핑 정보에 따라서 어드레스 점핑 동작을 수행하며,
    쓰기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상기 버퍼 메모리를 제어하는 다중 채널 플래시 메모리 시스템.
  16. 제 15 항에 있어서,
    읽기 동작시 상기 버퍼 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어하는 다중 채널 플래시 메모리 시스템.
  17. 제 1 항에 있어서,
    상기 인터페이스 장치는
    어드레스 점핑 정보를 저장하는 레지스터를 갖는 버퍼 컨트롤러;
    상기 레지스터로부터 제공받은 상기 어드레스 점핑 정보에 따라서 어드레스 점핑 동작을 수행하는 컨트롤러; 및
    쓰기/독출 데이터를 임시 저장하는 버퍼 메모리를 포함하고,
    쓰기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공되도록 상 기 버퍼 메모리를 제어하는 다중 채널 플래시 메모리 시스템.
  18. 제 17 항에 있어서,
    읽기 동작시 상기 컨트롤러는 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 독출되도록 상기 플래시 메모리들을 제어하는 다중 채널 플래시 메모리 시스템.
  19. 복수의 섹터들로 구성된 복수의 페이지들을 갖는 복수의 메모리들 및 상기 복수의 메모리들에 대응되는 복수의 채널들을 포함하는 다중 채널 플래시 메모리 시스템의 액세스 방법에 있어서:
    (a) 어드레스를 섹터 단위 어드레스들로 분할하는 단계;
    (b) 상기 분할된 섹터 단위 어드레스들 각각에 대해 소정 크기로 어드레스 점핑을 수행하는 단계; 그리고,
    (c) 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터가 액세스 되도록 상기 플래시 메모리들에 대한 액세스 동작을 수행하는 단계를 포함하는 다중 채널 플래시 메모리 시스템의 액세스 방법.
  20. 제 19 항에 있어서,
    상기 섹터 단위어드레스는 적어도 하나 이상의 섹터를 가리키며,
    상기 점핑되는 어드레스 크기는, 액세스 되는 플래시 메모리들의 수를 양의 정수 m 그리고 섹터 단위를 양의 정수 l 이라 할 경우, (m-1)*l의 섹터수인 다중 채널 플래시 메모리 시스템의 액세스 방법.
  21. 제 19 항에 있어서,
    상기 (c) 단계는 쓰기 동작시 상기 섹터 단위 어드레스들이 가리키는 섹터 단위 데이터를 채널들을 통해 대응되는 플래시 메모리들의 섹터들에 제공하는 단계를 포함하는 다중 채널 플래시 메모리 시스템의 액세스 방법.
  22. 제 19 항에 있어서,
    상기 (c) 단계는 읽기 동작시 상기 섹터 단위 어드레스들이 가리키는 플래시 메모리에 저장된 섹터 단위 데이터를 독출하는 단계를 포함하는 다중 채널 플래시 메모리 시스템의 액세스 방법.
KR1020080013092A 2008-02-13 2008-02-13 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법 KR20090087689A (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080013092A KR20090087689A (ko) 2008-02-13 2008-02-13 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법
US12/369,943 US20090204748A1 (en) 2008-02-13 2009-02-12 Multi-channel flash memory system and access method
TW098104478A TW200937429A (en) 2008-02-13 2009-02-12 Multi-channel flash memory system and access method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080013092A KR20090087689A (ko) 2008-02-13 2008-02-13 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법

Publications (1)

Publication Number Publication Date
KR20090087689A true KR20090087689A (ko) 2009-08-18

Family

ID=40939857

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080013092A KR20090087689A (ko) 2008-02-13 2008-02-13 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법

Country Status (3)

Country Link
US (1) US20090204748A1 (ko)
KR (1) KR20090087689A (ko)
TW (1) TW200937429A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008923B1 (ko) * 2010-01-15 2011-01-17 주식회사 노바칩스 다양한 종류의 반도체 메모리 장치들을 구비하는 반도체 메모리 시스템 및 이의 제어 방법
KR101361627B1 (ko) * 2010-06-25 2014-02-11 퀄컴 인코포레이티드 다중 채널 다중 포트 메모리
KR101401806B1 (ko) * 2013-01-30 2014-05-29 한양대학교 산학협력단 공유 버퍼를 이용하는 다중 채널 비휘발성 메모리 제어 장치 및 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341311B1 (en) 2008-11-18 2012-12-25 Entorian Technologies, Inc System and method for reduced latency data transfers from flash memory to host by utilizing concurrent transfers into RAM buffer memory and FIFO host interface
US8447918B2 (en) 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
KR101600951B1 (ko) * 2009-05-18 2016-03-08 삼성전자주식회사 고체 상태 드라이브 장치
TWI534619B (zh) * 2015-09-11 2016-05-21 慧榮科技股份有限公司 動態邏輯分段方法以及使用該方法的裝置
KR102392844B1 (ko) * 2017-03-10 2022-05-03 삼성전자주식회사 메모리 컨트롤러 및 그것을 포함하는 저장 장치
TWI821152B (zh) * 2021-02-23 2023-11-01 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法
TWI808384B (zh) * 2021-02-23 2023-07-11 慧榮科技股份有限公司 儲存裝置、快閃記憶體控制器及其控制方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671439A (en) * 1995-01-10 1997-09-23 Micron Electronics, Inc. Multi-drive virtual mass storage device and method of operating same
CN1236386C (zh) * 2000-10-26 2006-01-11 松下电器产业株式会社 存储器件及存储控制方法
JP2003223792A (ja) * 2002-01-25 2003-08-08 Hitachi Ltd 不揮発性メモリ及びメモリカード
DE10235454B4 (de) * 2002-08-02 2013-10-10 Qimonda Ag Integrierter Speicher und Verfahren zur Funktionsüberprüfung eines integrierten Speichers
US7395420B2 (en) * 2003-02-12 2008-07-01 Intel Corporation Using protected/hidden region of a magnetic media under firmware control

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101008923B1 (ko) * 2010-01-15 2011-01-17 주식회사 노바칩스 다양한 종류의 반도체 메모리 장치들을 구비하는 반도체 메모리 시스템 및 이의 제어 방법
KR101361627B1 (ko) * 2010-06-25 2014-02-11 퀄컴 인코포레이티드 다중 채널 다중 포트 메모리
KR101401806B1 (ko) * 2013-01-30 2014-05-29 한양대학교 산학협력단 공유 버퍼를 이용하는 다중 채널 비휘발성 메모리 제어 장치 및 방법

Also Published As

Publication number Publication date
US20090204748A1 (en) 2009-08-13
TW200937429A (en) 2009-09-01

Similar Documents

Publication Publication Date Title
KR20090087689A (ko) 다중 채널 플래시 메모리 시스템 및 그것의 액세스 방법
US9405679B2 (en) Determining a location of a memory device in a solid state device
KR102610395B1 (ko) 비휘발성 메모리 장치를 포함하는 메모리 시스템
US8208322B2 (en) Non-volatile memory control
US20190220396A1 (en) Data Storage Device
KR101516580B1 (ko) 컨트롤러, 이를 포함하는 데이터 저장 장치 및 데이터 저장 시스템, 및 그 방법
US8762703B2 (en) Boot partitions in memory devices and systems
KR101497860B1 (ko) 메모리 어드레스 변환
CN110764691B (zh) 数据储存装置以及非挥发式存储器控制方法
US20160148694A1 (en) Variant operation sequences for multibit memory
KR20130023985A (ko) 개선된 랜덤 라이트 성능을 가지는 메타 데이터 그룹 구성 방법 및 그에 따른 반도체 저장 장치
US10929033B2 (en) Allocating variable media types of memory devices in a memory system
TWI679534B (zh) 資料儲存裝置以及資料儲存方法
US11797201B2 (en) Hardware-software collaborative address mapping scheme for efficient processing-in-memory systems
CN109656834B (zh) 数据管理方法以及数据储存系统
US7616483B2 (en) Multi-bit-per-cell flash memory device with an extended set of commands
KR20090106221A (ko) 병렬 구조를 가지는 플래시 메모리 시스템 및 그 데이터기록방법 및 플래시 메모리
EP4246336A2 (en) Storage controller and an operation method of the storage controller
JP2013168204A (ja) 半導体装置
KR20110030069A (ko) 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법
US11269534B2 (en) Data storage device and non-volatile memory control method
KR20090006637A (ko) 반도체 메모리 장치 및 그것의 프로그램 방법
US20240004786A1 (en) Allocating memory for processing-in-memory (pim) devices
KR20160007621A (ko) 제어 디바이스 및 그 제어 디바이스를 이용하는 액세스 시스템
CN113867642A (zh) 数据处理方法、装置及存储设备

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid