KR102152281B1 - 불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법 - Google Patents
불휘발성 메모리의 다수의 파티션을 동시에 액세스하기 위한 장치 및 방법 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0688—Non-volatile semiconductor memory arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1042—Read-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
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group 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)
- Dram (AREA)
- Memory System (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는 본 개시내용의 실시형태에 따른 분리 타이밍 규칙 룩업 테이블이다.
도 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)
- 장치로서,
복수의 파티션(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 최소 타이밍과 상이함 -,
전송하도록 더 구성되는, 장치. - 제1항에 있어서, 상기 복수의 로컬 컨트롤러 중의 로컬 컨트롤러는,
상기 메모리 액세스 커맨드의 실행 동안 데이터를 감지하도록 구성되는 각각의 감지 증폭기;
액세스 라인을 따라 전압을 구동하도록 구성되는 각각의 드라이버; 및
상기 메모리 액세스 커맨드와 관련되는 알고리즘을 실행하도록 구성되는 각각의 시퀀서를 포함하는, 장치. - 제1항에 있어서, 상기 컨트롤러는, 메모리 액세스 커맨드 타입 및 상기 복수의 메모리 액세스 커맨드의 각각에 대한 상기 복수의 타깃 파티션의 상기 각각의 타깃 파티션을 결정하도록 구성되는 커맨드 및 어드레스 유저 인터페이스 회로를 포함하는, 장치.
- 제3항에 있어서, 상기 컨트롤러는, 메모리 컨트롤러로부터 상기 복수의 메모리 액세스 커맨드의 각각을 수신하도록 그리고 상기 복수의 메모리 액세스 커맨드의 각각을 상기 커맨드 및 어드레스 유저 인터페이스 회로에 제공하도록 구성되는 커맨드 및 어드레스 인터페이스 회로를 더 포함하는, 장치.
- 제1항에 있어서, 복수의 데이터 버퍼를 더 포함하되, 상기 복수의 데이터 버퍼의 각각은, 독립적으로 그리고 동시적으로, 상기 복수의 파티션의 각각의 파티션으로부터 데이터를 수신하도록 또는 상기 복수의 파티션의 각각의 파티션으로 데이터를 제공하도록 구성되는, 장치.
- 제5항에 있어서, 상기 컨트롤러는, 상기 복수의 메모리 액세스 커맨드 중의 메모리 액세스 커맨드에 응답하여, 데이터 버스를 통해, 상기 복수의 데이터 버퍼의 각각으로부터 판독 데이터를 수신하도록 또는 상기 복수의 데이터 버퍼의 각각에 기록 데이터를 제공하도록 구성되는 데이터 블록을 더 포함하는, 장치.
- 제6항에 있어서, 상기 컨트롤러는, 메모리 컨트롤러로부터 기록 데이터를 수신하도록 그리고 상기 기록 데이터를 상기 데이터 블록에 제공하도록 또는 상기 데이터 블록으로부터 판독 데이터를 수신하도록 그리고 상기 판독 데이터를 상기 메모리 컨트롤러에 제공하도록 구성되는 데이터 입력/출력 인터페이스 회로를 더 포함하는, 장치.
- 장치로서,
복수의 파티션 및 복수의 로컬 컨트롤러를 포함하는 불휘발성 메모리로서, 상기 복수의 로컬 컨트롤러의 각각은 상기 복수의 파티션의 각각의 파티션에 독립적으로 액세스하도록 구성되고, 상기 복수의 파티션의 각각은, 각각의 복수의 메모리 셀을 포함하는, 상기 불휘발성 메모리;
메모리 액세스 커맨드를, 상기 메모리 액세스 커맨드에 대한 분리 타이밍 규칙에 따라 상기 불휘발성 메모리에 제공하도록 구성되는 메모리 컨트롤러로서, 상기 메모리 컨트롤러는 제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 시간과 상이함 -,
전송하도록 더 구성되는, 장치. - 삭제
- 제8항에 있어서, 상기 제1 타입의 상기 메모리 액세스 커맨드는 판독 메모리 액세스 커맨드를 포함하고 상기 제2 타입의 상기 메모리 액세스 커맨드는 기록 메모리 액세스 커맨드를 포함하는, 장치.
- 제8항에 있어서, 상기 불휘발성 메모리는 복수의 데이터 버퍼를 더 포함하고, 상기 복수의 데이터 버퍼 중의 데이터 버퍼는 상기 복수의 파티션의 각각의 파티션에 커플링되고, 상기 데이터 버퍼는, 상기 복수의 로컬 컨트롤러의 상기 각각의 컨트롤러에 커플링되는 상기 복수의 로컬 컨트롤러 중의 로컬 컨트롤러로부터의 신호에 응답하여 상기 복수의 파티션의 상기 각각의 파티션으로부터의 데이터를 래치하도록 구성되는, 장치.
- 제8항에 있어서, 상기 불휘발성 메모리는, 상기 메모리 컨트롤러로부터 상기 메모리 액세스 커맨드를 수신하도록 그리고 상기 복수의 파티션의 각각의 타깃 파티션을 결정하도록 구성된 컨트롤러를 더 포함하되, 상기 컨트롤러는 또한, 상기 타깃 파티션과 관련되는 상기 복수의 로컬 컨트롤러 중의 로컬 컨트롤러에 상기 메모리 액세스 커맨드를 제공하도록 구성되는, 장치.
- 제8항에 있어서, 상기 불휘발성 메모리의 상기 복수의 로컬 컨트롤러는, 동시적으로, 상기 복수의 파티션의 각각의 파티션에 독립적으로 액세스하도록 구성되는, 장치.
- 방법으로서,
불휘발성 메모리의 컨트롤러에서 제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 최소 분리 타이밍과 상이함 -,
제공하는 단계를 포함하는, 방법. - 제14항에 있어서, 상기 제1 메모리 액세스 커맨드는 기록 커맨드이고, 상기 방법은,
상기 컨트롤러에서 기록 데이터를 수신하는 단계; 및
상기 기록 데이터를 데이터 버스를 통해 상기 불휘발성 메모리의 제1 데이터 버퍼에 제공하는 단계로서, 상기 제1 데이터 버퍼는 상기 제1 타깃 파티션에 커플링되고, 상기 제1 메모리 액세스 커맨드를 실행하는 단계는 상기 기록 데이터를 상기 제1 타깃 파티션에 기록하는 것을 포함하는, 상기 기록 데이터를 데이터 버스를 통해 상기 불휘발성 메모리의 제1 데이터 버퍼에 제공하는 단계를 더 포함하는, 방법. - 제15항에 있어서, 상기 제2 메모리 액세스 커맨드는 판독 커맨드이고, 상기 제2 메모리 액세스 커맨드를 실행하는 단계는, 상기 제2 타깃 파티션에 커플링되는 상기 불휘발성 메모리의 제2 데이터 버퍼에서 상기 제2 타깃 파티션으로부터의 판독 데이터를 래치하는 것을 포함하는, 방법.
- 제16항에 있어서, 상기 제2 데이터 버퍼로부터 데이터 버스를 통해 상기 컨트롤러로 상기 판독 데이터를 제공하는 단계를 더 포함하는, 방법.
- 제14항에 있어서, 상기 제1 로컬 컨트롤러에 상기 제1 메모리 액세스 커맨드를 제공하기 이전에, 상기 제1 로컬 컨트롤러가 이전의 메모리 액세스 커맨드의 실행을 완료했는지의 여부를 결정하는 단계를 더 포함하는, 방법.
- 제14항에 있어서, 상기 제1 메모리 액세스 커맨드에 대한 상기 불휘발성 메모리의 상기 제1 타깃 파티션을 결정하는 단계는, 상기 제1 메모리 액세스 커맨드의 어드레스에 기초하는, 방법.
- 방법으로서,
불휘발성 메모리에 제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 최소 분리 타이밍과 상이함 -,
제공하는 단계를 포함하는, 방법. - 삭제
- 제20항에 있어서, 상기 제1 메모리 액세스 커맨드와 관련되는 제1 커맨드 타입 및 상기 제2 메모리 액세스 커맨드와 관련되는 제2 커맨드 타입을 결정하는 단계를 더 포함하되, 상기 분리 타이밍 규칙은 또한 상기 제1 커맨드 타입 및 상기 제2 커맨드 타입에 기초하는, 방법.
- 제20항에 있어서, 상기 제1 타깃 파티션에서 상기 제1 메모리 액세스 커맨드를 그리고 상기 불휘발성 메모리의 제2 타깃 파티션에서 상기 제2 메모리 액세스 커맨드를 동시적으로 실행하는 단계를 더 포함하는, 방법.
- 제20항에 있어서, 상기 분리 타이밍 규칙을 테이블에서 룩업하는(looking up) 단계를 더 포함하는, 방법.
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 (20)
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 |
US10452279B1 (en) * | 2016-07-26 | 2019-10-22 | Pavilion Data Systems, Inc. | Architecture for flash storage server |
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 | 삼성전자주식회사 | 블록 주소 없이 액세스되는 불휘발성 메모리 장치 및 그 동작 방법 |
US10782908B2 (en) | 2018-02-05 | 2020-09-22 | Micron Technology, Inc. | Predictive data orchestration 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 |
US11099789B2 (en) | 2018-02-05 | 2021-08-24 | Micron Technology, Inc. | Remote direct memory access in multi-tier memory systems |
US20210406410A1 (en) * | 2018-12-21 | 2021-12-30 | 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 | 上海阵量智能科技有限公司 | 命令处理装置以及方法、电子设备、以及计算机存储介质 |
DE102021107045A1 (de) | 2021-03-10 | 2022-09-15 | Elmos Semiconductor Se | Rechnersystem für eine Motorsteuerung mit einem Programmspeicher und einem Datenspeicher |
US11461366B1 (en) | 2021-10-20 | 2022-10-04 | Bnsf Railway Company | System and method for data pruning via dynamic partition management |
KR20230082377A (ko) | 2021-12-01 | 2023-06-08 | 삼성전자주식회사 | 메모리 컨트롤러 및 메모리 시스템 |
CN115454330A (zh) * | 2022-08-03 | 2022-12-09 | 中勍科技股份有限公司 | 一种并行管理多个ssd读写的方法 |
Citations (4)
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)
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 |
WO2007036050A1 (en) | 2005-09-30 | 2007-04-05 | Mosaid Technologies Incorporated | 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 | 三洋電機株式会社 | 画像表示装置 |
WO2010134201A1 (ja) * | 2009-05-22 | 2010-11-25 | 株式会社日立製作所 | 半導体装置 |
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 |
CN103176750B (zh) * | 2013-02-27 | 2016-01-20 | 武汉虹旭信息技术有限责任公司 | 基于交错时间分区的移动互联网数据存储***及其方法 |
JP2014164789A (ja) * | 2013-02-27 | 2014-09-08 | Toshiba Corp | 半導体記憶装置 |
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 |
-
2016
- 2016-01-11 US US14/992,979 patent/US10719237B2/en active Active
- 2016-12-28 CN CN201680081702.4A patent/CN108701081B/zh active Active
- 2016-12-28 SG SG11201805819RA patent/SG11201805819RA/en unknown
- 2016-12-28 KR KR1020187023018A patent/KR102152281B1/ko active IP Right Grant
- 2016-12-28 WO PCT/US2016/068834 patent/WO2017123413A1/en active Application Filing
- 2016-12-28 EP EP16885432.1A patent/EP3403184B1/en active Active
- 2016-12-28 JP JP2018535296A patent/JP6918805B2/ja active Active
-
2017
- 2017-01-11 TW TW106100884A patent/TWI629686B/zh active
-
2020
- 2020-07-10 US US16/926,431 patent/US11354040B2/en active Active
-
2021
- 2021-07-21 JP JP2021120142A patent/JP7240452B2/ja active Active
-
2022
- 2022-05-05 US US17/662,100 patent/US11768603B2/en active Active
Patent Citations (4)
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 |
---|---|
TWI629686B (zh) | 2018-07-11 |
US11768603B2 (en) | 2023-09-26 |
EP3403184A4 (en) | 2019-09-04 |
US20200341635A1 (en) | 2020-10-29 |
EP3403184A1 (en) | 2018-11-21 |
US10719237B2 (en) | 2020-07-21 |
KR20180094128A (ko) | 2018-08-22 |
CN108701081A (zh) | 2018-10-23 |
US11354040B2 (en) | 2022-06-07 |
SG11201805819RA (en) | 2018-08-30 |
EP3403184B1 (en) | 2023-11-08 |
TW201732830A (zh) | 2017-09-16 |
US20220261151A1 (en) | 2022-08-18 |
JP2021168203A (ja) | 2021-10-21 |
JP2019505910A (ja) | 2019-02-28 |
US20170199666A1 (en) | 2017-07-13 |
CN108701081B (zh) | 2022-06-21 |
JP7240452B2 (ja) | 2023-03-15 |
JP6918805B2 (ja) | 2021-08-11 |
WO2017123413A1 (en) | 2017-07-20 |
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 | |
CN111694514B (zh) | 用于处理运算的存储器设备及操作该存储器设备的方法 | |
KR102299721B1 (ko) | 메모리 프로토콜 | |
TWI700585B (zh) | 半導體裝置及包含該半導體裝置的記憶體系統 | |
KR20200108768A (ko) | 연산 처리를 수행하는 메모리 장치 및 메모리 장치의 동작방법 | |
KR20120130871A (ko) | 메모리 시스템 및 그 리프레시 제어 방법 | |
US10185510B2 (en) | Bank interleaving controller and semiconductor device including the same |
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 |