KR102152281B1 - 불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법 - Google Patents

불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법 Download PDF

Info

Publication number
KR102152281B1
KR102152281B1 KR1020187023018A KR20187023018A KR102152281B1 KR 102152281 B1 KR102152281 B1 KR 102152281B1 KR 1020187023018 A KR1020187023018 A KR 1020187023018A KR 20187023018 A KR20187023018 A KR 20187023018A KR 102152281 B1 KR102152281 B1 KR 102152281B1
Authority
KR
South Korea
Prior art keywords
memory access
access command
target partition
controller
write
Prior art date
Application number
KR1020187023018A
Other languages
English (en)
Other versions
KR20180094128A (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 마이크론 테크놀로지, 인크
Publication of KR20180094128A publication Critical patent/KR20180094128A/ko
Application granted granted Critical
Publication of KR102152281B1 publication Critical patent/KR102152281B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0656Data buffering arrangements
    • 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
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1042Read-write modes for single port memories, i.e. having either a random port or a serial port using interleaving techniques, i.e. read-write of one part of the memory while preparing another part
    • 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/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1045Read-write mode select circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Memory System (AREA)
  • Dram (AREA)
  • Static Random-Access Memory (AREA)
  • Semiconductor Memories (AREA)

Abstract

메모리의 상이한 파티션의 다중스레드의 동시적 액세스를 수행하기 위한 장치 및 방법이 본원에서 개시된다. 예시적인 장치는 복수의 파티션을 포함하는 불휘발성 메모리 어레이를 포함할 수도 있는데, 복수의 파티션의 각각은 각각의 복수의 메모리 셀을 포함할 수도 있다. 장치는, 각각의 메모리 액세스 커맨드를 수신하는 것에 응답하여 각각의 메모리 액세스 커맨드를 실행하기 위해 복수의 파티션의 각각의 파티션에 독립적으로 그리고 동시적으로 액세스하도록 각각 구성되는 복수의 로컬 컨트롤러를 더 포함할 수도 있다. 예시적인 장치는, 복수의 메모리 액세스 커맨드를 수신하도록 그리고 복수의 메모리 액세스 커맨드의 각각에 대한 각각의 타깃 파티션을 결정하도록 구성된 컨트롤러를 더 포함할 수도 있다. 컨트롤러는 또한, 복수의 메모리 액세스 커맨드의 각각을, 각각의 타깃 파티션과 관련되는 복수의 로컬 컨트롤러 중의 로컬 컨트롤러에 제공하도록 구성될 수도 있다.

Description

불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법
메모리는, 휴대용 저장 디바이스, 솔리드 스테이트 드라이브, 뮤직 플레이어, 카메라, 전화기, 무선 디바이스, 디스플레이, 칩셋, 셋탑 박스, 게임용 시스템, 차량, 및 가전 제품을 포함하는, 그러나 이들로 제한되지는 않는 다양한 장치, 예컨대 컴퓨터 또는 다른 디바이스에서 제공될 수도 있다. 휘발성 메모리(예를 들면, 동적 랜덤 액세스 메모리(dynamic random access memory: DRAM) 및 불휘발성 메모리(예를 들면, 플래시 메모리, 상 변화 메모리 등)를 포함하는 많은 상이한 타입의 메모리가 존재한다.
불휘발성 메모리에서, 메모리 어레이는 파티션(partition)으로 분할될 수도 있다. 메모리를 파티션으로 분할하는 것은, 행 또는 열을, 메모리 액세스 동작 동안의 액세스를 위한 더 작은 섹션으로 나눌 수도 있다. 그러나, 현재의 메모리 아키텍처는 한 번에 메모리의 단일의 파티션에 대해서만 액세스를 허용할 수도 있다.
메모리의 상이한 파티션의 다중스레드(multithread)의 동시적 액세스를 수행하기 위한 장치 및 방법이 본 명세서에서 개시된다. 본 개시내용의 하나의 양태에서, 장치는 복수의 파티션을 포함하는 불휘발성 메모리 어레이를 포함할 수도 있다. 복수의 파티션의 각각은 각각의 복수의 메모리 셀을 포함할 수도 있다. 장치는, 각각의 메모리 액세스 커맨드를 수신하는 것에 응답하여 복수의 메모리 액세스 커맨드의 각각의 메모리 액세스 커맨드를 실행하기 위해, 복수의 파티션의 각각의 파티션에 독립적으로 그리고 동시적으로 액세스하도록 각각 구성되는 복수의 로컬 컨트롤러를 더 포함할 수도 있다. 예시적인 장치는, 복수의 메모리 액세스 커맨드를 수신하도록 그리고 복수의 메모리 액세스 커맨드의 각각에 대한 복수의 파티션의 각각의 타깃 파티션을 결정하도록 구성된 컨트롤러를 더 포함할 수도 있다. 컨트롤러는 또한, 복수의 메모리 액세스 커맨드의 각각을, 각각의 타깃 파티션과 관련되는 복수의 로컬 컨트롤러 중의 로컬 컨트롤러에 제공하도록 구성될 수도 있다.
다른 양태에서, 장치는 불휘발성 메모리 및 메모리 컨트롤러를 포함한다. 불휘발성 메모리는 복수의 파티션 및 복수의 로컬 컨트롤러를 포함하는데, 복수의 로컬 컨트롤러의 각각은 복수의 파티션의 각각의 파티션에 독립적으로 액세스하도록 구성되고, 복수의 파티션의 각각은 각각의 복수의 메모리 셀을 포함한다. 메모리 컨트롤러는 메모리 액세스 커맨드에 대한 분리 타이밍 규칙에 따라 불휘발성 메모리에 메모리 액세스 커맨드를 제공하도록 구성되는데, 메모리 컨트롤러는 제1 타입의 제1 메모리 액세스 커맨드를 복수의 파티션 중의 제1 파티션에 제공한다. 제1 타입의 제2 메모리 액세스 커맨드를 복수의 파티션 중의 제1 파티션에 제공하는 것에 응답하여, 메모리 컨트롤러는 제2 메모리 액세스 커맨드에 제1 메모리 액세스 커맨드 이후의 제1 시간의 최소치를 제공하도록 구성된다. 제1 타입의 제2 메모리 액세스 커맨드를 복수의 파티션 중의 제2 파티션에 제공하는 것에 응답하여, 메모리 컨트롤러는 제2 메모리 액세스 커맨드에 제1 메모리 액세스 커맨드 이후의 제2 시간의 최소치를 제공하도록 구성된다.
다른 양태에서, 방법은 불휘발성 메모리의 컨트롤러에서 제1 메모리 액세스 커맨드 및 제2 메모리 액세스 커맨드를 수신하는 단계 및 제1 메모리 액세스 커맨드에 대한 불휘발성 메모리의 제1 타깃 파티션 및 제2 메모리 액세스 커맨드에 대한 불휘발성 메모리의 제2 타깃 파티션을 결정하는 단계를 포함한다. 상기 방법은, 제1 타깃 파티션에 커플링되는 불휘발성 메모리의 제1 로컬 컨트롤러에 제1 메모리 액세스 커맨드를 그리고 제2 타깃 파티션에 커플링되는 불휘발성 메모리의 제2 로컬 컨트롤러에 제2 메모리 액세스 커맨드를 제공하는 단계, 제1 메모리 액세스 커맨드와 관련되는 제1 타깃 파티션의 메모리 액세스를 실행하는 단계, 및 제1 파티션의 메모리 액세스의 실행과 동시에, 제2 메모리 액세스 커맨드와 관련되는 제2 타깃 파티션의 메모리 액세스를 실행하는 단계를 더 포함한다.
다른 양태에서, 방법은, 제1 메모리 액세스 커맨드를 불휘발성 메모리에 제공하는 단계 및 제1 메모리 액세스 커맨드를 제공한 이후 경과된 시간이 제2 메모리 액세스 커맨드 및 제1 메모리 액세스 커맨드와 관련되는 분리 타이밍 규칙을 충족시키는지의 여부를 결정하는 단계를 포함하고, 분리 타이밍 규칙은 제1 메모리 액세스 커맨드와 관련되는 불휘발성 메모리의 제1 타깃 파티션 및 제2 메모리 액세스 커맨드와 관련되는 불휘발성 메모리의 제2 타깃 파티션에 기초한다. 상기 방법은, 분리 타이밍 규칙이 충족되는 것에 응답하여, 제2 메모리 액세스 커맨드를 불휘발성 메모리에 제공하는 단계를 더 포함한다.
도 1은 본 개시내용의 실시형태에 따른 메모리를 포함하는 장치의 블록도이다.
도 2는 본 개시내용의 실시형태에 따른 메모리의 블록도이다.
도 3은 본 개시내용의 실시형태에 따른 메모리의 블록도이다.
도 4는 본 개시내용의 실시형태에 따른 분리 타이밍 규칙 룩업 테이블이다.
메모리의 다중 파티션의 다중스레드의 동시적 액세스를 위한 장치 및 방법이 본 명세서에서 개시된다. 본 개시내용의 실시형태의 충분한 이해를 제공하기 위해 소정의 세부 사항이 하기에서 기술된다. 그러나, 본 개시내용의 실시형태는 이들 특정한 세부 사항이 없어도 실시될 수도 있다는 것이 기술 분야에서 숙련된 자에게는 명백할 것이다. 또한, 본 명세서에서 설명되는 본 개시내용의 특정한 실시형태는 예로서 제공되며, 본 개시내용의 범위를 이들 특정한 실시형태로 제한하도록 사용되지 않아야 한다. 다른 경우에, 널리 공지된 회로, 제어 신호, 타이밍 프로토콜, 및 소프트웨어 동작은 본 개시내용을 불필요하게 불명료하게 하는 것을 방지하기 위해, 상세하게 도시되지 않는다.
도 1은, 본 개시내용의 실시형태에 따른 메모리(150)를 포함하는 장치(100)(예를 들면, 집적 회로, 메모리 디바이스, 메모리 시스템, 전자 디바이스 또는 시스템, 스마트폰, 태블릿, 컴퓨터, 서버 등)의 블록도이다. 메모리(150)는 다수의 파티션의 다중스레드의 동시적 액세스를 수행하도록 구성된다. 장치(100)는 커맨드, 어드레스, 및 데이터(CAD) 버스(130)를 통해 메모리(150)에 커플링되는 컨트롤러(110)를 포함할 수도 있다. 메모리(150)는 CAD 버스(130)를 통해 컨트롤러(110)로부터 커맨드 및/또는 어드레스를 수신하도록 구성될 수도 있고, 메모리는 CAD 버스(130)를 통해 데이터를 수신하도록 및/또는 데이터를 제공하도록 구성될 수도 있다.
몇몇 예에서, 메모리(150)는 불휘발성 메모리일 수도 있다. 불휘발성 메모리의 예는 NAND 플래시, NOR 플래시, PCM, PCMS, 3D 크로스 포인트 메모리, PRAM, 스택 메모리, OUM, OUMS 등을 포함한다. 메모리(150)는 다수의 메모리 파티션에 걸쳐 편제되는 셀의 어레이를 포함할 수도 있다. 메모리 파티션은 블록으로 분할될 수도 있는데, 각각의 블록은 다수의 메모리 셀 페이지를 구비한다. 각각의 페이지는 액세스 라인에 커플링되는 메모리 셀을 포함할 수도 있다. 메모리(150)는 둘 이상의 파티션의 다중스레드의 동시적 액세스를 수행하도록 구성될 수도 있다. 메모리(150)는 개개의 파티션을 동시에 독립적으로 액세스하도록 구성되는 제어 회로부(circuitry)(예를 들면, 로컬 컨트롤러 및 데이터 버퍼)를 포함할 수도 있다. 예를 들면, 메모리(150)는 CAD 버스(130)로부터 메모리 액세스 커맨드(예를 들면, 커맨드, 어드레스, 및 데이터 정보)를 수신하는, 그리고 커맨드 및 어드레스 정보를 타깃 파티션과 관련되는 로컬 컨트롤러에 제공하는 내부 컨트롤러를 포함할 수도 있다. 로컬 컨트롤러는 또한 메모리 액세스 커맨드와 관련되는 데이터를 타깃 파티션과 관련되는 데이터 버퍼에 전송할 수도 있다. 내부 컨트롤러는 이전에 수신된 메모리 액세스 커맨드가 계속 실행되는 동안 메모리 액세스 커맨드를 개시하도록 구성될 수도 있다. 따라서, 메모리 액세스 커맨드는 둘 이상의 상이한 파티션에서 동시적으로 실행될 수도 있다.
통상적으로, 메모리는, 후속하는 메모리 액세스 커맨드를 프로세싱하기 이전에, 메모리 액세스 커맨드의 프로세싱을 완료해야만 한다. 앞서 논의되는 바와 같이, 메모리(150)는 관련된 제어 회로부(예를 들면, 로컬 컨트롤러 및 데이터 버퍼)를 갖는 다수의 파티션으로 분할될 수도 있다. 따라서, 동작 동안, 메모리(150)는 다수의 파티션 및 제어 회로부를 이용하는 것에 의해 컨트롤러(110)로부터 다수의 메모리 액세스 커맨드 스레드를 수신하도록 그리고 동시적으로 프로세싱하도록 구성될 수도 있다. 예를 들면, 컨트롤러(110)는 CAD 버스(130)를 통해 메모리(150)의 제1 파티션으로 지향되는 제1 메모리 액세스 커맨드(예를 들면, 제1 커맨드, 제1 어드레스, 및/또는 제1 데이터)를 제공할 수도 있다. 제1 메모리 액세스 커맨드는, 예를 들면, 판독 커맨드와 어드레스, 기록 커맨드, 어드레스, 및 기록 데이터, 또는 다른 메모리 액세스 커맨드를 포함할 수도 있다. 메모리(150)는 제1 메모리 액세스 커맨드를 수신하고 프로세싱을 시작할 수도 있다. 제1 메모리 커맨드가 메모리(150)의 제1 파티션에서 프로세싱됨에 따라, 컨트롤러(110)는 CAD 버스(130)를 통해 메모리(150)의 제2 파티션으로 지향되는 제2 메모리 액세스 커맨드를 발할 수도 있다. 메모리(150)는 제1 파티션에 의한 제1 메모리 액세스 커맨드의 프로세싱과 동시에 제2 파티션에서 제2 메모리 액세스 커맨드의 프로세싱을 시작할 수도 있다.
메모리(150)의 내부 컨트롤러는 메모리(150)의 타깃 파티션을 결정할 수도 있고 타깃 파티션과 관련되는 제어 회로부에 메모리 액세스 커맨드 정보를 제공할 수도 있다. 몇몇 실시형태에서, 메모리(150)의 내부 컨트롤러는 타깃 파티션을 결정하기 위해 제1 메모리 액세스 커맨드와 관련되는 어드레스를 사용할 수도 있다. 따라서, 한 예에서, 내부 컨트롤러는 제1 메모리 액세스 커맨드를 실행하기 위해 제1 파티션과 관련되는 제1 로컬 컨트롤러에 제1 메모리 액세스 커맨드를 제공할 수도 있다. 또한, 내부 컨트롤러는 제2 메모리 액세스 커맨드를 실행하기 위해 제2 파티션과 관련되는 제2 로컬 컨트롤러에 제2 메모리 액세스 커맨드를 제공할 수도 있다. 제1 또는 제2 메모리 액세스 커맨드 중 어느 하나 또는 둘 모두가 기록 커맨드이면, 내부 컨트롤러는 관련 데이터를 제1 또는 제2 데이터 버퍼에 각각 제공할 수도 있다.
각각의 데이터/커맨드 버스 상에서의 충돌 또는 각각의 데이터 버퍼 또는 로컬 컨트롤러에서 데이터를 손상시키는 것을 방지하기 위해, 컨트롤러(110)는, 메모리 액세스 커맨드 사이의 분리 타이밍을 통제하는 타이밍 규칙을 구현할 수도 있다. 타이밍은 현재 및 이전 커맨드에 대한 메모리 액세스 커맨드의 타입(예를 들면, 판독 대 기록), 뿐만 아니라 각각에 대한 타깃 파티션에 기초할 수도 있다. 예를 들면, 상이한 파티션으로 지향되는 연속적인 판독 커맨드에 대한 분리 타이밍 규칙은, 제1 파티션에 대한 기록 커맨드를 뒤따르는 제2 파티션에 대한 판독 커맨드에 대한 분리 타이밍 규칙과는 상이할 수도 있다.
메모리 액세스 커맨드에 대한 타이밍 분리 규칙을 준수하는 것에 의해, 그리고 다수의 동시적 메모리 액세스 스레드를 가능하게 하는 제어 회로부를 메모리(150)에 포함시키는 것에 의해, 한 번에 단일의 메모리 액세스 커맨드만을 프로세싱할 수 있는 메모리와 비교하여 데이터 처리량이 증가될 수 있다.
도 2는, 본 발명의 실시형태에 따른 메모리 디바이스(200)를 포함하는 장치를 예시한다. 메모리 디바이스(200)는, 데이터를 저장하도록 구성되는 복수의 메모리 셀을 갖는 메모리 어레이(280)를 포함한다. 메모리 셀은, 다양한 신호 라인, 워드 라인(word line: WL) 및/또는 비트 라인(bit line: BL)의 사용을 통해 어레이 단위로 액세스될 수도 있다. 메모리 셀은 불휘발성 메모리 셀, 예컨대 NAND 또는 NOR 플래시 셀, 상 변화 메모리 셀일 수도 있거나, 또는 일반적으로 임의의 타입의 메모리 셀일 수도 있다. 메모리 어레이(280)의 메모리 셀은 메모리 어레이 아키텍처로 배열될 수 있다. 예를 들면, 하나의 실시형태에서, 메모리 셀은 3D 교차점 아키텍처로 배열된다. 다른 실시형태에서, 다른 메모리 어레이 아키텍처, 예를 들면, 다른 것들 중에서도, 단일 레벨의 교차점 아키텍처가 사용될 수도 있다. 메모리 셀은, 1 비트의 데이터에 대한 데이터를 저장하도록 구성되는 단일 레벨의 셀일 수도 있다. 메모리 셀은 또한, 1보다 많은 비트의 데이터에 대한 데이터를 저장하도록 구성되는 다중 레벨 셀일 수도 있다. 메모리(200)는 도 1의 메모리(150)에서 구현될 수도 있다. 몇몇 예에서, 어레이(280)는 복수의 파티션으로 분할될 수도 있다.
데이터 스트로브 신호(data strobe signal: DQS)가 데이터 스트로브 버스(도시되지 않음)를 통해 송신될 수도 있다. DQS 신호는 메모리 디바이스(200)로의 또는 메모리 디바이스(200)로부터의 데이터의 전송을 위한 타이밍 정보를 제공하기 위해 사용될 수도 있다. I/O 버스(228)는, 데이터 신호, 어드레스 정보 신호, 및 다른 신호를, I/O 버스(228)와 내부 데이터 버스(222) 및/또는 내부 어드레스 버스(224) 사이에서 라우팅하는 내부 컨트롤러(260)에 연결된다. 내부 어드레스 버스(224)는 내부 컨트롤러(260)에 의해 어드레스 정보를 제공받을 수도 있다. 내부 어드레스 버스(224)는 블록 행 어드레스 신호를 행 디코더(240)에 그리고 열 어드레스 신호를 열 디코더(250)에 제공할 수도 있다. 행 디코더(240) 및 열 디코더(250)는, 메모리 동작, 예를 들면, 판독 및 기록 동작을 위한 메모리 셀의 블록을 선택하기 위해 사용될 수도 있다. 행 디코더(240) 및/또는 열 디코더(250)는, 메모리 어레이(280) 내의 신호 라인 중 하나 이상으로 바이어싱 신호를 제공하도록 구성되는 하나 이상의 신호 라인 드라이버를 포함할 수도 있다. I/O 제어 회로(220)는 메모리 디바이스(200)에 제공되는 판독 상태 커맨드에 응답하여 상태 비트를 저장하도록 구성되는 상태 레지스터를 포함한다. 상태 비트는 메모리 및 그 동작의 다양한 양태의 상태 조건을 나타내기 위한 각각의 값을 가질 수도 있다. 내부 컨트롤러(260)는 상태 조건이 변함에 따라 상태 비트를 업데이트할 수도 있다.
내부 컨트롤러(260)는 또한 메모리 디바이스(200)의 동작을 제어하기 위해, 외부적으로 또는 내부적으로, 다수의 제어 신호(238)를 수신할 수도 있다. 제어 신호(238) 및 I/O 버스(228)는 도 1의 CAD 버스(130)와 같은 조합된 커맨드, 어드레스, 및 데이터 버스 상에서 수신될 수도 있다. 제어 신호(238)는 임의의 적절한 인터페이스 프로토콜로 구현될 수도 있다. 예를 들면, 제어 신호(238)는, 다이나믹 랜덤 액세스 메모리 및 플래시 메모리(예를 들면, NAND 플래시)에서 일반적인 바와 같이, 핀 기반일 수도 있거나, 또는 op 코드 기반일 수도 있다. 예시적인 제어 신호(238)는, 클록 신호, 판독/기록 신호, 클록 인에이블 신호 등을 포함한다. 내부 컨트롤러(260)는, 개개의 파티션을 병렬로 독립적으로 액세스할 수도 있는, 행 디코더(240), 컬럼 디코더(250), 및 데이터 I/O 회로(270)를 사용하여 어레이(280)의 상이한 파티션에 대해 다수의 동시적 메모리 액세스 스레드를 개시할 수도 있다. 예를 들면, 내부 컨트롤러(260)는 메모리 액세스 커맨드(예를 들면, 커맨드, 어드레스 및/또는 데이터 정보)를 순차적으로 수신할 수도 있고, 순차적으로 수신된 메모리 액세스 커맨드의 실행을 개시하기 위해 열 디코더(250), 행 디코더(240), 및 데이터 I/O 회로(270)로 신호를 제공(예를 들면, 전송)할 수도 있다. 몇몇 실시형태에서, 열 디코더(250), 행 디코더(240), 및 데이터 I/O 회로(270)에 대한 메모리 액세스 커맨드와 관련되는 신호의 제공의 타이밍은, 메모리 액세스 커맨드의 타입에 기초할 수도 있고 타깃 파티션이 메모리 액세스 커맨드 동작을 현재 실행하고 있는지의 여부에 기초할 수도 있다.
내부 컨트롤러(260)는 내부 컨트롤러(260)에 의해 수신되는 커맨드 레지스터 저장 정보를 포함할 수도 있다. 내부 컨트롤러(260)는 메모리 디바이스(200)의 다양한 회로에 내부 제어 신호를 제공하도록 구성될 수도 있다. 예를 들면, 메모리 액세스 커맨드(예를 들면, 판독, 기록)를 수신하는 것에 응답하여, 내부 컨트롤러(260)는 메모리 액세스 동작을 수행하기 위해 다양한 메모리 액세스 회로를 제어하기 위한 내부 제어 신호를 제공할 수도 있다. 다양한 메모리 액세스 회로는 메모리 액세스 동작 동안 사용되며, 일반적으로 행 및 열 디코더, 차지 펌프 회로, 신호 라인 드라이버, 데이터 및 캐시 레지스터, I/O 회로, 뿐만 아니라 다른 것과 같은 회로를 포함할 수도 있다.
데이터 I/O 회로(270)는, 내부 컨트롤러(260)로부터 수신되는 신호에 기초하여 내부 컨트롤러(260)와 메모리 어레이(280) 사이의 데이터 전송을 용이하게 하도록 구성되는 하나 이상의 회로를 포함한다. 다양한 실시형태에서, 데이터 I/O 회로(270)는, 하나 이상의 레지스터, 버퍼, 및 메모리 어레이(280)와 내부 컨트롤러(260) 사이의 데이터 전송을 관리하기 위한 다른 회로를 포함할 수도 있다. 실시형태에서, 데이터 I/O 회로(270)는 메모리 어레이(280)의 각각의 파티션에 대해 별개의 데이터 버퍼를 포함할 수도 있다. 예시적인 기록 동작에서, 내부 컨트롤러(260)는 I/O 버스(228)를 통해 기록될 데이터를 수신하고 내부 데이터 버스(222)를 통해 데이터 I/O 회로(270)에 데이터를 제공한다. 데이터 I/O 회로(270)는, 행 디코더(240) 및 열 디코더(250)에 의해 명시되는 위치에서 내부 컨트롤러(260)에 의해 제공되는 제어 신호에 기초하여 데이터를 메모리 어레이(280)에 기록한다. 판독 동작 동안, 데이터 I/O 회로(270)는, 행 디코더(240) 및 열 디코더(250)에 의해 명시되는 어드레스에서 내부 컨트롤러(260)에 의해 제공되는 제어 신호에 기초하여 메모리 어레이(280)로부터 데이터를 판독한다. 데이터 I/O 회로(270)는 내부 데이터 버스(222)를 통해 판독 데이터를 내부 컨트롤러(260)에 제공한다. 그 다음, 내부 컨트롤러(260)는 판독 데이터를 I/O 버스(228) 상에서 제공한다. 몇몇 예에서, 어레이(280)의 각각의 파티션에 대해, 데이터 I/O 회로(270)는, 독립적으로 어레이(280)의 각각의 파티션으로부터 데이터를 수신하기 위해 또는 상기 어레이의 각각의 파티션에 데이터를 제공하기 위해 사용될 수도 있는 독립적으로 제어되는 데이터 버퍼를 포함할 수도 있다.
도 3은 본 개시내용의 실시형태에 따른 다수의 메모리 파티션에 동시적으로 액세스하도록 구성되는 메모리(300)의 일부를 예시한다. 메모리(300)는 복수의 파티션(372(0) 내지 372(N))을 포함하는 메모리 어레이 및 외부 컨트롤러(예를 들면, 도 1의 컨트롤러(110))로부터의 수신된 메모리 액세스 커맨드를 프로세싱하기 위한 내부 컨트롤러(360)를 포함한다. 파티션(372(0) 내지 372(N))의 각각은, 각각의 복수의 메모리 셀을 포함할 수도 있다. 파티션((372(0) 내지 (372(N)) 각각은, 상이한 파티션(372(0) 내지 (372(N))의 다중스레드의 동시적 액세스를 가능하게 하기 위해, 각각의 로컬 컨트롤러(374(0) 내지 374(N))에 그리고 각각의 데이터 버퍼(376(0) 내지 376(N))에 커플링될 수도 있다. "N"의 값은 양의 0이 아닌 수일 수도 있다. 메모리(300)는 도 1의 메모리(150) 및/또는 도 2의 메모리(200)에서 구현될 수도 있다. 메모리 셀은 불휘발성 메모리 셀일 수도 있거나, 또는 일반적으로 임의의 타입의 메모리 셀일 수도 있다.
내부 컨트롤러(360)는 데이터 블록(364)에 커플링되는 데이터 I/O 인터페이스(362) 및 커맨드 UI 블록(368)에 커플링되는 커맨드/어드레스 인터페이스(366)를 포함할 수도 있다. 데이터 I/O 인터페이스(362)는 외부 컨트롤러로부터 수신되는 데이터를 (예를 들면, 기록 액세스 커맨드에 응답하여) 데이터 블록(364)에 제공할 수도 있고, 데이터 블록(364)으로부터 수신되는 데이터를 (예를 들면, 판독 액세스 커맨드에 응답하여) 외부 컨트롤러로 제공할 수도 있다. 데이터 블록(364)은, 커맨드 UI 블록(368)으로부터의 제어 신호에 응답하여 데이터 버스(390)를 통해 데이터를, 데이터 버퍼(376(0) 내지 376(N))에 제공할 수도 있고(예를 들면, 기록 메모리 액세스) 상기 데이터 버퍼로부터 수신할 수도 있다(예를 들면, 판독 메모리 액세스).
커맨드/어드레스 인터페이스(366)는 외부 컨트롤러로부터 수신되는 커맨드 및 어드레스 정보를 커맨드 UI 블록(368)으로 제공할 수도 있다. 커맨드 UI 블록(368)은 파티션(372(0) 내지 372(N))의 타깃 파티션을 결정할 수도 있고, 수신된 커맨드 및 어드레스 정보를, 커맨드/어드레스 버스(380)를 통해 타깃 파티션(372(0) 내지 372(N))과 관련되는 374(0) 내지 374(N)으로 제공할 수도 있다.
파티션(372(0) 내지 372(N)) 각각은 로컬 컨트롤러(374(0) 내지 374(N))에 의한 메모리 액세스 동작 동안 독립적으로 액세스 가능할 수도 있다. 예를 들면, 메모리 액세스 동작 동안, 파티션(372(0))은 파티션(372(1))과는 독립적으로 액세스될 수도 있다. 파티션(372(0) 내지 372(N))의 각각은, 각각의 파티션(372(0) 내지 372(N))의 메모리 액세스를 수행하도록 구성되는 각각의 로컬 컨트롤러(374(0) 내지 374(N))에 커플링될 수도 있다. 로컬 컨트롤러(374(0) 내지 374(N))의 각각은, 각각의 감지 증폭기, (예를 들면, 메모리 액세스의 타입에 기초하여 알고리즘에 액세스하여 실행하는) 시퀀서, 및 메모리 액세스 동작, 예컨대 판독 액세스 또는 기록 액세스를 수행하기 위한 드라이버 회로(예를 들면, 전압 또는 전류 드라이버 회로)를 포함할 수도 있다. 감지 증폭기는 메모리 액세스 커맨드의 실행 동안 데이터를 감지하도록 구성될 수도 있다. 시퀀서는 메모리 액세스 커맨드와 관련되는 알고리즘을 실행하도록 구성될 수도 있다. 드라이버 회로는 파티션의 액세스 라인을 따라 전압을 구동하도록 구성될 수도 있다. 각각의 파티션(372(0) 내지 372(N))은 또한 각각의 데이터 버퍼(376(0) 내지 376(N))에 커플링될 수도 있다. 데이터 버퍼(376(0) 내지 376(N))는 각각의 파티션(372(0) 내지 372(N))에 데이터를 제공하도록 또는 각각의 파티션으로부터 데이터를 수신하도록 구성될 수도 있다. 데이터 버퍼(376(0) 내지 376(N))는 내부 컨트롤러(360) 또는 각각의 로컬 컨트롤러(374(0) 내지 374(N))에 의해 제어될 수도 있다. 각각의 메모리 파티션(372(0) 내지 372(N))으로부터 수신되는 데이터는 데이터 버퍼(376(0) 내지 376(N))에서 각각 래치될 수도 있다. 각각의 데이터 버퍼(376(0) 내지 376(N))에 의해 래치되는 데이터는 내부 데이터 버스를 통해 데이터 블록(364)에 제공될 수도 있다.
동작 시, 내부 컨트롤러(360)는 커맨드 및 어드레스 버스(도시되지 않음)를 통해 메모리 액세스 커맨드(예를 들면, 커맨드 및 어드레스 정보)를 수신할 수도 있고, 데이터 버스(도시되지 않음)를 통해 데이터를 수신할 수도 있다. 내부 컨트롤러(360)는 (예를 들면, 각기 각각의 메모리 액세스 커맨드와 관련되는 어드레스 정보에 적어도 부분적으로 기초하여) 각각의 메모리 액세스 커맨드에 대한 파티션(372(0) 내지 372(N))의 각각의 타깃 파티션을 결정할 수도 있고, 각각의 메모리 액세스 커맨드를 타깃 파티션과 관련되는 각각의 로컬 컨트롤러(374(0) 내지 374(N))에 제공할 수도 있다. 내부 컨트롤러(360)는 또한, 기록 동작 동안 타깃 파티션과 관련되는 데이터 버퍼(376(0) 내지 376(N))에 데이터를 제공할 수도 있고, 판독 동작 동안 데이터 버퍼(376(0) 내지 376(N))로부터 데이터를 수신할 수도 있다.
더 구체적으로, 커맨드/어드레스 인터페이스(366)는 외부 커맨드 및 어드레스 버스로부터 커맨드 및 어드레스 정보를 수신할 수도 있고, 수신된 커맨드 및 어드레스 정보를 커맨드 UI 블록(368)으로 제공할 수도 있다. 커맨드 UI 블록(368)은 타깃 파티션(372(0) 내지 372(N)) 및 커맨드 타입을 결정할 수도 있다. 커맨드 UI 블록(368)은 타깃 파티션(372(0) 내지 372(N))에 기초하여 커맨드 및 어드레스 버스(380)를 통해 커맨드 및 어드레스 정보를 로컬 컨트롤러(374(0) 내지 374(N))에 제공할 수도 있다. 몇몇 실시형태에서, 로컬 컨트롤러(374(0) 내지 374(N))에 커맨드 및 어드레스 정보를 제공하는 타이밍은 커맨드 타입 및/또는 로컬 컨트롤러(374(0) 내지 374(N))가 메모리 액세스 커맨드를 현재 실행하고 있는지의 여부에 기초할 수도 있다. 커맨드 UI 블록(368)은 또한, 데이터 블록(364)에게, 데이터 I/O 인터페이스(362)로부터 데이터를 검색하고 데이터를 데이터 버스를 통해 데이터 버퍼(376(0) 내지 376(N)) 중 하나로 제공할 것을 지시하기 위해(예를 들면, 기록 액세스) 또는 데이터 버스를 통해 데이터 버퍼(376(0) 내지 376(N)) 중 하나로부터 데이터를 검색하고 검색된 데이터를 데이터 I/O 인터페이스(362)로 제공할 것을 지시하기 위해(예를 들면, 판독 액세스) 커맨드 타입에 기초하여 제어 신호를 데이터 블록(364)으로 제공할 수도 있다.
기록 동작 동안, 로컬 컨트롤러(374(0) 내지 374(N))는, 관련된 데이터 버퍼(376(0) 내지 376(N))로부터 관련된 파티션(372(0) 내지 372(N))으로 데이터를 기록하기 위해 드라이버 및 시퀀서를 활용할 수도 있다.
판독 동작 동안, 로컬 컨트롤러(374(0) 내지 374(N))는, 관련된 파티션(372(0) 내지 372(N))으로부터 데이터를 판독하고 판독되는 데이터를 관련된 데이터 버퍼(376(0) 내지 376(N))에서 래치하기 위해, 감지 증폭기, 드라이버, 및 시퀀서를 활용할 수도 있다. 로컬 컨트롤러(374(0) 내지 374(N))의 각각은 관련된 파티션(372(0) 내지 372(N))에 액세스하기 위해 서로 독립적으로 동작하도록 구성될 수도 있다. 따라서, 개개의 파티션(372(0)-372(N))은, 다른 파티션(372(0) 내지 372(N))의 액세스와 간섭하지 않으면서 동시에 액세스될 수도 있는데, 이것은, 주어진 시간에 단일의 파티션에 액세스하는 것으로 제한되는 메모리와 비교하여 처리량 및 효율성을 향상시킬 수도 있다.
앞서 논의되는 바와 같이, 분리 타이밍 규칙은, 각각의 데이터/커맨드 버스 상에서의 충돌 또는 각각의 데이터 버퍼 또는 로컬 컨트롤러 내에서 데이터를 손상시키는 것을 방지할 수도 있다. 메모리 액세스 커맨드의 정확한 동작 및 실행은 분리 타이밍 규칙을 준수하는 것에 의해 관리된다. 앞서 추가로 논의되는 바와 같이, 분리 타이밍 규칙의 타이밍은, 현재 및 이전 커맨드에 대한 메모리 액세스 커맨드의 타입(예를 들면, 판독 대 기록)뿐만 아니라, 각각에 대한 타깃 파티션에 기초할 수도 있다.
도 4는 예시적인 타이밍 규칙을 묘사하는 테이블을 제공한다. 예를 들면, 동일한 파티션에 대한 판독 대 판독 커맨드(Read to Read command)는 X1 ns 분리 규칙을 가질 수도 있고, 상이한 파티션에 대한 판독 대 판독 커맨드는 X2 ns 분리 규칙을 가질 수도 있다. 특정한 예에서, 제1 파티션에 대한 제1 판독 커맨드는 메모리에 의해 수신되고, 제1 파티션과 관련되는 로컬 컨트롤러에 의해 상응하게 핸들링된다. 제1 파티션에 대한 제2 판독 커맨드가 메모리에 제공될 수도 있는 가장 빠른 것은 X1 ns이다. 제1 판독 커맨드를 기준으로 X1 ns 이전에 제1 파티션에 제2 판독 커맨드를 제공하는 것은, 제1 판독 커맨드에 대한 동작 동안 판독되는 데이터에서 에러를 야기할 것이다. 그러나, 제2 판독 커맨드가 상이한 파티션에 대한 것이면, 제1 파티션에 대한 제2 판독 커맨드가 메모리에 제공될 수도 있는 가장 빠른 것은 X2 ns이다. 대조적으로, 제1 파티션에 대한 제1 판독 커맨드 다음에 제1 파티션에 대한 제1 기록 커맨드가 제공되어야 한다면, 제1 파티션에 대한 제1 판독 커맨드 다음에 제1 파티션에 대한 제1 기록 커맨드가 제공될 수도 있는 가장 빠른 것은 X5 ns이다. 시간 X5는 시간 X2 및 X1과는 상이할 수도 있다. 몇몇 실시형태에서, 시간 X5는 X2 및/또는 X1과 동일할 수도 있다. 타이밍 변수 X1 내지 X8은 예시적인 것이며, 시간 X2가 시간 X1의 두 배이거나 또는 시간 X8이 시간 X1의 여덟 배인 것과 같이, 다중 관계를 가지도록 의도되지는 않는다. 일반적으로, 동일한 파티션으로 지향되는 다수의 동작은, 상이한 파티션으로 지향되는 다수의 동작보다 더 긴 분리 시간을 갖는다. 몇몇 예에서, 시간 X1 내지 X8 중 일부는 동일한 값을 가지며, 다른 실시형태에서, 시간 X1 내지 X8은 모두 상이할 수도 있다.
각각의 분리 규칙은, 메모리 액세스 커맨드가 수신되어 메모리에 의해 적절하게 수행되기 위해, 컨트롤러(110)에 의해 충족되어야만 한다. 예를 들면, 컨트롤러(110)는 제1 판독 커맨드를 제1 파티션으로 그리고 제2 판독 커맨드를 제2 파티션으로 전송할 수도 있다. 컨트롤러(110)가 제1 기록 커맨드를 제1 파티션으로 전송할 수 있기 이전에, 제1 파티션으로의 제1 판독 커맨드에 대한 타이밍 분리 규칙이 충족되어야 하고, 또한, 제1 기록 커맨드를 상기 제1 파티션으로 전송하기 이전에, 제2 파티션으로의 제2 판독 커맨드에 대한 타이밍 분리 규칙이 충족되어야 한다. 타이밍 분리 규칙 둘 모두가 충족되면, 컨트롤러는 제1 기록 커맨드를 메모리(150)로 전송할 수도 있다. 타이밍 분리 규칙은, 예를 들면, 각각의 메모리 액세스 커맨드 타입에 대한 메모리(150)의 아키텍처 및 레이턴시 특성에 기초할 수도 있다.
상기로부터, 비록 본 개시내용의 특정한 실시형태가 설명의 목적을 위해 본 명세서에서 설명되었지만, 본 개시내용의 취지 및 범위를 벗어나지 않으면서 다양한 수정이 이루어질 수도 있다는 것이 인식될 것이다. 따라서, 본 개시내용은 첨부된 청구범위에 의한 바를 제외하면 제한되지 않는다.

Claims (24)

  1. 장치로서,
    복수의 파티션(partition)을 포함하는 불휘발성 메모리 어레이로서, 상기 복수의 파티션의 각각은 각각의 복수의 메모리 셀을 포함하는, 상기 불휘발성 메모리 어레이;
    복수의 로컬 컨트롤러로서, 상기 복수의 로컬 컨트롤러의 각각이, 복수의 메모리 액세스 커맨드의 각각의 메모리 액세스 커맨드를, 상기 각각의 메모리 액세스 커맨드를 수신하는 것에 응답하여, 실행하기 위해, 상기 복수의 파티션의 각각의 파티션에 독립적으로 그리고 동시에 액세스하도록 구성되는, 상기 복수의 로컬 컨트롤러; 및
    상기 메모리 액세스 커맨드에 대한 분리 타이밍 규칙에 따라 상기 복수의 메모리 액세스 커맨드를 제공하도록 그리고 상기 복수의 메모리 액세스 커맨드의 각각에 대한 상기 복수의 파티션의 각각의 타깃 파티션을 결정하도록 구성된 컨트롤러로서, 상기 복수의 메모리 액세스 커맨드의 각각을, 상기 각각의 타깃 파티션과 관련되는 상기 복수의 로컬 컨트롤러 중의 로컬 컨트롤러에 제공하도록 더 구성되는, 상기 컨트롤러를 포함하며,
    상기 컨트롤러는, 제1 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제1 타깃 파티션에 제1 타입의 제1 메모리 액세스 커맨드를,
    상기 제1 메모리 액세스 커맨드에 앞서는 메모리 액세스 커맨드가 상기 제1 타입과는 상이한 제2 타입이고 또한 상기 제1 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제1 타깃 파티션에 상기 컨트롤러에 의해 전송되며, 또한
    상기 제1 메모리 액세스 커맨드와 상기 제1 메모리 액세스 커맨드에 앞서는 상기 메모리 액세스 커맨드 사이의 적어도 제1 최소 타이밍이 충족될 때,
    전송하도록 더 구성되고,
    상기 컨트롤러는, 상기 제1 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제1 타깃 파티션에 상기 제2 타입의 제2 메모리 액세스 커맨드를,
    상기 제2 메모리 액세스 커맨드에 앞서는 메모리 액세스 커맨드가 상기 제1 타입이고 또한 상기 제1 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제1 타깃 파티션에 상기 컨트롤러에 의해 전송되며, 또한
    상기 제2 메모리 액세스 커맨드와 상기 제2 메모리 액세스 커맨드에 앞서는 상기 메모리 액세스 커맨드 사이의 적어도 제2 최소 타이밍이 충족될 때 - 상기 제2 최소 타이밍은 상기 제1 최소 타이밍과 상이함 -,
    전송하도록 더 구성되며,
    상기 컨트롤러는, 제3 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제3 타깃 파티션에 제3 기록 메모리 액세스 커맨드를,
    상기 제3 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 상기 제3 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제3 타깃 파티션에 상기 컨트롤러에 의해 전송되고, 또한
    상기 제3 기록 메모리 액세스 커맨드와 상기 제3 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 사이의 적어도 제3 최소 타이밍이 충족될 때,
    전송하도록 더 구성되고, 또한
    상기 컨트롤러는, 상기 제3 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제3 타깃 파티션에 제4 기록 메모리 액세스 커맨드를,
    상기 제4 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 제4 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제4 타깃 파티션에 상기 컨트롤러에 의해 전송되고, 또한
    상기 제4 기록 메모리 액세스 커맨드와 상기 제4 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 사이의 적어도 제4 최소 타이밍이 충족될 때 - 상기 제4 최소 타이밍은, 상기 제4 기록 메모리 액세스 커맨드가 상기 제3 타깃 파티션에 전송되는 동안 상기 제4 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드가 상기 제4 타깃 파티션에서 동시에 처리되고 있도록, 상기 제3 최소 타이밍과 상이함 -,
    전송하도록 더 구성되는, 장치.
  2. 제1항에 있어서, 상기 복수의 로컬 컨트롤러 중의 로컬 컨트롤러는,
    상기 메모리 액세스 커맨드의 실행 동안 데이터를 감지하도록 구성되는 각각의 감지 증폭기;
    액세스 라인을 따라 전압을 구동하도록 구성되는 각각의 드라이버; 및
    상기 메모리 액세스 커맨드와 관련되는 알고리즘을 실행하도록 구성되는 각각의 시퀀서를 포함하는, 장치.
  3. 제1항에 있어서, 상기 컨트롤러는, 메모리 액세스 커맨드 타입 및 상기 복수의 메모리 액세스 커맨드의 각각에 대한 상기 복수의 타깃 파티션의 상기 각각의 타깃 파티션을 결정하도록 구성되는 커맨드 및 어드레스 유저 인터페이스 회로를 포함하는, 장치.
  4. 제3항에 있어서, 상기 컨트롤러는, 메모리 컨트롤러로부터 상기 복수의 메모리 액세스 커맨드의 각각을 수신하도록 그리고 상기 복수의 메모리 액세스 커맨드의 각각을 상기 커맨드 및 어드레스 유저 인터페이스 회로에 제공하도록 구성되는 커맨드 및 어드레스 인터페이스 회로를 더 포함하는, 장치.
  5. 제1항에 있어서, 복수의 데이터 버퍼를 더 포함하되, 상기 복수의 데이터 버퍼의 각각은, 독립적으로 그리고 동시적으로, 상기 복수의 파티션의 각각의 파티션으로부터 데이터를 수신하도록 또는 상기 복수의 파티션의 각각의 파티션으로 데이터를 제공하도록 구성되는, 장치.
  6. 제5항에 있어서, 상기 컨트롤러는, 상기 복수의 메모리 액세스 커맨드 중의 메모리 액세스 커맨드에 응답하여, 데이터 버스를 통해, 상기 복수의 데이터 버퍼의 각각으로부터 판독 데이터를 수신하도록 또는 상기 복수의 데이터 버퍼의 각각에 기록 데이터를 제공하도록 구성되는 데이터 블록을 더 포함하는, 장치.
  7. 제6항에 있어서, 상기 컨트롤러는, 메모리 컨트롤러로부터 기록 데이터를 수신하도록 그리고 상기 기록 데이터를 상기 데이터 블록에 제공하도록 또는 상기 데이터 블록으로부터 판독 데이터를 수신하도록 그리고 상기 판독 데이터를 상기 메모리 컨트롤러에 제공하도록 구성되는 데이터 입력/출력 인터페이스 회로를 더 포함하는, 장치.
  8. 장치로서,
    복수의 파티션 및 복수의 로컬 컨트롤러를 포함하는 불휘발성 메모리로서, 상기 복수의 로컬 컨트롤러의 각각은 상기 복수의 파티션의 각각의 파티션에 독립적으로 액세스하도록 구성되고, 상기 복수의 파티션의 각각은, 각각의 복수의 메모리 셀을 포함하는, 상기 불휘발성 메모리;
    메모리 액세스 커맨드를, 상기 메모리 액세스 커맨드에 대한 분리 타이밍 규칙에 따라 상기 불휘발성 메모리에 제공하도록 구성되는 메모리 컨트롤러로서, 상기 메모리 컨트롤러는 제1 타입의 제1 메모리 액세스 커맨드를 상기 복수의 파티션 중의 제1 파티션으로 제공하고, 상기 제1 메모리 액세스 커맨드 이후의 제1 시간의 최소치에서 상기 제1 메모리 액세스 커맨드 직후에 상기 복수의 파티션 중의 상기 제1 파티션으로 상기 제1 타입과는 상이한 제2 타입의 제2 메모리 액세스 커맨드를 제공하도록 구성되며, 또한 상기 메모리 컨트롤러는 상기 제2 타입의 제3 메모리 액세스 커맨드를 상기 복수의 파티션 중의 제2 파티션으로 제공하고, 상기 제3 메모리 액세스 커맨드가 전송된 후에 제2 시간의 최소치에서 상기 제3 메모리 액세스 커맨드 직후에 상기 제2 파티션으로 상기 제1 타입의 제4 메모리 액세스 커맨드를 제공하도록 더 구성 - 상기 제1 시간은 상기 제2 시간과 상이함 - 되는, 상기 메모리 컨트롤러를 포함하며,
    상기 메모리 컨트롤러는, 제5 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제5 타깃 파티션에 제5 기록 메모리 액세스 커맨드를, 상기 제5 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 상기 제5 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제5 타깃 파티션에 상기 메모리 컨트롤러에 의해 제공되고, 또한 상기 제5 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 이후의 적어도 제3 시간이 경과할 때, 제공하도록 더 구성되며, 또한
    상기 컨트롤러는, 상기 제5 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제5 타깃 파티션에 제6 기록 메모리 액세스 커맨드를,
    상기 제6 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 제6 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제6 타깃 파티션에 상기 컨트롤러에 의해 제공되고, 또한
    상기 제6 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 이후의 적어도 제4 시간이 경과할 때 - 상기 제4 시간은, 상기 제6 기록 메모리 액세스 커맨드가 상기 제5 타깃 파티션에 제공되는 동안 상기 제6 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드가 상기 제6 타깃 파티션에서 동시에 처리되고 있도록, 상기 제3 시간과 상이함 -,
    전송하도록 더 구성되는, 장치.
  9. 삭제
  10. 제8항에 있어서, 상기 제1 타입의 상기 메모리 액세스 커맨드는 판독 메모리 액세스 커맨드를 포함하고 상기 제2 타입의 상기 메모리 액세스 커맨드는 기록 메모리 액세스 커맨드를 포함하는, 장치.
  11. 제8항에 있어서, 상기 불휘발성 메모리는 복수의 데이터 버퍼를 더 포함하고, 상기 복수의 데이터 버퍼 중의 데이터 버퍼는 상기 복수의 파티션의 각각의 파티션에 커플링되고, 상기 데이터 버퍼는, 상기 복수의 로컬 컨트롤러의 상기 각각의 컨트롤러에 커플링되는 상기 복수의 로컬 컨트롤러 중의 로컬 컨트롤러로부터의 신호에 응답하여 상기 복수의 파티션의 상기 각각의 파티션으로부터의 데이터를 래치하도록 구성되는, 장치.
  12. 제8항에 있어서, 상기 불휘발성 메모리는, 상기 메모리 컨트롤러로부터 상기 메모리 액세스 커맨드를 수신하도록 그리고 상기 복수의 파티션의 각각의 타깃 파티션을 결정하도록 구성된 컨트롤러를 더 포함하되, 상기 컨트롤러는 또한, 상기 타깃 파티션과 관련되는 상기 복수의 로컬 컨트롤러 중의 로컬 컨트롤러에 상기 메모리 액세스 커맨드를 제공하도록 구성되는, 장치.
  13. 제8항에 있어서, 상기 불휘발성 메모리의 상기 복수의 로컬 컨트롤러는, 동시적으로, 상기 복수의 파티션의 각각의 파티션에 독립적으로 액세스하도록 구성되는, 장치.
  14. 방법으로서,
    불휘발성 메모리의 컨트롤러에서 제1 메모리 액세스 커맨드 및 제2 메모리 액세스 커맨드를, 상기 제1 및 제2 메모리 액세스 커맨드에 대한 각각의 분리 타이밍 규칙에 따라 수신하는 단계;
    상기 제1 메모리 액세스 커맨드에 대한 상기 불휘발성 메모리의 제1 타깃 파티션 및 상기 제2 메모리 액세스 커맨드에 대한 상기 불휘발성 메모리의 제2 타깃 파티션을 결정하는 단계;
    상기 제1 타깃 파티션에 커플링되는 상기 불휘발성 메모리의 제1 로컬 컨트롤러에 제1 타입의 상기 제1 메모리 액세스 커맨드를 제공하는 단계;
    상기 제1 로컬 컨트롤러에 상기 제1 메모리 액세스 커맨드를 제공하는 단계에 후속하여, 상기 제1 메모리 액세스 커맨드와 제3 메모리 액세스 커맨드 사이에서 적어도 제1 최소 분리 타이밍이 충족될 때, 상기 제1 타깃 파티션에 커플링되는 상기 불휘발성 메모리의 상기 제1 로컬 컨트롤러에 상기 제1 타입과는 상이한 제2 타입의 상기 제3 메모리 액세스 커맨드를 제공하는 단계;
    상기 제3 메모리 액세스 커맨드를 제공하는 단계에 후속하여, 상기 제3 메모리 액세스 커맨드와 제4 메모리 액세스 커맨드 사이에서 적어도 제2 최소 분리 타이밍이 충족될 때, 상기 제1 타깃 파티션에 커플링되는 상기 불휘발성 메모리의 상기 제1 로컬 컨트롤러에 상기 제1 타입의 상기 제4 메모리 액세스 커맨드를 제공하는 단계로서, 상기 제2 최소 분리 타이밍은 상기 제1 최소 분리 타이밍과는 상이한, 단계;
    제5 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제5 타깃 파티션에 제5 기록 메모리 액세스 커맨드를,
    상기 제5 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 상기 제5 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제5 타깃 파티션에 제공되고, 또한
    상기 제5 기록 메모리 액세스 커맨드와 상기 제5 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 사이의 적어도 제3 최소 분리 타이밍이 충족될 때,
    제공하는 단계; 및
    상기 제5 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제5 타깃 파티션에 제6 기록 메모리 액세스 커맨드를,
    상기 제6 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 제6 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제6 타깃 파티션에 제공되고, 또한
    상기 제6 기록 메모리 액세스 커맨드와 상기 제6 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 사이의 적어도 제4 최소 분리 타이밍이 충족될 때 - 상기 제4 최소 분리 타이밍은, 상기 제6 기록 메모리 액세스 커맨드가 상기 제5 타깃 파티션에 제공되는 동안 상기 제6 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드가 상기 제6 타깃 파티션에서 동시에 처리되고 있도록, 상기 제3 최소 분리 타이밍과 상이함 -,
    제공하는 단계를 포함하는, 방법.
  15. 제14항에 있어서, 상기 제1 메모리 액세스 커맨드는 기록 커맨드이고, 상기 방법은,
    상기 컨트롤러에서 기록 데이터를 수신하는 단계; 및
    상기 기록 데이터를 데이터 버스를 통해 상기 불휘발성 메모리의 제1 데이터 버퍼에 제공하는 단계로서, 상기 제1 데이터 버퍼는 상기 제1 타깃 파티션에 커플링되고, 상기 제1 메모리 액세스 커맨드를 실행하는 단계는 상기 기록 데이터를 상기 제1 타깃 파티션에 기록하는 것을 포함하는, 상기 기록 데이터를 데이터 버스를 통해 상기 불휘발성 메모리의 제1 데이터 버퍼에 제공하는 단계를 더 포함하는, 방법.
  16. 제15항에 있어서, 상기 제2 메모리 액세스 커맨드는 판독 커맨드이고, 상기 제2 메모리 액세스 커맨드를 실행하는 단계는, 상기 제2 타깃 파티션에 커플링되는 상기 불휘발성 메모리의 제2 데이터 버퍼에서 상기 제2 타깃 파티션으로부터의 판독 데이터를 래치하는 것을 포함하는, 방법.
  17. 제16항에 있어서, 상기 제2 데이터 버퍼로부터 데이터 버스를 통해 상기 컨트롤러로 상기 판독 데이터를 제공하는 단계를 더 포함하는, 방법.
  18. 제14항에 있어서, 상기 제1 로컬 컨트롤러에 상기 제1 메모리 액세스 커맨드를 제공하기 이전에, 상기 제1 로컬 컨트롤러가 이전의 메모리 액세스 커맨드의 실행을 완료했는지의 여부를 결정하는 단계를 더 포함하는, 방법.
  19. 제14항에 있어서, 상기 제1 메모리 액세스 커맨드에 대한 상기 불휘발성 메모리의 상기 제1 타깃 파티션을 결정하는 단계는, 상기 제1 메모리 액세스 커맨드의 어드레스에 기초하는, 방법.
  20. 방법으로서,
    불휘발성 메모리에 제1 메모리 액세스 커맨드를 제공하는 단계;
    상기 제1 메모리 액세스 커맨드를 제공한 이후 경과된 시간이 제2 메모리 액세스 커맨드 및 상기 제1 메모리 액세스 커맨드와 관련되는 분리 타이밍 규칙을 충족시키는지의 여부를 결정하는 단계;
    상기 분리 타이밍 규칙이 충족되는 것에 응답하여, 상기 제2 메모리 액세스 커맨드를 상기 불휘발성 메모리에 제공하는 단계;
    상기 불휘발성 메모리의 제1 타깃 파티션에 액세스하기 위해 상기 불휘발성 메모리에 제1 타입의 제3 메모리 액세스 커맨드를 제공하는 단계;
    상기 제3 메모리 액세스 커맨드에 후속하여 상기 제1 타깃 파티션에 액세스하기 위해 상기 제1 타입과는 상이한 제2 타입의 제4 메모리 액세스 커맨드에 기초하여, 상기 제3 메모리 액세스 커맨드를 제공한 이후 경과된 시간이 제1 최소 분리 타이밍을 충족시키는지의 여부를 결정하는 단계;
    상기 제1 최소 분리 타이밍이 충족되는 것에 응답하여, 상기 불휘발성 메모리에 상기 제4 메모리 액세스 커맨드를 제공하는 단계;
    상기 제1 타깃 파티션에 액세스하기 위해 상기 불휘발성 메모리에 상기 제2 타입의 제5 메모리 액세스 커맨드를 제공하는 단계;
    상기 제5 메모리 액세스 커맨드에 후속하여 상기 제1 타깃 파티션에 액세스하기 위해 상기 제1 타입의 제6 메모리 액세스 커맨드에 기초하여, 상기 제5 메모리 액세스 커맨드를 제공한 이후 경과된 시간이 제2 최소 분리 타이밍을 충족시키는지의 여부를 결정하는 단계;
    상기 제2 최소 분리 타이밍이 충족되는 것에 응답하여, 상기 불휘발성 메모리에 상기 제6 메모리 액세스 커맨드를 제공하는 단계로서, 상기 제1 최소 분리 타이밍은 상기 제2 최소 분리 타이밍과는 상이한, 단계;
    제7 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제7 타깃 파티션에 제7 기록 메모리 액세스 커맨드를,
    상기 제7 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 상기 제7 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제7 타깃 파티션에 제공되고, 또한
    상기 제7 기록 메모리 액세스 커맨드와 상기 제7 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 사이의 적어도 제3 최소 분리 타이밍이 충족될 때,
    제공하는 단계; 및
    상기 제7 타깃 파티션과 관련되는 상기 각각의 로컬 컨트롤러를 통해 상기 제7 타깃 파티션에 제8 기록 메모리 액세스 커맨드를,
    상기 제8 기록 메모리 액세스 커맨드에 앞서는 기록 메모리 액세스 커맨드가 제8 타깃 파티션과 관련되는 각각의 로컬 컨트롤러를 통해 상기 제8 타깃 파티션에 제공되고, 또한
    상기 제8 기록 메모리 액세스 커맨드와 상기 제8 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드 사이의 적어도 제4 분리 타이밍이 충족될 때 - 상기 제4 분리 타이밍은, 상기 제8 기록 메모리 액세스 커맨드가 상기 제7 타깃 파티션에 제공되는 동안 상기 제8 기록 메모리 액세스 커맨드에 앞서는 상기 기록 메모리 액세스 커맨드가 상기 제8 타깃 파티션에서 동시에 처리되고 있도록, 상기 제3 최소 분리 타이밍과 상이함 -,
    제공하는 단계를 포함하는, 방법.
  21. 삭제
  22. 제20항에 있어서, 상기 제1 메모리 액세스 커맨드와 관련되는 제1 커맨드 타입 및 상기 제2 메모리 액세스 커맨드와 관련되는 제2 커맨드 타입을 결정하는 단계를 더 포함하되, 상기 분리 타이밍 규칙은 또한 상기 제1 커맨드 타입 및 상기 제2 커맨드 타입에 기초하는, 방법.
  23. 제20항에 있어서, 상기 제1 타깃 파티션에서 상기 제1 메모리 액세스 커맨드를 그리고 상기 불휘발성 메모리의 제2 타깃 파티션에서 상기 제2 메모리 액세스 커맨드를 동시적으로 실행하는 단계를 더 포함하는, 방법.
  24. 제20항에 있어서, 상기 분리 타이밍 규칙을 테이블에서 룩업하는(looking up) 단계를 더 포함하는, 방법.
KR1020187023018A 2016-01-11 2016-12-28 불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법 KR102152281B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/992,979 2016-01-11
US14/992,979 US10719237B2 (en) 2016-01-11 2016-01-11 Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
PCT/US2016/068834 WO2017123413A1 (en) 2016-01-11 2016-12-28 Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory

Publications (2)

Publication Number Publication Date
KR20180094128A KR20180094128A (ko) 2018-08-22
KR102152281B1 true KR102152281B1 (ko) 2020-10-27

Family

ID=59275818

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187023018A KR102152281B1 (ko) 2016-01-11 2016-12-28 불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법

Country Status (8)

Country Link
US (3) US10719237B2 (ko)
EP (1) EP3403184B1 (ko)
JP (2) JP6918805B2 (ko)
KR (1) KR102152281B1 (ko)
CN (1) CN108701081B (ko)
SG (1) SG11201805819RA (ko)
TW (1) TWI629686B (ko)
WO (1) WO2017123413A1 (ko)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719237B2 (en) 2016-01-11 2020-07-21 Micron Technology, Inc. Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory
US10509592B1 (en) 2016-07-26 2019-12-17 Pavilion Data Systems, Inc. Parallel data transfer for solid state drives using queue pair subsets
US10642741B2 (en) * 2017-02-06 2020-05-05 International Business Machines Corporation Accessing tables with heterogeneous partitions
KR102469958B1 (ko) * 2017-10-27 2022-11-25 삼성전자주식회사 블록 주소 없이 액세스되는 불휘발성 메모리 장치 및 그 동작 방법
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US20190243787A1 (en) * 2018-02-05 2019-08-08 Micron Technology, Inc. Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
WO2020128547A1 (en) * 2018-12-21 2020-06-25 Micron Technology, Inc. Method and device to ensure a secure memory access
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
CN112035053A (zh) * 2019-06-04 2020-12-04 华邦电子股份有限公司 存储器存储装置及其运作方法
DE102019213998A1 (de) * 2019-09-13 2021-03-18 Airbus Defence and Space GmbH Prozessorsystem mit speicherverschränkung und zugriffsverfahren auf speicherverschränkte speicherbänke
JP2021174565A (ja) 2020-04-24 2021-11-01 キオクシア株式会社 半導体記憶装置
US11137920B1 (en) * 2020-04-30 2021-10-05 Micron Technology, Inc. Storing zones in a zone namespace on separate planes of a multi-plane memory device
TWI743859B (zh) * 2020-06-30 2021-10-21 旺宏電子股份有限公司 記憶體裝置、電子裝置及與其相關的讀取方法
CN114816652A (zh) * 2021-01-29 2022-07-29 上海阵量智能科技有限公司 命令处理装置以及方法、电子设备、以及计算机存储介质
DE102021107044A1 (de) 2021-03-10 2022-09-15 Elmos Semiconductor Se Sicherheitsrelevantes Rechnersystems mit einem Datenspeicher und einem Datenspeicher
US11461366B1 (en) 2021-10-20 2022-10-04 Bnsf Railway Company System and method for data pruning via dynamic partition management
CN115454330A (zh) * 2022-08-03 2022-12-09 中勍科技股份有限公司 一种并行管理多个ssd读写的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138686A1 (en) * 2001-01-12 2002-09-26 Liuxi Yang Method for programming memory controller in a high performance microprocessor
US20090196116A1 (en) * 2008-02-01 2009-08-06 Jong-Hoon Oh Semiconductor memory having a bank with sub-banks
US20100211737A1 (en) * 2006-12-06 2010-08-19 David Flynn Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US20130121086A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Memory Configured to Provide Simultaneous Read/Write Access to Multiple Banks

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822251A (en) * 1997-08-25 1998-10-13 Bit Microsystems, Inc. Expandable flash-memory mass-storage using shared buddy lines and intermediate flash-bus between device-specific buffers and flash-intelligent DMA controllers
US6707743B2 (en) * 1998-10-01 2004-03-16 Monolithic System Technology, Inc. Method and apparatus for completely hiding refresh operations in a DRAM device using multiple clock division
US7827348B2 (en) * 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
US7500075B1 (en) * 2001-04-17 2009-03-03 Rambus Inc. Mechanism for enabling full data bus utilization without increasing data granularity
JP4256600B2 (ja) 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
ITRM20010529A1 (it) 2001-08-31 2003-02-28 Micron Technology Inc Interfaccia di utilizzatore di comando per memoria a ripartizione multipla.
US6678204B2 (en) * 2001-12-27 2004-01-13 Elpida Memory Inc. Semiconductor memory device with high-speed operation and methods of using and designing thereof
ITTO20021035A1 (it) 2002-11-29 2004-05-30 St Microelectronics Srl Dispositivo di memoria non volatile a lettura e scrittura simulante.
US8233322B2 (en) 2003-10-10 2012-07-31 Micron Technology, Inc. Multi-partition memory with separated read and algorithm datalines
US7519788B2 (en) * 2004-06-04 2009-04-14 Micron Technology, Inc. System and method for an asynchronous data buffer having buffer write and read pointers
US7464225B2 (en) * 2005-09-26 2008-12-09 Rambus Inc. Memory module including a plurality of integrated circuit memory devices and a plurality of buffer devices in a matrix topology
EP1932158A4 (en) * 2005-09-30 2008-10-15 Mosaid Technologies Inc MEMORY WITH OUTPUT CONTROL
US7447848B2 (en) * 2006-01-04 2008-11-04 Barry Wagner Memory device row and/or column access efficiency
US7701764B2 (en) * 2006-05-17 2010-04-20 Micron Technology, Inc. Apparatus and method for reduced peak power consumption during common operation of multi-NAND flash memory devices
JP5103663B2 (ja) * 2007-09-27 2012-12-19 ルネサスエレクトロニクス株式会社 メモリ制御装置
JP5317657B2 (ja) 2008-12-04 2013-10-16 三洋電機株式会社 画像表示装置
JP5420648B2 (ja) 2009-05-22 2014-02-19 株式会社日立製作所 半導体装置
US20100318720A1 (en) 2009-06-16 2010-12-16 Saranyan Rajagopalan Multi-Bank Non-Volatile Memory System with Satellite File System
US8447908B2 (en) * 2009-09-07 2013-05-21 Bitmicro Networks, Inc. Multilevel memory bus system for solid-state mass storage
US8543758B2 (en) * 2011-05-31 2013-09-24 Micron Technology, Inc. Apparatus including memory channel control circuit and related methods for relaying commands to logical units
US8700879B2 (en) 2011-08-31 2014-04-15 Micron Technology, Inc. Concurrent memory operations
US8593866B2 (en) * 2011-11-11 2013-11-26 Sandisk Technologies Inc. Systems and methods for operating multi-bank nonvolatile memory
KR101903095B1 (ko) 2011-11-21 2018-10-02 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 제어하는 컨트롤러의 동작 방법
US9396101B2 (en) * 2012-06-12 2016-07-19 International Business Machines Corporation Shared physical memory protocol
JP2014164789A (ja) * 2013-02-27 2014-09-08 Toshiba Corp 半導体記憶装置
CN103176750B (zh) * 2013-02-27 2016-01-20 武汉虹旭信息技术有限责任公司 基于交错时间分区的移动互联网数据存储系统及其方法
US20140289446A1 (en) * 2013-03-21 2014-09-25 Kabushiki Kaisha Toshiba Memory system and memory
TWI573148B (zh) * 2013-08-02 2017-03-01 東芝股份有限公司 A controller, a memory system, and a memory device
WO2015025357A1 (ja) 2013-08-19 2015-02-26 株式会社 東芝 メモリシステム
US9293188B2 (en) * 2014-02-03 2016-03-22 Advanced Micro Devices, Inc. Memory and memory controller for high reliability operation and method
CN103942151A (zh) * 2014-04-10 2014-07-23 深圳市硅格半导体有限公司 闪存的数据存储方法及装置
US9384831B2 (en) * 2014-05-29 2016-07-05 Intel Corporation Cross-point memory single-selection write technique
TWI554944B (zh) * 2014-06-20 2016-10-21 慧榮科技股份有限公司 快閃記憶體控制裝置、快閃記憶體控制系統以及快閃記憶體控制方法
CN104111894A (zh) * 2014-07-17 2014-10-22 记忆科技(深圳)有限公司 提升多分区顺序读写性能的方法及其系统
US9691452B2 (en) 2014-08-15 2017-06-27 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
US9607672B2 (en) * 2014-11-14 2017-03-28 Cavium, Inc. Managing skew in data signals with adjustable strobe
KR102424702B1 (ko) * 2015-11-19 2022-07-25 삼성전자주식회사 불휘발성 메모리 모듈 및 이를 포함하는 전자 장치
US10719237B2 (en) 2016-01-11 2020-07-21 Micron Technology, Inc. Apparatuses and methods for concurrently accessing multiple partitions of a non-volatile memory

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020138686A1 (en) * 2001-01-12 2002-09-26 Liuxi Yang Method for programming memory controller in a high performance microprocessor
US20100211737A1 (en) * 2006-12-06 2010-08-19 David Flynn Apparatus, system, and method for data block usage information synchronization for a non-volatile storage volume
US20090196116A1 (en) * 2008-02-01 2009-08-06 Jong-Hoon Oh Semiconductor memory having a bank with sub-banks
US20130121086A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Memory Configured to Provide Simultaneous Read/Write Access to Multiple Banks

Also Published As

Publication number Publication date
US11354040B2 (en) 2022-06-07
JP6918805B2 (ja) 2021-08-11
WO2017123413A1 (en) 2017-07-20
JP7240452B2 (ja) 2023-03-15
TW201732830A (zh) 2017-09-16
EP3403184B1 (en) 2023-11-08
JP2021168203A (ja) 2021-10-21
TWI629686B (zh) 2018-07-11
US20200341635A1 (en) 2020-10-29
US20170199666A1 (en) 2017-07-13
KR20180094128A (ko) 2018-08-22
US20220261151A1 (en) 2022-08-18
US10719237B2 (en) 2020-07-21
EP3403184A4 (en) 2019-09-04
CN108701081A (zh) 2018-10-23
US11768603B2 (en) 2023-09-26
SG11201805819RA (en) 2018-08-30
CN108701081B (zh) 2022-06-21
EP3403184A1 (en) 2018-11-21
JP2019505910A (ja) 2019-02-28

Similar Documents

Publication Publication Date Title
KR102152281B1 (ko) 불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법
US11482278B2 (en) Method of performing internal processing operation of memory device
US11955204B2 (en) Apparatuses and methods for concurrently accessing different memory planes of a memory
KR102299721B1 (ko) 메모리 프로토콜
CN111694514A (zh) 用于处理运算的存储器设备及操作该存储器设备的方法
TWI700585B (zh) 半導體裝置及包含該半導體裝置的記憶體系統
KR20200108768A (ko) 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법
KR20120130871A (ko) 메모리 시스템 및 그 리프레시 제어 방법
US8374040B2 (en) Write bandwidth in a memory characterized by a variable write time
US10185510B2 (en) Bank interleaving controller and semiconductor device including the same
JP2014160433A (ja) 複数のメモリからデータを提供するための装置および方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant