KR101557624B1 - 계층적 메모리 구조를 위한 메모리 장치 - Google Patents

계층적 메모리 구조를 위한 메모리 장치 Download PDF

Info

Publication number
KR101557624B1
KR101557624B1 KR1020090079938A KR20090079938A KR101557624B1 KR 101557624 B1 KR101557624 B1 KR 101557624B1 KR 1020090079938 A KR1020090079938 A KR 1020090079938A KR 20090079938 A KR20090079938 A KR 20090079938A KR 101557624 B1 KR101557624 B1 KR 101557624B1
Authority
KR
South Korea
Prior art keywords
memory
interface
hierarchical
memory device
nand
Prior art date
Application number
KR1020090079938A
Other languages
English (en)
Other versions
KR20100133288A (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 KR20100133288A publication Critical patent/KR20100133288A/ko
Application granted granted Critical
Publication of KR101557624B1 publication Critical patent/KR101557624B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • 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
    • 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
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0629Configuration or reconfiguration of storage systems
    • 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
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0004Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements comprising amorphous/crystalline phase transition cells
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10NELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10N70/00Solid-state devices without a potential-jump barrier or surface barrier, and specially adapted for rectifying, amplifying, oscillating or switching
    • H10N70/20Multistable switching devices, e.g. memristors
    • H10N70/231Multistable switching devices, e.g. memristors based on solid-state phase change, e.g. between amorphous and crystalline phases, Ovshinsky effect
    • 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
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

상이한 메모리 포맷들과의 다수의 인터페이스들을 포함하는 계층적 메모리 장치가 상 변화 메모리(PCM)를 포함한다. 입력 포트 및 출력 포트는 상기 계층적 메모리 장치를 다른 메모리들을 포함하는 데이지-체인 계층 또는 계층적 트리 구조로 접속시킨다. 표준 비-계층적 메모리 장치들도 상기 계층적 메모리 장치의 출력 포트에 부착될 수 있다.

Description

계층적 메모리 구조를 위한 메모리 장치{MEMORY DEVICE FOR A HIERARCHICAL MEMORY ARCHITECTURE}
본 발명은 메모리 장치에 관한 것이다.
현재의 마이크로프로세서들 내에서, CPU 및/또는 코어 로직과 시스템 메모리 간의 데이터 트랜잭션(transaction)은 시스템 성능의 병목이 된다. 시스템-레벨 버스들의 내재 용량들 때문에, 바이너리(binary) 데이터가 전송될 때 상당량의 전력이 프로세서의 입/출력 인터페이스에서 낭비될 수 있다. 버스 레이턴시(latency)를 보상하기 위한 동시적인 전력 및 타이밍 최적화는 시스템 성능을 개선하는데 고려되는 결정적 설계 제약들이다. 대용량-스토리지 메모리 장치들로의 인터페이스에서 추가적인 개선이 요구된다.
본 발명의 일 특징으로, 상 변화 메모리(Phase Change Memory, PCM); 상이한 메모리 포맷(format)들을 구비하는 다수의 인터페이스들; 및 데이지-체인(daisy-chain) 계층(hierarchy) 또는 계층적 트리(tree) 구조로 계층적 메모리 장치(hierarchical memory device)를 접속시키는 입력 포트 및 출력 포트를 포함하는 계층적 메모리 장치로서, 표준 비-계층적 메모리 장치들은 상기 계층적 메모리 장치의 출력 포트에 부착(attach)하는, 계층적 메모리 장치가 제시된다.
본 발명의 다른 특징으로, 메모리 서브시스템에서 이용하기 위한 계층적 메모리 장치로서: 상 변화 메모리(PCM); 및 성능과 신뢰성을 관리하기 위해 웨어 레벨링(wear leveling), 캐싱(caching), 에러 검출 및 정정, 및 데이터 조작(manipulation)을 위한 알고리즘들을 수행하는 프로세서 코어를 포함하며; 상기 계층적 메모리 장치는 IO 매핑된, 메모리 매핑된, 또는 메모리 매핑된 IO 장치로서 동작하도록 구성가능한, 계층적 메모리 장치가 제시된다.
본 발명의 또 다른 특징으로, 버퍼 메모리를 포함하는 계층적 메모리 장치로서: 상 변화 메모리(PCM) 어레이; RAM 인터페이스; 커맨드(command)에 기초하여 NAND 인터페이스와 상기 버퍼 메모리 간의 데이터 레이트를 조정하기 위해 커맨드 정보를 추출하는 NAND 인터페이스; 통신 링크들을 통해 시그널링 레이트들 및 데이터 패킷 전송들을 지원하는 네트워크 인터페이스; 스토리지 인터페이스; 및 주변장치 인터페이스를 포함하는 계층적 메모리 장치가 제시된다.
본 발명의 또 다른 특징으로, NAND 인터페이스를 포함하는 상이한 메모리 포 맷들을 핸들링(handle)하는 다수의 인터페이스들 및 상 변화 메모리(PCM) 어레이들을 포함하는 계층적 메모리; 및 상기 계층적 메모리 장치의 출력 포트들에 접속되는 제 1 및 제 2 NAND 장치들을 포함하는 패키징된(packaged) 메모리 장치가 제시된다.
본 발명의 또 다른 특징으로, 각각 상 변화 메모리(PCM) 어레이들, 상이한 메모리 포맷들을 핸들링하는 다수의 인터페이스들 및 NAND 장치들로 링크시키는 출력 포트들을 포함하는 제 1 및 제 2 계층적 메모리를 포함하는 패키징된 메모리 장치가 제시된다.
본 발명의 또 다른 특징으로, 각각 상 변화 메모리(PCM) 어레이들, 상이한 메모리 포맷들을 핸들링하는 다수의 인터페이스들, 및 출력 포트들을 포함하는 제 1 및 제 2 계층적 메모리; 상기 제 1 계층적 메모리의 출력 포트들에 접속되는 제 1 및 제 2 NAND 장치들; 및 상기 제 2 계층적 메모리의 출력 포트들에 접속되는 제 3 및 제 4 NAND 장치들을 포함하는 패키징된 메모리 장치가 제시된다.
다음의 실시예에서, 다양한 특정 세부사항들이 본 발명의 총괄적 이해를 제공하기 위해 제시된다. 그러나, 당해 기술분야에서 통상의 지식을 가진 자는 본 발명이 이러한 특정 세부사항들 없이 실시될 수 있음을 알 것이다. 다른 예시로, 본 발명을 모호하게 하지 않기 위해 공지된 방법들, 절차들, 컴포넌트들 및 회로들은 상세히 기술되지 않는다.
용어들 "커플링된" 및 "접속된"은, 이들의 파생어들과 함께, 각각에 대한 동 의어로서 간주되는 것은 아님에 유의하여야 한다. 오히려, 특정 실시예들에서, "접속된"은 둘 이상의 구성요소들이 서로 간에 직접 물리적 또는 전기적으로 접촉됨을 지시하는데 이용될 수 있다. "커플링된"은 둘 이상의 구성요소들이 서로 (이들 사이의 다른 개입된 구성요소들과 함께) 직접 또는 간접적인 물리적 또는 전기적으로 접촉됨을, 및/또는 상기 둘 이상의 구성요소들이 서로(예컨대, 인과 관계로서) 협력하거나 상호작용함을 지시하는데 이용될 수 있다.
도 1에 도시된 구조는 본 발명에 따른 계층적(hierarchical) 배치에서 다른 스토리지 장치들과의 통신을 용이하게 하는 다수의 인터페이스들 및 프로세서 코어(148)를 포함하는 계층적 메모리 장치(100)를 도시한다. 버스(104)는 상기 프로세서, 부착될 수 있는 임의의 I/O, 및 혼합된 메모리 타입들 간의 통신을 허용하는 멀티프로세싱 인터페이스로의 접속을 제공한다. 버스(104)를 통해 제공되는 고속 통신은 직접적인 기록(write)들을 지원하며 고속 버스 트랜잭션들을 제공한다. 버스(104)의 신호들은 다양한 시그널링 방법들을 이용할 수 있다. 이러한 시그널링 방법들의 예시로서, 본 발명의 범위가 이러한 예시들로 제한되지 않으며 다른 시그널링 방법들이 이용될 수 있을지라도, 버스(104)는 싱글-엔딩되는(single-ended) 또는 신호가 논리 0 또는 논리 1인지를 결정하기 위해 수신기들에 의한 기준 레벨을 이용하는 차분(differential) 입력 버퍼들을 구비하는 Gunning Transceiver Logic(GTL+) 시그널링 기술을 이용하는 신호들을 제공할 수 있다.
메모리 장치(100)는 Ram 인터페이스(130), NAND 인터페이스(132), 네트워크 인터페이스(134), 스토리지 인터페이스(136), 및 주변장치 인터페이스(138)를 포함 한다. RAM 인터페이스(130)는 더욱 높은 기본 판독 레이트(fundamental read rate)의 배수(multiple)들로 선택적으로 동작하는 인터페이스 회로를 이용하여 메모리 장치(100)와 호스트 제어기 간의 통신을 제공한다. 예를 들어, RAM 인터페이스(130)는 데이터의 직렬 입력을 제공하거나, 또는 대안적으로, 제어 입력들에 응답하기 전에 클록 신호를 대기하는 동기식 인터페이스(동기식 동적 랜덤 액세스 메모리(Synchronous Dynamic Random Access Memory(SDRAM))를 통해 더 높은 대역폭을 제공할 수 있다.
또한 Ram 인터페이스(130)는 2배속 램(Double-Data-Rate Random Access Memory, DDR RAM) 또는 차세대 DDR2로서 데이터를 수신할 수도 있다. DDR2에서 버스는 메모리 셀들의 속도의 두배로 클로킹되어 DDR2가 DDR의 버스 속도의 두배로 효율적으로 동작할 수 있다. 또한 Ram 인터페이스(130)는 DDR2의 데이터 레이트의 두배로 데이터를 전송하는 Double-Data-Rate three Syhchronous Dynamic Random Access Memory(DDR3 SDRAM)을 제공할 수 있으며, 따라서 이전의 메모리 기술들보다 더 높은 버스 레이트들 및 더 높은 피크(peak) 레이트들을 가능하게 한다. 또한 메모리 장치(100)는 1.2 볼트로 입/출력(I/O)을 동작시키는 DDR4에 적응될 수 있다. 또한 계층적 메모리 장치(100)는 Lower Power Double-Data-Rate(LPDDR) 및 더 낮은 공급 전압을 갖는 LPDDR2와 같은 감소된 전력 인터페이스들을 지원한다.
NAND 인터페이스(132)는 더 낮은 대역폭, 더 긴 레이턴시(latency)를 제공하고, Ram 인터페이스(130)에 비하여 감소된 핀(pin) 카운트(count) 및 설계의 간소화를 제공하도록 NAND 메모리의 호스트 프로세서로의 접속을 지원하여 동작들을 제어한다. 메모리 블록(140)은 대용량 스토리지 애플리케이션들에 이용될 수 있는 NAND 플래시를 지원하여 데이터를 수신한다. NAND 플래시를 지원하여 동작시, 메모리 장치(100)는 3개의 기본 동작들, 즉 판독 페이지(read page), 프로그램 페이지, 및 삭제 블록(erase block)을 수행한다. 상기 NAND 구성을 지원하여, 메모리 블록(140)은 블록들의 세트 및 페이지(page)들로 구성되며, 여기서 각 페이지는 사용자 데이터를 저장하는 데이터 파트 및, ECC 정보와 같은, 사용자 데이터에 관련된 메타-데이터를 저장하는 스페어(spare) 파트를 구비한다.
커맨드 및 동작 정보가 추출되어 NAND 인터페이스(132)를 제어하며 상기 커맨드 및 어드레스에 기초하여 상기 NAND 인터페이스와 버퍼 메모리(142) 간의 데이터 입력 및/또는 출력을 조정한다. 데이터는 데이터 상의 에러 정정을 수행하기 위해 상기 NAND 인터페이스(132)로부터 에러 검출 & 구성(114)의 에러 정정 로직으로 출력될 수 있다. 집적된 기능들로써 메모리 장치(100)는 멀티-코어 NAND 관리 서브시스템 또는 자율(autonomous) 컴퓨팅 서브시스템으로서 동작할 수 있다.
네트워크 인터페이스(134)는 이더넷, 인피니밴드(Infiniband), 및 802.11에 대한 지원을 제공한다. 이더넷은 반송파 동시 공동 이용 충돌 탐지(Carrier Sense Multiple Access with Collision Detection, CSMA/CD) 방법을 이용하여 동시적인 요구들을 처리하는 근거리 통신망(LAN) 인터페이스이다. 상기 CDMA/CD 프로토콜은 공유 채널에 공평한 액세스를 제공하여 접속된 스테이션들이 네트워크를 이용할 기회를 얻게 한다. 모든 패킷 전송 이후 CDMA/CD 프로토콜은 어느 스테이션이 다음에 이더넷 채널을 이용할 승인을 수여받을 것인지를 결정한다. 이더넷 프로토콜은 착신 어드레스(destination address) 및 소스 어드레스(source address) 모두가 규정되는 프레임들을 구성하는 규칙을 규정한다.
네트워크 인터페이스(134)는 호스트 프로세서를, 예를 들어, 디스크와 같은 고속 주변장치들과 접속시키는 인피니밴드(InfiniBand)로서 정의되는 포인트-투-포인트 양방향 직렬 링크를 지원한다. 상기 인터페이스는 여러 가지 시그널링 레이트들 및 링크들을 지원할 수 있다. 또한 네트워크 인터페이스(134)는 802.11 통신 링크들을 지원할 수 있다.
스토리지 인터페이스(136)는 산업용 및 내장 애플리케이션들을 지원한다. 스토리지 인터페이스(136)는 호스트 버스와 대용량 저장 장치들 간의 통신을 허용하는 직렬 ATA(Serial ATA, SATA) 스토리지 인터페이스를 지원한다. 상기 SATA 인터페이스는 최소 4개의 선(wire)들을 구비하는 케이블을 구동하여 포인트-투-포인트 접속을 생성한다. 스토리지 인터페이스(136)에 의해 지원되는 다른 인터페이스는 메모리 장치(100)를 디스크 드라이브에 링크시키는 포인트-투-포인트 직렬 인터페이스인 직렬-부착 SCSI(Serial-Attached SCSI, SAS)이다. SAS는 상이한 사이즈들 및 타입들의 다수의 장치들이 동시에 케이블들을 이용하여 메모리 장치(100)에 접속되도록 하는데 이용될 수 있다. 병렬 SCSI 인터페이스(Parallel SCSI interface)(PSI, asa SCSI)는 메모리 장치(100)에 의해 지원될 수 있는 SCSI 패밀리(family)의 인터페이스 구현들 중 하나이다. FCP(Fiber Channel Protocol)은 FC(Fiber Channel) 상의 SCSI의 인터페이스 프로토콜이다. FC는 듀얼-포트를 구동시키며 Native Command Queuing(NCQ), 개별 하드 디스크가 수신된 판독 및 기록 커맨드들이 실행되는 순서를 내부적으로 최적화하도록 하여주는 기술을 포함한다.
트랜잭션들이 스토리지 제어기에 의해 프로세싱되는 동안, 추가적인 로직 및 레지스터들이 소재(locality) 및 시퀀싱(sequencing) 정보와 같은 다양한 이용 패턴 파라미터들을 식별 및 기록한다. 스토리지 제어기는 스토리지 액세스들을 식별 및 조정하는 로직을 포함한다. 호스트 제어기는 본 레지스터 정보를 판독하고 트랜잭션들을 스토리지 장치로 전송하는 그 방법을 조정할 수 있다. 대안적으로, 호스트 제어기는 레지스터 정보를 판독하고 마이크로코드를 스토리지 장치로 전송할 수 있다.
주변장치 인터페이스(138)는 마더보드-장착(motherboard-mounted) 주변장치들을 링크시키는 마더보드-레벨 상호접속(interconnect) 및 애드-인(add-in) 보드들용 확장 카드 인터페이스 모두로서 소비자, 서버, 및 산업 애플리케이션들에 이용될 수 있다. 예로서, Peripheral Component Interconnect Express(PCI Express 또는 PCIe)는 다수의 레인(lane)들이 단일 장치 쌍으로 본딩되어 더 높은 대역폭을 제공하는 "채널 그루핑(channel grouping)"을 허용한다. 레인들의 개수는 파워-업(power-up) 동안 "협상(negotiate)"되거나 동작 중에 명시적으로 정의될 수 있다.
메모리 동작들을 제어하기 위해, 계층적 메모리 장치(100)는, 다른 프로세싱 기능들 중에서, 계수기(counter)들/타이머들, 인터럽트(interupt) 구조를 통합하고, 구성가능(configurable) I/O 포트들을 정의하고, 전력 절감 모드들을 선택하는 마이크로제어기(uC) 코어(148)를 포함한다. 예를 들어, uC(148)는 프로그램 메모리의 위치들의 컨텐트들에 대한 액세스 요청들을 조정하는 보안 기능들을 활성화하는 동작 모드를 포함할 수 있다. 보안이 활성화되면, 동시적 프로그래밍, 즉, 메모리의 다른 영역으로부터 실행되는 명령들을 이용한 메모리의 하나의 영역의 프로그래밍이, 미리 결정된 보안 조건들 하에서 개시될 수 있다.
계층적 메모리 장치(100)에 특정한 구성 정보를 저장하는데 전용되는 메모리 어레이(150)는 생산자에 의해 또는 사용자에 의해 로딩될 수 있다. uC 코어(148)에 의해 실행되는 소프트웨어는 상기 구성 데이터를 인터페이스 블록들에 적용하여 다양한 프로토콜들을 선택하고 호스트, 부착된 주변 장치들, 및 다른 스토리지 장치들에 제공되는 계층적 메모리 장치(100)의 인터페이스 구성을 제어한다.
커맨드 큐(144)와 함께 uC 코어(148)는 커맨드 세트를 해석(interpret)하고 메모리 커맨드들을 발행(issue)한다. 내부 제어기는 동작 타이밍들을 처리하며, 예를 들어, 기록 커맨드들, 판독 커맨드들, 및 플러시(flush) 커맨드들과 같은 메모리 커맨드들의 정확한 실행을 검증(verify)한다. 추가적으로, "상태 판독(status read)", "복사(copy)", "이동(move)", 또는 "에러-정정(error-correct)"과 같은 커맨드들의 호스트는 본 구조로 지원될 수 있다. 제어기는 레지스터들이 메모리 동작들 동안 발생할 수 있는 임의의 에러들에 대한 보고 및 상태에 대한 정보를 전달하는 상태 블록(146)을 제공한다. 상태 레지스터 출력이 판독되어 커맨드 동작들 동안의 진행을 모니터링하거나 메모리 동작들의 결과를 보고할 수 있다.
버퍼 메모리(142)는 프로그래밍 커맨드를 발행시 그룹으로서 메모리 블 록(140)으로 전달(transfer)될 수 있는 다수의 워드(word)들을 보유하며 또한 메모리 블록으로부터 판독되는 많은 양의 데이터를 버퍼링한다. 이 방식으로 하나의 페이지가 프로그래밍되고, 그리고 상기 프로그램 및 검증 프로세스(verify process)가 완료된 후, 다음 페이지에 대한 검증 프로세스들 및 프로그램이 실행될 수 있다. 판독 커맨드가 실행되어 전달되는 버퍼 메모리로 메모리 셀들로부터 데이터를 판독한다. 프로그래밍은 호스트 인터페이스를 통해 데이터 전부의 전달에 앞서 시작될 수 있음에 유의하여야 한다. 도 2에 도시되는 계층적 구조로부터 더욱 명백해질 바와 같이, 데이터는 충분한 양의 정보가 진행할 프로그래밍에 대한 타겟(target)으로 전달될 때까지 일정 수준의 버퍼링으로써 상기 계층을 통해 하향 전파(propagate)될 수 있다.
메모리 블록(140)은 다수의 뱅크(bank) 구조를 구비하여 메모리 어레이들 내부에서 코드 및 데이터 공간들을 분할(split)하기 위한 유연성을 제공할 수 있다. 듀얼 동작들은 코드로 하여금 다른 뱅크가 프로그래밍되거나 소거되는 동안 하나의 뱅크로부터 실행될 수 있게 하여 준다. 하나의 뱅크에서의 프로그래밍 또는 소거동안, 다른 뱅크에서 판독 동작들이 가능하다. 일 실시예로 상기 메모리 어레이들은 상 변화 메모리(Phase Change Memory, PCM) 어레이들(상-변화 랜덤 액세스 메모리(PRAM 또는 PCRAM), 오보닉 통합 메모리(Ovonic Unified Memory, OUM) 또는 칼코지나이드 랜덤 액세스 메모리(Chancogenide Random Access Memory, C-RAM)로도 지칭됨)이다. 다른 실시예로, 상기 메모리 어레이들은, 자기 스토리지 엘리먼트들이 행과 열 라인의 교차점에 위치하는 두 개의 강자성 플레이트들(미도시)로부터 형성되며 자기 터널 접합(Magnetic Tunnel Junction, MTJ) 장치(미도시)에 의해 선택되는 자기 랜덤 액세스 메모리(Magnetic Random Access Memory, MRAM) 셀들일 수 있다. 또 다른 실시예로 상기 메모리 어레이들은 강유전체 램(Ferroelectric Random Access Memory, FRAM) 셀들일 수 있다.
계층적 메모리 장치(100)는 상기 계층적 메모리 장치에 통합되는 호스트 인터페이스 로직을 포함할 수 있다. 상기 호스트 인터페이스 로직은 다음의 기능들 중 일부 또는 전부를 수행할 수 있다: 호스트 프로세서와의 통신; 계층적 메모리의 다수의 트리(tree)들의 총계(aggregate); 웨어 레벨링(wear leveling), 불량 메모리 섹터들의 퇴거(retirement), 성능 및 신뢰성 관리를 위한 메모리 이용의 통계적 추적의 제공, 및 계층적 메모리 트리에서의 컨텐트 어드레싱가능(addressable) 메모리의 활용.
어드레스 & 섹터 전환(translation)(110)으로 라벨링된 블록은 상기 계층에서의 다양한 위치들에 부착되는 메모리 장치들을 액세스하는데 이용될 수 있는 버스(104)를 통해 어드레스 정보를 수신함으로써 계층적 메모리 장치(100) 내부에서의 어드레싱을 제공한다. NAND 어드레스 정보가 계층적 메모리 장치(100)에 의해 수신될 때, 상기 계층 트리를 통과함에 따라 어드레스 리매핑(remapping)이 발생하거나 발생하지 않을 수 있다. 계층적 메모리 장치(100)는 디스커버리(discovery) 프로세스를 통해 부착되는 메모리 장치들의 타입들을 인지(know)하며 내부 룩업 테이블(lookup table)은 "롱(long)" 어드레스들을 "쇼트(short)" 어드레스들에 관련시킨다. 상기 롱 어드레스들은, 예를 들어, '0'이 좌측의 포트를 나타낼 수 있으 며 '1'이 우측의 포트를 나타낼 수 있는 바와 같이 타겟(target) 포트로의 완전한 로드맵을 포함한다. 쇼트 어드레스들은 장치-간 통신에 이용될 수 있으며 하위(lower) 트리에 대한 유효 포트들의 순차 목록을 포함할 수 있다.
웨어 레벨링(112)은 관리되는 메모리 블록들에 걸친 소거(erase)들을 확산(spread)시키며 낮은 사이클 계수(count)들을 갖는 블록들이 좀처럼 이동하지 않게 하고, 고 순환(high cycled) 데이터가 저 순환(low cycled) 블록들에 위치하도록 하여 준다. 블록들 다수는 순환(cycle)하지 않지만, 고 순환 계수 블록들이 가장 실패(fail)할 가능성이 높으며 웨어 레벨링 하드웨어 및 마이크로코드는 상기 소거 알고리즘 동안 고 순환 계수 블록들의 어드레스들을 저 순환 계수 블록들과 스왑(swap)한다. 모든 어드레스 스와핑이 최종-사용자(end-user)에게 투명함에 유념하라.
구성가능(configurable) 에러-정정 코드(Error-Correcting Code, ECC) 엔진(114)은 에러 검출 및 정정 방식들을 제공한다. 에러 검출 및 정정 방식들은 기록 정확성 및 반복성에 관련된 문제점들을 보상한다. 에러-정정 코드는 각 데이터 신호가 특정한 구성(construction) 규칙들을 따를 것이며 수신된 신호에서의 본 구성으로부터의 이탈이 자동적으로 검출되고 정정될 것을 보장한다. 따라서, 구성가능 ECC 엔진(114)은 메모리 비트 에러들을 모니터링, 정정, 및 방지한다.
압축 & 압축해제 블록(116)은 메모리의 더 적은 비트들을 점유하는 저장된 데이터 세트로의 입력 데이터 세트의 압축을 제공한다. 저장된 데이터가 액세스될 때, 이는 압축해제되어 호스트에 반환된다. 데이터 판독이 기록되었던 데이터와 동일한 것으로 보장되도록 압축은 무손실일 수 있음에 유념하여야 한다. 반면, 손실 압축은 더 높은 수준의 압축으로 귀결되지만 데이터의 변경들이 있을 수 있다. 손실 압축은 데이터 패턴에서의 작은 변화들이 사용자 경험(user experience)에서 심각한 열화로 나타나지 않을 비디오 데이터의 스토리지에 적합할 수 있다.
캐싱 관리 블록(118)은 상기 계층적 메모리 트리(들) 내에서 동작하여 액세스 패턴들에 기초하여 정보 스토리지 위치들의 최적화를 제공한다, 예컨대, '핫(hot)' 데이터를 최고 성능의, 가장 견고한(robust) 메모리에 저장한다; 그리고 '콜드(cold)' 데이터를 덜 비싼(expensive), 낮은 성능의, 덜 견고한 메모리에 저장한다.
데이터 조작 블록(152)은 더 느린(slower) 상태(state)를 갖는 메모리의 후순위 시간(background time) 사전조정(preconditioning) 섹션들을 유용하게 이용하여 이러한 상태들이 선순위(foreground) 동작들 동안 신속히 전이(transition)될 수 있게 한다. 이는 종종 '0'의 상태를 저장하는 것보다 '1'의 상태를 저장하는 메모리에 기록하는 것이 더 오래 걸리는 경우이다. 이러한 경우들에 있어서, 데이터를 조작하는 이점은 상기 더 느린 상태로 전이하는 비트들이 더 적다는 점이다. 데이터가 조작되어 상기 데이터를 전도(invert)시키는 이러한 경우들에 있어서, 추가적인 비트가 저장되어 상기 데이터가 전도되어 성능을 최적화하였음을 지시한다. 유사한 기술들이 이용될 수 있는 신뢰성의 관리에 있어서 유사한 시나리오들이 존재한다(예컨대, '1'들에 대해서보다 '0'들에 대해서 더 높은 비트 에러 레이트).
메모리 분할 관리 블록(120)은 메모리 분할 옵션들을 제공하여 소프트웨어 재이용성, 시스템 신뢰성, 및 설계 유연성을 유지하면서 상이한 코어들 및 파티션들에 걸쳐 메모리를 보호할 수 있다. 분할(partitioning)은 비휘발성 매체를 이용하는 상위 소프트웨어 계층들로 하여금 가용 메모리 공간을 구분(segment)하여 상이한 타입들의 데이터 또는 코드를 저장하도록 하여 준다. 계층적 메모리 장치(100)는 논리적 어드레스가능(addressable) 공간의 분할 가능성을 제공하여 상기 장치를 상이한 사용 모델들로 그리고 시스템 수명주기(lifecycle) 동안 사용 모델들 자체의 변경에 적응시킨다.
도 2는 추가적인 메모리 스토리지로써 다양한 구성들로 접속되는 다수의 계층적 메모리 장치들(100)을 나타낸다. 상기 도면은 적절히 배치된 장치(들)(100)이 메모리 장치들의 연속을 허용하고 제한된 핀 계수(pin count)로써 프로세서 제어기로의 메모리 심도(depth)의 부착을 가능하게 함을 도시한다. 계층적 메모리 장치(들)(100)은 시스템 대용량 메모리 장치를 개방하여 계층적 메모리 구조가 주로 실제 물리적 제약들에 의해 제한되는 메모리 용량을 갖도록 한다.
쇼트(short) 링크 통신들에 대해 더 높은 총 I/O 대역폭을 제공하기 위해, 칩-간(inter-chip) 버스들은 양방향성일 수 있다, 즉, 상기 버스들은 하나의 버스가 신호들을 상방으로 제공하고 하나의 버스는 하방으로 신호들을 제공하는 독립적 버스들일 수 있다. 동시적인 양방향 시그널링에 추가로, 저 전압 차등 시그널링(Low Voltage Differential Signaling, LVDS)이 상기 칩-간 통신을 위해 그리고 범용 플래시 메모리(Universal Flash Storage, UFS)용 LVDS 메모리들로의 링킹을 위한 시그널링 프로토콜로서 이용될 수 있다.
계층적 메모리 장치(100)는 프로세서와 상이한 스토리지 매커니즘들 및 상이한 인터페이스 포맷들을 가질 수 있는 메모리 스토리지 장치들 사이에 위치한다. 계층적 메모리 장치(100)는, 예를 들어, 랜덤-액세스 판독을 구비하는 NOR, 페이지 액세스들을 제공하는 NAND, 및 DDR을 허용하는 RAM과 같은 상이한 메모리 포맷들을 수용하는 인터페이스를 제공한다. 계층적 메모리(100)는 호스트 제어기(202)에 부착될 수 있거나, 또는 대체 실시예로 스토리지 제어기 기능(들)이 메모리 장치(100)로 통합된다면 호스트에 직접 부착될 수 있다.
상기 도면은 각각의 계층적 메모리 장치(100)가 그 업스트림(upstream) 포트 및 N개의 다운스트림(downstream) 포트들 중 하나 사이에서 트래픽을 스위칭(switch)하는 트리 계층(204)으로 접속되는 계층적 메모리 장치들을 도시한다. 본 구성은 어떠한 추가적 상호접속들을 희생하여 상기 트리의 최저 계층까지의 왕복 레이턴시를 최소화시킨다. 또한 본 도면은 데이지-체인(daisy-chain)(206)으로 접속되는 계층적 메모리 장치들(100)을 도시한다. 상기 데이지-체인 계층에서 각 노드는 트래픽을 해석(interpret)하여 상기 트래픽이 로컬 노드(local node)에 대한 것인지 또는 다운스트림/업스트림 노드에 대한 것인지를 결정한다. 로컬 노드로 향하는 트래픽은 다운스트림/업스트림 트래픽이 최소 레이턴시로 상기 계층적 메모리 장치를 통과하는 동안 적절한 동작들을 취함으로써 작용한다. 추가적으로, 하이브리드 구성들은 계층들의 상이한 변형들을 조합할 수 있다. 예를 들어, 각 단말 노드에 부착되는 16-장치 딥(deep) 데이지-체인을 구비하는 4개의 단말 노드들로써 3 계층 트리(3 layer tree)를 구축하는 것이 유리할 수 있다.
계층적 메모리 서브시스템에서, 표준 비-계층적 메모리 장치(208)가 계층적 메모리 장치(100)에 부착될 수 있다. 예를 들어, 다중-레벨 셀(Multi-Level Cell, MLC) NAND 메모리가 계층적 PCM 메모리의 트리에 부착될 수 있다. 본 예시에서, PCM은 매우 고밀도의 NAND의 접속을 용이하게 하면서 또한 판독(read)들을 캐싱하고 기록(write)들을 결합(coalescing)/캐싱함으로써 상기 NAND 메모리 상에서 스트레스 상태(stress condition)들을 감소시키는데 이용될 수 있다. 상기 NAND 메모리가 드물게 판독되고 상대적으로 드물게 기록될지라도, 발생하는 기록들만이 데이터의 완전한 블록들을 기록하는 것을 포함하도록 상기 NAND 메모리에 대한 기록들이 결합(coalesce)될 수 있다. 휘발성 RAM 대신 계층적 메모리 장치(100)에서의 캐싱에 PCM을 이용하는 것은 전력 손실 복구 문제들을 간소화시키고 데이터의 손실을 방지한다. 또한 PCM 메모리는 NAND 기록 에러들이 다수의 기록 동작을 통해 축적되지 않도록 ECC를 수행할 수 있다.
호스트 인터페이스에 상관없이, 계층적 메모리 서브시스템이 논리적으로 상기 시스템에 보여질 수 있는 다수의 방법들이 존재한다. 이러한 방법들에서 IO 매핑(IO mapped), 메모리 매핑, 및 메모리 매핑 IO이다. IO 매핑된 장치에서, 상기 서브시스템은 섹터 기반 장치로서 호스트 및 호스트 소프트웨어에 보여진다. 본 타입의 장치에서, 섹터들-대-페이지들(sectors-to-pages) 매핑과 같은 모든 변환들 및 매핑들은 상기 호스트에 의해 처리된다. 일반적으로, 정보는, 예를 들어, 길이에 있어서 512 바이트 내지 8 킬로바이트 또는 그 이상 사이일 수 있는 극소(atomic) 섹터들에 존재한다. 일반적으로, IO 매핑된 장치들은 추가적인 소프트웨어 레이턴시를 상기 서브시스템 및 관련된 인터페이스에 존재하는 어떠한 하드웨어 레이턴시에 유발하는 IO 장치 드라이버들을 통해 다루어진다.
메모리 매핑된 장치로서, 상기 서브시스템은 플랫(flat) 메모리 맵으로서 호스트 및 호스트 소프트웨어에 보여진다. 일반적으로, 메모리 매핑된 장치들은 메모리가 운영 체제(operating system) 레이턴시들을 제거함에 따라 직접 액세스된다. 상기 IO 매핑된 인터페이스와 유사하게, 서브시스템은 섹터 기반 장치로서 호스트 및 호스트 소프트웨어에 보여진다. 추가로, 계층적 메모리 장치(100)는 메모리 매핑된 장치로서 동작할 수 있다. 메모리 매핑된 액세스는 IO 장치 드라이버들 및 제어기 로직 지연들을 제거하는 데 도움이 될 수 있다.
도 3은 본 발명에 따른 다양한 구성들로 비-휘발성 메모리에 결합되는 계층적 메모리(100)를 나타낸다. 패키지(302)에서 계층적 메모리(100)의 출력 포트들은 두 개의 NAND 메모리 다이들(dice)을 접속시켜 반도체 드라이브(Solid State Drive, SSD) 설계에서 특별한 유용성을 갖는 메모리 조합을 제공한다. SSD 데이터 스토리지 장치는 고-체(solid-state) 메모리를 이용하여 영속적 데이터를 저장하며, 여기서 상기 SSD의 밀도는 다수의 패키지들(302)을 이용하여 NAND 메모리를 추가함으로써 증가될 수 있다. 또한 본 도면에 도시되는 것은 두 개의 NAND 메모리 다이스가 계층적 메모리(100)의 후면(backside)의 출력 포트들에 접속되는 동일한 버스 상의 RAM과 계층적 메모리를 통합하는 패키지(304)이다.
패키지(306)는 적어도 두 개의 계층적 메모리 다이들(dice) 및 전면에 함께 커플링되며 조밀한(dense) NAND 스택들이 도시된 바와 같이 부착될 수 있는 몇몇의 후면 NAND 포트들을 제공하는 RAM을 도시한다. 대안적으로, 패키지(308)는 둘 이상의 계층적 메모리 다이들, 하나 이상의 RAM, 및 상기 계층적 메모리 NAND 포트들에 부착되는 조밀한 NAND 스택들이 결합될 수 있음을 나타낸다.
도 4는 최종 패키지로서 칩 스케일 패키지(Chip Scale Package, CSP) 또는 볼 그리드 어레이(Ball Grid Array, BGA)를 생성하도록 밀려날(bumped) 수 있는 기판 상의 다이스(dice)를 마운팅(mount)하는 패키지들(302, 304, 306 및 308)을 나타낸다. 다이스는 상기 기판 상에서 나란히(side-by-side) 위치할 수 있거나 또는 다이 스태킹(die stacking) 기술들이 이용되어 더 작은 다이들을 더 큰 것들 상에 마운팅하여 양자의 와이어 본딩(wire bonding)을 가능하게 할 수 있다. 상호접속을 보조하기위해, 상기 다이스는 관통-전극(thru-silicon via)들 및 다이-투-다이(die-to-die) 본딩을 포함할 수 있다. 본 도에 도시된 실시예에서, 두 개의 계층적 메모리 장치들(100)이 NAND 장치들(402)의 스택과 함께 포함된다. 또한 RAM 다이스는 상기 스택에 포함될 수 있다. 주어진 크기의 범위에서 메모리 밀도 및 가용 메모리 대역폭을 더 증가시키기 위해, 패키지-온-패키지(PoP: Package-on-Package)가 활용되어 NAND 스택 패키지들과 같은 다수의 패키지들을 상기 계층적 메모리에 수직으로 접속시킬 수 있다.
지금까지 본 발명의 실시예들이 본 발명의 특징들을 이용함으로써 계층적 데이터 스토리지를 통해 증가된 메모리 스토리지 효율성을 허용함이 명백할 것이다. 상기 계층적 메모리 장치를 호스트 인터페이스에 제공함으로써 이러한 장치들이 호스트 시스템에 접속될 수 있다. 상기 계층적 구조 및 스토리지 제어기 내부에서, 웨어 레벨링; 캐싱; 에러 검출 및 정정; 불량 페이지 관리, 불량 블록 관리; 및 데이터 조작과 같은 다수의 알고리즘들이 성능과 신뢰도를 관리하며 상기 메모리 계층에 대한 최적 스토리지 용량을 제공한다. 따라서, 계층적 메모리 구조는 하나 이상의 계층적 메모리 장치들을 메모리 스토리지 시스템에 통합함으로써 제공된다.
본 발명의 어떠한 특징들이 여기에 제시되고 기재된 한편, 많은 수정들, 대체들, 변경들, 및 등가물들이 이제 당해 기술분야에서 통상의 지식을 가진 자에게 일어날 것이다. 그러므로, 첨부된 청구항들은 본 발명의 진정한 사상에 속하는 것으로서 모든 그러한 수정들 및 변경들을 망라하고자 하는 것임을 유념하여야 한다.
발명으로 간주되는 사항은 본 명세서의 종결부에서 특정적으로 제시되며 명시적으로 청구된다. 그러나, 본 발명은, 목적들, 특징들, 및 이점들과 함께, 동작 방법 및 구성 모두에 대하여, 첨부된 도면들과 함께 볼 때 다음의 실시예를 참조로 하여 가장 잘 이해될 수 있다:
도 1은 본 발명에 따라 계층적 구조에서 메모리 스토리지로서 이용될 수 있는 계층적 메모리 장치이다;
도 2는 본 발명에 따른 다양한 계층적 메모리 구성의 개략도이다;
도 3은 본 발명에 따라 다양한 조합들로 NAND와 RAM으로써 구성되는 계층적 메모리를 도시한다; 그리고
도 4는 패키징된 장치들이 최종 패키지로서 칩 스케일 패키지(Chip Scale Package, CSP) 또는 볼 그리드 어레이(Ball Grid Array, BGA)를 생성하도록 밀려날(bumped) 수 있는 기판 상의 다이스(dice)를 마운팅(mount)할 수 있음을 도시한다.
도시의 간소화 및 명확화를 위해, 도면들에 제시된 구성요소들이 반드시 스케일링되어 그려지는 것은 아님에 유념하여야 한다. 예를 들어, 구성요소들 중 일부의 치수들은 명확화를 위해 다른 구성요소들에 비해 과장될 수 있다. 또한, 적절히 고려되어, 참조 번호들은 도면들 사이에서 반복되어 대응하거나 유사한 구성요소들을 지시한다.

Claims (25)

  1. 계층적 메모리 장치(hierarchical memory device)로서,
    상 변화 메모리(PCM) 어레이;
    상이한 메모리 포맷(format)들을 포함하는 다수의 인터페이스들 ―상기 다수의 인터페이스들은 커맨드(command)에 포함된 정보에 기초하여 버퍼 메모리와 NAND 인터페이스 간의 데이터 레이트를 조정하기 위해 커맨드 정보를 추출하기 위한 상기 NAND 인터페이스를 포함하고, 상기 NAND 인터페이스는 상기 계층적 메모리 장치의 적어도 하나의 출력 포트에 커플링되도록 추가로 구성됨―;
    데이지-체인 계층(daisy-chain hierarchy) 또는 계층적 트리(tree) 구조로 상기 계층적 메모리 장치를 접속시키는, 적어도 하나의 입력 포트 및 상기 적어도 하나의 출력 포트 ―상기 적어도 하나의 출력 포트는 상기 계층적 메모리 장치 외부의 적어도 하나의 NAND 메모리를 포함하는 비-계층적 메모리 장치에 커플링됨―; 및
    상기 상 변화 메모리 어레이가 상기 계층적 메모리 장치 외부의 상기 적어도 하나의 NAND 메모리로부터 상기 적어도 하나의 입력 포트를 통해 수신되는 데이터를 캐싱(cache)할 수 있도록, 상기 적어도 하나의 NAND 메모리와 상기 상 변화 메모리 어레이 간의 통신들을, 상기 NAND 인터페이스를 이용하여 제어하는, 적어도 하나의 프로세서 코어
    를 포함하는, 계층적 메모리 장치.
  2. 제 1 항에 있어서,
    상기 다수의 인터페이스들은, 랜덤 액세스 메모리 인터페이스 또는 네트워크 인터페이스 중 적어도 하나를 더 포함하는, 계층적 메모리 장치.
  3. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서 코어는,
    상기 계층적 메모리 디바이스를 IO 매핑된(IO mapped) 장치 또는 메모리 매핑된(memory mapped) 장치로서 동작시키도록 구성되는, 계층적 메모리 장치.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서 코어는,
    상기 계층적 트리 구조의 업스트림(upstream) 포트와 다운스트림(downstream) 포트 간에 트래픽을 스위칭(switch)시키도록 구성되는, 계층적 메모리 장치.
  5. 제 1 항에 있어서,
    상기 적어도 하나의 프로세서 코어는,
    상기 데이지-체인 계층에서의 트래픽이 상기 계층적 메모리 장치에 대한 것인지 또는 다운스트림/업스트림 노드에 대한 것인지를 결정하기 위해, 상기 트래픽을 해석하도록 구성되는, 계층적 메모리 장치.
  6. 계층적 메모리 장치로서,
    상이한 메모리 포맷들을 포함하는 다수의 인터페이스들 ―상기 다수의 인터페이스들은 커맨드에 포함된 정보에 기초하여 버퍼 메모리와 NAND 인터페이스 간의 데이터 레이트를 조정하기 위해 커맨드 정보를 추출하도록 구성되는 상기 NAND 인터페이스를 포함함―;
    상 변화 메모리(PCM) 어레이;
    웨어 레벨링(wear leveling), 캐싱(caching), 또는 에러 검출 및 정정을 포함하는 후속 동작들 중 적어도 하나를 위해 알고리즘들을 실행하는 프로세서 코어 ―상기 프로세서 코어는, 상기 상 변화 메모리 어레이가 상기 계층적 메모리 장치 외부의 적어도 하나의 NAND 메모리로부터 수신되는 데이터를 캐싱할 수 있도록, 상기 적어도 하나의 NAND 메모리와 상기 상 변화 메모리 어레이 간의 통신들을, 상기 NAND 인터페이스를 이용하여 제어하며, 상기 계층적 메모리 장치는, IO 매핑된 장치 또는 메모리 매핑된 장치로서 동작하도록 구성가능함―; 및
    데이지-체인 계층 또는 계층적 트리 구조로 상기 계층적 메모리 장치를 접속시키기 위한 적어도 하나의 입력 포트 및 적어도 하나의 출력 포트 ―상기 적어도 하나의 출력 포트는 상기 계층적 메모리 장치 외부의 상기 적어도 하나의 NAND 메모리에 통신가능하게 커플링되도록 구성됨―
    를 포함하며, 계층적 메모리 장치.
  7. 제 6 항에 있어서,
    상기 계층적 메모리 장치는, 섹터 기반(sector based) 장치로서 동작하는, 계층적 메모리 장치.
  8. 제 6 항에 있어서,
    상기 계층적 메모리 장치는, 상기 데이지-체인 구성으로 다른 계층적 메모리 장치들과 접속되는, 계층적 메모리 장치.
  9. 제 6 항에 있어서,
    상기 계층적 메모리 장치는, 상기 계층적 트리 구조로 다른 계층적 메모리 장치들과 접속되는, 계층적 메모리 장치.
  10. 계층적 메모리 장치로서,
    상 변화 메모리(PCM) 어레이;
    랜덤 액세스 메모리 인터페이스;
    상이한 메모리 포맷들을 포함하는 다수의 인터페이스들 ―상기 다수의 인터페이스들은 상기 계층적 메모리 장치의 출력 포트에 커플링되도록 구성되는 NAND 인터페이스를 포함함―;
    상기 상 변화 메모리 어레이가 상기 계층적 메모리 장치 외부의 적어도 하나의 NAND 메모리부터 수신되는 데이터를 캐싱할 수 있도록, 상기 적어도 하나의 NAND 메모리와 상기 상 변화 메모리 어레이 간의 통신들을, 상기 NAND 인터페이스를 이용하여 제어하도록 구성된, 적어도 하나의 프로세서 코어 ―상기 적어도 하나의 프로세서 코어는, 커맨드에 포함된 정보에 기초하여 버퍼 메모리와 상기 NAND 인터페이스 간의 데이터 레이트를 조정하기 위해 커맨드 정보를 추출하도록 추가적으로 구성됨―;
    통신 링크들을 통해 시그널링 레이트들 및 데이터 패킷 전송들을 지원하는 네트워크 인터페이스;
    스토리지 인터페이스; 및
    주변장치 인터페이스
    를 포함하는, 계층적 메모리 장치.
  11. 제 10 항에 있어서,
    상기 랜덤 액세스 메모리 인터페이스는, DDR RAM(Double-Data-Rate Random Access Memory)으로서 호스트와 상기 메모리 장치 간의 통신을 제공하는, 계층적 메모리 장치.
  12. 제 10 항에 있어서,
    상기 랜덤 액세스 메모리 인터페이스는, DDR3 SDRAM(Double-Data-Rate three Synchronous Dynamic Random Access Memory)으로서 호스트와 상기 메모리 장치 간의 통신을 제공하는, 계층적 메모리 장치.
  13. 제 10 항에 있어서,
    상기 랜덤 액세스 메모리 인터페이스는, 감소된 전력 LPDDR(Low Power Double-Data-Rate) 인터페이스인, 계층적 메모리 장치.
  14. 제 10 항에 있어서,
    상기 NAND 인터페이스는, 섹터 기반으로서 동작하는, 계층적 메모리 장치.
  15. 제 10 항에 있어서,
    상기 네트워크 인터페이스는, 이더넷 프로토콜을 지원하는, 계층적 메모리 장치.
  16. 제 10 항에 있어서,
    상기 네트워크 인터페이스는, 인피니밴드(InfiniBand) 포인트-투-포인트 양방향 직렬 링크를 지원하는, 계층적 메모리 장치.
  17. 제 10 항에 있어서,
    상기 네트워크 인터페이스는, IEEE(Institute of Electrical and Electronics Engineers) 802.11 통신 링크들을 지원하는, 계층적 메모리 장치.
  18. 제 10 항에 있어서,
    상기 스토리지 인터페이스는, 호스트 버스와 대용량(mass) 스토리지 장치들 간의 통신을 허용하는 직렬 ATA(Serial ATA) 스토리지 인터페이스인, 계층적 메모리 장치.
  19. 제 10 항에 있어서,
    상기 스토리지 인터페이스는, 메모리 장치를 디스크 드라이브에 링크시키는 포인트-투-포인트 직렬 인터페이스인 직렬-부착 SCSI(Serial-Attached SCSI)인, 계층적 메모리 장치.
  20. 제 10 항에 있어서,
    상기 스토리지 인터페이스는 파이버 채널 프로토콜(Fibre Channel Protocol)를 지원하는, 계층적 메모리 장치.
  21. 패키징된(packaged) 메모리 장치로서,
    NAND 인터페이스를 포함하는 상이한 메모리 포맷들을 핸들링(handle)하기 위해 다수의 인터페이스들 및 하나 또는 그 초과의 상 변화 메모리(PCM) 어레이들을 포함하는, 적어도 하나의 계층적 메모리 장치 ―상기 NAND 인터페이스는 커맨드에 포함된 정보에 기초하여 버퍼 메모리와 상기 NAND 인터페이스 간의 데이터 레이트를 조정하기 위해 커맨드 정보를 추출하기 위한 것임―;
    상기 적어도 하나의 계층적 메모리 장치 외부에 있고 상기 계층적 메모리 장치의 입력 포트들 및 출력 포트들에 접속되는, 제 1 및 제 2 NAND 장치들; 및
    하나 또는 그 초과의 상 변화 메모리 어레이들이 상기 제 1 및 제 2 NAND 장치들 중 적어도 하나의 NAND 장치로부터 상기 입력 포트들을 통해 수신되는 데이터를 캐싱할 수 있도록, 상기 적어도 하나의 NAND 장치와 상기 하나 또는 그 초과의 상 변화 메모리 어레이들 간의 통신들을, 상기 NAND 인터페이스를 이용하여 제어하도록 구성된, 적어도 하나의 프로세서 코어
    를 포함하는, 패키징된 메모리 장치.
  22. 제 21 항에 있어서,
    상기 적어도 하나의 계층적 메모리 장치와 공동으로 어드레스 포트들 및 데이터 포트들을 포함하는 적어도 하나의 랜덤 액세스 메모리를 더 포함하는, 패키징된 메모리 장치.
  23. 패키징된 메모리 장치로서,
    적어도 하나의 계층적 메모리 장치 ―상기 적어도 하나의 계층적 메모리 장치 각각은, 하나 또는 그 초과의 상 변화 메모리(PCM) 어레이들, 상이한 메모리 포맷들을 핸들링하기 위한 다수의 인터페이스들 및 상기 적어도 하나의 계층적 메모리 장치 외부의 하나 또는 그 초과의 NAND 장치들로 통신가능하게 커플링되는 하나 또는 그 초과의 입력 포트들 및 하나 또는 그 초과의 출력 포트들을 포함하며, 상기 다수의 인터페이스들은 NAND 인터페이스를 포함하고, 상기 NAND 인터페이스는 커맨드에 포함된 정보에 기초하여 버퍼 메모리와 상기 NAND 인터페이스 간의 데이터 레이트를 조정하기 위해 커맨드 정보를 추출하기 위한 것임―; 및
    상기 하나 또는 그 초과의 상 변화 메모리 어레이들이 상기 하나 또는 그 초과의 NAND 장치들 중 대응하는 하나의 NAND 장치로부터 상기 하나 또는 그 초과의 입력 포트들을 통해 수신되는 데이터를 캐싱할 수 있도록, 상기 하나 또는 그 초과의 NAND 장치들과 상기 하나 또는 그 초과의 상 변화 메모리 어레이들 간의 통신들을, 상기 NAND 인터페이스를 이용하여 제어하도록 구성된, 적어도 하나의 프로세서 코어
    를 포함하는, 패키징된 메모리 장치.
  24. 삭제
  25. 삭제
KR1020090079938A 2009-06-11 2009-08-27 계층적 메모리 구조를 위한 메모리 장치 KR101557624B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/483,198 2009-06-11
US12/483,198 US9123409B2 (en) 2009-06-11 2009-06-11 Memory device for a hierarchical memory architecture

Publications (2)

Publication Number Publication Date
KR20100133288A KR20100133288A (ko) 2010-12-21
KR101557624B1 true KR101557624B1 (ko) 2015-10-06

Family

ID=43069944

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090079938A KR101557624B1 (ko) 2009-06-11 2009-08-27 계층적 메모리 구조를 위한 메모리 장치

Country Status (5)

Country Link
US (4) US9123409B2 (ko)
JP (1) JP5566650B2 (ko)
KR (1) KR101557624B1 (ko)
CN (1) CN101923447B (ko)
DE (1) DE102009037984B4 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620057B2 (en) 2020-11-16 2023-04-04 Samsung Electronics Co., Ltd. Storage device and operating method thereof

Families Citing this family (89)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9741398B1 (en) 2009-05-08 2017-08-22 Micron Technology, Inc. Using out-of-band signaling to communicate with daisy chained nonvolatile memories
US8331857B2 (en) * 2009-05-13 2012-12-11 Micron Technology, Inc. Wireless interface to program phase-change memories
US9123409B2 (en) 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
US20110242427A1 (en) * 2010-04-01 2011-10-06 Timothy Ramsdale Method and System for Providing 1080P Video With 32-Bit Mobile DDR Memory
US20120117303A1 (en) 2010-11-04 2012-05-10 Numonyx B.V. Metadata storage associated with flash translation layer
US8880817B2 (en) * 2010-12-16 2014-11-04 Dell Products L.P. Storage subsystem backplane management system
US8595415B2 (en) * 2011-02-02 2013-11-26 Micron Technology, Inc. At least semi-autonomous modules in a memory system and methods
US8576570B2 (en) * 2011-03-21 2013-11-05 NCS Technologies, Inc. Adaptive computing system with modular control, switching, and power supply architecture
US8607089B2 (en) 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
KR20120137051A (ko) * 2011-06-10 2012-12-20 삼성전자주식회사 솔리드 스테이트 드라이브 패키지 및 그의 제조 방법
JP5694101B2 (ja) 2011-09-20 2015-04-01 株式会社東芝 メモリ・デバイス、ホスト・デバイス
KR101612202B1 (ko) 2011-09-28 2016-04-12 인텔 코포레이션 동기화를 위한 메모리 컨트롤러 내의 최대 공산 디코더
WO2013048491A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus, method and system that stores bios in non-volatile random access memory
WO2013048500A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy over common memory channels
CN103946812B (zh) 2011-09-30 2017-06-09 英特尔公司 用于实现多级别存储器分级体系的设备和方法
WO2013048503A1 (en) 2011-09-30 2013-04-04 Intel Corporation Apparatus and method for implementing a multi-level memory hierarchy having different operating modes
US9600407B2 (en) 2011-09-30 2017-03-21 Intel Corporation Generation of far memory access signals based on usage statistic tracking
EP3382556A1 (en) 2011-09-30 2018-10-03 INTEL Corporation Memory channel that supports near memory and far memory access
CN108549609B (zh) 2011-09-30 2022-06-21 英特尔公司 作为传统大容量存储设备的替代的非易失性随机存取存储器(nvram)
EP2761465B1 (en) 2011-09-30 2022-02-09 Intel Corporation Autonomous initialization of non-volatile random access memory in a computer system
WO2013077867A1 (en) 2011-11-22 2013-05-30 Intel Corporation Access control for non-volatile random access memory across platform agents
WO2013089685A1 (en) 2011-12-13 2013-06-20 Intel Corporation Enhanced system sleep state support in servers using non-volatile random access memory
CN104106057B (zh) 2011-12-13 2018-03-30 英特尔公司 用非易失性随机存取存储器提供对休眠状态转变的即时响应的方法和系统
GB2510760B (en) 2011-12-20 2020-05-20 Intel Corp Dynamic partial power down of memory-side cache in a 2-level memory hierarchy
CN103999161B (zh) 2011-12-20 2016-09-28 英特尔公司 用于相变存储器漂移管理的设备和方法
CN103999067A (zh) 2011-12-21 2014-08-20 英特尔公司 以多个非易失性存储器为特征的高性能存储结构和系统
BR112014015441B1 (pt) 2011-12-22 2021-05-25 Intel Corporation conservação de energia por meio de desligamento de canal de memória
CN104115230B (zh) 2011-12-22 2018-02-16 英特尔公司 基于高效pcms刷新机制的计算装置、方法和系统
CN104137084B (zh) 2011-12-28 2017-08-11 英特尔公司 提高耐久性和抗攻击性的用于pcm缓存的有效动态随机化地址重映射
CN104025066B (zh) * 2011-12-29 2018-07-24 英特尔公司 用于能量高效计算的异构存储器晶片堆叠
US9535827B2 (en) 2011-12-29 2017-01-03 Intel Corporation RAM disk using non-volatile random access memory
WO2013101209A1 (en) * 2011-12-30 2013-07-04 Intel Corporation Thin translation for system access of non volatile semicondcutor storage as random access memory
CN106469029B (zh) * 2011-12-31 2019-07-23 华为数字技术(成都)有限公司 数据分层存储处理方法、装置和存储设备
US8832506B2 (en) * 2012-01-20 2014-09-09 International Business Machines Corporation Bit error rate based wear leveling for solid state drive memory
US20130262942A1 (en) * 2012-03-27 2013-10-03 Yung-Chiang Chu Flash memory lifetime evaluation method
KR20130114354A (ko) 2012-04-09 2013-10-18 삼성전자주식회사 메모리 시스템 및 컨트롤러의 동작 방법
US9009570B2 (en) 2012-06-07 2015-04-14 Micron Technology, Inc. Integrity of an address bus
US9323608B2 (en) 2012-06-07 2016-04-26 Micron Technology, Inc. Integrity of a data bus
US9152428B2 (en) 2012-09-28 2015-10-06 Intel Corporation Alternative boot path support for utilizing non-volatile memory devices
US9032177B2 (en) 2012-12-04 2015-05-12 HGST Netherlands B.V. Host read command return reordering based on time estimation of flash read command completion
US9093170B2 (en) * 2013-03-01 2015-07-28 Intel Corporation Multi-level cell (MLC) non-volatile memory data reading method and apparatus
US9324450B2 (en) * 2013-03-13 2016-04-26 Winbond Electronics Corporation NAND flash memory
US9042198B2 (en) 2013-03-21 2015-05-26 Yutaka Shirai Nonvolatile random access memory
JP6070357B2 (ja) 2013-03-28 2017-02-01 富士通株式会社 ストレージ装置
US10599433B2 (en) * 2013-07-15 2020-03-24 Texas Instruments Incorported Cache management operations using streaming engine
CN103500147A (zh) * 2013-09-27 2014-01-08 浪潮电子信息产业股份有限公司 一种嵌入分层存储的pb级集群存储系统的方法
CN103810118B (zh) * 2014-02-28 2016-08-17 北京航空航天大学 一种stt-mram缓存设计方法
US10204047B2 (en) 2015-03-27 2019-02-12 Intel Corporation Memory controller for multi-level system memory with coherency unit
US10387259B2 (en) 2015-06-26 2019-08-20 Intel Corporation Instant restart in non volatile system memory computing systems with embedded programmable data checking
US10073659B2 (en) 2015-06-26 2018-09-11 Intel Corporation Power management circuit with per activity weighting and multiple throttle down thresholds
US10108549B2 (en) 2015-09-23 2018-10-23 Intel Corporation Method and apparatus for pre-fetching data in a system having a multi-level system memory
US10261901B2 (en) 2015-09-25 2019-04-16 Intel Corporation Method and apparatus for unneeded block prediction in a computing system having a last level cache and a multi-level system memory
US10185501B2 (en) 2015-09-25 2019-01-22 Intel Corporation Method and apparatus for pinning memory pages in a multi-level system memory
US9792224B2 (en) 2015-10-23 2017-10-17 Intel Corporation Reducing latency by persisting data relationships in relation to corresponding data in persistent memory
US10033411B2 (en) 2015-11-20 2018-07-24 Intel Corporation Adjustable error protection for stored data
US10095618B2 (en) 2015-11-25 2018-10-09 Intel Corporation Memory card with volatile and non volatile memory space having multiple usage model configurations
US9747041B2 (en) 2015-12-23 2017-08-29 Intel Corporation Apparatus and method for a non-power-of-2 size cache in a first level memory device to cache data present in a second level memory device
US10007606B2 (en) 2016-03-30 2018-06-26 Intel Corporation Implementation of reserved cache slots in computing system having inclusive/non inclusive tracking and two level system memory
US10185619B2 (en) 2016-03-31 2019-01-22 Intel Corporation Handling of error prone cache line slots of memory side cache of multi-level system memory
US10120806B2 (en) 2016-06-27 2018-11-06 Intel Corporation Multi-level system memory with near memory scrubbing based on predicted far memory idle time
KR102612003B1 (ko) * 2016-07-11 2023-12-08 삼성전자주식회사 솔리드 스테이트 드라이브 장치 및 이를 포함하는 저장 시스템
US10452539B2 (en) 2016-07-19 2019-10-22 Sap Se Simulator for enterprise-scale simulations on hybrid main memory systems
US10783146B2 (en) 2016-07-19 2020-09-22 Sap Se Join operations in hybrid main memory systems
US10437798B2 (en) 2016-07-19 2019-10-08 Sap Se Full system simulator and memory-aware splay tree for in-memory databases in hybrid memory systems
US10387127B2 (en) 2016-07-19 2019-08-20 Sap Se Detecting sequential access data and random access data for placement on hybrid main memory for in-memory databases
US10474557B2 (en) 2016-07-19 2019-11-12 Sap Se Source code profiling for line-level latency and energy consumption estimation
KR102656189B1 (ko) 2016-07-19 2024-04-11 삼성전자주식회사 직렬로 연결되는 스토리지 장치들 중 직접 연결되지 않은 스토리지 장치를 제어하도록 구성되는 전자 장치, 그것에 포함되는 스토리지 장치, 그것을 포함하는 컴퓨팅 시스템, 및 스토리지 장치의 컨트롤러의 동작 방법
US10540098B2 (en) 2016-07-19 2020-01-21 Sap Se Workload-aware page management for in-memory databases in hybrid main memory systems
US10698732B2 (en) * 2016-07-19 2020-06-30 Sap Se Page ranking in operating system virtual pages in hybrid memory systems
US20180175772A1 (en) * 2016-12-21 2018-06-21 Rockwell Automation Technologies, Inc. Motor drive with multi-function high speed communications interface
US10915453B2 (en) 2016-12-29 2021-02-09 Intel Corporation Multi level system memory having different caching structures and memory controller that supports concurrent look-up into the different caching structures
US10445261B2 (en) 2016-12-30 2019-10-15 Intel Corporation System memory having point-to-point link that transports compressed traffic
US10304814B2 (en) 2017-06-30 2019-05-28 Intel Corporation I/O layout footprint for multiple 1LM/2LM configurations
US11010379B2 (en) 2017-08-15 2021-05-18 Sap Se Increasing performance of in-memory databases using re-ordered query execution plans
US11188467B2 (en) 2017-09-28 2021-11-30 Intel Corporation Multi-level system memory with near memory capable of storing compressed cache lines
US10585598B2 (en) 2017-09-29 2020-03-10 Hewlett Packard Enterprise Development Lp Modifying accessibility based on memory access patterns
US10866899B2 (en) * 2017-10-02 2020-12-15 Arm Ltd Method and apparatus for control of a tiered memory system
US10860244B2 (en) 2017-12-26 2020-12-08 Intel Corporation Method and apparatus for multi-level memory early page demotion
US11099995B2 (en) 2018-03-28 2021-08-24 Intel Corporation Techniques for prefetching data to a first level of memory of a hierarchical arrangement of memory
US10977198B2 (en) * 2018-09-12 2021-04-13 Micron Technology, Inc. Hybrid memory system interface
US10607712B1 (en) * 2018-09-28 2020-03-31 Toshiba Memory Corporation Media error reporting improvements for storage drives
US11449268B2 (en) * 2018-11-20 2022-09-20 Samsung Electronics Co., Ltd. Deep solid state device (deep-SSD): a neural network based persistent data storage
US11055228B2 (en) 2019-01-31 2021-07-06 Intel Corporation Caching bypass mechanism for a multi-level memory
CN110720145B (zh) 2019-04-30 2021-06-22 长江存储科技有限责任公司 具有三维相变存储器的三维存储设备
US11416422B2 (en) * 2019-09-17 2022-08-16 Micron Technology, Inc. Memory chip having an integrated data mover
CN110914994B (zh) * 2019-10-14 2021-05-25 长江存储科技有限责任公司 用于形成三维相变存储器件的方法
KR20220077400A (ko) 2020-12-02 2022-06-09 삼성전자주식회사 메모리 장치, 메모리 시스템 및 이의 동작 방법
US20230396272A1 (en) * 2022-06-02 2023-12-07 Micron Technology, Inc. Error correction

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130442A1 (en) * 2004-12-21 2007-06-07 Samsung Electronics Co. Ltd. Apparatus and Methods Using Invalidity Indicators for Buffered Memory
US20080313364A1 (en) * 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0618535B1 (en) * 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
US5696917A (en) * 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US5504882A (en) * 1994-06-20 1996-04-02 International Business Machines Corporation Fault tolerant data storage subsystem employing hierarchically arranged controllers
US5924115A (en) 1996-03-29 1999-07-13 Interval Research Corporation Hierarchical memory architecture for a programmable integrated circuit having an interconnect structure connected in a tree configuration
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
JP2006338370A (ja) 2005-06-02 2006-12-14 Toshiba Corp メモリシステム
US7685392B2 (en) 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
JP4942446B2 (ja) 2006-10-11 2012-05-30 株式会社日立製作所 ストレージ装置及びその制御方法
US20080229026A1 (en) 2007-03-15 2008-09-18 Taiwan Semiconductor Manufacturing Co., Ltd. System and method for concurrently checking availability of data in extending memories
JP4897524B2 (ja) 2007-03-15 2012-03-14 株式会社日立製作所 ストレージシステム及びストレージシステムのライト性能低下防止方法
CN101689145A (zh) 2007-03-30 2010-03-31 拉姆伯斯公司 包括具有不同类型集成电路存储器设备的分层存储器模块的系统
US20080270811A1 (en) * 2007-04-26 2008-10-30 Super Talent Electronics Inc. Fast Suspend-Resume of Computer Motherboard Using Phase-Change Memory
US8037258B2 (en) * 2007-06-27 2011-10-11 International Business Machines Corporation Structure for dual-mode memory chip for high capacity memory subsystem
US7822936B2 (en) 2007-06-27 2010-10-26 International Business Machines Corporation Memory chip for high capacity memory subsystem supporting replication of command data
US8140739B2 (en) * 2008-08-08 2012-03-20 Imation Corp. Flash memory based storage devices utilizing magnetoresistive random access memory (MRAM) to store files having logical block addresses stored in a write frequency file buffer table
US9123409B2 (en) * 2009-06-11 2015-09-01 Micron Technology, Inc. Memory device for a hierarchical memory architecture

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130442A1 (en) * 2004-12-21 2007-06-07 Samsung Electronics Co. Ltd. Apparatus and Methods Using Invalidity Indicators for Buffered Memory
US20080313364A1 (en) * 2006-12-06 2008-12-18 David Flynn Apparatus, system, and method for remote direct memory access to a solid-state storage device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11620057B2 (en) 2020-11-16 2023-04-04 Samsung Electronics Co., Ltd. Storage device and operating method thereof

Also Published As

Publication number Publication date
CN101923447B (zh) 2013-04-24
JP5566650B2 (ja) 2014-08-06
US9123409B2 (en) 2015-09-01
DE102009037984B4 (de) 2017-10-19
JP2010287203A (ja) 2010-12-24
US10725956B2 (en) 2020-07-28
US20170220516A1 (en) 2017-08-03
US9626327B2 (en) 2017-04-18
KR20100133288A (ko) 2010-12-21
US20100318718A1 (en) 2010-12-16
US20150370750A1 (en) 2015-12-24
CN101923447A (zh) 2010-12-22
DE102009037984A1 (de) 2010-12-16
US20180322085A1 (en) 2018-11-08
US10031879B2 (en) 2018-07-24

Similar Documents

Publication Publication Date Title
US10725956B2 (en) Memory device for a hierarchical memory architecture
US20210397383A1 (en) Rate Limit On The Transitions Of Zones To Open
US8341332B2 (en) Multi-level controller with smart storage transfer manager for interleaving multiple single-chip flash memory devices
US8904095B2 (en) Data storage device and operating method thereof
US20170147233A1 (en) Interface architecture for storage devices
US11520660B2 (en) Storage devices hiding parity swapping behavior
TWI432965B (zh) 具有複數個結構之記憶體系統及其操作方法
Eshghi et al. Ssd architecture and pci express interface
US11194521B1 (en) Rate limit on the transitions of streams to open
WO2018075290A1 (en) Apparatuses and methods for an operating system cache in a solid state device
WO2021206762A1 (en) Zone-append command scheduling based on zone state
KR20220079676A (ko) 메모리 서브시스템에 대한 용량 확장
KR102544162B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
US11461238B2 (en) Storage device, memory controller, and method for fetching write commands from submission queues to perform full page writes
TW201535113A (zh) 操作高容量固體狀態驅動機的系統與方法
US11901032B2 (en) Memory device and memory system capable of using redundancy memory cells
KR102434840B1 (ko) 데이터 저장 장치
CN114201108B (zh) 包括映射高速缓存的控制器以及包括控制器的存储器系统
US10515693B1 (en) Data storage apparatus and operating method thereof
US20240069738A1 (en) Accessing memory devices via switchable channels
US20230136664A1 (en) Storage device and electronic device
US20230244402A1 (en) Storage device and operating method of storage device
KR20230063857A (ko) 스토리지 장치 및 전자 장치
KR20220150199A (ko) 최적화된 판독을 갖는 비휘발성 메모리
CN114730301A (zh) 用于多协议处理的存储系统和方法

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20180920

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190918

Year of fee payment: 5