KR20200008047A - 비휘발성 메모리 시스템 또는 서브 시스템 - Google Patents
비휘발성 메모리 시스템 또는 서브 시스템 Download PDFInfo
- Publication number
- KR20200008047A KR20200008047A KR1020207001303A KR20207001303A KR20200008047A KR 20200008047 A KR20200008047 A KR 20200008047A KR 1020207001303 A KR1020207001303 A KR 1020207001303A KR 20207001303 A KR20207001303 A KR 20207001303A KR 20200008047 A KR20200008047 A KR 20200008047A
- Authority
- KR
- South Korea
- Prior art keywords
- memory array
- memory
- soc
- processor
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- 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
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3268—Power saving in hard disk drive
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0877—Cache access modes
- G06F12/0882—Page mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
- G06F2212/1024—Latency reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1028—Power efficiency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/22—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/10—Aspects relating to interfaces of memory device to external buses
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Dram (AREA)
Abstract
비휘발성 메모리와 관련된 시스템, 장치 및 방법이 설명된다. 비휘발성 메모리 어레이는 시스템 온 칩(SoC) 또는 프로세서를 위한 메인 메모리 어레이로서 이용될 수 있다. 제어기는 상이한 페이지 크기 또는 액세스 시간 요건 등을 포함하는 비휘발성 메모리 동작의 특성에 무관한 프로토콜을 사용하여 비휘발성 메모리 어레이와 SoC 또는 프로세서 사이를 인터페이스로 접속할 수 있다. 제어기에 있는 가상 메모리 뱅크는 SoC 또는 프로세서와 비휘발성 메모리 어레이 사이의 동작을 용이하게 하도록 이용될 수 있다. 제어기는 신속한 데이터 동작을 용이하게 하기 위해 버퍼와 결합될 수 있고, 제어기는 가상 메모리 뱅크 또는 버퍼에 저장된 데이터를 설명하기 위해 비휘발성 어레이에 있는 데이터에 선택적으로 액세스하도록 구성될 수 있다. 제어기, 가상 메모리 뱅크, 및 버퍼는 SoC 또는 프로세서와는 별개인 하나의 칩에서 구성될 수 있다.
Description
상호 참조
본 출원은 미국 특허 제15/630,330호(출원일: 2017년 6월 22일, 발명의 명칭: "Non-Volatile Memory System or Sub-System", 발명자: Hasbun)에 대한 우선권을 주장하며, 이는 이의 양수인에게 양도되고, 이의 전문이 본 명세서에 참고로 명확히 원용된다.
다음은 일반적으로 메모리 시스템에 관한 것으로, 보다 구체적으로는 비휘발성 메모리 시스템 또는 서브 시스템에 관한 것이다.
메모리 시스템은 컴퓨터, 무선 통신 디바이스, 사물 인터넷, 카메라, 디지털 디스플레이 등과 같은 수많은 전자 디바이스에서 정보를 관리하기 위해 하나 이상의 버스를 통해 결합된 다양한 종류의 메모리 디바이스 및 제어기를 포함할 수 있다. 메모리 디바이스는 이러한 전자 디바이스에 정보를 저장하기 위해 널리 사용된다. 정보는 메모리 셀의 상이한 상태를 프로그래밍하는 것에 의해 저장된다. 예를 들어, 이진 메모리 셀은 종종 논리 "1" 또는 논리 "0"으로 표시되는 2개의 상태를 갖는다. 2개 이상의 상태가 메모리 셀에 저장될 수 있다.
자기 하드 디스크, 랜덤 액세스 메모리(RAM), 읽기 전용 메모리(ROM), 동적 RAM(DRAM), 동기식 동적 RAM(SDRAM), 강유전체 RAM(FeRAM), 자기 RAM(MRAM), 저항성 RAM(RRAM), 플래시 메모리, 상변화 메모리(PCM), 3차원 크로스 포인트 메모리(3D XPoint™ 메모리) 등을 포함하는 다양한 유형의 메모리 디바이스가 존재한다. 메모리 디바이스는 휘발성 또는 비휘발성일 수 있다. 비휘발성 메모리 셀, 예를 들어 FeRAM 셀은 외부 전원의 부재시에도 연장된 기간 동안 그 저장된 논리 상태를 유지할 수 있다. 휘발성 메모리 셀, 예를 들어 DRAM 셀은 외부 전원에 의해 주기적으로 리프레시되지 않으면 시간이 지남에 따라 저장된 상태를 상실할 수 있다. FeRAM은 휘발성 메모리와 유사한 메모리 디바이스 아키텍처를 사용할 수 있지만, 다른 비휘발성 및 휘발성 메모리 디바이스에 비해 개선된 성능을 가질 수 있다.
일반적으로, 메모리 시스템을 개선하는 것은 다른 지표 중에서도, 시스템 전력 소비를 감소시키거나, 메모리 시스템 용량을 증가시키거나, 읽기/쓰기 속도를 개선하거나, 지속적인 메인 메모리의 사용에 의해 비휘발성을 제공하거나, 또는 특정 성능 포인트에서 제조 비용을 감소시키는 것과 같은 메모리 시스템 성능을 증가시키는 것을 포함할 수 있다. 그러나, 개선된 메모리 시스템은 종종 다른 기술에 의해 지원되지 않는 새로운 기술이나 프로토콜을 강화하거나, 또는 개선된 메모리 시스템이 이전 기술과 역호환되면 애플리케이션의 더욱 광범위한 어레이에서 해결책을 제공할 수 있다.
본 명세서의 개시내용은 다음의 도면을 참조하고 포함한다:
도 1은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 포함하는 시스템의 도면을 도시한다.
도 2는 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 비선형 전기 특성의 예를 도시한다.
도 3은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 회로의 예를 도시한다.
도 4는 본 개시내용의 실시형태에 따른 예시적인 비휘발성 메모리 시스템 또는 서브 시스템을 도시한다.
도 5는 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 예시적인 메모리 시스템을 도시한다.
도 6은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 프로토콜의 예시적인 개략도를 도시한다.
도 7은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 동작시키기 위한 방법을 예시하는 흐름도를 도시한다.
도 1은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 포함하는 시스템의 도면을 도시한다.
도 2는 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 비선형 전기 특성의 예를 도시한다.
도 3은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 회로의 예를 도시한다.
도 4는 본 개시내용의 실시형태에 따른 예시적인 비휘발성 메모리 시스템 또는 서브 시스템을 도시한다.
도 5는 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 예시적인 메모리 시스템을 도시한다.
도 6은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 프로토콜의 예시적인 개략도를 도시한다.
도 7은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 동작시키기 위한 방법을 예시하는 흐름도를 도시한다.
비휘발성 메모리 어레이는 시스템 온 칩(system on a chip: SoC) 또는 프로세서를 위한 메인 메모리 어레이로서 사용될 수 있다. 이러한 유형의 시스템은 높은 시스템 성능, 높은 면적 밀도, 및 낮은 시스템 전력 소비를 포함하는, 휘발성 메모리 어레이를 이용하는 시스템 이상의 이점을 제공할 수 있다. 다양한 애플리케이션에서 이러한 이점을 실현하기 위해, 본 명세서에 기술된 기술은 레거시 메모리 시스템 아키텍처를 이용한 동작을 위해 설계된 SoC 또는 프로세서와의 역호환성을 제공하기 위해 이용될 수 있다. 예를 들어, 본 개시내용은 비휘발성 메모리 동작의 특성에 실질적으로 무관할 수 있는 프로토콜을 사용하여 SoC 또는 프로세서와 동작을 용이하게 할 수 있는 메모리 서브 시스템에 있는 인터페이스 제어기를 포함한다. 본 명세서에 개시된 비휘발성 메모리 시스템 또는 서브 시스템은 또한 전력 소비가 중요한 설계 인자일 수 있는 모바일 환경에서 데스크탑 애플리케이션을 가능하게 할 수 있다.
본 명세서에 기술된 시스템은 SoC 또는 프로세서, 메모리 서브 시스템, 및 스토리지(storage)를 포함할 수 있다. 시스템은 또한 다양한 컴포넌트를 서로 결합하도록 구성된 복수의 버스를 포함할 수 있다. 메모리 서브 시스템은 비휘발성 메모리, 가상 메모리 뱅크(virtual memory bank), 및 인터페이스 제어기를 포함할 수 있다. 인터페이스 제어기는 버스 중 하나를 통해 SoC/프로세서와 동작하도록 구성될 수 있다. 예를 들어, 버스 중 하나를 통한 DRAM 인터페이스를 사용하여 SoC/프로세서와의 동작을 용이하게 하기 위해, 인터페이스 제어기는 가상 메모리 뱅크를 이용하여 비휘발성 메모리와 동작하도록 구성될 수 있다. 가상 메모리 뱅크는 DRAM 셀로 구축될 수 있고, 예를 들어, 페이지 크기, 타이밍 요건 등을 결정할 수 있는 저전력, 이중 데이터 레이트(low-power, double data rate: LPDDR) 사양에 따라 동작하도록 구성될 수 있다. 페이지 크기는 일반적으로 이하에서 구체적으로 언급되지 않는 한 다양한 인터페이스에서 처리되는 데이터의 크기를 지칭한다. 아울러, 메모리 서브 시스템은 DRAM 버퍼로서 구축될 수 있는 버퍼를 더 포함할 수 있다. 버퍼는 인터페이스 제어기와 동작하도록 구성될 수 있고, SoC/프로세서에 의해 직접 액세스 가능하도록 구성될 수 있다.
이하에서 상세히 설명되는 바와 같이, 인터페이스 제어기는 DRAM 페이지 크기를 에뮬레이트하도록 가상 메모리 뱅크를 이용할 수 있으며, 이러한 것은 SoC/프로세서와의 동작을 용이하게 할 수 있다. 예를 들어, 가상 메모리 뱅크는 DRAM 페이지 크기(예를 들어, LPDDR 사양에서 지정된 페이지 크기)를 가지도록 구성될 수 있다. 또한, 본 명세서에 기술된 바와 같이, 가상 메모리 뱅크는 비휘발성 메모리의 페이지 크기에 대응하는 부분 또는 소자를 가지도록 구성될 수 있다. 예를 들어, LPDDR 사양에 따른 DRAM 페이지 크기는 비휘발성 메모리 페이지 크기의 상위 집합(superset)일 수 있으며, 인터페이스 제어기는 시스템이 비휘발성 메모리 어레이에 있는 다른 페이지 크기를 사용하는 동시에 DRAM 페이지 크기와 함께 사용하기 위해 구성된 SoC/프로세서와 동작하는 이점을 강화하는 것을 가능하게 한다. 비휘발성 메모리는 가변 페이지 크기를 지원하도록 구성될 수 있다.
인터페이스 제어기는 또한 가상 메모리 뱅크 또는 버퍼를 강화하는 것에 의해 낮은 대기 시간 또는 감소된 전력 동작을 허용할 수 있다. 예를 들어, SoC/프로세서로부터 읽기 명령을 수신할 때, 인터페이스 제어기는 가상 메모리 뱅크 또는 버퍼로부터 SoC/프로세서에 데이터를 전송하려고 시도할 수 있다. 데이터가 가상 메모리 뱅크 또는 버퍼에 존재하지 않으면, 인터페이스 제어기는 SoC/프로세서에 데이터를 전송하는 동안 비휘발성 메모리로부터 데이터를 검색하고 가상 메모리 뱅크에 데이터를 저장할 수 있다. 인터페이스 제어기는 본 명세서에서 설명된 프로토콜에 따라서 가상 메모리 뱅크의 동작을 관리할 수 있다. 예를 들어, 플래그의 세트는 가상 메모리 뱅크의 부분이 비휘발성 메모리로부터 유효 데이터를 저장하는지를 나타내도록 사용될 수 있다. SoC/프로세서로부터 쓰기 명령을 수신할 때, 인터페이스 제어기는 가상 메모리 뱅크에 데이터를 저장할 수 있다. 플래그의 다른 세트는 인터페이스 제어기가 비휘발성 메모리에 있는 내용으로부터 변경된 데이터만을 저장하는 것을 가능하게 하도록, 가상 메모리 뱅크의 부분이 비휘발성 메모리의 내용과 다른 유효 데이터를 저장할 때를 나타낼 수 있다.
또한, 다음에 상세히 설명되는 바와 같이, 인터페이스 제어기는 SoC/프로세서가 데이터를 더 이상 필요로 하지 않을 때 가상 메모리 뱅크로부터의 데이터를 저장하는 곳을 결정할 수 있다. 인터페이스 제어기는 가상 메모리 뱅크의 내용을 모니터링하고 식별할 수 있다. 또한, 인터페이스 제어기는 특정 시간 간격 동안 가상 메모리 뱅크의 내용에 대한 SoC/프로세서에 의한 액세스 시도의 횟수를 기록하는 카운터를 가질 수 있다. 예를 들어, SoC/프로세서에 의한 액세스 시도의 횟수가 사전 결정된 임계값보다 작다는 것을 카운터가 보이면, 인터페이스 제어기는 SoC/프로세서가 단기간에 데이터에 액세스할 필요가 없을 수 있다는 것을 예상하는 변경된 데이터를 비휘발성 메모리에 저장할 수 있다. 인터페이스 제어기는 데이터가 변경되지 않았다고 결정한 후에 데이터를 폐기할 수 있다. 또는, SoC/프로세서에 의한 액세스 시도의 횟수가 사전 결정된 임계값 이상이라고 카운터가 나타내면, 인터페이스 제어기는 SoC/프로세서가 곧 데이터에 액세스할 필요가 있을 수 있다는 것을 예상하는 데이터를 버퍼에 저장할 수 있다. 당업자는 전반적인 시스템 요구 사항을 고려하여 인터페이스 제어기가 이러한 결정을 하도록 다양한 기준(예를 들어, 카운터의 값, 클록, 기간 등을 포함하는 기준)을 고안할 수 있어야 한다. 아울러, 카운터는 가상 메모리 뱅크의 내용을 버퍼에 바이패스 저장하기 위해 SoC/프로세서에 의한 액세스 시도의 횟수가 사전 결정된 임계값보다 작을 때 바이패스 표시기를 설정할 수 있다. 바이패스 표시기는 그런 다음 가상 메모리 뱅크의 변경된 내용을 비휘발성 메모리에 직접 저장하는데 사용될 수 있다.
전술한 설명은 본 개시내용의 개요를 제공한다. 위에서 소개된 특징 및 기술은 메모리 시스템 또는 서브 시스템 아키텍처 및 관련 프로토콜과 관련하여 다음에 더 설명된다. 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 제어기 및 시스템 버스와 조합하여 메모리 시스템 또는 서브 시스템에 대한 특정 예가 설명된다. 본 개시내용의 이들 및 다른 특징은 비휘발성 메모리 시스템 또는 서브 시스템과 관련된 장치 도면, 시스템 도면, 및 흐름도에 의해 추가로 예시되고 이를 참조하여 설명된다.
도 1은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 포함하는 시스템(100)의 도면을 도시한다. 시스템(100)은 디바이스(105)를 포함할 수 있다. 디바이스(105)는 SoC 또는 프로세서(130), 인터페이스 제어기(120), 및 다양한 메모리 디바이스(170, 175 및 180)를 포함할 수 있다. 디바이스(105)는 또한 입출력 제어기(135), 기본 입출력 시스템(basic input output system: BIOS) 컴포넌트(125), 보드 지원 패키지(BSP)(126), 주변 컴포넌트(140), 직접 메모리 액세스 제어기(direct memory access controller: DMAC)(160)를 포함할 수 있다. 디바이스(105)의 컴포넌트는 버스(110)를 통해 서로 전자 통신할 수 있다.
디바이스(105)는 컴퓨팅 디바이스, 전자 디바이스, 모바일 컴퓨팅 디바이스, 또는 무선 디바이스일 수 있다. 디바이스(105)는 휴대용 전자 디바이스일 수 있다. 디바이스(105)는 컴퓨터, 랩톱 컴퓨터, 태블릿 컴퓨터, 스마트폰, 휴대폰, 웨어러블 디바이스, 인터넷 연결 디바이스 등일 수 있다. 일부 예에서, 디바이스(105)는 기지국 또는 액세스 포인트를 통한 양방향 무선 통신을 위해 구성된다. 일부 예에서, 디바이스(105)는 기계형 통신(MTC), 사물 지능(M2M) 통신 또는 디바이스간(device-to-device)(D2D) 통신이 가능하다. 디바이스(105)는 사용자 장비(UE), 스테이션(STA), 모바일 단말기 등으로서 지칭될 수 있다.
SoC/프로세서(130)는 직접 또는 인터페이스 제어기(120)를 통해 다양한 메모리 디바이스(170, 175, 180), 또는 이들의 임의의 조합과 동작하도록 구성될 수 있다. 일부 경우에, SoC/프로세서(130)는 인터페이스 제어기(120)의 기능을 수행할 수 있다. SoC/프로세서(130)는 범용 프로세서, 디지털 신호 처리기(DSP), 주문형 집적회로(ASIC), 필드 프로그래머블 게이트 어레이(FPGA) 또는 다른 프로그래머블 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트일 수 있거나, 또는 이러한 유형의 컴포넌트의 조합일 수 있다.
인터페이스 제어기(120)는 SoC/프로세서(130)와 동작하도록 구성될 수 있다. 인터페이스 제어기(120)는 또한 다양한 메모리 디바이스(170, 175, 180) 또는 이들의 임의의 조합과 동작하도록 구성될 수 있다.
메모리 디바이스(170)는 디지털 정보를 저장하기 위한 메모리 셀의 어레이 또는 어레이들을 각각 포함할 수 있다. 메모리 디바이스(170)는 SoC/프로세서(130) 또는 인터페이스 제어기(120)와 동작하도록 구성될 수 있다. 일부 예에서, 메모리 디바이스(170)는 SoC/프로세서(130) 또는 인터페이스 제어기(120)를 위한 메모리 뱅크를 위한 버퍼 메모리로서 역할을 하도록 구성될 수 있다. 일부 예에서, 하나 이상의 메모리 디바이스(170)가 디바이스(105)에 존재할 수 있다.
메모리 디바이스(175)는 2개 이상의 계층으로 구성된 메모리 셀의 어레이와 동작하도록 구성된 로컬 메모리 제어기를 포함할 수 있다. 메모리 디바이스(175)의 로컬 메모리 제어기는 또한 SoC/프로세서(130)와 동작하도록 구성될 수 있다. 메모리 디바이스(175)의 로컬 메모리 제어기는 SoC/프로세서(130)와 효율적으로 동작하기 위해 메모리 셀의 상이한 특성을 처리하도록 구성될 수 있다. 일부 예에서, 제1 계층 메모리 셀은 다양한 워크로드를 처리하기 위해 짧은 응답 시간으로 초당 많은 수의 입출력 동작(IOPS)을 제공할 수 있는 3차원 크로스 포인트(3D XPoint™) 메모리일 수 있다. 일부 예에서, 제2 계층 메모리 셀은 제1 계층 메모리 셀보다 상대적으로 저렴한 비용으로 데이터 저장을 위한 높은 용량을 제공할 수 있는 3차원 Not-AND(NAND) 메모리일 수 있다. 메모리 디바이스(175)는 일부 경우에 메모리 어레이의 다른 유형 또는 조합을 포함할 수 있다.
메모리 디바이스(180)는 메모리 셀의 어레이 또는 어레이들과 동작하도록 구성된 로컬 메모리 제어기를 포함할 수 있다. 메모리 디바이스(180)의 로컬 메모리 제어기는 또한 SoC/프로세서(130) 또는 인터페이스 제어기(120)와 동작하도록 구성될 수 있다. 일부 예에서, 메모리 셀은 비휘발성 또는 휘발성 메모리 셀, 또는 비휘발성 및 휘발성 메모리 셀 모두의 조합을 포함할 수 있다. 일부 예에서, 메모리 디바이스(180)의 로컬 메모리 제어기는 메모리 어레이가 비휘발성 메모리 셀, 예를 들어 강유전체 메모리 셀을 포함하는 경우에 메모리 어레이에 대한 가변 페이지 크기를 처리하도록 구성될 수 있다. 일부 예에서, 페이지 크기는 메모리 어레이가 휘발성 메모리 셀, 예를 들어 DRAM 셀을 포함하는 경우에 메모리 어레이에 대해 특정 크기로 고정될 수 있다. 일부 예에서, 하나 이상의 메모리 디바이스(180)가 디바이스(105)에 존재할 수 있다.
DMAC(160)는 SoC/프로세서(130)가 메모리 디바이스(170, 175 또는 180)에 대해 직접 메모리 액세스를 수행하는 것을 가능하게 한다. 예를 들어, DMAC(160)는 인터페이스 제어기(120)의 관여 또는 동작없이 메모리 디바이스(170, 175 또는 180)에 직접 액세스하도록 SoC/프로세서(130)를 지원할 수 있다.
주변 컴포넌트(들)(140)는 디바이스(105)에 통합될 수 있는 임의의 입력 또는 출력 디바이스 또는 이러한 디바이스를 위한 인터페이스일 수 있다. 예는 디스크 제어기, 사운드 제어기, 그래픽 제어기, 이더넷 제어기, 모뎀, 범용 직렬 버스(USB) 제어기, 직렬 또는 병렬 포트, 또는 주변 컴포넌트 인터커넥터(PCI) 또는 가속 그래픽 포트(AGP) 슬롯과 같은 주변 카드 슬롯을 포함할 수 있다. 주변 컴포넌트(들)(140)는 당업자에 의해 주변 기기로서 이해되는 다른 컴포넌트일 수 있다.
BIOS 컴포넌트(125) 또는 보드 지원 패키지(BSP)(126)는 시스템(100)의 다양한 하드웨어 컴포넌트를 개시하고 구동할 수 있는 펌웨어로서 동작되는 기본 입출력 시스템(BIOS)을 포함하는 소프트웨어 컴포넌트일 수 있다. BIOS 컴포넌트(125) 또는 BSP(126)는 SoC/프로세서(130)와 다양한 컴포넌트, 예를 들어 주변 컴포넌트(140), 입출력 제어기(135) 등 사이의 데이터 흐름을 또한 관리할 수 있다. BIOS 컴포넌트(125) 또는 BSP(126)는 읽기 전용 메모리(ROM), 플래시 메모리, 또는 임의의 다른 비휘발성 메모리에 저장된 프로그램 또는 소프트웨어를 포함할 수 있다.
입출력 제어기(135)는 SoC/프로세서(130)와 주변 컴포넌트(들)(140), 입력 디바이스(145) 또는 출력 디바이스(150) 사이의 데이터 통신을 관리할 수 있다. 입출력 제어기(135)는 또한 디바이스(105)에 통합되지 않은 주변 기기를 관리할 수 있다. 일부 경우에, 입출력 제어기(135)는 외부 주변 기기와의 물리적인 연결 또는 포트를 나타낼 수 있다.
입력(145)은 디바이스(105) 또는 그 컴포넌트에 입력을 제공하는 디바이스(105) 외부의 디바이스 또는 신호를 나타낼 수 있다. 이러한 것은 사용자 인터페이스 또는 다른 디바이스와의 인터페이스 또는 그 사이의 인터페이스를 포함할 수 있다. 일부 경우에, 입력(145)은 주변 컴포넌트(들)(140)를 통해 디바이스(105)와 인터페이스로 접속하는 주변 기기일 수 있거나, 또는 입출력 제어기(135)에 의해 관리될 수 있다.
출력(150)은 디바이스(105) 또는 그 임의의 컴포넌트로부터 출력을 수신하도록 구성된 디바이스(105) 외부의 디바이스 또는 신호를 나타낼 수 있다. 출력(150)의 예는 디스플레이, 오디오 스피커, 인쇄 디바이스 또는 인쇄 회로 기판 상의 다른 프로세서 등을 포함할 수 있다. 일부 경우에, 출력(150)은 주변 컴포넌트(들)(140)를 통해 디바이스(105)와 인터페이스로 접속하는 주변 기기일 수 있거나 또는 입출력 제어기(135)에 의해 관리될 수 있다.
디바이스(105)의 컴포넌트는 그 기능을 수행하도록 설계된 회로로 만들어질 수 있다. 이러한 것은 다양한 회로 소자, 예를 들어, 전도성 라인, 트랜지스터, 커패시터, 인덕터, 저항기, 증폭기, 또는 본 명세서에 기술된 기능을 수행하도록 구성된 다른 능동 또는 수동 소자를 포함할 수 있다.
일부 경우에, 장치는 제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이와 관련된 인터페이스 제어기, 인터페이스 제어기와 결합된 시스템 온 칩(SoC) 또는 프로세서, 인터페이스 제어기를 통해 제1 메모리와 결합되고 SoC 또는 프로세서와 관련된 제2 페이지 크기로서, 제1 페이지 크기의 상위 집합일 수 있는 상기 제2 페이지 크기에 기초하여 데이터를 저장하도록 구성되는 제2 메모리 어레이, 및 인터페이스 제어기, SoC 또는 프로세서, 또는 제2 메모리 어레이중 적어도 하나, 또는 이들의 임의의 조합과 결합되는 하나 이상의 버스를 포함할 수 있다.
일부 경우에, 장치는 하나 이상의 버스에 결합된 하나 이상의 컴포넌트를 더 포함할 수 있으며, 하나 이상의 컴포넌트는 입출력(I/O) 제어기, 기본 입출력 시스템(BIOS) 컴포넌트 또는 보드 지원 패키지(BSP) 중 적어도 하나, 또는 이들의 임의의 조합을 포함한다. 일부 경우에, 장치는 하나 이상의 버스에 결합된 직접 메모리 액세스 제어기(DMAC), 및 하나 이상의 버스를 통해 인터페이스 제어기에 결합된 제3 메모리 어레이를 더 포함할 수 있으며, 제3 메모리 어레이는 휘발성 메모리 셀을 포함한다. 일부 경우에, 제2 메모리 어레이, 제3 메모리 어레이, 및 인터페이스 제어기는 동일한 칩에 배치된다. 일부 경우에, 제1 페이지 크기가 구성 가능할 수 있다. 일부 경우에, 장치는 하나 이상의 버스를 통해 SoC 또는 프로세서에 결합된 제4 메모리 어레이를 더 포함할 수 있으며, 제4 메모리 어레이는 비휘발성 메모리 셀을 포함한다.
도 2는 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 비선형 전기 특성의 예를 도시한다. 플롯(200)은 본 명세서에 기술된 특징 및 기술을 지원하는 예시적인 특성을 예시하기 위해 제공된다. 다른 특징 및 재료 특성은 이러한 특징 또는 유사한 특징을 지원할 수 있다. 플롯(200-a)은 강유전체 재료를 사용하는 커패시터에 대한 예시적인 히스테리시스 곡선을 도시한다. 플롯(200-b)은 선형 재료(250) 또는 상유전 재료(para-electric material)(240)를 사용하는 커패시터의 예시적인 분극을 도시한다. 플롯(200)은 커패시터의 양단에 걸친 전압차(V)의 함수로서 강유전체, 선형 또는 파라선형 재료를 이용하는 메모리 셀의 커패시터에 저장된 전하(Q)를 도시한다.
강유전체 재료는 자발적 전기 분극(spontaneous electric polarization)을 특징으로 하며, 즉 전기장의 부재시에 넌제로 전기 분극을 유지한다. 대조적으로, 선형 또는 상유전 재료는 외부 전기장의 존재시에만 분극을 보인다. 강유전체 재료에서의 전기 분극이 비교적 오랫동안, 심지어 무한정으로 외부적으로 인가된 전기장의 부재시에 유지될 수 있기 때문에, 전하 누설은 예를 들어 DRAM 어레이에서 이용되는 상유전 커패시터와 비교하여 상당히 감소될 수 있다. 그러므로, 강유전체 메모리 셀은 DRAM 셀과 비교할 때 리프레쉬 동작을 수행하기 위한 요구를 감소시키거나 제거할 수 있다.
플롯(200-a)에 도시된 바와 같이, 강유전체 재료는 제로 전압차를 갖는 양 또는 음의 전하를 유지하여, 전하 상태(205) 및 전하 상태(210)의 2개의 가능한 전하 상태를 초래할 수 있다. 도 2의 예에 따라서, 전하 상태(205)는 논리 0을 나타내고, 전하 상태(210)는 논리 1을 나타낸다. 일부 예에서, 각각의 전하 상태의 논리 값은 반전될 수 있다. 전하 상태(205 및 210)는 또한 잔여 분극(Pr) 값으로서 지칭될 수 있으며, 즉 외부 바이어스(예를 들어, 전압)를 제거할 때 남아 있는 분극(따라서 전하)으로서 지칭될 수 있다. 본 명세서에서 논의된 강유전체는 하프늄, 지르코늄 또는 산소, 또는 이들의 임의의 조합을 포함하는 화합물일 수 있다. 예를 들어, 강유전체는 산화 하프늄 또는 지르코니아를 포함할 수 있다. 강유전체 재료를 이용하는 메모리 셀이 외부 바이어스/전압의 부재시에 저장된 전하를 유지하기 때문에, 강유전체 메모리 셀은 "비휘발성 메모리"로 명명될 수 있다.
플롯(200-b)은 선형 재료(250) 및 상유전 재료(240)에 대한 예시적인 분극 곡선을 도시한다. 도시된 바와 같이, 선형 재료(250)의 전하(Q)는 인가된 전압(V)에 대해 선형이다. 상유전 재료(240)는 전압에 대해 비선형 전하를 보인다. 그러나, 분극 플롯(200-a)에 도시된 강유전체 재료와 비교하여, 선형 재료(250) 및 상유전 재료(240)는 모두 제로 전압에서 제로 전하를 갖는다. 상이한 논리 상태는 선형 재료(250) 또는 상유전 재료(240)를 이용하는 커패시터에 넌제로 전압을 인가하는 것에 의해 저장될 수 있다. 예를 들어, 양의 전압(270)에 대응하는 전하 상태(205-b 및 205-c)는 각각 상유전 재료(240) 및 선형 재료(250)에 대해 논리 0을 나타낼 수 있다. 음의 전압이 마찬가지로 사용될 수 있다. 0의 전하(전하 상태(260))는 선형 재료(250) 및 상유전 재료(240)에 대해 논리 1을 나타낼 수 있다. 선형 또는 파라선형 커패시터가 충전될 때 커패시터 양단에 걸쳐 넌제로 전압을 가지기 때문에, 전자가 커패시터로부터 누설되는 것이 에너지적으로 유익할 수 있다. 그러므로, 선형 또는 파라선형 커패시터에 저장된 전하가 더 이상 논리 0으로 간주되지 않는 레벨에 도달하고 저장된 논리 상태가 손상되거나 상실될 때까지 저장된 전하는 누설될 수 있다. 따라서, 선형 재료(250) 또는 상유전 재료(240)를 이용하는 메모리 셀은 "휘발성 메모리"로 명명될 수 있다.
비휘발성 및 휘발성 메모리는 모두 유리한 특성을 가질 수 있거나, 또는 본 명세서에 기술된 기술을 지원하거나 또는 구현하도록 이용될 수 있다.
도 3은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 회로의 예를 도시한다. 회로(300)는 본 명세서에 기술된 특징 및 기술을 지원하는 예시적인 특성을 예시하기 위해 제공된다. 다른 회로 구성은 이러한 특징 또는 유사한 특징을 지원할 수 있다. 회로(300-a)는 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 강유전체 메모리 셀을 갖는 강유전체 메모리 어레이의 열을 나타낼 수 있다. 회로(300-b)는 레거시 DRAM 어레이의 선형/파라선형 전기 메모리 셀을 갖는 휘발성 메모리 어레이의 열을 나타낼 수 있다. 회로(300)는 도 1을 참조하여 설명된 어레이의 양태 또는 부분을 예시할 수 있다.
회로(300-a)는 강유전체 메모리(FeRAM) 셀(310-a), 워드 라인(340-a), 비트 라인(350-a), 및 플레이트 라인(360-a)의 열을 포함할 수 있다. 각각의 강유전체 메모리 셀(310-a)은 선택 컴포넌트(330-a) 및 강유전체 커패시터(320-a)를 포함할 수 있다. 일부 예에서, 선택 컴포넌트(330-a)는 전계 효과 트랜지스터(FET)일 수 있다. 강유전체 커패시터를 갖는 강유전체 메모리 셀(310-a)은 FeRAM 셀로서 지칭될 수 있다. 당업자는 강유전체 메모리 셀의 2차원 어레이가 메모리 셀의 다수의 열에 공통인 연장된 비트 라인(350-a)과 함께 회로(300-a)의 다수의 열을 반복하는 것에 의해 배열될 수 있다는 것을 이해해야 한다.
회로(300-b)는 선형/파라선형 메모리 셀(310-b), 워드 라인(340-b), 및 비트 라인(350-b)의 열을 포함할 수 있다. 각각의 선형/파라선형 메모리 셀은 선택 컴포넌트(330-b) 및 선형/파라선형 커패시터(320-b)를 포함할 수 있다. 일부 예에서, 선택 컴포넌트(330-b)는 전계 효과 트랜지스터(FET)일 수 있다. 선형/파라선형 커패시터를 갖는 선형/파라선형 메모리 셀(310-b)은 DRAM 셀로서 지칭될 수 있다. 선형/파라선형 커패시터의 단자는 접지 또는 가상 접지에 연결된다. 당업자는 선형/파라선형 메모리 셀의 2차원 어레이가 메모리 셀의 다수의 열에 공통인 연장된 비트 라인(350-b)과 함께 회로(300-b)의 다수의 열을 반복하는 것에 의해 배열될 수 있다는 것을 이해해야 한다.
메모리 액세스 동작 동안, 메모리 셀의 열은 열과 관련된 워드 라인을 활성화시키는 것에 의해 활성화될 수 있다. 회로(300-b)에 있는 DRAM 셀의 열이 활성화될 때, 각각의 선택 컴포넌트(330-b)는 DRAM 커패시터(320-b)의 단자를 디지트 라인(350-b)에 연결하여 활성화되는 반면에, DRAM 커패시터(320-b)의 다른 단자는 접지되거나 또는 사실상 접지된다. 결과적으로, DRAM의 커패시터(320-b)에 저장된 전하는 "흐를" 것이며, 이러한 흐름 또는 그 결핍(즉, DRAM 커패시터(320-b)에 저장된 어떠한 전하도 없을 때)은 각각의 디지트 라인(350-b)에 의해 검출되어야만 한다. 그러므로, 워드 라인이 활성화될 때, 워드 라인에 연결된 각각의 DRAM 셀이 감지될 필요가 있다. DRAM 페이지 크기는 이러한 DRAM 동작의 특성에 기초하여 결정될 수 있다. 데이터의 비교적 작은 청크(chunk)의 감지, 래칭, 및 제어를 수행하는 반복 디지털 논리 회로와 관련된 비합리적인 오버헤드를 피하기 위해, 전형적인 DRAM 페이지 크기는 상당히 큰 경향이 있다. 예를 들어, 전형적인 DRAM 페이지 크기는 2048 바이트일 수 있다.
이와 반대로, 회로(300-a)에 있는 FeRAM 셀의 열이 활성화될 때, 각각의 선택 컴포넌트(330-a)는 강유전체 커패시터(320-a)의 단자를 디지트 라인(350-a)에 연결하여 활성화되는 반면에, 강유전체 커패시터(320-a)의 다른 단자는 플레이트 라인(360-a)에 연결된다. 강유전체 커패시터(320-a)의 플레이트 사이의 강유전체 재료의 특성과 함께 플레이트 라인(360-a)은 디지트 라인(350-a)에의 연결시에 강유전체 커패시터(320-a)가 방전되는 것을 방지할 수 있다. 플레이트 라인(360-a)에 대한 전압을 변화시키는 것에 의해 FeRAM 셀(310-a)의 동작은 "이동 셀 플레이트"로서 지칭될 수 있다. 그러므로, 워드 라인(340-a)에 연결된 FeRAM 셀의 서브세트는 워드 라인(340-a)에 연결된 모든 FeRAM 셀을 감지하여야만 함이 없이 한번에 감지될 수 있다. FeRAM 셀 동작의 이러한 특성은 전형적인 DRAM 페이지 크기보다 작은 FeRAM에 대한 페이지 크기를 제공하도록 이용될 수 있다. 예를 들어, 전형적인 FeRAM 페이지 크기는 64 바이트일 수 있다. 보다 작은 페이지 크기는 통상적으로 DRAM 셀의 동작보다 높은 전력을 요구하는 FeRAM 셀의 효율적인 동작을 가능하게 할 수 있다. 보다 작은 페이지 크기는 정보에서의 관련된 변화가 작을 때 FeRAM 어레이의 작은 부분만이 활성화될 필요가 있을 수 있기 때문에 FeRAM 디바이스의 동작 동안 효과적인 에너지 사용을 촉진할 수 있다. 또한, FeRAM 셀의 어레이의 페이지 크기는 FeRAM 동작을 이용하는 데이터 및 명령의 특성에 따라 달라질 수 있다.
DRAM을 포함하는 일부 메모리 디바이스 아키텍처에서, 메모리 셀은 외부 전원에 의해 주기적으로 리프레시되지 않으면 시간이 지남에 따라 그 저장된 상태를 상실할 수 있다. 예를 들어, 선형/파라선형 재료를 갖는 충전된 커패시터는 누설 전류를 통해 시간이 지남에 따라 방전되어, 저장된 정보의 상실을 초래할 수 있다. 이들 휘발성 메모리 디바이스의 리프레시 비율은 비교적 높고, 예를 들어 DRAM 어레이에 대해 초당 수십 번의 리프레시 동작일 수 있으며, 이러한 것은 상당한 시스템 전력 소비를 초래할 수 있다. 점점 커지는 메모리 어레이에 의해, 증가된 전력 소비는 특히 배터리와 같은 유한 전원에 의지하는 모바일 디바이스를 위한 메모리 시스템 또는 서브 시스템 내에 있는 메모리 어레이(예를 들어, 전원 공급 장치, 열 발생, 재료 한계 등)의 전개 또는 동작을 억제할 수 있다.
위에서 논의된 바와 같이, 강유전체 메모리 디바이스는 그 에너지 효율적인 가변 페이지 크기 동작, 및 리프레시 동작의 결핍으로 인한 제로에 가까운 대기 전력과 같은 강유전체 커패시터의 비휘발성 특성으로 인한 이점을 제공할 수 있으며, 이러한 것은 배터리 수명을 증가시킬 수 있으며, 대기 또는 미구동(예를 들어, "오프") 상태가 이어지는 퀵스타트 동작(instant-on operation) 또는 낮은 시스템 전력 소비와 함께 높은 메모리 밀도 면적와 같은 특징을 가능하게 할 수 있다. 비휘발성 메모리 시스템 또는 서브 시스템의 이러한 특징은 예를 들어 모바일 환경에서 데스크탑 애플리케이션을 구동하는 것을 가능하게 할 수 있다.
도 4는 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 예시적인 시스템(400)을 도시한다. 시스템(400)은 도 1을 참조하여 설명된 바와 같은 시스템(100)의 예일 수 있고, 디바이스(410)를 포함할 수 있다. 디바이스(410)는 도 1을 참조하여 설명된 바와 같은 디바이스(105)의 예일 수 있다. 디바이스(410)는 SoC/프로세서(450), 메모리 서브 시스템(420), 및 스토리지(460)를 포함할 수 있다. SoC/프로세서(450)는 도 1을 참조하여 설명된 바와 같은 SoC/프로세서(130)의 예일 수 있다.
메모리 서브 시스템(420)은 도 1을 참조하여 설명된 바와 같은 메모리 디바이스(180)의 예일 수 있다. 스토리지(460)는 도 1을 참조하여 설명된 바와 같은 메모리 디바이스(175)의 예일 수 있다. SoC/프로세서(450)는 버스(480)를 통해 스토리지(460)와, 그리고 버스(470 및 475)를 통해 메모리 서브 시스템(420)과 동작하도록 구성될 수 있다. 일부 예에서, 버스(480)는 주변 컴포넌트 상호 연결 익스프레스(PCIe)을, 버스(470)는 저전력 이중 데이터 전송률(LPDDR) 명령 어드레스(CA)를, 그리고 버스(475)는 LPDDR 입출력(I/O)을 지원하도록 구성될 수 있다. 일부 예에서, 메모리 서브 시스템(420)은 DRAM 어레이 중 하나 이상일 수 있다. 전술한 바와 같이, DRAM 셀은 외부 전원에 의해 주기적으로 리프레시되지 않으면 시간이 지남에 따라 그 저장 상태를 상실할 수 있다. DRAM 디바이스의 리프레시 비율은 비교적 높을 수 있으며, 이러한 것은 다른 메모리 기술에 비해 높은 전력 소비를 초래할 수 있다. 점점 커지는 DRAM 메모리 어레이에 의해, 증가된 전력 소비는 특히 특히 배터리와 같은 유한 전원에 의지하는 모바일 디바이스를 위한 메모리 서브 시스템(420)에 있는 DRAM 메모리 어레이(예를 들어, 전원 공급 장치, 열 발생, 재료 한계 등)의 전개 또는 동작을 억제할 수 있다.
일부 예에서, 메모리 서브 시스템(420)은 FeRAM 어레이 중 하나 이상일 수 있다. 다른 예에서, 메모리 서브 시스템(420)은 FeRAM과 상이한 비휘발성 메모리 기술을 이용하는 다른 종류의 비휘발성 메모리 디바이스일 수 있다. 위에서 논의된 바와 같이, FeRAM 어레이는 특히 배터리 전력 소비가 고려하여야할 주요 요인 중 하나일 수 있는 모바일 시스템에서 강유전체 커패시터의 비휘발성 특성으로 인하여 DRAM 어레이 이상의 이점을 제공할 수 있다. 더욱이, FeRAM의 비휘발성 특성은 휘발성 DRAM 어레이에 상주하는 데이터를 상실하지 않도록 전력 중단 시간을 처리하는데 추가적인 이점을 제공할 수 있다. 그러나, FeRAM 어레이를 포함하는 메모리 서브 시스템은, FeRAM이 DRAM 어레이와 비교할 때 데이터 액세스, 페이지 크기 등에 수반되는 지연과 같은 다른 특성을 나타낼 수 있기 때문에 시스템 동작 또는 버스(470 및 475)의 설계 및 통합의 다른 측면에 악영향을 줄 수 있다. 아울러, 버스(470 및 475)를 통하는 것과 같이 레거시 컴포넌트와 통신하거나 레거시 프로토콜을 사용할 수 있는 대안적인 해결책을 제공할 수 있는 것은 FeRAM 기술로부터 익익을 얻을 수 있는 애플리케이션의 수를 증가시킬 수 있다.
일부 경우에, 장치(예를 들어, 메모리 서브 시스템(420))는 제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함할 수 있는 제1 메모리 어레이, 시스템 온 칩(SoC) 또는 프로세서와 관련된 제2 페이지 크기에 기초하여 데이터를 저장하도록 구성될 수 있는 제2 메모리 어레이로서, 제2 페이지 크기가 제1 페이지 크기의 상위 집합일 수 있는, 상기 제2 메모리 어레이, 및 적어도 부분적으로 제2 페이지 크기로 구성된, 휘발성 메모리 셀을 포함하는 제3 메모리 어레이를 포함할 수 있다. 장치는 또한 SoC 또는 프로세서, 제1 메모리 어레이, 제2 메모리 어레이, 및 제3 메모리 어레이와 인터페이스로 접속하도록 구성된 제어기를 포함할 수 있다. 일부 경우에, 제어기는, SoC 또는 프로세서로부터, 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하고, 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하는데, 상기 결정이 제2 메모리 어레이에 저장된 하나 이상의 플래그에 기초할 수 있고, 메모리 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하는 것에 기초하여 제1 메모리 어레이 또는 제2 메모리 어레이에서 메모리 동작 명령을 실행하도록 동작 가능할 수 있다.
도 5는 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 예시적인 시스템을 도시한다. 시스템(500)은 도 4를 참조하여 설명된 바와 같은 시스템(400)의 예일 수 있고 디바이스(510)를 포함할 수 있다. 디바이스(510)는 도 4를 참조하여 설명된 바와 같은 디바이스(410)의 예일 수 있다. 디바이스(510)는 SoC/프로세서(550), 메모리 서브 시스템(520), 및 스토리지(560)를 포함할 수 있다. SoC/프로세서(550)는 도 4를 참조하여 설명된 바와 같은 SoC/프로세서(450)의 예일 수 있다. 메모리 서브 시스템(520)은 도 4를 참조하여 설명된 바와 같은 메모리 서브 시스템(420)의 예일 수 있다. 스토리지(560)는 도 4를 참조하여 설명된 바와 같은 스토리지(460)의 예일 수 있다. 버스(580)는 도 4를 참조하여 설명된 바와 같이 버스(480)의 예일 수 있으며, SoC/프로세서(550)는 버스(580)를 통해 스토리지(560)와 동작하도록 구성될 수 있다. 버스(570)는 도 4를 참조하여 설명된 바와 같은 버스(470)의 예일 수 있다. 버스(575)는 도 4를 참조하여 설명된 바와 같은 버스(475)의 예일 수 있다. SoC/프로세서(550)는 버스(570 및 575)를 통해 메모리 서브 시스템(520)과 동작하도록 구성될 수 있다. 일부 예에서, SoC/프로세서(550)는 캐시 메모리(555)로서 기능하기 위해 동일한 기판 상에 증착된 로컬 메모리 어레이를 가지도록 구성될 수 있다.
메모리 서브 시스템(520)은 비휘발성 메모리(525), 가상 메모리 뱅크(535), 및 인터페이스 제어기(530)를 포함할 수 있다. 비휘발성 메모리(525)는 도 1을 참조하여 설명된 바와 같은 메모리 디바이스(180)의 예일 수 있다. 가상 메모리 뱅크(535)는 도 1을 참조하여 설명된 바와 같은 메모리 디바이스(170)의 예일 수 있다. 인터페이스 제어기(530)는 도 1을 참조하여 설명된 바와 같은 인터페이스 제어기(120)의 예일 수 있다. 인터페이스 제어기(530)는 버스(570 및 575)를 통해 SoC/프로세서(550)와 동작하도록 구성될 수 있다. 버스(570 및 575)는 각각 도 4를 참조하여 설명된 바와 같은 버스(470 및 475)의 예일 수 있다. 일부 예에서, 가상 메모리 뱅크(535)는 DRAM 셀로 구축될 수 있고 LPDDR 사양에 따라서 동작하도록 구성될 수 있고; 예를 들어, 페이지 크기, 타이밍 요구 사항 등은 LPDDR 사양에 기초할 수 있어서, 가상 메모리 뱅크(535)는 버스(570 및 575)를 통하는 것과 같이, 레거시 컴포넌트와 또는 레거시 프로토콜을 사용하여 동작을 용이하게 할 수 있다. 아울러, 인터페이스 제어기(530)는 버스(571 및 576)를 통해 비휘발성 메모리(525)와 동작하도록 구성될 수 있다. 일부 예에서, 인터페이스 제어기(530)는 가상 메모리 뱅크(535)를 포함할 수 있다. 가상 메모리 뱅크(535)와 협력하는 인터페이스 제어기(530)는 LPDDR 사양(예를 들어, 페이지 크기, 타이밍 요구 사항 등)에 따라서 SoP/프로세서(550)와 동작하도록 구성될 수 있다.
일부 예에서, 메모리 서브 시스템(520)은 버퍼(540)를 더 포함할 수 있다. 일부 예에서, 버퍼(540)는 DRAM 버퍼로서 구축될 수 있다. 버퍼(540)는 도 1을 참조하여 설명된 바와 같은 메모리 디바이스(170 또는 180)의 예일 수 있다. 아울러, 인터페이스 제어기(530)는 버스(572 및 577)를 통해 버퍼(540)와 동작하도록 구성될 수 있다. 일부 예에서, 버스(572)는 버퍼 CA 버스일 수 있다. 일부 예에서, 버스(577)는 인터페이스(IF) 버퍼 I/O 버스일 수 있다. 인터페이스 제어기(530) 및 버스(572 및 577)는 LPDDR 페이지 크기 및 타이밍과 같은 DRAM을 수반하는 프로토콜과 호환되도록 구성될 수 있다. 일부 예에서, SoC/프로세서(550)는 버스(575)를 통해 버퍼(540)와 함께 직접 동작하도록 구성될 수 있다. 일부 예에서, 버퍼(540)는, 버스(575)와 호환 가능하므로 SoC/프로세서(550)에 의해 직접 액세스 가능한 페이지 크기를 가지도록 구성될 수 있다.
메모리 시스템 도메인에 존재하는 버퍼(540)는 SoC/프로세서(550) 내에 있는 캐시 메모리(555)의 증강으로서 동작하도록 구성될 수 있다. 일부 예에서, 버퍼(540)의 용량은 약 256M 바이트일 수 있다. 일부 예에서, 버퍼(540)의 용량은 SoC/프로세서(550)에 있는 캐시 메모리(555)의 크기에 기초하여 결정될 수 있다. 비교적 작은 용량의 버퍼(540)는 잠재적으로 더욱 작은 기생 성분, 예를 들어 금속 라인과 관련된 인덕턴스 때문에 메모리 서브 시스템(520)이 더욱 큰 용량의 전형적인 DRAM보다 양호하게 수행할 기회를 제공할 수 있다. 더욱 작은 용량의 버퍼(540)는 주기적인 리프레시 동작과 관련된 시스템 전력 소비를 감소시키는 관점에서 추가적인 이점을 제공할 수 있다.
메모리 서브 시스템(520)은 1-칩 버전 및 멀티-칩 버전을 포함하는 다양한 구성으로 구현될 수 있다. 1-칩 버전은 단일 칩 상의 인터페이스 제어기(530), 가상 메모리 뱅크(535), 및 비휘발성 메모리(525)를 포함할 수 있다. 일부 예에서, 버퍼(540)는 단일-칩에 포함될 수 있다. 대조적으로, 멀티-칩 버전은 단일 칩에서 별개로 메모리 서브 시스템(520)에서의 컴포넌트의 각각의 컴포넌트, 즉 인터페이스 제어기(530), 가상 메모리 뱅크(535), 비휘발성 메모리(525), 및 버퍼(540)를 가질 수 있다. 멀티-칩 버전의 변형예는 가상 메모리 뱅크(535) 및 인터페이스 제어기(530)를 모두 갖는 칩을 포함할 수 있다. 또한, 멀티-칩 버전은 별개의 칩에 구현된 버퍼(540)를 더 포함할 수 있다. 변형예는 가상 메모리 뱅크(535)를 포함하기 위해 버퍼(540)를 가질 수 있다. 또 다른 예에서, 멀티-칩 버전은 동일한 칩 상의 비휘발성 메모리 및 버퍼를 포함할 수 있다. 일부 예에서, 비휘발성 메모리 어레이는 DRAM 셀의 어레이를 포함할 수 있다. 일부 경우에, 인터페이스 제어기(530), 가상 메모리 뱅크(535), 및 버퍼(540)는 동일한 칩에 배치될 수 있다.
일부 예에서, 비휘발성 메모리(525)는 로컬 메모리 제어기(526)를 갖는 FeRAM의 어레이일 수 있다. 일부 예에서, 비휘발성 메모리(525)는 스토리지(560)에 비해 SoC/프로세서(550)에 근접한 비휘발성 메모리로서 지칭될 수 있다. 근접한 메모리로서 비휘발성 메모리(525)는 예를 들어 스토리지(560)로부터 데이터를 검색하는 것과 관련될 수 있는 오버헤드를 제한하거나 회피할 수 있다.
일부 예에서, 비휘발성 메모리(525)의 용량은 약 32G 바이트일 수 있다. 비휘발성 메모리(525)는 스토리지(560)에 액세스하는 대신에 예기치 않은 전력 중단시에 중요한 정보를 저장할 수 있으며, 스토리지(560)에 액세스하는 것은 바람직하지 않은 지연과 관련될 수 있다. 비휘발성 메모리(525)의 로컬 메모리 제어기(526)는 비휘발성 메모리(525)에 대한 가변 페이지 크기를 결정하도록 구성될 수 있다. 일부 예에서, FeRAM의 페이지 크기는 LPDDR DRAM의 페이지 크기보다 작을 수 있으며, LPDDR DRAM의 페이지 크기는 FeRAM의 페이지 크기의 상위 집합일 수 있다. LPDDR DRAM 페이지 크기의 예는 2048 바이트일 수 있고, FeRAM 페이지 크기의 예는 64 바이트일 수 있다. 인터페이스 제어기(530)는 버스(571 및 576)를 통해 비휘발성 메모리(525)와 동작하도록 구성될 수 있다. 일부 예에서, 버스(571)는 FeRAM CA 버스일 수 있다. 일부 예에서, 버스(576)는 FeRAM 인터페이스(IF) 버스일 수 있다. 인터페이스 제어기(530) 및 버스(572 및 576)는 비휘발성 메모리(525)의 페이지 크기와 호환 가능하도록 구성될 수 있다.
일부 경우에, 장치는 제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이, 제1 메모리 어레이와 결합되고 시스템 온 칩(SoC) 또는 프로세서와 인터페이스로 접속하도록 구성된 제1 제어기; 및 제1 제어기를 통해 제1 메모리 어레이와 결합되고 SoC 또는 프로세서와 관련된 제2 페이지 크기에 기초하여 데이터를 저장하도록 구성된 제2 메모리 어레이를 포함하며, 제2 페이지 크기는 제1 페이지 크기의 상위 집합이다. 일부 경우에, 장치는 제1 제어기와 결합된 제3 메모리 어레이를 더 포함할 수 있고, 제3 메모리 어레이는 적어도 부분적으로 제2 페이지 크기로 구성된다. 일부 경우에, 제2 메모리 어레이, 제3 메모리 어레이, 및 제1 제어기는 동일한 칩에 배치된다. 일부 경우에, 제1 페이지 크기는 구성 가능하다.
일부 경우에, 제3 메모리 어레이는 SoC 또는 프로세서에 결합된다. 일부 경우에, 제3 메모리 어레이는 SoC 또는 프로세서 위에 가로놓인다. 일부 경우에, 제3 메모리 어레이는 휘발성 메모리 셀을 포함한다. 일부 경우에, 제1 메모리 어레이 및 제3 메모리 어레이는 제1 칩에 배치된다. 일부 경우에, 제1 메모리 어레이는 제3 메모리 어레이를 포함한다. 일부 경우에, 제1 메모리 어레이, 제1 제어기, 및 제2 메모리 어레이는 제1 칩에 배치된다. 일부 경우에, 장치는 SoC 또는 프로세서를 더 포함할 수 있고, SoC 또는 프로세서는 제1 제어기를 통해 제1 메모리 어레이와 결합되고, SoC 또는 프로세서는 제1 칩과 별개인 제2 칩에 배치된다. 일부 경우에, 장치는 SoC 또는 프로세서와 결합된 비휘발성 메모리 셀을 포함하는 추가 메모리 어레이를 더 포함할 수 있다. 일부 경우에, 추가 메모리 어레이는 SoC 또는 프로세서와 결합된 제1 그룹의 비휘발성 메모리 셀, 및 제1 그룹의 휘발성 메모리 셀을 통해 SoC 또는 프로세서와 결합된 제2 그룹의 비휘발성 메모리 셀을 포함한다.
일부 경우에, SoC 또는 프로세서는 SoC 또는 프로세서에서 캐시 메모리로서 구성된 로컬 메모리 어레이를 포함한다. 일부 경우에, 장치는 제1 메모리 어레이와 결합되고 이와 동일한 칩에 배치되는 제2 제어기를 더 포함할 수 있고, 제2 제어기는 제1 메모리 어레이에 대한 제1 페이지 크기를 결정하도록 구성된다. 일부 경우에, 제2 메모리 어레이는 제1 메모리 어레이의 제1 페이지 크기에 따라서 데이터를 저장하도록 구성된다. 일부 경우에, 제2 메모리 어레이는 제1 메모리 어레이로부터의 유효 데이터를 저장하는 제2 메모리 어레이의 하나 이상의 부분을 나타내는 제1 플래그를 저장하도록 구성된다. 일부 경우에, 제2 메모리 어레이는 제1 메모리 어레이와 다른 데이터를 저장하는 제2 메모리 어레이의 하나 이상의 부분을 나타내는 제2 플래그를 저장하도록 구성된다. 일부 경우에, 제1 제어기는 제2 메모리 어레이를 포함하고, 제1 제어기 및 제2 메모리 어레이는 동일한 칩에 배치된다.
일부 경우에, 장치는 제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이; 제1 메모리 어레이에 결합되고, 시스템 온 칩(SoC) 또는 프로세서와 인터페이스로 접속하도록 구성된 로컬 제어기; 로컬 제어기와 결합되고, 제1 페이지 크기의 상위 집합인 제2 페이지 크기에 기초하여 데이터를 저장하도록 구성된 제2 메모리 어레이; 및 로컬 제어기와 결합되고 적어도 부분적으로 제2 페이지 크기에 따라서 데이터를 저장하도록 구성된 제3 메모리 어레이를 포함할 수 있다. 일부 경우에, 제2 메모리 어레이, 제3 메모리 어레이, 및 로컬 제어기는 동일한 칩에 배치된다. 일부 경우에, 제1 페이지 크기는 구성 가능하다. 일부 경우에, 제2 페이지 크기는 SoC 또는 프로세서와 관련된다. 일부 경우에, 제3 메모리 어레이는 SoC 또는 프로세서에 결합된다.
일부 경우에, 장치는 제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이, 시스템 온 칩(SoC) 또는 프로세서와 관련된 제2 페이지 크기에 기초하여 데이터를 저장하도록 구성된 제2 메모리 어레이로서, 제2 페이지 크기가 제1 페이지 크기의 상위 집합인, 상기 제2 메모리 어레이, 적어도 부분적으로 제2 페이지 크기로 구성된, 휘발성 메모리 셀을 포함하는 제3 메모리 어레이, 및 SoC 또는 프로세서, 제1 메모리 어레이 제2 메모리 어레이 및 제3 메모리 어레이와 인터페이스로 접속하도록 구성된 제어기를 포함할 수 있으며, 제어기는, SoC 또는 프로세서로부터, 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하고, 메모리 동작 명령과 관련된 데이터가 저장되는지의 여부를 결정하는데, 상기 결정이 제2 메모리 어레이에 저장된 하나 이상의 플래그에 기초하며; 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하는 것에 기초하여 제1 메모리 어레이 또는 제2 메모리 어레이에서 메모리 동작 명령을 실행하도록 동작 가능하다.
일부 경우에, 제2 메모리 어레이, 제3 메모리 어레이, 및 인터페이스 제어기는 동일 칩에 배치된다. 일부 경우에, 제1 페이지 크기는 구성 가능하다. 일부 경우에, 제어기는 제1 메모리 어레이로부터의 유효 데이터를 저장하는 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제1 플래그를 검출하거나; 또는 제1 메모리 어레이와 다른 데이터를 저장하는 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제2 플래그를 검출하거나; 또는 제1 플래그 중 하나 이상 및 제2 플래그 중 하나 이상을 검출하도록 동작 가능하다. 일부 경우에, 메모리 동작 명령은 읽기 명령을 포함한다. 일부 경우에, 제어기는 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장된다고 결정하도록 동작 가능하며, 제3 메모리 어레이는 적어도 부분적으로 제2 페이지 크기로 구성되고; 제어기는 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장된다는 결정에 기초하여 제3 메모리 어레이로부터의 데이터를 페치하고(fetch); 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하도록 추가로 동작 가능하다.
일부 경우에, 제어기는, 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장된다고 결정하는데, 상기 제3 메모리 어레이가 적어도 부분적으로 제2 페이지 크기로 구성되고; SoC 또는 프로세서가 제3 메모리 어레이에 직접 액세스하게 하도록 동작 가능하다. 일부 경우에, 제1 제어기는 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장된다는 결정에 기초하여 제2 메모리 어레이로부터의 데이터를 페치하고; 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하도록 동작 가능하다. 일부 경우에, 제1 제어기는 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하는 것에 기초하여 제1 메모리 어레이로부터의 데이터를 페치하고, 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하고, 제2 메모리 어레이의 하나 이상의 부분에 저장된 유효 데이터를 나타내는 하나 이상의 제1 플래그를 업데이트하고; 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하도록 동작 가능하다.
일부 경우에, 메모리 동작 명령은 쓰기 명령을 포함한다. 일부 경우에, 제1 제어기는 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하고; 제1 메모리 어레이와 다른 데이터를 저장하는 제2 메모리 어레이의 부분을 나타내는 하나 이상의 제2 플래그를 업데이트하도록 동작 가능하다. 일부 경우에, SoC 또는 프로세서로부터의 메모리 동작 명령은 시간 간격 동안 SoC 또는 프로세서에 의한 액세스 시도의 횟수에 기초하여 제2 메모리 어레이로부터 제1 메모리 어레이 또는 제3 메모리 어레이로 데이터를 쓰도록 하는 명령을 포함한다. 일부 경우에, 제1 제어기는 임계값보다 작은 액세스 시도의 횟수에 기초하여 제1 메모리 어레이에 데이터를 저장하도록 동작 가능하다. 일부 경우에, 임계값은 시간적 값(temporal value), 카운터의 값, 클록 중 적어도 하나, 또는 이들의 임의의 조합을 포함한다. 일부 경우에, 제1 제어기는 임계값 이상인 액세스 시도의 횟수에 기초하여 제3 메모리 어레이에 데이터를 저장하도록 동작 가능하다. 일부 경우에, 임계값은 시간적 값, 카운터의 값, 클록 중 적어도 하나, 또는 이들의 임의의 조합을 포함한다.
일부 경우에, 장치(예를 들어, 메모리 서브 시스템(520))는 SoC 또는 프로세서로부터, 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하기 위한 수단을 포함할 수 있다. 일부 경우에, 장치는 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하기 위한 수단을 포함할 수 있고, 상기 결정은 제2 메모리 어레이에 저장된 하나 이상의 플래그에 기초할 수 있다. 일부 경우에, 장치는 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하는 것에 기초하여 제1 메모리 어레이 또는 제2 메모리 어레이에서 메모리 동작 명령을 실행하기 위한 수단을 포함할 수 있다.
도 6은 본 개시내용의 실시형태에 따른 비휘발성 메모리 시스템 또는 서브 시스템을 지원하는 프로토콜의 예시적인 개략도를 도시한다. 도 6은 도 5에 도시된 다양한 컴포넌트와 함께, 가상 메모리 뱅크(635) 및 그 세부 사항의 양태를 도시한다. 가상 메모리 뱅크(635)는 도 5를 참조하여 설명된 바와 같은 가상 메모리 뱅크(535)의 예일 수 있다. 전술한 바와 같이, 가상 메모리 뱅크(635)는 인터페이스 제어기(530)와 동일한 칩에 배치될 수 있다. 가상 메모리 뱅크(635)는 각각의 부분(655-a, 655-b 및 655-c) 등이 비휘발성 메모리(525)의 페이지 크기에 대응할 수 있는 복수의 부분(655)을 가지도록 구성될 수 있다. 도 6의 예는 도 5에 도시된 컴포넌트의 동작을 참조하여 설명된다.
연관된 일련의 부분(655)은 버스(570 및 575)를 통해 SoC/프로세서(550)와 동작하도록 호환 가능한 페이지 크기(645)를 나타내도록 구성될 수 있다. 일부 예에서, 각각의 부분(655)은 64 바이트를 나타낼 수 있고, 페이지 크기(645)는 2048 바이트를 나타낼 수 있다. 이러한 경우에, 도면 부호 (655)의 32개의 부분의 연속은 인터페이스 제어기(530)가 버스(570 및 575)를 통해 SoC/프로세서(550)와 동작할 수 있도록 페이지 크기(645)에 대응하는 2048 바이트의 페이지 크기를 갖는 데이터의 세트를 구축할 것이다. 그러므로, 인터페이스 제어기(530)와 동작하는 가상 메모리 뱅크(635)는 버스(570 및 575)와 호환 가능한 방식으로 SoC/프로세서(550)와 비휘발성 메모리(525) 사이를 이을 수 있다.
도 6의 예는 단순한 예시의 목적을 위해 SoC/프로세서(550)와 동작하도록 호환 가능한 데이터의 유닛을 나타내는 메모리의 하나의 페이지를 도시한다. 당업자는 가상 메모리 뱅크(635)가 비휘발성 메모리(525)의 용량 및 버퍼(540)의 용량 등을 지원하는 애플리케이션 서브 메모리 시스템의 종류에 의존하는 메모리 서브 시스템(520)의 성능을 최적화하기 위해 데이터의 이러한 복수의 유닛을 가지도록 구성될 수 있다는 것을 이해해야 한다. 일부 예에서, 가상 메모리 뱅크(635)는 데이터의 8개의 유닛으로 구성될 수 있다.
일부 예에서, 인터페이스 제어기(530)는 버스(570)를 통해 SoC/프로세서(550)로부터 메모리 동작 명령을 수신할 수 있다. 메모리 동작 명령은 읽기 명령일 수 있다. 이어서, 인터페이스 제어기(530)는 읽기 명령과 관련된 데이터가 가상 메모리 뱅크(635)의 부분(655) 중 하나 이상에서 존재하는지의 여부를 결정할 수 있다. 데이터가 가상 메모리 뱅크(635)의 부분(655) 중 하나 이상에 존재하는지의 여부를 결정하는데 있어서, 인터페이스 제어기(530)는 가상 메모리 뱅크(635)의 하나 이상의 부분(655)에 저장된 유효 데이터를 나타내는 유효/무효 플래그(665)를 검출할 수 있다. 데이터가 가상 메모리 뱅크(635)의 부분(655) 중 하나 이상에 존재하면, 인터페이스 제어기(530)는 가상 메모리 뱅크(635)로부터 데이터를 검색하고, 도면 부호 (575)를 통해 SoC/프로세서(550)에 데이터를 전송할 수 있다. 이러한 동작은 LPDDR 사양과 호환 가능한 것으로 달성될 수 있고, SoC/프로세서(550)는 가상 메모리 뱅크(635) 및 페이지 크기(645)에 이미 존재하는 데이터가 LPDDR 사양과 호환 가능하기 때문에 부응하여 동작할 수 있다. 그래서, 인터페이스 제어기(530)는 비휘발성 메모리(525)에 액세스할 필요가 없을 수 있다.
대조적으로, 데이터가 가상 메모리 뱅크(635)의 하나 이상의 부분(655)에 존재하지 않을 때, 인터페이스 제어기(530)는 비휘발성 메모리(525)에 액세스하고, 가상 메모리 뱅크(635)의 하나 이상의 부분(655)에 데이터를 저장하는 동시에, SoC/프로세서(550)에 데이터를 또한 전송할 수 있다. 인터페이스 제어기(530)는 유효/무효 플래그(665)를 검출하는 것에 의해 유효 데이터의 향후 사용을 가능하게 하도록 가상 메모리 뱅크(635)의 하나 이상의 부분(655)에 저장된 유효 데이터를 나타내는 유효/무효 플래그(665)를 업데이트할 수 있다. 이러한 동작은 인터페이스 제어기(530)가 비휘발성 메모리(525)로부터 데이터를 검색한다는 사실로 인해 LPDDR 사양과 호환되지 않을 수 있는 추가 지연 시간을 초래할 수 있다. 결과적으로, SoC/프로세서(550)는 버스(575)를 통해 SoC/프로세서(550)가 이용 가능한 데이터를 가지도록 LPDDR 사양보다 긴 지연을 예상하도록 통지될 수 있다.
일부 예에서, 인터페이스 제어기(530)는 읽기 명령과 관련된 데이터가 버퍼(540)에 저장된다고 결정할 수 있다. 이어서, 인터페이스 제어기(530)는 버퍼(540)로부터 데이터를 검색하고, 버스(575)를 통해 SoC/프로세서(550)에 데이터를 전송할 수 있다. 일부 경우에, SoC는/프로세서(550)는 버퍼(540)에 직접 액세스할 수 있다. 버퍼(540)가 버스(570 및 575)와 동작하도록 구성될 수 있기 때문에, 이러한 동작은 LPDDR 사양과 호환 가능할 수 있으며, SoC/프로세서(550)는 부응하여 동작할 수 있다.
다른 예에서, 인터페이스 제어기(530)는 버스(570)를 통해 SoC/프로세서(550)로부터 메모리 동작 명령을 수신할 수 있다. 메모리 동작 명령은 쓰기 명령일 수 있다. 이어서, 인터페이스 제어기(530)는 버스(575)를 통해 SoC/프로세서(550)로부터 데이터를 수신할 때 가상 메모리 뱅크의 하나 이상의 부분에 데이터를 저장한다. 그런 다음, 인터페이스 제어기(530)는 가상 메모리 뱅크(635)의 하나 이상의 부분(655)에 저장된 데이터가 비휘발성 메모리(525)로부터의 데이터와 다를 수 있다고 결정할 수 있다. 결과적으로, 인터페이스 제어기(530)는 비휘발성 메모리(525)에 저장된 데이터와 다른 데이터를 갖는 가상 메모리 뱅크(635)의 부분(655)을 각각 나타내는 변화 플래그(675)를 업데이트할 수 있다. 변화 플래그(675)는 가상 메모리 뱅크(635)에 있는 데이터의 부분(655)이 비휘발성 메모리(525)에 다시 저장되는 인터페이스 제어기(530)에 나타내는 역할을 할 수 있다. 이러한 것은 비휘발성 메모리(525)에 이미 존재하는 동일한 데이터를 저장하기 위해 리소스를 소비함이 없이 인터페이스 제어기(530)가 SoC/프로세서(550)에 의해 변화된 데이터 내용을 저장하는 것을 가능하게 할 수 있다. SoC/프로세서(550)로부터의 쓰기 명령이 비휘발성 메모리(525)가 포함되지 않은 가상 메모리 뱅크(635)에 쓰여지고, 그러므로 LPDDR 사양에 따라서 달성될 수 있고, SoC/프로세서(550)가 부응하여 동작할 수 있다는 것을 이해해야 한다.
일부 예에서, 인터페이스 제어기(530)는 SoC/프로세서(550)로부터 메모리 동작 명령을 수신할 수 있다. 메모리 동작 명령은 가상 메모리 뱅크(635)에 있는 데이터의 페이지를 폐쇄하는 것과 관련될 수 있으며, 그러므로 인터페이스 제어기(530)는 폐쇄에 앞서 데이터를 저장하는 곳을 결정할 수 있다. 인터페이스 제어기(530)는 가상 메모리 뱅크(635)의 내용을 모니터링하고 식별하도록 구성될 수 있다. 인터페이스 제어기(530)는 특정 시간 간격 동안 가상 메모리 뱅크(635)의 내용에 대한 SoC/프로세서(550)에 의한 액세스 시도의 횟수를 기록하는 카운터를 가지도록 구성될 수 있다. SoC/프로세서(550)에 의한 액세스 시도의 횟수가 사전 결정된 임계값보다 작다는 것을 카운터가 보이면, 인터페이스 제어기(530)는 비휘발성 메모리(525)에서 변경된 가상 메모리 뱅크(635)의 내용을 저장할 수 있다. 인터페이스 제어기(530)는 내용이 변경되지 않았다고 결정한 후에 가상 메모리 뱅크(635)의 내용을 폐기할 수 있다. 다른 한편으로, SoC/프로세서(550)에 의한 액세스 시도의 횟수가 사전 결정된 임계값 이상인 것을 카운터가 보이면, 인터페이스 제어기(530)는 버퍼(540)에 데이터를 저장할 수 있다. 아울러, 카운터는 SoC/프로세서(550)에 의한 액세스 시도의 횟수가 가상 메모리 뱅크(635)의 내용을 버퍼(540)에 바이패스 저장하기 위해 사전 결정된 임계값보다 작을 때 바이패스 표시기를 설정하도록 구성될 수 있다. 바이패스 표시기는 그런 다음 가상 메모리 뱅크(635)의 변경된 내용을 비휘발성 메모리(525)에 직접 저장하도록 사용될 수 있다. 당업자는 전체적인 요건을 충족시키기 위하여 비휘발성 메모리 시스템 또는 서브 시스템 동작(예를 들어, SoC/프로세서의 캐시 메모리 동작, 버퍼 용량 등)의 다른 측면에 고려하여 인터페이스 제어기에 대한 다양한 기준(예를 들어, 카운터의 값, 클록을 포함하는 기준)을 고안할 수 있어야 한다.
데이터를 관리하는 인터페이스 제어기(530)의 동작은 실제 읽기 또는 쓰기 사이클을 FeRAM 어레이로 제한하는 것에 의해 비휘발성 메모리(525), 예를 들어 FeRAM 어레이에 대한 피해를 방지할 수 있다. 예를 들어, 인터페이스 제어기(530)는 데이터가 가상 메모리 뱅크(635) 또는 버퍼(540)에서 이용 가능할 때 실제로 비휘발성 메모리(525)에 액세스함이 없이 SoC/프로세서(550)에 대한 데이터를 생성할 수 있다. 아울러, 인터페이스 제어기(530)는 버퍼(540)에 데이터를 저장하거나 데이터를 폐기하는 것이 적절할 때 비휘발성 메모리(525)에 데이터를 저장하는 것을 피할 수 있다. 인터페이스 제어기(530)에 의한 데이터의 이러한 관리는 FeRAM 셀이 DRAM 셀에 비해 제한된 내구성을 가질 수 있기 때문에 FeRAM 신뢰성 측면으로부터 유익할 수 있으며; 즉, FeRAM 셀은 그 수명 동안 지원할 수 있는 제한된 수의 읽기 또는 쓰기 사이클을 가질 수 있는데 반하여, DRAM 셀은 무제한 또는 실질적으로 무제한적인 내구성을 가질 수 있다. 일부 경우에, FeRAM 어레이의 내구성은 FeRAM 셀의 작은 부분이 그 내구성 한계에 영향을 받는 경우에 일부 전개 또는 사용을 위해 불충분할 수 있다. 예를 들어, FeRAM 셀은 많은 전형적인 전자 애플리케이션에 적절한 내구성 한계를 가질 수 있으며; 그러나, 악의적인 공격(예를 들어, 컴퓨터 바이러스 또는 미승인된 액세스로 인한)은 내구성 한계에 도달할 때까지 FeRAM 셀의 작은 부분을 계속적으로 읽거나 쓰는 것에 의해 FeRAM을 파괴하려고 시도할 수 있다. 그러므로, 데이터를 관리하는 인터페이스 제어기(530)는 이러한 악의적인 공격을 피하거나 비휘발성 메모리(525)와 관련된 마모 레벨을 효과적으로 관리하는 것에 의해 FeRAM 셀 동작에서 수반되는 위험을 완화시킬 수 있다.
도 7은 본 개시내용의 실시형태에 따라서 비휘발성 메모리 시스템 또는 서브 시스템을 동작시키기 위한 방법(700)을 예시하는 흐름도를 도시한다. 방법(700)의 동작은 본 명세서에서 설명된 바와 같이, 도 1을 참조하여 설명된 바와 같은 인터페이스 제어기(120) 또는 도 5를 참조하여 설명된 바와 같은 인터페이스 제어기(530)에 의해 구현될 수 있다.
블록(705)에서, 인터페이스 제어기(530)는 시스템 온 칩(SoC) 또는 프로세서로부터, 비휘발성 메모리 셀을 포함할 수 있는 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신할 수 있으며, 제1 메모리 어레이는 제1 페이지 크기를 갖는다. 블록(705)의 동작은 도 1 내지 도 6을 참조하여 설명된 방법에 따라서 수행될 수 있다.
블록(710)에서, 인터페이스 제어기(530)는 메모리 동작 명령과 관련된 데이터가 SoC 또는 프로세서에 기초할 수 있는 제2 페이지 크기를 갖는 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정할 수 있고, 상기 결정은 제2 메모리 어레이에 저장된 하나 이상의 플래그에 기초할 수 있다. 블록(710)의 동작은 도 1 내지 도 6을 참조하여 설명된 방법에 따라서 수행될 수 있다.
블록(715)에서, 인터페이스 제어기(530)는 제1 메모리 어레이, 제2 메모리 어레이, 또는 인터페이스 제어기와 결합될 수 있고 휘발성 메모리 셀을 포함할 수 있는 제3 메모리 어레이에서 메모리 동작 명령을 실행할 수 있으며, 메모리 동작 명령은 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하는 것에 기초하여 실행될 수 있다. 블록(715)의 동작은 도 1 내지 도 6을 참조하여 설명된 방법에 따라서 수행될 수 있다.
방법(700)과 같은 방법 또는 방법들을 수행하기 위한 장치가 설명된다. 장치는 시스템 온 칩(SoC) 또는 프로세서로부터 인터페이스 제어기에서, 비휘발성 메모리 셀을 포함할 수 있는 제1 메모리 어레이로서, 제1 페이지 크기를 갖는 상기 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하기 위한 수단, 메모리 동작 명령과 관련된 데이터가 SoC 또는 프로세서에 기초할 수 있는 제2 페이지 크기를 갖는 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하기 위한 수단으로서, 상기 결정이 제2 메모리 어레이에 저장된 하나 이상의 플래그에 기초할 수 있는, 상기 결정하기 위한 수단; 및 제1 메모리 어레이, 제2 메모리 어레이, 또는 인터페이스 제어기와 결합될 수 있고 휘발성 메모리 셀을 포함할 수 있는 제3 메모리 어레이에서 메모리 동작 명령을 실행하기 위한 수단으로서, 메모리 동작 명령이 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하는 것에 기초하여 실행될 수 있는, 상기 메모리 동작 명령을 실행하기 위한 수단을 포함할 수 있다.
방법(700)과 같은 방법 또는 방법들을 수행하기 위한 다른 장치가 설명된다. 장치는 제1 메모리 어레이, 제2 메모리 어레이, 제3 메모리 어레이, 및 시스템 온 칩(SoC) 또는 프로세서와 전자 통신하는 인터페이스 제어기를 포함할 수 있으며, 인터페이스 제어기는 SoC 또는 프로세서로부터, 비휘발성 메모리 셀을 포함할 수 있는 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하는데, 상기 제1 메모리 어레이가 제1 페이지 크기를 가지며, 메모리 동작 명령과 관련된 데이터가 SoC 또는 프로세서에 기초할 수 있는 제2 페이지 크기를 갖는 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하는데, 상기 결정이 제2 메모리 어레이에 저장된 하나 이상의 플래그에 기초할 수 있으며, 제1 메모리 어레이, 제2 메모리 어레이, 또는 인터페이스 제어기에 결합될 수 있고 휘발성 메모리 셀을 포함할 수 있는 제3 메모리 어레이에서 메모리 동작 명령을 실행하는데, 상기 메모리 동작 명령이 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장될 수 있는지의 여부를 결정하는 것에 기초하여 실행될 수 있도록 동작 가능할 수 있다.
본 명세서에 기술된 방법(700) 및 장치의 일부 예는 제1 메모리 어레이로부터의 유효 데이터를 저장하는 제2 메모리 어레이의 일부를 각각 나타낼 수 있는 하나 이상의 제1 플래그를 검출하거나, 제1 메모리 어레이와 다를 수 있는 데이터를 저장하는 제2 메모리 어레이의 일부를 나타낼 수 있는 하나 이상의 제2 플래그를 검출하거나, 또는 제1 플래그 중 하나 이상 및 제2 플래그 중 하나 이상을 검출하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다.
본 명세서에 기술된 방법(700) 및 장치의 일부 예에서, 메모리 동작 명령은 읽기 명령을 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장될 수 있다고 결정하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있으며, 제3 메모리 어레이는 적어도 부분적으로 제2 페이지 크기로 구성될 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장될 수 있다고 결정하는 것에 기초하여 제3 메모리 어레이로부터의 데이터를 페치하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다.
본 명세서에 기술된 방법(700) 및 장치의 일부 예는 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장될 수 있다고 결정하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있으며, 제3 메모리 어레이는 적어도 부분적으로 제2 페이지 크기로 구성될 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 SoC 또는 프로세서로부터 직접 제3 메모리 어레이에 액세스하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다.
본 명세서에 기술된 방법(700) 및 장치의 일부 예는 메모리 동작 명령과 관련된 데이터가 제2 메모리에 저장될 수 있다고 결정하는 것에 기초하여 제2 메모리 어레이로부터의 데이터를 페치하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다.
본 명세서에 기술된 방법(700) 및 장치의 일부 예는 메모리 동작 명령과 관련된 데이터가 제2 메모리에 저장될 수 있는지의 여부를 결정하는 것에 기초하여 제1 메모리 어레이로부터의 데이터를 페치하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 제2 메모리 어레이의 하나 이상의 부분에 저장된 유효 데이터를 나타내는 하나 이상의 제1 플래그를 업데이트하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다.
본 명세서에 기술된 방법(700) 및 장치의 일부 예에서, 메모리 동작 명령은 쓰기 명령을 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 제1 메모리 어레이와 다를 수 있는 데이터를 저장하는 제2 메모리 어레이의 부분을 나타내는 하나 이상의 제2 플래그를 업데이트하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다.
본 명세서에 기술된 방법(700) 및 장치의 일부 예에서, SoC 또는 프로세서로부터의 메모리 동작 명령은 시간 간격 동안 SoC 또는 프로세서에 의한 액세스 시도의 횟수에 기초하여 제2 메모리 어레이로부터 제1 메모리 어레이 또는 제3 메모리 어레이로 데이터를 쓰도록 하는 명령을 포함할 수 있다.
본 명세서에 설명된 방법(700) 및 장치의 일부 예는 임계값보다 작은 액세스 시도의 횟수에 기초하여 제1 메모리 어레이에 데이터를 저장하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예에서, 임계값은 시간적 값, 카운터의 값, 클록 중 적어도 하나, 또는 이들의 임의의 조합을 포함할 수 있다. 본 명세서에 기술된 방법(700) 및 장치의 일부 예는 임계값 이상인 액세스 시도의 횟수에 기초하여 제3 메모리 어레이에 데이터를 저장하기 위한 프로세스, 특징, 수단, 또는 명령을 더 포함할 수 있다.
일부 실시형태에서, 비휘발성 메모리 시스템 또는 서브 시스템을 위한 방법이 개시된다. 방법은 시스템 온 칩(SoC) 또는 프로세서로부터 인터페이스 제어기에서, 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하는 단계로서, 제1 메모리 어레이가 제1 페이지 크기를 갖는, 상기 단계; 메모리 동작 명령과 관련된 데이터가 SoC 또는 프로세서에 기초한 제2 페이지 크기를 갖는 제2 메모리 어레이에 저장되는지의 여부를 결정하는 단계로서, 상기 결정이 제2 메모리 어레이에 저장된 하나 이상의 플래그에 기초하는, 상기 단계; 및 제1 메모리 어레이, 제2 메모리 어레이, 또는 인터페이스 제어기와 결합되고 휘발성 메모리 셀을 포함하는 제3 메모리 어레이에서 상기 메모리 동작 명령을 실행하는 단계를 포함하며, 메모리 동작 명령은 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하는 것에 기초하여 실행된다.
일부 경우에, 제2 메모리 어레이, 제3 메모리 어레이, 및 인터페이스 제어기는 동일한 칩에 배치된다. 일부 경우에, 제2 페이지 크기는 구성 가능한 제1 페이지 크기의 상위 집합이다. 일부 경우에, 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하는 단계는 제1 메모리 어레이로부터의 유효 데이터를 저장하는 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제1 플래그를 검출하는 단계, 또는 제1 메모리 어레이와 다른 데이터를 저장하는 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제2 플래그를 검출하는 단계, 또는 제1 플래그 중 하나 이상 및 제2 플래그 중 하나 이상을 검출하는 단계를 포함한다.
일부 경우에, 메모리 동작 명령은 읽기 명령을 포함한다. 일부 경우에, 방법은 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장된다고 결정하는 단계를 더 포함할 수 있고, 제3 메모리 어레이는 적어도 부분적으로 제2 페이지 크기로 구성되며; 메모리 동작 명령을 실행하는 단계는 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하는 것에 기초하여 제3 메모리 어레이로부터의 데이터를 페치하는 단계, 및 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하는 단계를 포함한다. 일부 경우에, 방법은 메모리 동작 명령과 관련된 데이터가 제3 메모리 어레이에 저장된다고 결정하는 단계로서, 제3 메모리 어레이가 적어도 부분적으로 제2 페이지 크기로 구성되는, 상기 단계, 및 SoC 또는 프로세서로부터 직접 제3 메모리 어레이에 액세스하는 단계를 더 포함할 수 있다.
일부 경우에, 메모리 동작 명령을 실행하는 단계는 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장된다는 결정에 기초하여 제2 메모리 어레이로부터의 데이터를 페치하는 단계; 및 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하는 단계를 포함한다. 일부 경우에, 메모리 동작 명령을 실행하는 단계는 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하는 것에 기초하여 제1 메모리 어레이로부터의 데이터를 페치하는 단계, 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하는 단계, 제2 메모리 어레이의 하나 이상의 부분에 저장된 유효 데이터를 나타내는 하나 이상의 제1 플래그를 업데이트하는 단계, 및 데이터를 페치하는 것에 기초하여 SoC 또는 프로세서에 데이터를 전송하는 단계를 포함한다.
일부 경우에, 메모리 동작 명령은 쓰기 명령을 포함한다. 일부 경우에, 메모리 동작 명령을 실행하는 단계는 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하는 단계, 및 제1 메모리 어레이와 다른 데이터를 저장하는 제2 메모리 어레이의 부분을 나타내는 하나 이상의 제2 플래그를 업데이트하는 단계를 포함한다. 일부 경우에, SoC 또는 프로세서로부터의 메모리 동작 명령은 시간 간격 동안 SoC 또는 프로세서에 의한 액세스 시도의 횟수에 기초하여 제2 메모리 어레이로부터 제1 메모리 어레이 또는 제3 메모리 어레이로 데이터를 쓰도록 하는 명령을 포함한다. 일부 경우에, 메모리 동작 명령을 실행하는 단계는 임계값보다 작은 액세스 시도의 횟수에 기초하여 제1 메모리 어레이에 데이터를 저장하는 단계를 포함한다. 일부 경우에, 임계값은 시간적 값, 카운터의 값, 클록 중 적어도 하나, 또는 이들의 임의의 조합을 포함한다. 일부 경우에, 메모리 동작 명령을 실행하는 단계는 임계값 이상인 액세스 시도의 횟수에 기초하여 제3 메모리 어레이에 데이터를 저장하는 단계를 포함한다. 일부 경우에, 임계값은 시간적 값, 카운터의 값, 클록 중 적어도 하나, 또는 이들의 임의의 조합을 포함한다.
전술한 방법은 가능한 구현예를 설명하고, 동작 및 단계가 재배열되거나 그렇지 않으면 변경될 수 있고, 다른 구현예가 가능하다는 것을 유의해야 한다. 또한, 방법 중 2개 이상으로부터의 특징은 조합될 수 있다.
본 명세서에 기술된 정보 및 신호는 다양한 다른 과학 기술 및 기술 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 상기 설명 전반에 걸쳐 언급될 수 있는 데이터, 지시, 명령, 정보, 신호, 비트, 부호 및 칩은 전압, 전류, 전자파, 자기장 또는 입자, 광학장 또는 입자, 또는 임의의 조합으로 표현될 수 있다. 일부 도면은 단일 신호로서 신호를 도시할 수 있으며; 그러나, 신호가 신호의 버스를 나타낼 수 있으며, 버스는 다양한 비트 폭을 가질 수 있다는 것을 당업자는 이해할 것이다.
본원에서 사용되는 용어 "가상 접지"는 대략 0 볼트(0 V)의 전압에서 유지되지만 접지와 직접 연결되지 않은 전기 회로의 노드를 지칭한다. 따라서, 가상 접지의 전압은 일시적으로 변동되고, 정상 상태에서 약 0 V로 복귀할 수 있다. 가상 접지는 연산 증폭기 및 저항기로 이루어진 전압 분배기와 같은 다양한 전자 회로 소자를 사용하여 구현될 수 있다. 다른 구현예가 또한 가능하다. "가상 접지" 또는 "가상으로 접지된"은 약 0 V에 연결된 것을 의미한다.
용어 "전자 통신" 및 "결합된"은 컴포넌트 사이의 전자 흐름을 지원하는 컴포넌트 사이의 관계를 지칭한다. 이러한 것은 컴포넌트 사이의 직접적인 연결을 포함할 수 있거나, 또는 중간 컴포넌트를 포함할 수 있다. 전자 통신하거나 또는 서로 결합된 컴포넌트는 전자 또는 신호를 능동적으로 교환할 수 있거나(예를 들어, 통전된 회로에서), 또는 전자 또는 신호를 능동적으로 교환할 수 없지만(예를 들어, 무 통전된 회로에서) 회로가 통전될 때 전자 또는 신호를 교환하도록 구성되고 동작 가능할 수 있다. 예로서, 스위치(예를 들어, 트랜지스터)를 통해 물리적으로 연결된 2개의 컴포넌트는 전자 통신 중이거나 또는 스위치의 상태(즉, 개방 또는 폐쇄)에 관계없이 결합될 수 있다.
본 명세서에서 논의된 트랜지스터 또는 트랜지스터들은 전계 효과 트랜지스터(FET)를 나타낼 수 있고, 소스, 드레인 및 게이트를 포함하는 3단자 디바이스를 포함할 수 있다. 단자는 전도성 재료, 예를 들어 금속을 통해 다른 전자 소자에 연결될 수 있다. 소스 및 드레인은 전도성일 수 있고, 고농도로 도핑된, 예를 들어 악화된 반도체 영역을 포함할 수 있다. 소스 및 드레인은 저농도로 도핑된 반도체 영역 또는 채널에 의해 분리될 수 있다. 채널이 n-형이면(즉, 다수의 캐리어가 전자이면), FET는 n-형 FET로서 지칭될 수 있다. 채널이 p-형이면(즉, 다수의 캐리어가 정공이면), FET는 p-형 FET로서 지칭될 수 있다. 채널은 절연 게이트 산화물에 의해 캡핑될 수 있다. 채널 전도성은 게이트에 전압을 인가하는 것에 의해 제어될 수 있다. 예를 들어, 양의 전압 또는 음의 전압을 각각 n-형 FET 또는 p-형 FET에 인가하는 것은 전도성으로 되는 채널을 유발할 수 있다. 트랜지스터의 문턱 전압 이상의 전압이 트랜지스터 게이트에 인가될 때, 트랜지스터는 "온" 또는 "활성화"될 수 있다. 트랜지스터의 문턱 전압보다 낮은 전압이 트랜지스터 게이트에 인가될 때, 트랜지스터는 "오프" 또는 "비활성화"될 수 있다.
첨부된 도면과 관련하여 본 명세서에 기술된 설명은 예시적인 구성을 설명하고, 구현될 수 있거나 청구범위의 범의 내에 있는 모든 예를 나타내지 않는다. 본 명세서에서 사용된 용어 "예시적인"은 "예, 실례 또는 예시로서 역할을 하는"을 의미하며, "바람직한" 또는 "다른 예보다 유익한"것은 아니다. 상세한 설명은 설명된 기술의 이해를 제공하는 목적을 위한 특정 세부 사항을 포함한다. 그러나, 이들 기술은 이들 특정 세부 사항없이 실시될 수 있다. 일부 예에서, 널리 공지된 구조 및 디바이스는 설명된 예의 개념을 모호하게 하는 것을 피하기 위해 블록도 형태로 도시된다.
첨부된 도면에서, 유사한 컴포넌트 또는 특징은 동일한 도면 부호를 가질 수 있다. 또한, 동일한 유형의 다양한 컴포넌트는 유사한 컴포넌트를 구별하는 대시 및 제2 도면 부호가 도면 부호를 따르는 것에 의해 식별될 수 있다. 명세서에서 제1 도면 부호만이 사용되면, 설명은 제2 도면 부호에 상관없이 동일한 제1 도면 부호를 갖는 유사한 컴포넌트 중 어느 하나에 적용될 수 있다.
본 명세서에 기술된 정보 및 신호는 다양한 상이한 과학 기술 및 기술 중 임의의 것을 사용하여 표현될 수 있다. 예를 들어, 상기 설명의 전반에 걸쳐서 언급될 수 있는 데이터, 지시, 명령, 정보, 신호, 비트, 부호 및 칩은 전압, 전류, 전자파, 자기장 또는 입자, 광학장 또는 입자, 또는 이들의 임의의 조합으로 표현될 수 있다.
본 명세서의 개시내용과 관련하여 설명된 다양한 예시적인 블록 및 모듈은 범용 프로세서, DSP, ASIC, FPGA 또는 다른 프로그램 가능 논리 디바이스, 이산 게이트 또는 트랜지스터 논리, 이산 하드웨어 컴포넌트, 또는 본 명세서에서 설명된 기능을 수행하도록 설계된 이들의 임의의 조합으로 구현되거나 또는 수행될 수 있다. 범용 프로세서는 마이크로 프로세서일 수 있지만, 대안적으로, 프로세서는 임의의 종래의 프로세서, 제어기, 마이크로 제어기, 또는 상태 머신일 수 있다. 프로세서는 또한 컴퓨팅 디바이스의 조합(예를 들어, 디지털 신호 처리기(DSP) 및 마이크로 프로세서, 다중 마이크로 프로세서, DSP 코어와 관련된 하나 이상의 마이크로 프로세서, 또는 임의의 다른 구성의 조합)으로 구현될 수 있다.
본 명세서에 설명된 기능은 하드웨어, 프로세서에 의해 실행되는 소프트웨어, 펌웨어 또는 이들의 임의의 조합으로 구현될 수 있다. 프로세서에 의해 실행되는 소프트웨어에서 구현되면, 기능은 컴퓨터 판독 가능 매체 상에 하나 이상의 명령 또는 코드로서 저장되거나 전송될 수 있다. 다른 예 및 구현예는 본 개시내용 및 첨부된 청구범위 내에 있다. 예를 들어, 소프트웨어의 특성으로 인해, 전술한 기능은 프로세서에서 실행되는 소프트웨어, 하드웨어, 펌웨어, 하드 와이어링 또는 이들의 임의의 조합을 사용하여 구현될 수 있다. 기능을 구현하는 특징은 기능의 일부가 상이한 물리적 위치에서 구현되도록 분산되는 것을 포함하는 다양한 위치에 물리적으로 위치될 수 있다. 또한, 청구범위를 포함하여 본 명세서에서 사용된 바와 같이, 물품의 목록(예를 들어, "그 중 적어도 하나" 또는 "그 중 하나 이상"과 같은 구문이 앞에 붙은 물품의 목록)에서 사용되는 "또는"은 예를 들어, A, B 또는 C 중 적어도 하나의 물품이 A 또는 B 또는 C 또는 AB 또는 AC 또는 BC 또는 ABC(즉, A 및 B 및 C)를 의미하도록 포괄적인 목록을 나타낸다. 또한, 본 명세서에서 사용된 어구 "에 기초하는"은 조건의 폐쇄된 세트에 대한 언급으로서 해석되지 않아야 한다. 예를 들어, "조건 A에 기초하여"로서 기술된 예시적인 단계는 본 개시내용의 범위를 벗어남이 없이 조건 A 및 조건 B 모두에 기초할 수 있다. 다시 말해서, 본 명세서에 사용된 "에 기초하여"라는 문구는 "에 기초한"이라는 문구와 동일한 방식으로 해석되어야 한다.
컴퓨터 판독 가능 매체는 비일시적 컴퓨터 저장 매체, 및 한 장소에서 다른 장소로 컴퓨터 프로그램의 전송을 용이하게 하는 임의의 매체를 포함하는 통신 매체 모두를 포함한다. 비일시적 저장 매체는 범용 또는 특수 목적 컴퓨터에 의해 액세스될 수 있는 임의의 이용 가능한 매체일 수 있다. 예로서, 제한없이, 비일시적 컴퓨터 판독 가능 매체는 RAM, ROM, 전기적으로 소거 가능한 프로그램 가능 읽기 전용 메모리(EEPROM), 콤팩트 디스크(CD) ROM 또는 다른 광 디스크 저장 장치, 자기 디스크 저장 장치 또는 다른 자기 저장 디바이스, 또는 명령 또는 데이터 구조의 형태를 하는 필요한 프로그램 코드 수단을 운반 또는 저장하도록 사용될 수 있고, 범용 또는 특수 목적 컴퓨터, 또는 범용 또는 특수 목적 프로세서에 의해 액세스될 수 있는 임의의 다른 비일시적 매체를 포함할 수 있다. 또한, 모든 연결은 컴퓨터 판독 가능 매체로 적절히 지칭된다. 예를 들어 소프트웨어가 동축 케이블, 광섬유 케이블, 트위스트 페어(twisted pair), 디지털 가입자 라인(Digital Subscriber Line, DSL) 또는 적외선, 무선 및 마이크로파와 같은 무선 기술을 사용하여 웹 사이트, 서버 또는 기타 원격 소스로부터 전송되면, 동축 케이블, 광섬유 케이블, 트위스트 페어 디지털 가입자 라인(DSL) 또는 적외선, 라디오 및 마이크로파와 같은 무선 기술이 매체의 정의에 포함된다. 본 명세서에서 사용되는 디스크(Disk) 및 디스크(disc)는 CD, 레이저 디스크, 광 디스크, 디지털 다목적 디스크(DVD), 플로피 디스크 및 디스크가 통상적으로 자기적으로 데이터를 재생하는 블루 레이 디스크를 포함하는 반면에, 디스크(disc)는 레이저를 이용하여 광학적으로 데이터를 재생한다. 상기의 조합은 또한 컴퓨터 판독 가능 매체의 범위 내에 포함된다.
본 명세서의 설명은 당업자가 본 개시내용을 만들거나 사용하는 것을 가능하게 하도록 제공된다. 본 개시내용에 대한 다양한 변경은 당업자에게 명백할 것이며, 본 명세서에 정의된 일반적인 원리는 본 개시내용의 범위를 벗어남이 없이 다른 변형에 적용될 수 있다. 그러므로, 본 개시내용은 본 명세서에 설명된 예 및 설계로 제한되지 않고, 본 명세서에 개시된 원리 및 신규한 특징과 일치하는 가장 넓은 범위에 따라야 한다.
Claims (50)
- 장치로서,
제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이;
상기 제1 메모리 어레이와 결합되고, 시스템 온 칩(system on a chip: SoC) 또는 프로세서와 인터페이스로 접속하도록 구성되는 제1 제어기; 및
상기 제1 제어기를 통하여 상기 제1 메모리 어레이와 결합되고, 상기 SoC 또는 프로세서와 관련된 제2 페이지 크기에 적어도 부분적으로 기초하여 데이터를 저장하도록 구성된 제2 메모리 어레이를 포함하며, 상기 제2 페이지 크기는 상기 제1 페이지 크기의 상위 집합인, 장치. - 제1항에 있어서, 상기 제1 페이지 크기는 구성 가능한, 장치.
- 제1항에 있어서,
상기 제1 제어기와 결합되는 제3 메모리 어레이를 더 포함하되, 상기 제3 메모리 어레이는 적어도 부분적으로 상기 제2 페이지 크기로 구성되는, 장치. - 제3항에 있어서, 상기 제2 메모리 어레이, 상기 제3 메모리 어레이 및 상기 제1 제어기는 동일한 칩에 배치되는, 장치.
- 제3항에 있어서, 상기 제3 메모리 어레이는 상기 SoC 또는 프로세서에 결합되는, 장치.
- 제5항에 있어서, 상기 제3 메모리 어레이는 상기 SoC 또는 프로세서 위에 가로놓이는, 장치.
- 제3항에 있어서, 상기 제3 메모리 어레이는 휘발성 메모리 셀을 포함하는, 장치.
- 제3항에 있어서, 상기 제1 메모리 어레이 및 상기 제3 메모리 어레이는 제1 칩에 배치되는, 장치.
- 제3항에 있어서, 상기 제1 메모리 어레이는 상기 제3 메모리 어레이를 포함하는, 장치.
- 제1항에 있어서, 상기 제1 메모리 어레이, 상기 제1 제어기, 및 상기 제2 메모리 어레이는 제1 칩에 배치되는, 장치.
- 제10항에 있어서,
SoC 또는 프로세서를 더 포함하되, 상기 SoC 또는 프로세서는 상기 제1 제어기를 통해 상기 제1 메모리 어레이와 결합되고, 상기 SoC 또는 프로세서는 상기 제1 칩과 별개인 제2 칩에 배치되는, 장치. - 제1항에 있어서,
상기 SoC 또는 프로세서와 결합된 비휘발성 메모리 셀을 포함하는 추가 메모리 어레이를 더 포함하는, 장치. - 제12항에 있어서, 상기 추가 메모리 어레이는 상기 SoC 또는 프로세서와 결합된 제1 그룹의 비휘발성 메모리 셀, 및 상기 제1 그룹의 비휘발성 메모리 셀를 통해 상기 SoC 또는 프로세서와 결합된 제2 그룹의 비휘발성 메모리 셀을 포함하는, 장치.
- 제1항에 있어서, 상기 SoC 또는 프로세서는 상기 SoC 또는 프로세서에 있는 캐시 메모리로서 구성되는 로컬 메모리 어레이를 포함하는, 장치.
- 제1항에 있어서,
상기 제1 메모리 어레이와 결합되고 상기 제1 메모리 어레이와 동일한 칩에 배치되는 제2 제어기를 더 포함하되, 상기 제2 제어기는 상기 제1 메모리 어레이에 대한 제1 페이지 크기를 결정하도록 구성되는, 장치. - 제15항에 있어서, 상기 제2 메모리 어레이는 상기 제1 메모리 어레이의 제1 페이지 크기에 따라서 데이터를 저장하도록 구성되는, 장치.
- 제15항에 있어서, 상기 제2 메모리 어레이는 상기 제1 메모리 어레이로부터의 유효 데이터를 저장하는 상기 제2 메모리 어레이의 하나 이상의 부분을 나타내는 제1 플래그를 저장하도록 구성되는, 장치.
- 제15항에 있어서, 상기 제2 메모리 어레이는 상기 제1 메모리 어레이와 다른 데이터를 저장하는 상기 제2 메모리 어레이의 하나 이상의 부분을 나타내는 제2 플래그를 저장하도록 구성되는, 장치.
- 제1항에 있어서, 상기 제1 제어기는 제2 메모리 어레이를 포함하며, 상기 제1 제어기 및 상기 제2 메모리 어레이는 동일한 칩에 배치되는, 장치.
- 장치로서,
제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이;
상기 제1 메모리 어레이와 결합되고, 시스템 온 칩(SoC) 또는 프로세서와 인터페이스로 접속하도록 구성된 로컬 제어기;
상기 로컬 제어기와 결합되고, 상기 제1 페이지 크기의 상위 집합인 제2 페이지 크기에 적어도 부분적으로 기초하여 데이터를 저장하도록 구성되는 제2 메모리 어레이; 및
상기 로컬 제어기와 결합되고, 적어도 부분적으로 상기 제2 페이지 크기에 따라서 데이터를 저장하도록 구성되는 제3 메모리 어레이를 포함하는, 장치. - 제20항에 있어서, 상기 제2 페이지 크기는 상기 SoC 또는 프로세서와 관련되는, 장치.
- 제20항에 있어서, 상기 제3 메모리 어레이는 SoC 또는 프로세서에 결합되는, 장치.
- 장치로서,
제1 페이지 크기를 갖는 비휘발성 메모리 셀를 포함하는 제1 메모리 어레이와 관련되는 인터페이스 제어기;
상기 인터페이스 제어기와 결합된 시스템 온 칩(SoC) 또는 프로세서;
상기 인터페이스 제어기를 통해 상기 제1 메모리 어레이와 결합되고, 상기 SoC 또는 프로세서와 관련된 제2 페이지 크기에 적어도 부분적으로 기초하여 데이터를 저장하도록 구성되는 제2 메모리 어레이로서, 상기 제2 페이지 크기가 상기 제1 페이지 크기의 상위 집합인, 상기 제2 메모리 어레이; 및
상기 인터페이스 제어기, 상기 SoC 또는 프로세서, 또는 상기 제2 메모리 어레이 중 적어도 하나, 또는 이들의 임의의 조합과 결합되는 하나 이상의 버스를 포함하는, 장치. - 제23항에 있어서,
상기 하나 이상의 버스에 결합된 하나 이상의 컴포넌트를 더 포함하되, 상기 하나 이상의 컴포넌트는,
입출력(I/O) 제어기;
주변 컴포넌트; 또는
기본 입출력 시스템(basic input output system: BIOS) 컴포넌트 또는 보드 지원 패키지(board support package: BSP); 또는
이들의 임의의 조합 중 적어도 하나를 포함하는, 장치. - 제24항에 있어서,
상기 하나 이상의 버스에 결합된 직접 메모리 액세스 제어기(direct memory access controller: DMAC); 및
상기 하나 이상의 버스를 통해 상기 인터페이스 제어기에 결합된 제3 메모리 어레이를 더 포함하되, 상기 제3 메모리 어레이는 휘발성 메모리 셀을 포함하는, 장치. - 제25항에 있어서,
상기 하나 이상의 버스를 통해 상기 SoC 또는 프로세서와 결합되는 제4 메모리 어레이를 더 포함하되, 상기 제4 메모리 어레이는 비휘발성 메모리 셀을 포함하는, 장치. - 방법으로서,
시스템 온 칩(SoC) 또는 프로세서로부터 인터페이스 제어기에서, 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하는 단계로서, 상기 제1 메모리 어레이가 제1 페이지 크기를 갖는, 상기 메모리 동작 명령을 수신하는 단계;
상기 메모리 동작 명령과 관련된 데이터가 상기 SoC 또는 프로세서에 적어도 기초한 제2 페이지 크기를 갖는 제2 메모리 어레이에 저장되는지의 여부를 결정하는 단계로서, 상기 결정은 상기 제2 메모리 어레이에 저장된 하나 이상의 플래그에 적어도 부분적으로 기초하는, 상기 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하는 단계; 및
상기 제1 메모리 어레이, 제2 메모리 어레이, 또는 상기 인터페이스 제어기와 결합되고 휘발성 메모리 셀을 포함하는 제3 메모리 어레이에서 상기 메모리 동작 명령을 실행하는 단계로서, 상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장되는지의 여부의 결정에 기초하여 상기 메모리 동작 명령이 실행되는, 상기 상기 메모리 동작 명령을 실행하는 단계를 포함하는, 방법. - 제27항에 있어서, 상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에서 저장되는지의 여부를 결정하는 단계는,
상기 제1 메모리 어레이로부터의 유효 데이터를 저장하는 상기 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제1 플래그를 검출하는 단계; 또는
상기 제1 메모리 어레이와 다른 데이터를 저장하는 상기 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제2 플래그를 검출하는 단계; 또는
상기 제1 플래그 중 하나 이상 및 상기 제2 플래그 중 하나 이상을 검출하는 단계를 포함하는, 방법. - 제28항에 있어서, 상기 메모리 동작 명령은 읽기 명령을 포함하는, 방법.
- 제29항에 있어서,
상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하는 단계를 더 포함하되, 상기 제3 메모리 어레이는 적어도 부분적으로 상기 제2 페이지 크기로 구성되며,
상기 메모리 동작 명령을 실행하는 단계는,
상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하는 것에 적어도 부분적으로 기초하여 상기 제3 메모리 어레이로부터의 데이터를 페치하는 단계; 및
상기 데이터를 페치하는 것에 적어도 부분적으로 기초하여 상기 SoC 또는 프로세서에 데이터를 전송하는 단계를 포함하는, 방법. - 제29항에 있어서,
상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하는 단계로서, 상기 제3 메모리 어레이는 적어도 부분적으로 상기 제2 페이지 크기로 구성되는, 상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하는 단계; 및
상기 SoC 또는 프로세서로부터 직접 상기 제3 메모리 어레이에 액세스하는 단계를 더 포함하는, 방법. - 제29항에 있어서, 상기 메모리 동작 명령을 실행하는 단계는,
상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장된다고 결정하는 것에 적어도 부분적으로 기초하여 상기 제2 메모리 어레이로부터의 데이터를 페치하는 단계; 및
데이터를 페치하는 것에 적어도 부분적으로 기초하여 상기 SoC 또는 프로세서에 데이터를 전송하는 단계를 포함하는, 방법. - 제29항에 있어서, 상기 메모리 동작 명령을 실행하는 단계는,
상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장되었는지의 여부를 결정하는 것에 적어도 부분적으로 기초하여 상기 제1 메모리 어레이로부터의 데이터를 페치하는 단계;
상기 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하는 단계;
상기 제2 메모리 어레이의 하나 이상의 부분에 저장된 유효 데이터를 나타내는 하나 이상의 제1 플래그를 업데이트하는 단계; 및
데이터를 페치하는 것에 적어도 부분적으로 기초하여 상기 SoC 또는 프로세서에 데이터를 전송하는 단계를 포함하는, 방법. - 제28항에 있어서, 상기 메모리 동작 명령은 쓰기 명령을 포함하는, 방법.
- 제34항에 있어서, 상기 메모리 동작 명령을 실행하는 단계는,
상기 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하는 단계; 및
상기 제1 메모리 어레이와 다른 데이터를 저장하는 상기 제2 메모리 어레이의 부분을 나타내는 하나 이상의 제2 플래그를 업데이트하는 단계를 포함하는, 방법. - 제27항에 있어서, 상기 SoC 또는 프로세서로부터의 메모리 동작 명령은 시간 간격 동안 상기 SoC 또는 프로세서에 의한 액세스 시도의 횟수에 적어도 부분적으로 기초하여 상기 제2 메모리 어레이로부터 상기 제1 메모리 어레이 또는 상기 제3 메모리 어레이에 데이터를 쓰도록 하는 명령을 포함하는, 방법.
- 제36항에 있어서, 상기 메모리 동작 명령을 실행하는 단계는,
임계값보다 작은 액세스 시도의 횟수에 적어도 부분적으로 기초하여 상기 제1 메모리 어레이에 데이터를 저장하는 단계를 포함하는, 방법. - 제37항에 있어서, 상기 임계값은 시간적 값, 카운터의 값, 클록 중 적어도 하나, 또는 이들의 임의의 조합을 포함하는, 방법.
- 제36항에 있어서, 상기 메모리 동작 명령을 실행하는 단계는,
상기 임계값 이상인 액세스 시도의 횟수에 적어도 부분적으로 기초하여 상기 제3 메모리 어레이에 데이터를 저장하는 단계를 포함하는, 방법. - 전자 메모리 장치로서,
시스템 온 칩(SoC) 또는 프로세서로부터 인터페이스 제어기에서, 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하기 위한 수단으로서, 상기 제1 메모리 어레이는 제1 페이지 크기를 갖는, 상기 메모리 동작 명령을 수신하기 위한 수단;
상기 메모리 동작 명령과 관련된 데이터가 상기 SoC 또는 프로세서에 적어도 부분적으로 기초한 제2 페이지 크기를 갖는 제2 메모리 어레이에 저장되는지의 여부를 결정하기 위한 수단으로서, 상기 결정은 상기 제2 메모리 어레이에 저장된 하나 이상의 플래그에 적어도 부분적으로 기초하는, 상기 상기 메모리 동작 명령과 관련된 데이터가 저장되는지의 여부를 결정하기 위한 수단; 및
상기 제1 메모리 어레이, 상기 제2 메모리 어레이, 또는 상기 인터페이스 제어기와 결합되고 휘발성 메모리 셀을 포함하는 제3 메모리 어레이에서 상기 메모리 동작 명령을 실행하기 위한 수단을 포함하되, 상기 메모리 동작 명령은 상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장되는지의 여부를 결정하는 것에 적어도 부분적으로 기초하여 실행되는, 전자 메모리 장치. - 제40항에 있어서,
상기 제1 메모리 어레이로부터의 유효 데이터를 저장하는 상기 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제1 플래그를 검출하기 위한 수단; 또는
상기 제1 메모리 어레이와 다른 데이터를 저장하는 상기 제2 메모리 어레이의 일부를 각각 나타내는 하나 이상의 제2 플래그를 검출하기 위한 수단; 또는
상기 제1 플래그 중 하나 이상 및 상기 제2 플래그 중 하나 이상을 검출하기 위한 수단을 더 포함하는, 전자 메모리 장치. - 제40항에 있어서,
상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하기 위한 수단을 더 포함하되, 상기 제3 메모리 어레이는 적어도 부분적으로 제2 페이지 크기로 구성되며;
상기 메모리 동작 명령을 실행하기 위한 수단은,
상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다는 결정에 적어도 부분적으로 기초하여 상기 제3 메모리 어레이로부터의 데이터를 페치하기 위한 수단; 및
상기 데이터를 페치하는 것에 적어도 부분적으로 기초하여 상기 SoC 또는 프로세서에 데이터를 전송하기 위한 수단을 포함하는, 전자 메모리 장치. - 제40항에 있어서,
상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하기 위한 수단으로서, 상기 제3 메모리 어레이는 적어도 부분적으로 제2 페이지 크기로 구성되는, 상기 메모리 동작 명령과 관련된 데이터가 상기 제3 메모리 어레이에 저장된다고 결정하기 위한 수단; 및
상기 SoC 또는 프로세서로부터 직접 상기 제3 메모리 어레이에 액세스하기 위한 수단을 더 포함하는, 전자 메모리 장치. - 제40항에 있어서,
상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장된다고 결정하는 것에 적어도 부분적으로 기초하여 상기 제2 메모리 어레이로부터의 데이터를 페치하기 위한 수단; 및
데이터를 페치하는 것에 적어도 부분적으로 기초하여 상기 SoC 또는 프로세서에 데이터를 전송하기 위한 수단을 더 포함하는, 전자 메모리 장치. - 제41항에 있어서,
상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장되는지의 여부를 결정하는 것에 적어도 부분적으로 기초하여 상기 제1 메모리 어레이로부터의 데이터를 페치하기 위한 수단;
상기 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하기 위한 수단;
상기 제2 메모리 어레이의 하나 이상의 부분에 저장된 유효 데이터를 나타내는 하나 이상의 제1 플래그를 업데이트하기 위한 수단; 및
데이터를 페치하는 것에 적어도 부분적으로 기초하여 상기 SoC 또는 프로세서에 데이터를 전송하기 위한 수단을 더 포함하는, 전자 메모리 장치. - 제41항에 있어서,
상기 제2 메모리 어레이의 하나 이상의 부분에 데이터를 저장하기 위한 수단; 및
상기 제1 메모리 어레이와 다른 데이터를 저장하는 상기 제2 메모리 어레이의 부분을 나타내는 하나 이상의 제2 플래그를 업데이트하기 위한 수단을 더 포함하는, 전자 메모리 장치. - 제40항에 있어서,
시간 간격 동안 임계값보다 작은 상기 SoC 또는 프로세서에 의한 액세스 시도의 횟수에 적어도 부분적으로 기초하여 상기 제1 메모리 어레이에 데이터를 저장하기 위한 수단을 더 포함하는, 전자 메모리 장치. - 제40항에 있어서,
시간 간격 동안 임계값 이상인 상기 SoC 또는 프로세서에 의한 액세스 시도의 횟수에 적어도 부분적으로 기초하여 상기 제3 메모리 어레이에 데이터를 저장하기 위한 수단을 더 포함하는, 전자 메모리 장치. - 장치로서,
제1 페이지 크기를 갖는 비휘발성 메모리 셀을 포함하는 제1 메모리 어레이;
시스템 온 칩(SoC) 또는 프로세서와 관련된 제2 페이지 크기에 적어도 부분적으로 기초하여 데이터를 저장하도록 구성되는 제2 메모리 어레이로서, 상기 제2 페이지 크기는 상기 제1 페이지 크기의 상위 집합인, 상기 제2 메모리 어레이;
적어도 부분적으로 상기 제2 페이지 크기로 구성된, 휘발성 메모리 셀을 포함하는 제3 메모리 어레이; 및
상기 SoC 또는 프로세서, 상기 제1 메모리 어레이, 상기 제2 메모리 어레이, 및 상기 제3 메모리 어레이와 인터페이스로 접속되도록 구성된 제어기를 포함하되; 상기 제어기는,
상기 SoC 또는 프로세서로부터, 상기 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하고;
상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장되는지의 여부를 결정하되, 상기 결정은 상기 제2 메모리 어레이에 저장된 하나 이상의 플래그에 적어도 부분적으로 기초하고; 그리고
상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장되는지의 여부의 결정에 적어도 부분적으로 기초하여 상기 제1 메모리 어레이 또는 상기 제2 메모리 어레이에서 상기 메모리 동작 명령을 실행하도록 동작 가능한, 장치. - 전자 메모리 장치로서,
SoC 또는 프로세서로부터, 제1 메모리 어레이에 액세스하기 위한 메모리 동작 명령을 수신하기 위한 수단;
상기 메모리 동작 명령과 관련된 데이터가 제2 메모리 어레이에 저장되는지의 여부를 결정하기 위한 수단으로서, 상기 결정은 상기 제2 메모리 어레이에 저장된 하나 이상의 플래그에 적어도 부분적으로 기초하는, 상기 메모리 동작 명령과 관련된 데이터가 저장되는지의 여부를 결정하기 위한 수단; 및
상기 메모리 동작 명령과 관련된 데이터가 상기 제2 메모리 어레이에 저장되는지의 여부의 결정에 적어도 부분적으로 기초하여 상기 제1 메모리 어레이 또는 상기 제2 메모리 어레이에서 상기 메모리 동작 명령을 실행하기 위한 수단을 포함하는, 전자 메모리 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/630,330 US10845866B2 (en) | 2017-06-22 | 2017-06-22 | Non-volatile memory system or sub-system |
US15/630,330 | 2017-06-22 | ||
PCT/US2018/037480 WO2018236663A1 (en) | 2017-06-22 | 2018-06-14 | NON-VOLATILE MEMORY SYSTEM OR SUBSYSTEM |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200008047A true KR20200008047A (ko) | 2020-01-22 |
KR102324703B1 KR102324703B1 (ko) | 2021-11-11 |
Family
ID=64693163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207001303A KR102324703B1 (ko) | 2017-06-22 | 2018-06-14 | 비휘발성 메모리 시스템 또는 서브 시스템 |
Country Status (7)
Country | Link |
---|---|
US (3) | US10845866B2 (ko) |
EP (1) | EP3642723A4 (ko) |
JP (2) | JP2020524849A (ko) |
KR (1) | KR102324703B1 (ko) |
CN (1) | CN110799954B (ko) |
TW (2) | TWI693603B (ko) |
WO (1) | WO2018236663A1 (ko) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11210019B2 (en) | 2017-08-23 | 2021-12-28 | Micron Technology, Inc. | Memory with virtual page size |
US10394456B2 (en) * | 2017-08-23 | 2019-08-27 | Micron Technology, Inc. | On demand memory page size |
US10691345B2 (en) * | 2017-09-29 | 2020-06-23 | Intel Corporation | Systems, methods and apparatus for memory access and scheduling |
US11010092B2 (en) | 2018-05-09 | 2021-05-18 | Micron Technology, Inc. | Prefetch signaling in memory system or sub-system |
US10942854B2 (en) | 2018-05-09 | 2021-03-09 | Micron Technology, Inc. | Prefetch management for memory |
US10754578B2 (en) | 2018-05-09 | 2020-08-25 | Micron Technology, Inc. | Memory buffer management and bypass |
US10714159B2 (en) | 2018-05-09 | 2020-07-14 | Micron Technology, Inc. | Indication in memory system or sub-system of latency associated with performing an access command |
KR102519572B1 (ko) * | 2018-05-11 | 2023-04-07 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
KR20200126678A (ko) | 2019-04-30 | 2020-11-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
KR20200124045A (ko) | 2019-04-23 | 2020-11-02 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
US11404097B2 (en) | 2018-12-11 | 2022-08-02 | SK Hynix Inc. | Memory system and operating method of the memory system |
US11139010B2 (en) * | 2018-12-11 | 2021-10-05 | SK Hynix Inc. | Memory system and operating method of the memory system |
KR20200137548A (ko) | 2019-05-30 | 2020-12-09 | 에스케이하이닉스 주식회사 | 메모리 장치 및 이의 테스트 동작 방법 |
KR20200126666A (ko) | 2019-04-30 | 2020-11-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 그것의 동작 방법 |
CN110291586B (zh) * | 2019-05-17 | 2020-10-30 | 长江存储科技有限责任公司 | 具有静态随机存取存储器的三维存储器件的高速缓存程序操作 |
KR102631812B1 (ko) | 2019-05-17 | 2024-01-30 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 정적 랜덤 액세스 메모리가 있는 3차원 메모리 디바이스 |
US11232838B2 (en) | 2020-01-24 | 2022-01-25 | Taiwan Semiconductor Manufacturing Company, Ltd. | Ferroelectric FET-based content addressable memory |
US11908505B2 (en) | 2020-01-24 | 2024-02-20 | Taiwan Semiconductor Manufacturing Company, Ltd. | Ferroelectric FET-based content addressable memory |
TWI763266B (zh) * | 2020-01-24 | 2022-05-01 | 台灣積體電路製造股份有限公司 | 記憶體裝置、資料處理裝置及資料處理方法 |
US11586557B2 (en) * | 2020-08-26 | 2023-02-21 | Micron Technology, Inc. | Dynamic allocation of buffers for eviction procedures |
US20220197537A1 (en) * | 2020-12-18 | 2022-06-23 | Micron Technology, Inc. | Object management in tiered memory systems |
CN112632073B (zh) * | 2020-12-24 | 2024-06-04 | 第四范式(北京)技术有限公司 | 一种时序特征数据表的存储方法及装置 |
US12038855B2 (en) * | 2022-02-09 | 2024-07-16 | Qualcomm Incorporated | Memory system with adaptive refresh |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040141374A1 (en) * | 2003-01-21 | 2004-07-22 | Nexflash Technologies, Inc. | Nonvolatile memory integrated circuit having volatile utility and buffer memories, and method of operation thereof |
US20080209112A1 (en) * | 1999-08-04 | 2008-08-28 | Super Talent Electronics, Inc. | High Endurance Non-Volatile Memory Devices |
US20120151127A1 (en) * | 2010-12-14 | 2012-06-14 | Sun-Young Lim | Method of storing data in a storing device including a volatile memory device |
Family Cites Families (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04195563A (ja) * | 1990-11-28 | 1992-07-15 | Mitsubishi Electric Corp | メモリシステムの制御装置 |
JP3132677B2 (ja) * | 1991-07-23 | 2001-02-05 | キヤノン株式会社 | 情報記録再生方法 |
JPH08137753A (ja) * | 1994-11-07 | 1996-05-31 | Fuji Xerox Co Ltd | ディスクキャッシュ装置 |
JPH11203200A (ja) * | 1998-01-12 | 1999-07-30 | Sony Corp | 並列プロセッサおよびメモリ制御方法 |
US20020041658A1 (en) * | 1998-06-04 | 2002-04-11 | Alva Henderson | Variable word length data memory |
US7752380B2 (en) * | 2003-07-31 | 2010-07-06 | Sandisk Il Ltd | SDRAM memory device with an embedded NAND flash controller |
KR100606242B1 (ko) * | 2004-01-30 | 2006-07-31 | 삼성전자주식회사 | 불휘발성 메모리와 호스트간에 버퍼링 동작을 수행하는멀티 포트 휘발성 메모리 장치, 이를 이용한 멀티-칩패키지 반도체 장치 및 이를 이용한 데이터 처리장치 |
US8244971B2 (en) * | 2006-07-31 | 2012-08-14 | Google Inc. | Memory circuit system and method |
US7716411B2 (en) * | 2006-06-07 | 2010-05-11 | Microsoft Corporation | Hybrid memory device with single interface |
JP2008041080A (ja) * | 2006-07-10 | 2008-02-21 | Hitachi Ltd | 記憶制御システム、記憶制御システムの制御方法、ポートセレクタ、及びコントローラ |
US20080046630A1 (en) * | 2006-08-21 | 2008-02-21 | Sandisk Il Ltd. | NAND flash memory controller exporting a logical sector-based interface |
US20090172621A1 (en) * | 2007-12-27 | 2009-07-02 | Sanved Dessiggn Automation | System and method for system-on-chip (soc) performance analysis |
JP4909963B2 (ja) * | 2008-09-09 | 2012-04-04 | 株式会社東芝 | 統合メモリ管理装置 |
WO2010041093A1 (en) * | 2008-10-09 | 2010-04-15 | Federico Tiziani | Virtualized ecc nand |
WO2011021367A1 (ja) * | 2009-08-21 | 2011-02-24 | パナソニック株式会社 | 不揮発性記憶装置、アクセス装置、及び不揮発性記憶システム |
KR20110046243A (ko) * | 2009-10-27 | 2011-05-04 | 삼성전자주식회사 | 사용자 장치 및 그것의 맵핑 데이터 관리 방법 |
JP2011154547A (ja) * | 2010-01-27 | 2011-08-11 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
JP4806089B1 (ja) * | 2010-06-30 | 2011-11-02 | 株式会社東芝 | 情報処理装置、raidコントローラカード、およびミラーリング方法 |
US8635514B2 (en) * | 2011-02-28 | 2014-01-21 | Micron Technology, Inc. | Error control in memory storage systems |
KR101861170B1 (ko) * | 2011-08-17 | 2018-05-25 | 삼성전자주식회사 | 마이그레이션 관리자를 포함하는 메모리 시스템 |
US8811110B2 (en) * | 2012-06-28 | 2014-08-19 | Intel Corporation | Configuration for power reduction in DRAM |
US9830964B2 (en) * | 2012-09-10 | 2017-11-28 | Texas Instruments Incorporated | Non-volatile array wakeup and backup sequencing control |
US9268682B2 (en) * | 2012-10-05 | 2016-02-23 | Skyera, Llc | Methods, devices and systems for physical-to-logical mapping in solid state drives |
US9652376B2 (en) * | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9524771B2 (en) * | 2013-07-12 | 2016-12-20 | Qualcomm Incorporated | DRAM sub-array level autonomic refresh memory controller optimization |
JP2015056171A (ja) * | 2013-09-13 | 2015-03-23 | 株式会社東芝 | メモリシステムおよび情報処理装置 |
KR102094393B1 (ko) * | 2013-11-18 | 2020-03-27 | 삼성전자주식회사 | 불휘발성 메모리 시스템 및 그것의 동작 방법 |
US9600413B2 (en) * | 2013-12-24 | 2017-03-21 | Intel Corporation | Common platform for one-level memory architecture and two-level memory architecture |
WO2015121938A1 (ja) * | 2014-02-13 | 2015-08-20 | 株式会社日立製作所 | データ管理装置及び方法 |
JP6680454B2 (ja) * | 2014-03-17 | 2020-04-15 | 国立研究開発法人産業技術総合研究所 | Lsiチップ積層システム |
US9778986B2 (en) * | 2014-03-28 | 2017-10-03 | Hitachi, Ltd. | Storage system |
CN106462501B (zh) * | 2014-05-08 | 2019-07-09 | 美光科技公司 | 基于混合存储器立方体系统互连目录的高速缓冲存储器一致性方法 |
US9779025B2 (en) * | 2014-06-02 | 2017-10-03 | Micron Technology, Inc. | Cache architecture for comparing data |
US9711194B2 (en) * | 2015-01-28 | 2017-07-18 | Xilinx, Inc. | Circuits for and methods of controlling the operation of a hybrid memory system |
US9823852B2 (en) | 2015-05-01 | 2017-11-21 | Toshiba Memory Corporation | Memory system with nonvolatile memory |
US9507711B1 (en) * | 2015-05-22 | 2016-11-29 | Sandisk Technologies Llc | Hierarchical FTL mapping optimized for workload |
US9858198B2 (en) * | 2015-06-26 | 2018-01-02 | Intel Corporation | 64KB page system that supports 4KB page operations |
JP6540391B2 (ja) * | 2015-09-03 | 2019-07-10 | 富士通株式会社 | ストレージ制御装置、ストレージ制御プログラム、及びストレージ制御方法 |
JP6209573B2 (ja) * | 2015-10-02 | 2017-10-04 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置および情報処理方法 |
US9666263B2 (en) * | 2015-10-07 | 2017-05-30 | Samsung Electronics Co., Ltd. | DIMM SSD SoC DRAM byte lane skewing |
TWI551991B (zh) * | 2015-11-20 | 2016-10-01 | 群聯電子股份有限公司 | 記憶體管理方法與系統及其記憶體儲存裝置 |
KR102491651B1 (ko) | 2015-12-14 | 2023-01-26 | 삼성전자주식회사 | 비휘발성 메모리 모듈, 그것을 포함하는 컴퓨팅 시스템, 및 그것의 동작 방법 |
US11210019B2 (en) * | 2017-08-23 | 2021-12-28 | Micron Technology, Inc. | Memory with virtual page size |
-
2017
- 2017-06-22 US US15/630,330 patent/US10845866B2/en active Active
-
2018
- 2018-06-14 EP EP18821215.3A patent/EP3642723A4/en not_active Withdrawn
- 2018-06-14 WO PCT/US2018/037480 patent/WO2018236663A1/en unknown
- 2018-06-14 CN CN201880041960.9A patent/CN110799954B/zh active Active
- 2018-06-14 JP JP2019570140A patent/JP2020524849A/ja active Pending
- 2018-06-14 KR KR1020207001303A patent/KR102324703B1/ko active IP Right Grant
- 2018-06-21 TW TW107121220A patent/TWI693603B/zh active
- 2018-06-21 TW TW109113727A patent/TWI737273B/zh active
-
2020
- 2020-10-23 US US17/078,832 patent/US11119561B2/en active Active
-
2021
- 2021-09-07 US US17/468,155 patent/US11550381B2/en active Active
- 2021-12-20 JP JP2021205633A patent/JP2022031959A/ja active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080209112A1 (en) * | 1999-08-04 | 2008-08-28 | Super Talent Electronics, Inc. | High Endurance Non-Volatile Memory Devices |
US20040141374A1 (en) * | 2003-01-21 | 2004-07-22 | Nexflash Technologies, Inc. | Nonvolatile memory integrated circuit having volatile utility and buffer memories, and method of operation thereof |
US20120151127A1 (en) * | 2010-12-14 | 2012-06-14 | Sun-Young Lim | Method of storing data in a storing device including a volatile memory device |
Also Published As
Publication number | Publication date |
---|---|
CN110799954B (zh) | 2024-03-26 |
TWI737273B (zh) | 2021-08-21 |
US20210041935A1 (en) | 2021-02-11 |
TW202040580A (zh) | 2020-11-01 |
EP3642723A1 (en) | 2020-04-29 |
KR102324703B1 (ko) | 2021-11-11 |
JP2022031959A (ja) | 2022-02-22 |
US20220066534A1 (en) | 2022-03-03 |
US20180373313A1 (en) | 2018-12-27 |
TWI693603B (zh) | 2020-05-11 |
US11550381B2 (en) | 2023-01-10 |
JP2020524849A (ja) | 2020-08-20 |
CN110799954A (zh) | 2020-02-14 |
EP3642723A4 (en) | 2021-03-24 |
US11119561B2 (en) | 2021-09-14 |
US10845866B2 (en) | 2020-11-24 |
WO2018236663A1 (en) | 2018-12-27 |
TW201905926A (zh) | 2019-02-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102324703B1 (ko) | 비휘발성 메모리 시스템 또는 서브 시스템 | |
JP7404487B2 (ja) | オン・デマンド・メモリ・ページ・サイズ | |
US11915788B2 (en) | Indication in memory system or sub-system of latency associated with performing an access command | |
CN117667784B (zh) | 按需存储器页大小 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |