KR100441608B1 - 낸드 플래시 메모리 인터페이스 장치 - Google Patents

낸드 플래시 메모리 인터페이스 장치 Download PDF

Info

Publication number
KR100441608B1
KR100441608B1 KR10-2002-0030691A KR20020030691A KR100441608B1 KR 100441608 B1 KR100441608 B1 KR 100441608B1 KR 20020030691 A KR20020030691 A KR 20020030691A KR 100441608 B1 KR100441608 B1 KR 100441608B1
Authority
KR
South Korea
Prior art keywords
command
flash memory
nand flash
data
host processor
Prior art date
Application number
KR10-2002-0030691A
Other languages
English (en)
Other versions
KR20030092854A (ko
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 KR10-2002-0030691A priority Critical patent/KR100441608B1/ko
Priority to US10/446,146 priority patent/US6985778B2/en
Priority to JP2003155201A priority patent/JP2004005699A/ja
Priority to EP03253402A priority patent/EP1367496A3/en
Priority to CNB031274722A priority patent/CN1249561C/zh
Publication of KR20030092854A publication Critical patent/KR20030092854A/ko
Application granted granted Critical
Publication of KR100441608B1 publication Critical patent/KR100441608B1/ko

Links

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
    • 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
    • G06F13/1694Configuration of memory controller to different memory types
    • 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
    • G06F13/1678Details of memory controller using bus width

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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

호스트 프로세서와 낸드 플래시 메모리간을 인터페이싱하는 인터페이스 장치는, 레지스터화일, 내부메모리, 플래시 인터페이스부 및 스테이트머신을 구비한다. 레지스터화일은 호스트 프로세서로부터 낸드 플래시 메모리의 동작을 제어하기 위한 코맨드, 및 코맨드의 동작 수행에 필요한 동작정보를 수령하여 저장한다. 내부메모리는 호스트 프로세서로부터 낸드 플래시 메모리에 저장할 호스트 데이터를 수령하여 저장하고, 낸드 플래시 메모리로부터 인출되어 호스트 프로세서로 전송될 플래시 데이터를 저장한다. 플래시 인터페이스부는 낸드 플래시 메모리를 동작시키기 위한 제어신호를 제어하고, 코맨드, 동작정보, 호스트데이터 중 어느 하나가 출력되고, 플래시데이터가 입력되는 I/O 신호선을 제어한다. 그리고, 스테이트머신은 레지스터 화일로부터 코맨드 및 동작정보를 인출하여, 코맨드에 따른 동작이 수행되도록 내부메모리와, 플래시 인터페이스부를 제어한다. 이에 의해, 일반적인 메모리의 구동에 사용되는 인터페이스 방식으로 낸드 플래시 메모리를 제어할 수 있는 낸드 플래시 메모리 인터페이스 장치가 제공된다.

Description

낸드 플래시 메모리 인터페이스 장치{NAND flash memory interface device}
본 발명은 인터페이스 장치에 관한 것으로, 더욱 상세하게는, 호스트 프로세서와 낸드 플래시 메모리간을 인터페이싱하는 낸드 플래시 메모리 인터페이스 장치에 관한 것이다.
플래시 메모리(Flash Memory)는 비휘발성 메모리이지만, 프로그래밍과 삭제가 온라인 상태에서 가능한 메모리이다. 플래시 메모리는 EEPROM 과 마찬가지로 전기적으로 삭제하는 기술을 이용하며, 메모리 전체가 1초 또는 수초 만에 지워질 수 있다. 플래시 메모리에 저장된 데이터의 삭제는 칩 전체뿐만 아니라 블럭 단위의 삭제도 가능하지만, 바이트 단위의 삭제는 불가능하다. 플래시 메모리는 수정이 가능한 제어 프로그램을 저장하거나, 보조메모리의 대용으로 사용되기도 한다.
플래시 메모리에는 낸드 플래시 메모리(Nand Flash Memory)와, 노어형 플래시 메모리(Nor Type Flash Memory)가 있다. 노어형 플래시 메모리는 SRAM 이나 ROM 타입의 인터페이스 방식을 사용하므로 프로세서 등과의 회로구성이 용이하다. 이에 비해, 낸드 플래시 메모리는 인터페이스 방식이 노어형 플래시 메모리 보다 복잡하다. 그러나, 낸드 플래시 메모리는 노어형 플래시 메모리에 비해 집적도가 뛰어나고, 가격이 저렴하다는 장점을 갖고 있다.
도 1은 호스트 프로세서와 낸드 플래시 메모리와의 접속을 나타낸 블럭도이다.
호스트 프로세서(10)는 복수의 제어선, 복수의 어드레스 신호선, 및 복수의 데이터 신호선을 구비하고 있다. 낸드 플래시 메모리(30)는 복수의 제어선과, I/O 0 ~ I/O 7 의 8비트로 구성된 I/O(Data Input/Outputs) 신호선을 구비하고 있다.
호스트 프로세서(10)의 CLE(Command Latch Enable), ALE(Address Latch Enable), CE(Chip Enbale), RE(Read Enable), WE(Write Enable) 제어선은 대응하는 낸드 플래시 메모리(30)의 제어선에 연결된다. 호스트 프로세서(10)의 복수의 어드레스 신호선과 복수의 데이터 신호선은 낸드 플래시 메모리(30)의 I/O 신호선과 접속된다. 그리고, 낸드 플래시 메모리(30)의 R/B(Ready/Busy output) 제어선은 호스트 프로세서(10)의 대응하는 제어선에 접속된다.
이러한 접속상태에서, 낸드 플래시 메모리(30)에 저장된 데이터를 인출하는 경우를 예로 들어, 낸드 플래시 메모리(30)의 동작방법을 설명하면 다음과 같다. 호스트 프로세서(10)는 CLE 제어선을 하이(high)로 하고, I/O 신호선을 통해 READ 코맨드를 낸드 플래시 메모리(30)에 전송한다. 코맨드 전송후, 호스트 프로세서(10)는 ALE 신호를 하이로 하고, I/O 신호선을 통해 어드레스를 낸드 플래시 메모리(30)에 전송한다. 호스트 프로세서(10)가 전송하는 어드레스는 낸드 플래시 메모리(30)에서 데이터를 인출하고자 하는 영역의 주소이다. 코맨드와 어드레스를 전송받은 낸드 플래시 메모리(30)는 내부 메모리 셀(Memory Cell)에서 데이터를 인출하여 내부 입출력 버퍼로 전송한다. 이때 낸드 플래시 메모리(30)의 R/B 제어선은 로우(low)로 되어 내부 동작이 진행중인 BUSY 상태임을 나타낸다.
낸드 플래시 메모리(30)에서 내부 동작이 완료되면, R/B 제어선은 하이로 되고, 내부 입출력 버퍼에 저장된 데이터는 I/O 신호선을 통해 호스트 프로세서(10)에 전송된다. 제어선 중에서 CE, RE, WE 는 일반적인 SRAM 에서 사용되는 인터페이스 방식과 동일하게 구동된다.
이와 같이, 낸드 플래시 메모리(30)를 사용하기 위해서는 일반적인 SRAM 에서 사용되는 CE, RE, WE 제어선 외에, CLE, ALE, R/B 등의 제어선을 구동하기 위한 회로가 필요하다. 또한, 호스트 프로세서(10)와 낸드 플래시 메모리(30)간에 I/O 신호선을 통해 코맨드, 어드레스, 데이터 등이 전달되어야 한다. 이러한 점들은 일반적인 메모리 구동에 사용되는 인터페이스 방식과 호환성이 없게 만든다.
종래에는, 낸드 플래시 메모리(30)를 사용하기 위해, GPIO 포트에 ALE, CLE, R/B 등의 제어선을 연결하여 제어하는 방식이 사용되었다. 또, CLE 와 ALE 제어선을 프로세서의 0번째 어드레스 신호선과 1번째 어드레스 신호선에 각각 접속하고, R/B 제어선은 사용되지 않는 상위 데이터선중 하나에 접속하여 제어하는 방식도 이용되었다.
그러나, 이러한 방식은 제어방법이 복잡하고, 전체 동작의 처리 속도가 늦어진다는 문제점이 있다. 또한, 낸드 플래시 메모리(30)의 I/O 신호선은 8비트이므로, 16 비트나 그 이상의 데이터폭이 요구되는 프로세서의 경우에, 낸드 플래시 메모리(30)가 2개 혹은 그 이상이 필요하게 된다. 따라서 프로세서의 종류에 따라 사용되는 낸드플래시 메모리(30)의 개수가 증가해야 하므로 전체 회로의 크기도 증가한다는 문제점도 있다.
그리고, 낸드 플래시 메모리(30)에 부팅코드를 저장하여 사용하는 경우, 별도의 회로구성 없이 소프트웨어적으로 ECC(Error Correction Code) 기능을 지원하게 되면 부팅속도가 느려지게 되므로, 별도의 회로구성이 필요하게 된다는 문제점도 발생한다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명의 목적은, 일반적인 메모리의 구동에 사용되는 인터페이스 방식으로 낸드 플래시 메모리를 제어할 수 있는 인터페이스 장치를 제공함에 있다.
본 발명의 다른 목적은, 낸드 플래시 메모리와 접속되는 프로세서의 데이터 폭이 증가하더라도 낸드 플래시 메모리의 개수를 증가시킬 필요가 없는 인터페이스 장치를 제공함에 있다
본 발명의 또 다른 목적은, 낸드 플래시 메모리에 데이터 입출력시 오류검출기능을 하드웨어적으로 지원하여, 오류검출속도를 빠르게 할 수 있는 인터페이스 장치를 제공함에 있다.
도 1은 호스트 프로세서와 낸드 플래시 메모리와의 접속을 나타낸 블럭도,
도 2는 본 발명에 따른 인터페이스 장치와, 호스트 프로세서 및 낸드 플래시 메모리간의 접속을 나타낸 블럭도,
도 3은 본 발명에 따른 인터페이스 장치의 블럭도,
도 4a 내지 도 4g 는 본 발명에 따른 인터페이스 장치의 동작방법을 나타낸 흐름도, 그리고
도 5a 내지 도 5c는 호스트 프로세서에서 본 발명에 따른 인터페이스 장치의 구동방법의 예를 나타낸 흐름도이다.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 호스트 프로세서 20 : 인터페이스 장치
22 : 레지스터 화일 24 : 스테이트머신
26 : 내부메모리 28 : 플래시 인터페이스부
30 : 낸드 플래시 메모리
상기 목적을 달성하기 위한 본 발명에 따른 인터페이스 장치는, 호스트 프로세서와 낸드 플래시 메모리간을 인터페이싱하며, 상기 호스트 프로세서로부터 상기 낸드 플래시 메모리의 동작을 제어하기 위한 코맨드, 및 상기 코맨드의 동작 수행에 필요한 동작정보를 수령하여 저장하는 레지스터 화일; 상기 호스트 프로세서로부터 상기 낸드 플래시 메모리에 저장할 호스트 데이터를 수령하여 저장하고, 상기 낸드 플래시 메모리로부터 인출되어 상기 호스트 프로세서로 전송될 플래시 데이터를 저장하는 내부메모리; 상기 낸드 플래시 메모리를 동작시키기 위한 제어신호를 제어하고, 상기 코맨드, 상기 동작정보, 및 상기 호스트 데이터 중 어느 하나가 출력되고, 및 상기 플래시데이터가 입력되는 I/O 신호선을 제어하는 플래시 인터페이스부; 및 상기 레지스터 화일로부터 상기 코맨드 및 상기 동작정보를 인출하여, 상기 코맨드에 따른 동작이 수행되도록 상기 내부메모리와, 상기 플래시 인터페이스부를 제어하는 스테이트머신;을 포함한다.
상기 코맨드는, READ 코맨드, WRITE 코맨드, ERASE 코맨드, INVALID CHECK 코맨드, WRITE INVLIAD 코맨드 중 어느 하나이다. 상기 동작정보는, 상기 낸드 플래시 메모리에서 상기 코맨드에 따른 동작이 수행될 영역의 시작 어드레스를 포함하는 것이 바람직하다.
상기 제어신호는, ALE 신호, CLE 신호, CE 신호, RE 신호, WE 신호;를 포함하며, 상기 내부메모리는, 상기 호스트데이터 및 상기 플래시데이터가 저장되는 버퍼; 및 시스템을 부팅시키기 위한 부팅코드가 저장된 부팅 메모리;를 포함하도록 구성하는 것이 바람직하다. 또한, 상기 내부메모리는, 상기 호스트 데이터 및 상기 플래시 데이터가 입출력되는 경우 오류정정코드를 발생시켜 오류를 검출하는 ECC 체커;를 더 포함하도록 구성하는 것도 가능하다.
상기 레지스터 화일에는, 상기 시작 어드레스가 저장되는 어드레스 레지스터, 상기 코맨드가 저장되는 코맨드 레지스터, 상기 코맨드의 동작상태, 및 상기 코맨드의 동작수행 결과중 적어도 어느 하나의 정보가 저장되는 상태 레지스터가 마련되는 것이 바람직하다.
한편, 본 발명에 따른 호스트 프로세서와, 제어선 및 I/O 신호선을 구비한 낸드 플래시 메모리간의 인터페이스 방법은, 상기 호스트 프로세서로부터 상기 플래시 메모리의 동작을 제어하기 위한 코맨드, 및 상기 코맨드의 동작 수행에 필요한 동작정보를 수령하는 단계; 수령한 상기 코맨드, 및 상기 동작정보를 해독하는 단계; 및 해독한 상기 코맨드에 따른 동작이 수행되도록 상기 제어선, 및 상기 I/O 신호선을 제어하는 단계;를 포함한다. 이때, 상기 제어단계는, 상기 낸드 플래시 메모리에 데이터가 입출력되는 경우 오류정정코드를 발생시켜 오류를 검출하는 단계를 포함한다.
상기 코맨드는, READ 코맨드, WRITE 코맨드, ERASE 코맨드, INVALID CHECK 코맨드, WRITE INVLIAD 코맨드 중 어느 하나이다. 상기 동작정보는, 상기 낸드 플래시 메모리에서의 상기 코맨드에 따른 동작이 수행되는 영역의 시작 어드레스를 포함한다. 상기 제어신호는, ALE 신호, CLE 신호, CE 신호, RE 신호, WE 신호;를 포함하는 것이 바람직하다.
이하에서는 도면을 참조하여 본 발명을 보다 상세하게 설명한다.
도 2는 본 발명에 따른 인터페이스 장치와, 호스트 프로세서 및 낸드 플래시 메모리간의 접속을 나타낸 블럭도이다.
블럭도에 도시한 바와 같이, 인터페이스 장치(20)는 호스트 프로세서(10)와 낸드 플래시 메모리(30)사이에 위치한다.
호스트 프로세서(10)는 복수의 제어선, 복수의 어드레스(ADDR) 신호선, 및 복수의 데이터(DATA) 신호선을 구비하고 있다. 인터페이스 장치(20)는 복수의 제어선, 복수의 데이터(DATA) 신호선, 및 I/O 0 ~ I/O 7 의 8비트로 구성된 I/O (Data Input/Outputs) 신호선을 구비한다. 낸드 플래시 메모리(30)는 복수의 제어선과, I/O 0 ~ I/O 7 의 8비트로 구성된 I/O 신호선을 구비하고 있다.
호스트 프로세서(10)의 CE(Chip Enbale), RE(Read Enable), WE(Write Enable) 제어선은 대응하는 인터페이스 장치(20)의 제어선에 연결되고, 호스트 프로세서(10)의 어드레스 신호선 및 데이터 신호선은 인터페이스 장치(20)의 어드레스 신호선과 데이터 신호선에 각각 접속된다.
인터페이스 장치(20)에서 출력되는 ALE(Address Latch), CLE(Command Latch Enable), CE(Chip Enbale), RE(Read Enable), WE(Write Enable) 제어선은 대응되는 낸드 플래시 메모리(30)의 제어선에 접속된다. 인터페이스 장치(20)의 I/O 신호선은 낸드 플래시 메모리(30)의 I/O 신호선과 접속되며, 낸드 플래시 메모리(30)로부터 출력되는 R/B(Ready/Busy output) 제어선은 인터페이스 장치(20)의 대응하는 제어선에 접속된다.
이러한 접속상태에서, 호스트 프로세서(10)는 낸드 플래시의 동작제어를 위한 코맨드와 코맨드의 동작 수행에 필요한 동작정보를 인터페이스 장치(20)에 전달한다. 코맨드 수행에 필요한 동작정보는, 읽기동작의 경우에는 낸드 플래시 메모리(30)에서 데이터를 인출한 영역의 어드레스, 쓰기동작의 경우에는 낸드 플래시 메모리(30)에서 데이터를 저장할 영역의 어드레스 및 저장할 데이트 등을 포함한다. 호스트 프로세서(10)로부터 코맨드 등을 전달받은 인터페이스 장치(20)는 해당 코맨드에 따른 동작이 수행되도록 낸드 플래시 메모리(30)를 제어한다.
예컨대, 인터페이스 장치(20)가 호스트 프로세서(10)로부터 READ 코맨드를 받은 경우, 인터페이스 장치(20)는 CLE 제어선을 하이(high)로 하고 I/O 신호선을 통해 READ 코맨드를 낸드 플래시 메모리(30)에 전송한다. 코맨드 전송후, 인터페이스 장치(20)는 ALE 신호를 하이로 하고 I/O 신호선을 통해 어드레스를 낸드 플래시 메모리(30)에 전송한다. 코맨드와 어드레스를 전송받은 낸드 플래시 메모리(30)는 내부의 메모리 셀(Memory Cell)로부터 내부 입출력 버퍼로 데이터를 이동한다. 이때 R/B 신호가 로우(low)로 되어 BUSY 상태임을 표시한다. 낸드 플래시 메모리(30)내에서 동작이 완료되면 R/B 신호가 하이로 되고, 내부 입출력 버퍼에 저장된 데이터는 I/O 신호선을 통해 인터페이스 장치(20)에 전달된다. 인터페이스 장치(20)는 전달받은 데이터를 데이터 신호선을 통해서 호스트 프로세서(10)에 전달한다.
인터페이스 장치(20)가 호스트 프로세서(10)로부터 WRITE 코맨드를 받은 경우, 코맨드와 어드레스의 전달은 READ 코맨드를 받은 경우와 동일한 순서로 진행된다. 즉, 인터페이스 장치(20)는 CLE 제어선을 하이(high)로 하고 I/O 신호선을 통해 WRITE 코맨드를 출력하고, ALE 신호를 하이로 하고 I/O 신호선을 통해 어드레스를 출력한다. 어드레스 츨력후에는 데이터를 순차적으로 입력한다.
데이터의 입력 후 다시 코맨드를 전송한다. WRITE 코맨드의 경우, 2번의 코맨드가 입력되는데, 처음 코맨드는 낸드 플래시 메모리(30)내의 내부 버퍼에 데이터를 입력하라는 코맨드이고, 두번째 코맨드는 내부 버퍼로 부터 메모리셀로 데이터가 전송되도록 하는 코맨드이다. READ 코맨드의 경우처럼, 동작이 완료되면 R/B 신호가 하이로 된다. 인터페이스 장치(20)는 I/O 신호선을 확인하여 동작이 제대로 수행되었는지 체크한다. 이 정보는 인터페이스 장치(20)내에 저장되고, 호스트 프로세서 (10)는 이를 참조하여 동작 수행 결과를 알 수 있게 된다.
도 3은 도 2의 인터페이스 장치(20)를 보다 상세하게 나타낸 블럭도이다. 인터페이스 장치(20)는 레지스터 화일(22), 스테이트 머신(24), 내부메모리(26), 및 플래시 인터페이스부(28)를 구비한다.
레지스터 화일(Register File)(22)은 호스트 프로세서(10)로부터 코맨드와, 코맨드의 동작 수행에 필요한 동작정보를 수령하여 저장한다. 레지스터 화일(22) 내에는 코맨드 레지스터(Command Register), 어드레스 레지스터(Address Register)가 마련되어 있다. 호스트 프로세서(10)로부터 전달된 코맨드와, 어드레스는 각각 코맨드 레지스터와 어드레스 레지스터에 저장된다.
레지스터화일(22)내에는 상태 레지스터(Status Register)도 마련되어 있다. 상태 레지스터는 현재 실행중인 코맨드의 동작상태, 코맨드 동작수행후의 결과 등이 저장된다. 호스트 프로세서(10)는 상태 레지스터를 참조하여 코맨드 수행결과를 알 수 있게 된다.
스테이드머신(Finite State Machine)(24)는 호스트 프로세서(10)로부터 전달되어 레지스터 화일(22)에 저장된 코맨드를 인출하여, 해당 코맨드에 따른 동작이 수행되도록 내부 메모리(26)와 플래시 인터페이스부(28) 등 인터페이스 장치(20) 내의 전반적인 동작을 제어한다.
스테이트머신(24)은 인출한 코맨드에 따른 제어를 시작하는 경우, 실행시작신호를 레지스터 화일(22)로 출력하고, 코맨드의 실행에 따른 동작상태도 레지스터화일(22)에 저장한다. 스테이트머신(24)은 해당 코맨드에 대한 동작을 완료한 후, 그 동작결과를 체크하여 레지스터 화일(22)내의 상태 레지스터에 실행결과값을 써서, 호스트 프로세서(10)가 참조할 수 있도록 한다.
내부메모리(Internal Memory)(26)는 부팅(Booting) SRAM과, 버퍼, 및 ECC 체커로 구성된다. 버퍼는 총 4개가 있으며, 자유롭게 읽고 쓰기가 가능하다. 버퍼는 일정한 크기의 페이지로 구획되며, 각 페이지에는 예비영역이 있어서, ECC를 위한 바이트와, Invalid/Valid 블럭 마킹을 위한 바이트가 할당된다.
내부메모리(26)의 버퍼는 호스트 프로세서(10)로 부터 낸드 플래시 메모리(30)에 전송하는 데이터 및 낸드 플래시 메모리(30)로부터 인출되는 데이터를 저장한다. 내부메모리(26)의 ECC 체크는 내부 메모리(26)에 데이터가 저장되는 경우, ECC 등의 오류정정코드를 발생하여, 오류를 검출한다. 오류검출결과는 레지스터 화일(22)에 전송하여 저장된다. 호스트 프로세서(10)는 레지스터화일(22)을 참조하여 오류검출결과를 알 수 있다.
플래시 인터페이스부(Flash Interface)(28)는 스테이트머신(24)의 제어에 따라 낸드 플래시 메모리(30)의 인터페이스 규격에 맞는 ALE, CLE, CE, OE, WE 등 제어신호 및 I/O 신호선을 제어하고, 낸드 플래시 메모리(30)로 부터 R/B 제어신호를 입력받는다. I/O 신호선을 통해서는 코맨드, 코맨드의 동작수행에 필요한 동작정보, 호스트 프로세서(10)로부터 낸드 플래시 메모리(30)에 저장될 데이터 등이 출력된다. 또한, I/O 신호선에는 플래시 메모리(30)에서 인출되는 데이터가 입력되는데, 이 데이터는 내부메모리(26)에 저장된다. 만약, 낸드 플래시 메모리(30)의 인터페이스 규격이 바뀌는 경우에는, 인터페이스 장치(20)내에서 플래시 메모리 인터페이스부(28)만 수정하는 것으로 가능하다.
표 1은 인터페이스 장치(20)의 핀 구성을 나타낸다. 표 1 에서 방향은 신호의 흐름방향을 나타낸다. 즉 I는 인터페이스 장치(20)가 신호를 입력받는 입력핀, O는 인터페이스 장치(20)에서 신호를 출력되는 출력핀, I/O는 인터페이스 장치(20)가 신호를 받거나 신호를 출력하는 입출력핀을 나타낸다.
핀 이름 방향 설명 기타
CLOCK I 인터페이스 장치 동작 Clock
RESET I External Reset
ADDR[15:0] I 호스트 어드레스
HOST_DATA[31:0] I/O 호스트 데이터
CS I Chip Select Low Active
OE I Output Enable
WE I Write Enable
FLASH_ALE O Address Latch Enable
FLASH_CLE O Command Latch Enable
FLASH_CE O Chip Enable
FLASH_RE O Read Enable
FLASH_WE O Write Enable
FLASH_BUSY I READY/BUSY Low Active
IO_DATA[7:0] I/O I/O Data
DATA_WIDTH I Data Width
FLASH_DATA_WIDTH I Flash Data Width
ASIC_BUSY O Busy Signal
표 1에서 ADDR[15:0] 핀에는 호스트 프로세서(10)의 어드레스 신호선이 접속되고, HOST_DATA[31:0] 핀에는 호스트 프로세서(10)의 데이터 신호선이 접속된다. CS 핀, OE 핀, WE 핀에는 호스트 프로세서(10)의 CE, OE, WE 제어선이 각각 접속된다.
출력핀인 FLASH_ALE 핀, FLASH_CLE 핀, FLASH_CE 핀, FLASH_RE 핀, FLASH_WE 핀에는 각각 플래시 메모리(30)의 ALE, CLE, CE, RE, WE 제어선이 접속되고, FLASH_BUSY 핀에는 R/B 제어선이 접속된다. 그리고 CLOCK 핀에는 동작을 위한 클럭신호가 입력되고, RESET 핀에는 외부에서 리셋신호가 입력된다.
DATA_WIDTH 핀에는 데이터 폭 구성신호가 입력되며, 입력되는 신호에 따라인터페이스 장치(20)가 처리하는 데이터 폭을 변화시킨다. FLASH-DATA_WIDTH 핀은 16비트나 그 이상의 데이터 폭을 가지는 낸드 플래시 메모리(30)를 위해 예약된 핀이다. 그리고, ASIC_BUSY 핀은 인터페이스 장치(20)가 BUSY 상태인지 여부를 나타내는 신호를 출력하는 핀이다.
표 2와 표 3은 인터페이스 장치(20)내의 메모리 맵을 나타낸다. 표 2는 16 비트 인터페이스의 경우이고, 표 3은 32 비트 인터페이스의 경우이다. 데이터 폭의 변화는 DATA_WIDTH 핀에 입력되는 데이터폭 구성신호에 의해 변화된다. 즉 DATA_WIDTH 핀에 로우 신호가 입력되면, 16 비트 인터페이스가 되고, 하이 신호가 입력되면 32 비트 인터페이스가 되도록 구성할 수 있다.
범위 이름 내용
0x0000 ~ 0x1fff Boot ROM 부트 로더
0x8000 ~ 0x810f Read Buffer Read Buffer 0 낸드 플래시로부터 데이터를 읽을때 사용되는 528 바이트 버퍼
0x8200 ~ 0x830f Read Buffer 1 낸드 플래시로부터 데이터를 읽을때 사용되는 528 바이트 버퍼
0x8400 ~ 0x850f Write Buffer Write Buffer 0 낸드 플래시에 데이터를 쓸때 사용되는 528 바이트 임시 버퍼
0x8600 ~ 0x870f Write Buffer 1 낸드 플래시에 데이터를 쓸때 사용되는 528 바이트의 임시 버퍼
0xc000 ~ 0xc01f Register File 레지스터 화일
범위 이름 내용
0x0000 ~ 0x0fff Boot ROM 부트 로더
0x8000 ~ 0x8083 Read Buffer Read Buffer 0 낸드 플래시로부터 데이터를 읽을때 사용되는 528 바이트 버퍼
0x8200 ~ 0x8183 Read Buffer 1 낸드 플래시로부터 데이터를 읽을때 사용되는 528 바이트 버퍼
0x8400 ~ 0x8283 Write Buffer Write Buffer 0 낸드 플래시에 데이터를 쓸때 사용되는 528 바이트 임시 버퍼
0x8600 ~ 0x8383 Write Buffer 1 낸드 플래시플래시터를 쓸때 사용되는 528 바이트의 임시 버퍼
0xc000 ~ 0xc00f Register File 레지스터 화일
도 4a 내지 도 4f는 인터페이스 장치(20)에서 동작과정을 나타낸 흐름도이다.
도 4a 에서, 인터페이스 장치(20)의 RESET 핀으로 외부에서 리셋(RESET) 신호가 입력된다(S40). 리셋 신호가 입력되면 레지스터 화일(22)과 스테이트머신(24)의 내부상태가 초기화된다(S42). 초기화 과정이 끝난 후, 인터페이스 장치(20)은 호스트 프로세서로(10)부터 코맨드를 입력 받는다(S44). 인터페이스 장치(20)은 입력되는 코맨드의 종류에 따라 낸드 플래시 메모리(30)의 동작을 제어한다.
도 4b는 READ 코맨드의 경우로서, 먼저 I/O 신호선를 통해서 '00h' 값을 출력한다(S56). READ 코맨드는 낸드 플래시 메모리(30)에 저장된 데이터를 인출하는 코맨드이며, '00h' 값은 낸드 플래시 메모리(30)에서 READ 동작을 수행하도록 정의된 값이다. '00h' 출력후에는, 인터페이스 장치(20)는 낸드 플래시 메모리(30)에서 데이터를 인출하고자 하는 영역의 시작 어드레스를 I/O 신호선을 출력한다(S58). 일반적으로 낸드 플래시 메모리(30)의 크기는 수십 Mbyte 이상이므로 어드레스 비트수가 20개 이상 필요하지만, I/O 신호선은 8 비트이므로, 어드레스는 순차적으로 3회 이상 입력되어야 한다.
어드레스가 입력되면, 인터페이스 장치(20)는 R/B = 1 인지 여부를 검사한다(S59). R/B = 1 이면 낸드 플래시 메모리(30)의 내부 동작이 완료된 것이고, 이에 따라 인터페이스 장치(20)는 낸드 플래시 메모리(30)의 해당 영역으로부터 순차적으로 출력되는 데이트를 읽는다(S60). 낸드 플래시 메모리(30)에서 출력되는 데이터는 내부메모리(26)에 저장된다. 이때, ECC(Error Correction Code)가 발생하며(S62), ECC를 검사하여 오류 여부를 판단한다(S64). 판단 결과 오류가 발생하였으면, 실행결과값(RESULT)을 ECC ERROR 로 하고(S68), 오류가 없으면 실행결과값을 OK 로 한다(S66).
코맨드의 처리가 끝나면, 도 4g에 나타낸 바와 같이, 인터페이스 장치(20)는 실행결과값을 받아 들이고(S138), 상태 레지스터에 실행결과값을 쓴다(S140). 이러한 과정에 의해 READ 코맨드의 수행이 완료된다.
도 4c는 WRITE 코맨드의 경우로서, 낸드 플래시 메모리(30)에 데이터를 저장하는 코맨드이다. 이 코맨드의 경우, 먼저 '80h'를 출력한다(S70). 이후, READ 코맨드의 경우처럼 어드레스를 출력하고(S72). 데이터를 출력한다(S74). 이후 다시 '10h' 를 출력한다(S76). 앞서 설명한 바와 같이, WRITE 코맨드의 경우, 두번의 코맨드가 출력된다. 코맨드 출력후, 상태 레지스터의 값을 읽는다(S78). I/O 신호선의 I/O 6 = 1 이거나, R/B = 1 이면 내부 동작이 완료된 것이고, 그렇지 않으면 내부 동작중이므로 동작이 완료되기를 기다린다(S80). 이러한 신호선의 값들은 상태레지스터에 저장되므로, 저장된 상태레지스터의 값을 참조하여 알 수 있다.
내부동작이 완료되었으면, I/O 신호선의 I/O 0 = 0 인지 판단한다(S82). WRITE 코맨드가 성공적으로 수행되었으면, I/O 0 = 0 이 되고, 수행과정에 오류가 있었으며, I/O 0 = 1 이 출력된다. 이에 의해 코맨드 처리과정에서 오류가 있었는지 알 수 있다. 오류가 발생하였으면, 실행결과값(RESULT)을 WRITE ERROR 로 하고(S86), 오류가 없으면 실행결과값을 OK 로 한다(S84). 이후의 과정은 READ 코맨드의 처리과정과 동일하다(S138, S140).
도 4d는 ERASE 코맨드의 경우로서, 해당 영역에 저장된 데이터를 삭제하는 명령이다. 이 경우, 인터페이스 장치(20)는 먼저 '60h'를 출력한다(S88). 이후, 어드레스를 출력하고(S90), 'D0h' 를 출력한다(S92). 코맨드 출력후, 상태 레지스터의 값을 읽는다(S94). I/O 신호선의 I/O 6 = 1 이거나 R/B = 1 이면 내부 동작이 완료된 것이고, 그렇지 않으면 내부 동작중이므로 동작이 완료되기를 기다린다(S96). 이후, WRITE 코맨드의 처리과정에서 처럼, I/O 0 = 0 인지 판단한다(S98). I/O 0 = 0 이면, 오류없이 코맨드가 수행된 것이므로 실행결과값을 OK 로 한다(S100). 그렇지 않으면, ERASE 코맨드 수행과정중에 오류가 발생한 것이므로, 실행결과값 (RESULT)을 ERASE ERROR 로 한다(S102). 이후의 과정은 READ 코맨드의 처리과정과 동일하다(S138, S140)
도 4e는 코맨드가 INVALID CHECK 인 경우로서, 먼저 '50h'를 출력한다(S104). INVALID CHECK 코맨드는 하나 이상의 비트가 불량이어서 신뢰성을 갖지 못하는 인베리드 블럭(Invalid Block)을 검색하는 코맨드이다. '50h' 출력후, 체크하고자 하는 블럭의 어드레스를 출력하고(S106), R/B = 1 인지 여부를 검사한다(S107). R/B = 1 이면, 데이터를 읽어서(S108), 예비영역(Spare area)의 6번째 바이트가 'FFh'인지 검사한다(S110, S112). 낸드 플래시 메모리(30)는 각 페이지마다 몇개의 바이트가 예비영역으로 설정되어 있는데, 인베리드 블럭에 대한 정보는 이 예비영역의 6번째 바이트에 저장된다. 예비영역의 6번째 바이트의 값이 'FFh' 인 경우에는 해당 블럭에는 불량인 비트가 없는 것으로, 실행결과값을 VALID 로 한다(S114). 그렇지 않은 경우에는, 실행결과값을 INVALID 로 한다(S116). 이후의 과정은 READ 코맨드의 처리과정과 동일하다(S138, S140)
도 4f는 코맨드가 WRITE INVALID 인 경우로서, 먼저 '50h' 를 출력하고, '80h'를 출력한다(S118, S120). WRITE INVALID 코맨드는 인베리드 블럭 정보를 쓰는 코맨드이다. '80h' 출력후에, 예비영역의 6번째 바이트 데이터에 인베리드 블럭 정보에 해당하는 값을 쓰고, '10h'를 출력한다(S124, S126). 이후, 상태 레지스터 값을 읽는다(S128). I/O 신호선의 I/O 6 = 1 이거나 R/B = 1 이면 내부 동작이 완료된 것이고, 그렇지 않으면 내부 동작중이므로 동작이 완료되기를 기다린다(S130). 내부동작이 완료되었으면, I/O 0 = 0 인지 판단한다(S132). I/O 0 = 0 이면 결과값을 OK로 한다(S134). 그렇지 않으면, 결과값을 WRITE ERROR로 한다(S136). 이후의 과정은 READ 코맨드의 처리과정과 동일하다(S138, S140).
도 5a 내지 5c는 호스트 프로세서(10)에서 인터페이스 장치(20)의 구동방법의 예를 나타낸 흐름도이다.
도 5a는 ERASE 코맨드의 경우이다. 이 경우에는, 먼저 ERASE 코맨드를 쓰고(S200), 상태를 읽어서, BUSY 여부를 체크한다(S202, S204). 상태가 BUSY인지여부는 낸드 플래시 메모리(30)에서 출력되는 R/B 제어신호를 인터페이스 장치(20)가 받아들여, 레지스터 화일(22)내에 기록하면, 호스트 프로세서(10)는 이를 참조하여 알 수 있다. 이러한 방법외에, 하드웨어적으로 ASCI_BUSY 핀의 신호를 체크하여, BUSY 상태가 끝나면 호스트 프로세서(10)에 인터럽트를 거는 방법으로 구현하는 것도 가능하다. BUSY 상태인 경우에는 대기한다(S204, S202). BUSY 상태가 끝나면, 계속 코맨드를 출력할 것인지 판단한다(S206). 출력할 코맨드가 있으면, 상기의 과정을 반복하고, 출력할 코맨드가 없으면 종료한다.
도 5b 는 WRITE 코맨드의 경우이다. 이 경우에는 데이트를 쓰고(S210), WRITE 코맨드를 출력한다(S212). 코맨드를 쓰고 나서는 상태를 읽어서, BUSY 여부를 체크한다(S202, S204). BUSY 상태인 경우에는 대기한다(S216, S214). BUSY 상태가 끝나면, 계속 코맨드를 출력할 것인지 판단한다(S218). 출력할 코맨드가 있으면, 상기의 과정을 반복하고, 출력할 코맨드가 없으면 종료한다.
도 5c 는 READ 코맨드의 경우이다. 이 경우에는우 코맨드를 쓰고(S220), 상태를 읽어서, BUSY 여부를 체크한다(S222, S224). BUSY 상태인 경우 대기하고(S224, S222), BUSY 상태가 끝나면, 데이터를 읽는다(S226). 출력할 코맨드가 있으면 상기의 과정을 반복하고, 그렇지 않으면 종료한다
이러한 과정에 의해, 호스트 프로세서(10)는 인터페이스 장치(20)에 코맨드를 전달한다.
이상 설명한 바와 같이, 본 발명에 따르면, 호스트 프로세서는 일반적인 메모리의 구동에 사용되는 인터페이스 방식으로 낸드 플래시 메모리를 제어할 수 있게 된다. 또한, 호스트 프로세서의 데이터 폭이 커지더라도 사용하는 낸드 플래시 메모리의 개수는 증가시킬 필요가 없게 된다. 그리고, 오류검출기능을 하드웨어적으로 지원함으로써, 오류검출등에 따른 처리속도의 저하를 방지할 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (14)

  1. 호스트 프로세서와 낸드 플래시 메모리간을 인터페이싱하는 인터페이스 장치에 있어서,
    상기 호스트 프로세서로부터 상기 낸드 플래시 메모리의 동작을 제어하기 위한 코맨드, 및 상기 코맨드의 동작 수행에 필요한 동작정보를 수령하여 저장하는 레지스터 화일;
    상기 호스트 프로세서로부터 상기 낸드 플래시 메모리에 저장될 호스트 데이터를 수령하여 저장하고, 상기 낸드 플래시 메모리로부터 인출되어 상기 호스트 프로세서로 전송될 플래시 데이터를 저장하는 내부메모리;
    상기 낸드 플래시 메모리를 동작시키기 위한 제어신호를 제어하고, 상기 코맨드, 상기 동작정보, 및 상기 호스트 데이터 중 어느 하나가 출력되고, 상기 플래시 데이터가 입력되는 I/O 신호선을 제어하는 플래시 인터페이스부; 및
    상기 레지스터 화일로부터 상기 코맨드 및 상기 동작정보를 인출하여, 상기 코맨드에 따른 동작이 수행되도록 상기 내부메모리와, 상기 플래시 인터페이스부를 제어하는 스테이트머신;을 포함하는 것을 특징으로 하는 인터페이스 장치.
  2. 제1항에 있어서
    상기 코맨드는, READ 코맨드, WRITE 코맨드, ERASE 코맨드, INVALID CHECK 코맨드, 및 WRITE INVLIAD 코맨드 중 어느 하나인 것을 특징으로 하는 인터페이스 장치.
  3. 제1항에 있어서,
    상기 동작정보는, 상기 낸드 플래시 메모리에서 상기 코맨드에 따른 동작이 수행될 영역의 시작 어드레스를 포함하는 것을 특징으로 하는 인터페이스 장치.
  4. 제1항에 있어서,
    상기 제어신호는, ALE 제어신호, CLE 제어신호, CE 제어신호, RE 제어신호, 및 WE 제어신호;를 포함하는 것을 특징으로 하는 인터페이스 장치.
  5. 제1항에 있어서,
    상기 내부메모리는, 상기 호스트 데이터 및 상기 플래시 데이터가 저장되는 버퍼; 및
    시스템을 부팅시키기 위한 부팅코드가 저장되는 부팅 메모리;를 포함하는 것을 특징으로 하는 인터페이스 장치.
  6. 제5항에 있어서
    상기 내부메모리는, 상기 호스트 데이터 및 상기 플래시 데이터가 입출력되는 경우 오류정정코드를 발생시켜 오류를 검출하는 ECC 체커를 더 포함하는 것을 특징으로 하는 인터페이스 장치.
  7. 제1항에 있어서,
    상기 레지스터 화일에는, 상기 시작 어드레스가 저장되는 어드레스 레지스터가 마련되어 있는 것을 특징으로 하는 인터페이스 장치.
  8. 제1항에 있어서,
    상기 레지스터 화일에는, 상기 코맨드가 저장되는 코맨드 레지스터가 마련되어 있는 것을 특징으로 하는 낸드 플래시 메모리 인터페이스 장치.
  9. 제1항에 있어서,
    상기 레지스터 화일에는, 상기 코맨드의 동작상태, 및 상기 코맨드의 동작수행 결과중 적어도 어느 하나의 정보가 저장되는 상태 레지스터가 마련되어 있는 것을 특징으로 하는 인터페이스 장치.
  10. 호스트 프로세서와, 제어선 및 I/O 신호선을 구비한 낸드 플래시 메모리간의 인터페이스 방법에 있어서,
    상기 호스트 프로세서로부터 상기 플래시 메모리의 동작을 제어하기 위한 코맨드, 및 상기 코맨드의 동작 수행에 필요한 동작정보를 수령하는 단계;
    수령한 상기 코맨드, 및 상기 동작정보를 해독하는 단계; 및
    해독한 상기 코맨드에 따른 동작이 수행되도록 상기 제어선 및 상기 I/O 신호선을 제어하는 단계;를 포함하는 것을 특징으로 하는 인터페이스 방법.
  11. 제10항에 있어서
    상기 제어단계는, 상기 낸드 플래시 메모리에 데이터가 입출력되는 경우 오류정정코드를 발생시켜 오류를 검출하는 단계를 포함하는 것을 특징으로 하는 인터페이스 방법.
  12. 제10항에 있어서,
    상기 코맨드는, READ 코맨드, WRITE 코맨드, ERASE 코맨드, INVALID CHECK 코맨드, 및 WRITE INVLIAD 코맨드 중 어느 하나인 것을 특징으로 하는 인터페이스 방법.
  13. 제10항에 있어서,
    상기 동작정보는, 상기 낸드플래시 메모리에서의 상기 코맨드에 따른 동작이 수행되는 영역의 시작 어드레스를 포함하는 것을 특징으로 하는 인터페이스 방법.
  14. 제10항에 있어서,
    상기 제어신호는, ALE 제어신호, CLE 제어신호, CE 제어신호, RE 제어신호, 및 WE 제어신호;를 포함하는 것을 특징으로 하는 인터페이스 방법.
KR10-2002-0030691A 2002-05-31 2002-05-31 낸드 플래시 메모리 인터페이스 장치 KR100441608B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR10-2002-0030691A KR100441608B1 (ko) 2002-05-31 2002-05-31 낸드 플래시 메모리 인터페이스 장치
US10/446,146 US6985778B2 (en) 2002-05-31 2003-05-28 NAND flash memory interface device
JP2003155201A JP2004005699A (ja) 2002-05-31 2003-05-30 Nandフラッシュメモリインタフェース装置
EP03253402A EP1367496A3 (en) 2002-05-31 2003-05-30 Interface device between processor and flash memory
CNB031274722A CN1249561C (zh) 2002-05-31 2003-05-31 主处理器和与非门快闪存储器间的接口设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0030691A KR100441608B1 (ko) 2002-05-31 2002-05-31 낸드 플래시 메모리 인터페이스 장치

Publications (2)

Publication Number Publication Date
KR20030092854A KR20030092854A (ko) 2003-12-06
KR100441608B1 true KR100441608B1 (ko) 2004-07-23

Family

ID=29417459

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0030691A KR100441608B1 (ko) 2002-05-31 2002-05-31 낸드 플래시 메모리 인터페이스 장치

Country Status (5)

Country Link
US (1) US6985778B2 (ko)
EP (1) EP1367496A3 (ko)
JP (1) JP2004005699A (ko)
KR (1) KR100441608B1 (ko)
CN (1) CN1249561C (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101030385B1 (ko) 2006-02-13 2011-04-20 삼성전자주식회사 내부 메모리만을 가지는 시스템의 부팅 장치 및 방법

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4550439B2 (ja) * 2003-02-28 2010-09-22 東芝メモリシステムズ株式会社 Ecc制御装置
ITRM20030354A1 (it) * 2003-07-17 2005-01-18 Micron Technology Inc Unita' di controllo per dispositivo di memoria.
US7277978B2 (en) * 2003-09-16 2007-10-02 Micron Technology, Inc. Runtime flash device detection and configuration for flash data management software
US7320045B2 (en) 2004-02-05 2008-01-15 Research In Motion Limited Automatic detection of the bit width of a data bus
KR101050623B1 (ko) * 2004-04-28 2011-07-19 삼성전자주식회사 Nand 플래시 메모리 블록의 오류 복구 방법
US20070083785A1 (en) * 2004-06-10 2007-04-12 Sehat Sutardja System with high power and low power processors and thread transfer
US7634615B2 (en) * 2004-06-10 2009-12-15 Marvell World Trade Ltd. Adaptive storage system
US7788427B1 (en) 2005-05-05 2010-08-31 Marvell International Ltd. Flash memory interface for disk drive
US7617359B2 (en) 2004-06-10 2009-11-10 Marvell World Trade Ltd. Adaptive storage system including hard disk drive with flash interface
US7730335B2 (en) 2004-06-10 2010-06-01 Marvell World Trade Ltd. Low power computer with main and auxiliary processors
US20070094444A1 (en) * 2004-06-10 2007-04-26 Sehat Sutardja System with high power and low power processors and thread transfer
US7702848B2 (en) * 2004-06-10 2010-04-20 Marvell World Trade Ltd. Adaptive storage system including hard disk drive with flash interface
US20080140921A1 (en) * 2004-06-10 2008-06-12 Sehat Sutardja Externally removable non-volatile semiconductor memory module for hard disk drives
EP1619588B1 (en) * 2004-07-21 2007-05-09 STMicroelectronics Limited Memory access
JP4391954B2 (ja) * 2005-02-18 2009-12-24 富士通株式会社 ファイル制御システムおよびファイル制御装置
KR100626392B1 (ko) 2005-04-01 2006-09-20 삼성전자주식회사 읽기 속도를 향상시킬 수 있는 플래시 메모리 장치
KR100708128B1 (ko) * 2005-04-30 2007-04-17 삼성전자주식회사 낸드 플래시 메모리 제어 장치 및 방법
US7523381B2 (en) * 2005-09-01 2009-04-21 Micron Technology, Inc. Non-volatile memory with error detection
US20080215799A1 (en) * 2005-10-28 2008-09-04 Zhang Hua-Long Control Chip of Adapter Interconnecting Pc and Flash Memory Medium and Method of Enabling the Control Chip to Program the Flash Memory Medium to be Accessible by the Pc
US7574611B2 (en) * 2005-11-28 2009-08-11 Atmel Corporation Command decoder for microcontroller based flash memory digital controller system
ITRM20060074A1 (it) * 2006-02-15 2007-08-16 Micron Technology Inc Circuito per dati a latch singolo in un dispositivo di memoria volatile e delle a piu livelli
US7702885B2 (en) * 2006-03-02 2010-04-20 Atmel Corporation Firmware extendable commands including a test mode command for a microcontroller-based flash memory controller
CN100394403C (zh) * 2006-05-31 2008-06-11 杭州华三通信技术有限公司 受限处理器访问存储器的方法、***及可访问存储器单元
US8140738B2 (en) * 2006-07-20 2012-03-20 Stmicroelectronics Pvt. Ltd. Flash memory interface device
US20080263324A1 (en) * 2006-08-10 2008-10-23 Sehat Sutardja Dynamic core switching
KR100877609B1 (ko) 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR100898123B1 (ko) * 2007-08-07 2009-05-27 (주) 라모스테크놀러지 낸드 플래시 메모리 제어 장치
TWI343577B (en) * 2007-08-28 2011-06-11 Novatek Microelectronics Corp Program and read method and program apparatus of nand type flash memory
US8103936B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for data read of a synchronous serial interface NAND
KR100921787B1 (ko) * 2007-11-01 2009-10-15 주식회사 이스트후 낸드 플래시 메모리 제어장치
US7966445B2 (en) * 2007-12-24 2011-06-21 Telefonaktiebolaget L M Ericsson (Publ) Read status controller
TWI358024B (en) 2008-01-23 2012-02-11 Phison Electronics Corp Non-volatile memory storage system and method for
CN101615422B (zh) * 2008-06-24 2013-10-16 威刚科技股份有限公司 自动切换内存接口模式的闪存装置
US8225052B2 (en) 2009-06-03 2012-07-17 Micron Technology, Inc. Methods for controlling host memory access with memory devices and systems
US8261012B2 (en) * 2009-10-30 2012-09-04 Western Digital Technologies, Inc. Non-volatile semiconductor memory comprising power fail circuitry for flushing write data in response to a power fail signal
US8843692B2 (en) 2010-04-27 2014-09-23 Conversant Intellectual Property Management Inc. System of interconnected nonvolatile memories having automatic status packet
US8589730B2 (en) * 2010-08-31 2013-11-19 Apple Inc. Handling errors during device bootup from a non-volatile memory
RU2454739C1 (ru) * 2011-01-12 2012-06-27 Российская Федерация, от имени которой выступает Министерство обороны Российской Федерации Способ программирования имс flash-памяти типа nand и устройство для его реализации
TWI514389B (zh) * 2012-09-03 2015-12-21 Silicon Motion Inc 快閃記憶體控制器和快閃記憶體控制方法
CN104461959B (zh) * 2014-11-05 2017-04-19 福州瑞芯微电子股份有限公司 区分NOR Flash与NAND Flash的方法和装置
US10120818B2 (en) 2015-10-01 2018-11-06 International Business Machines Corporation Synchronous input/output command
US10063376B2 (en) 2015-10-01 2018-08-28 International Business Machines Corporation Access control and security for synchronous input/output links
KR20210157749A (ko) 2020-06-22 2021-12-29 삼성전자주식회사 메모리 장치 및 메모리 컨트롤러 사이 인터페이스를 위한 장치, 이를 포함하는 패키지 및 시스템
US11640308B2 (en) * 2021-02-19 2023-05-02 Macronix International Co., Ltd. Serial NAND flash with XiP capability
CN114882935A (zh) * 2022-04-22 2022-08-09 西北核技术研究所 一种nand闪存的辐射效应实时测试方法、***及终端设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0669720A1 (en) * 1994-02-18 1995-08-30 STMicroelectronics S.r.l. Programmable logic array structure for semiconductor nonvolatile memories, particularly flash-EPROMs
JPH1063442A (ja) * 1996-08-22 1998-03-06 Toshiba Corp 半導体ディスク装置
KR980011497A (ko) * 1996-07-06 1998-04-30 김광호 고속동작 불휘발성 반도체 메모리 장치(a high-speed action NAND flash memory apparatus)
JPH1139245A (ja) * 1997-07-15 1999-02-12 Toshiba Corp 半導体デバイス制御装置および半導体デバイス制御方法
KR19990074371A (ko) * 1998-03-10 1999-10-05 윤종용 롬 디스크 장치를 구비한 컴퓨터 시스템 및 그 컴퓨터 시스템의기동방법
KR20000026010A (ko) * 1998-10-16 2000-05-06 김영환 플래시 메모리 장치

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6353554B1 (en) * 1995-02-27 2002-03-05 Btg International Inc. Memory apparatus including programmable non-volatile multi-bit memory cell, and apparatus and method for demarcating memory states of the cell
US6263399B1 (en) * 1998-06-01 2001-07-17 Sun Microsystems, Inc. Microprocessor to NAND flash interface
KR100287018B1 (ko) 1998-08-07 2001-04-16 윤종용 에러 정정 회로를 구비한 반도체 메모리 장치
JP2001025053A (ja) 1999-07-09 2001-01-26 Mitsubishi Electric Corp 携帯電話のメモリシステム
US6601167B1 (en) 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
KR100448905B1 (ko) 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
US20040054864A1 (en) * 2002-09-13 2004-03-18 Jameson Neil Andrew Memory controller
US20040193782A1 (en) * 2003-03-26 2004-09-30 David Bordui Nonvolatile intelligent flash cache memory

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0669720A1 (en) * 1994-02-18 1995-08-30 STMicroelectronics S.r.l. Programmable logic array structure for semiconductor nonvolatile memories, particularly flash-EPROMs
KR980011497A (ko) * 1996-07-06 1998-04-30 김광호 고속동작 불휘발성 반도체 메모리 장치(a high-speed action NAND flash memory apparatus)
JPH1063442A (ja) * 1996-08-22 1998-03-06 Toshiba Corp 半導体ディスク装置
JPH1139245A (ja) * 1997-07-15 1999-02-12 Toshiba Corp 半導体デバイス制御装置および半導体デバイス制御方法
KR19990074371A (ko) * 1998-03-10 1999-10-05 윤종용 롬 디스크 장치를 구비한 컴퓨터 시스템 및 그 컴퓨터 시스템의기동방법
KR20000026010A (ko) * 1998-10-16 2000-05-06 김영환 플래시 메모리 장치

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101030385B1 (ko) 2006-02-13 2011-04-20 삼성전자주식회사 내부 메모리만을 가지는 시스템의 부팅 장치 및 방법

Also Published As

Publication number Publication date
CN1249561C (zh) 2006-04-05
CN1484129A (zh) 2004-03-24
US6985778B2 (en) 2006-01-10
US20040003168A1 (en) 2004-01-01
EP1367496A2 (en) 2003-12-03
JP2004005699A (ja) 2004-01-08
KR20030092854A (ko) 2003-12-06
EP1367496A3 (en) 2005-01-26

Similar Documents

Publication Publication Date Title
KR100441608B1 (ko) 낸드 플래시 메모리 인터페이스 장치
KR100843280B1 (ko) 메모리 시스템 및 그것의 데이터 전송 방법
US7392343B2 (en) Memory card having a storage cell and method of controlling the same
US6792501B2 (en) Universal serial bus flash memory integrated circuit device
JP5547741B2 (ja) データをメモリ装置に再入力することなくページをプログラムするためのページバッファプログラムコマンド及び方法
US7937523B2 (en) Memory system with nonvolatile semiconductor memory
JP3979486B2 (ja) 不揮発性記憶装置およびデータ格納方法
US11263154B2 (en) Block or page lock features in serial interface memory
US8078941B2 (en) Memory system, memory system controller, and a data processing method in a host apparatus
US20020147882A1 (en) Universal serial bus flash memory storage device
EP2003569A2 (en) Flash memory controller
US7970982B2 (en) Memory card and memory system having the same
KR19990029196A (ko) 반도체 기억 장치 및 그 데이터 관리 방법
KR100468634B1 (ko) 데이터 전송 제어장치, 반도체 메모리 장치 및 전자정보장치
US20060026340A1 (en) Memory card, card controller mounted on the memory card, and device for processing the memory card
US8812756B2 (en) Method of dispatching and transmitting data streams, memory controller and storage apparatus
CN115145478A (zh) 快闪存储器控制器的控制方法、快闪存储器控制器以及储存装置
US20230266963A1 (en) Firmware updating method, apparatus and data system
US20090249030A1 (en) Multiprocessor System Having Direct Transfer Function for Program Status Information in Multilink Architecture
KR20060129804A (ko) 엠엠씨 인터페이스를 갖는 플래시 메모리 장치 및 그것을포함한 메모리 시스템
KR20020036717A (ko) 마이크로컴퓨터 및 그 제어 방법
JP4233213B2 (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
TWI752838B (zh) 電子裝置、記憶體系統及傳送方法
US7330944B2 (en) Method for storing data in a memory, a system, an electronic device and a memory card
CN114664336B (zh) 堆叠存储器件、存储芯片及其控制方法

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130627

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160629

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20170629

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 15