KR20080107488A - 컴퓨터 시스템, 시스템 및 에러 보고 방법 - Google Patents

컴퓨터 시스템, 시스템 및 에러 보고 방법 Download PDF

Info

Publication number
KR20080107488A
KR20080107488A KR1020087028632A KR20087028632A KR20080107488A KR 20080107488 A KR20080107488 A KR 20080107488A KR 1020087028632 A KR1020087028632 A KR 1020087028632A KR 20087028632 A KR20087028632 A KR 20087028632A KR 20080107488 A KR20080107488 A KR 20080107488A
Authority
KR
South Korea
Prior art keywords
memory
storage device
memory devices
cache
polymer
Prior art date
Application number
KR1020087028632A
Other languages
English (en)
Other versions
KR100968998B1 (ko
Inventor
로버트 2세 로이어
로버트 파버
존 가니
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 KR20080107488A publication Critical patent/KR20080107488A/ko
Application granted granted Critical
Publication of KR100968998B1 publication Critical patent/KR100968998B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing 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
    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B82NANOTECHNOLOGY
    • B82YSPECIFIC USES OR APPLICATIONS OF NANOSTRUCTURES; MEASUREMENT OR ANALYSIS OF NANOSTRUCTURES; MANUFACTURE OR TREATMENT OF NANOSTRUCTURES
    • B82Y10/00Nanotechnology for information processing, storage or transmission, e.g. quantum computing or single electron logic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/068Hybrid storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/6028Prefetching based on hints or prefetch instructions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Nanotechnology (AREA)
  • Chemical & Material Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Crystallography & Structural Chemistry (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

폴리머 메모리와 같은 다양한 메모리 기법의 특수한 처리 요구를 고려하는 대량 저장 장치 액세스의 복잡성을 관리하기 위한 호스트 제어기 인터페이스가 제공된다.

Description

컴퓨터 시스템, 시스템 및 에러 보고 방법{INTERFACE FOR A BLOCK ADDRESSABLE MASS STORAGE SYSTEM}
프로세서와 캐시 대량 저장 장치 사이의 데이터 액세스를 용이하게 하도록, 대량 저장 장치를 위한 몇 가지의 인터페이스가 현재 이용중이다.
대량 저장 장치를 위해 이산 메모리 맵핑된 인터페이스 및 표준 블록 어드레싱가능 인터페이스가 이용되어 왔지만, 어느 것도 디스크 캐시에는 적합하지 않다.
디스크 캐시에 대한 시스템 성능을 개선할 수 있는 인터페이스가 필요하다.
폴리머 메모리와 같은 다양한 메모리 기법의 특수한 처리 요구를 고려하는 대량 저장 장치 액세스의 복잡성을 관리하기 위한 호스트 제어기 인터페이스가 제 공된다.
본 발명으로서 간주되는 주된 내용(subject matter)이 특히 강조되며, 본 명세서의 결론부에서 명백하게 청구된다. 그러나, 첨부 도면과 함께 이하의 상세한 설명을 참조함으로써, 구성 및 동작 방법 둘다에 관한 본 발명을, 그것의 목적, 특징 및 이점과 함께 가장 잘 이해할 수 있다.
도시의 간략성 및 명료성을 위해, 도면들에 예시된 요소들은 실제 축적으로 도시될 필요가 없음을 이해할 것이다. 예를 들어, 몇몇 요소들의 치수는, 명료성을 위해, 다른 요소들에 비해 과장될 수 있다. 더욱이, 적절한 것으로 고려되는 경우, 대응하거나 유사한 요소들을 나타내기 위해, 도면들 사이에 참조 번호가 반복되어 이용된다.
이하의 상세한 설명에서, 본 발명에 대한 완전한 이해를 제공하기 위해, 여러 가지의 특정한 세부 내용이 개시된다. 그러나, 당업자라면, 본 발명은 이들 특정한 세부 내용없이도 실시될 수 있음을 이해할 것이다. 다른 경우, 본 발명을 불명확하게 하지 않도록, 잘 알려진 방법, 절차, 구성 요소 및 회로는 상세하게 설명되지 않았다.
이하의 상세한 설명 및 특허 청구 범위에서, "연결된" 및 "접속된" 이라는 용어가, 그들의 파생어와 함께 이용될 수 있다. 이들 용어는 서로에 대한 동의어로서 의도된 것이 아님을 이해해야 한다. 그보다는, 특정 실시예에 있어서, "접 속된" 이라는 용어는 2개 이상의 요소들이 서로 직접적인 물리적 또는 전기적 접촉을 이루고 있음을 나타내는데 이용될 수 있다. "연결된" 이라는 용어는 2개 이상의 요소들이 직접적인 물리적 또는 전기적 접촉을 이루고 있음을 의미할 수 있다. 그러나, "연결된" 이라는 용어는 2개 이상의 요소들이 서로 직접적인 접촉을 이루고 있지는 않지만, 서로 함께 동작하거나 또는 상호작용함을 의미할 수도 있다.
도 1은 하나 이상의 안테나로부터 변조 신호를 수신 또는 송신하는 트랜시버(14)를 포함할 수 있는 장치(10)를 도시한다. 아날로그 전단 트랜시버는 독립형 무선 주파수(RF) 집적 아날로그 회로이거나, 대안적으로, 혼합 모드 집적 회로로서 프로세서(12)와 함께 내장될 수도 있다. 수신된 변조 신호는 주파수 하향 변환되고, 필터링된 후, 기저대역의 디지털 신호로 변환된다. 프로세서(12)에 의해 처리된 디지털 데이터는, 메모리 모듈상의 저장 장치(20, 22, ..., 24, 26)에 의한 저장을 위해, 인터페이스(16)를 통해 전송될 수 있다. 저장 장치(20, 22, ..., 24, 26)는 캐시로서 이용될 수도 있음을 이해해야 한다. 네트워크 인터페이스 카드(Network Interface Card; NIC)가 인터페이스(16)를 통한 데이터 전송을 용이하게 할 수 있으며, PCI Local Bus 사양(1995년 6월)에 의해 정의된 바와 같은 PCI(Peripheral Component Interconnect) 버스, 또는, 이와 달리, PCI Express 버스 또는 임의의 다른 높은 대역폭 버스와 같은 버스를 통합할 수 있다.
예로써, 설명의 용이성을 위해, 도 1에 도시된 메모리 모듈은 4개의 저장 장치(20, 22, 24, 26)를 갖는다. 일실시예에서, 4개의 저장 장치 각각은 256Mbyte의 메모리 크기를 가질 수 있지만, 메모리 모듈에 위치되는 저장 장치의 크기도 장 치의 개수도 본 발명을 제한하는 것은 아니다. 더욱이, 저장 장치(20, 22, 24, 26)는 개별적으로 패킹되어, 하나의 패키지내에 다수의 메모리 장치로서 적층되거나 함께 집적될 수 있고, 개별적인 메모리 블록으로서 어드레싱가능하다. 저장 장치(20, 22, ..., 24, 26)는 프로세서(12)에 의해 처리된 데이터 및 관리를 위해 메모리 관리 시스템에 의해 이용된 메타데이터(metadata) 둘다를 저장할 수 있다. 메모리 모듈은 데이터만을, 또는 독립적으로 액세스가능한 메타데이터만을, 또는 데이터 + 메타데이터를 액세스하기 위한 지지부를 갖는다.
메모리 모듈상의 메모리 제어기(28)는 어드레스 및 제어 버스를 통해 저장 장치에 접속된다. 메모리 제어기(28)는 현재의 코맨드를 검색하여 처리하며, 처리가 완료된 경우, 코맨드 상태가 적절하게 설정된다. 메모리 제어기(28)는 메모리 맵핑 알고리즘을 더 구현하여, 장치(10)의 성능을 개선시킨다. 호스트 제어기(30)가 호스트 제어기 인터페이스(Host Controller Interface; HCI)(18), 메모리 제어기(28) 및 프로세서(12)와 접속됨을 주지해야 한다.
일실시예에서, 저장 장치(20, 22, 24, 26)는 프로세서(12)에 연결된 대량 저장 시스템(도시되지 않음)에 대한 정보를 캐싱하는 비교적 큰 비휘발성 디스크 캐시 메모리일 수 있다. 전형적으로, 대량 저장 시스템은, 예를 들면, 적어도 약 1 기가바이트의 저장 용량을 갖는다. 본 발명의 영역이 이것에 한정되는 것은 아니지만, 대량 저장 시스템은 전기 기계 하드 디스크 메모리, 광학 디스크 메모리, 또는 자기 디스크 메모리일 수 있다.
일실시예에서, 저장 장치(20, 22, ..., 24, 26)는 적어도 약 250 메가바이트 의 저장 용량을 갖는 폴리머 메모리일 수 있으며, 강유전성 메모리 셀을 포함할 수 있고, 각각의 셀은 적어도 2개의 도전성 라인 사이에 위치된 강유전성 폴리머 물질을 포함한다. 이러한 실시예에서, 강유전성 폴리머 물질은 강유전성 분극가능 물질일 수 있으며, 폴리비닐 플루오르화물(polyvinyl fluoride), 폴리에틸렌 플루오르화물(polyethylene fluoride), 폴리비닐 염화물(polyvinyl chloride), 폴리에틸렌 염화물, 폴리아크릴로니트릴(polyacrylonitrile), 폴리아미드(polyamide), 그것의 혼성 중합체(copolymer), 또는 그것의 조합으로 구성되는 강유전성 폴리머 물질을 포함한다.
대안적인 실시예에서, 저장 장치(20, 22, ..., 24, 26)는, 예를 들면, 플라스틱 메모리 또는 저항성 변화 폴리머 메모리와 같은 폴리머 메모리일 수 있다. 이러한 실시예에서, 플라스틱 메모리는 어드레스 매트릭스의 노드들에서 샌드위치된 박막의 폴리머 메모리 물질을 포함할 수 있다. 임의의 노드에서의 저항은, 폴리머 메모리 물질 양단에 공급된 전위 및 폴리머 물질의 저항을 변경시키는 폴리머 물질에서 흐르는 양 및 음의 전류에 의해, 수 백 옴(ohm)으로부터 수 메그옴(megohm)으로 변경될 수 있다. 잠재적으로, 상이한 저항 레벨들이 셀당 수 비트를 저장할 수 있고, 데이터 밀도는 층들을 적층함으로써 더 증가될 수 있다. 폴리머 메모리 외에도, 캐시 저장 장치는 NOR 또는 NAND 플래시 또는 배터리 백업(battery backed-up) DRAM일 수 있다.
장치(10)에 대한 본 발명의 실시예는 다양한 응용에서 이용될 수 있으며, 청구된 주된 내용은 다른 전자 구성 요소들 중에서, 마이크로제어기, 범용 마이크로 프로세서, DSP(Digital Signal Processor), RISC(Reduced Instruction-Set Computing), CISC(Complex Instruction-Set Computing)내에 통합된다. 특히, 본 발명은 스마트 폰(smart phone), 통신기 및 PDA(Personal Digital Assistant), 의료 또는 생물 공학 장치, 자동차 안전 및 보호 장치, 및 자동차 인포테인먼트 제품(automotive infotainment products)에서 이용될 수 있다. 그러나, 본 발명의 영역은 이들 예에 한정되지 않음을 이해해야 한다.
도 2는 본 실시예에서 인터페이스(16)를 통한 PCI-Express 버스 전송을 위한 애드인 카드(add-in card)를 갖는 HCI(18)를 도시하지만, 다른 실시예에서는 다른 버스를 채택할 수 있음을 주지해야 한다. 일반적으로, HCI(18)에서의 메모리 모듈 하드웨어는, 모듈 하드웨어 신호 처리의 완료시까지 프로세서(12)와 관련없이 발행될 수 있는 소프트웨어 생성 코맨드의 리스트를 처리한다. 메모리 모듈상의 캐시 저장 장치(20, 22, ..., 24, 26)에 의해 저장된 메모리 데이터는 CPU 인스트럭션에 의해 직접적으로 액세스가능하지 않다. 캐시 저장 데이터는, 예를 들면, DRAM(Dynamic Random Access Memory)와 같은 시스템 메모리(32)로/로부터 복제될 수 있다.
메모리 모듈은 비동기적으로 처리하기 위해 코맨드의 리스트가 제공되는 버스 마스터 장치이다. 코맨드는 코맨드와 관련된 데이터를 유지하는데 이용된 시스템 메모리에서의 버퍼를 식별한다. 따라서, HCI(18)은 캐시 저장 장치에 대한 직접적인 CPU 인스트럭션 액세스없이, 인터페이스(16)를 통해 판독/기록 데이터를 스트리밍(streaming)할 수 있는 메모리 모듈 프로그래밍 인터페이스를 제공한다. 즉, HCI(18)는 메모리 저장 장치에 액세스하기 위한 직접적인, 메모리형 인터페이스가 아니다.
본 발명은 프로세서와 대량 저장 장치 사이에 위치된 인터페이스(HCI(18))를 포함한다. HCI(18)는 대량 저장 장치를 지원하는데 요구되는 관련된 기능 및 서비스를 제공하며, 본 발명의 다양한 특징들은 하드웨어 또는 소프트웨어로 구현된다. 다양한 실시예에서, HCI(18)는 기술된 특징들의 전부 또는 일부분을 포함할 수 있다.
도 2에 도시된 바와 같이, 본 발명은 코맨드의 그룹이 함께 발행되도록 허용하는 연속적인 관련 코맨드(200)와, PFEM(Polymer Ferroelectric Memory) 메모리 기법의 특성을 지원하도록 설계된 극성 맵 메카니즘(a polarity map mechanism)(210), 타이밍 제어(220) 및 동적 어드레싱(230)과, 디스크 캐싱 환경에 대한 성능을 최적화하는 멀티-제어 코맨드(240)와, 리프레시(250)와, 메모리 워드 판독/기록 동작을 제공하는 메타데이터 크기 및 캐시 라인 크기(260)와, 메모리 에러를 보고하기 위한 데이터 에러(270) 및 ECC(Error Correction Code) 정정(280)과, 시스템 성능을 개선시키는 최적화된 스캐터 게더 리스트(an optimized scatter gather list)(290)와 같은 특징을 포함한다.
연속적인 관련 코맨드(200)
도 2는 캐시 액세스를 위해 설계되는 HCI(18)내에서 발행된 연속적인 관련 코맨드(200)를 포함한다. 사용자는 캐시 저장 장치(20, 22, ..., 24, 26)로부터 데이터를 요청하며, 요청을 이행하도록 다수의 캐시 라인이 액세스될 것을 요구할 수 있다. 세트 관련 캐시 맵핑 알고리즘의 특성으로 인해, 연속적인 디스크 섹터에 대한 요청은 연속적인 캐시 라인을 맵핑할 필요가 없을 수 있다. (도 3은 상이한 캐시 라인에 맵핑된 연속적인 디스크 섹터를 도시한다.)
HCI(18)는 시스템 메모리 및 도어벨 레지스터(doorbell register)(도시되지 않음)에 코맨트 리스트 구조를 정의하여, 코맨드의 그룹이 함께 발행되도록 허용한다. 각각의 코맨드는 적어도 1 비트를 포함하여, 코맨드가 활성 상태인지의 여부 및 다음 코맨드에 대한 포인터를 나타낸다. 코맨드 체인의 개시에 대한 포인터를 수신하고, 도어벨 "울림(rung)"을 갖는 경우, HCI(18)는 코맨드를 페치하고, 코맨드를 처리하며, 비활성 코맨드가 발견될 때까지 다음 코맨드로 진행한다. 추가적인 코맨드가 체인의 끝에 삽입되어, 현저한 요청이 존재하는 경우 캐시 하드웨어가 항상 활성 상태이도록 보장한다. 코맨드가 완료될 때 중단이 발생되어야 하는지의 여부를 소프트웨어가 지정하는 것을 허용하도록 다른 최적화가 수행될 수 있다. 이러한 프로그램가능 중단 비트는 코맨드 리스트가, 관련된 코맨드들의 그룹당 단지 하나의 중단만이 발생되도록 구성되게 함으로써, 시스템 오버헤드를 최소화시킨다.
도 4는 연속적인 관련 코맨드(200)와 연관된 하드웨어 및 소프트웨어 활동을 도시한다. 코맨드들의 리스트가, 예를 들면, 코맨드(402, 404, 406, 408)로서 도시된다. 각각의 코맨드는 적어도 1 비트를 포함하여, 코맨드가 활성 상태인지의 여부(활성화 설정(ACTIVE SET)으로 표기됨) 및 다음 코맨드에 대한 포인터를 나타 낸다. 도 4는 코맨드가 페치 및 처리되고, 비활성 코맨드(410)가 발견될 때까지, 다음 연속적인 코맨드로 진행하는 것을 더 도시한다.
극성 맵 메카니즘(210)
도 2는 HCI(18)내에서의 PFEM 메모리 기법의 특성을 지원하기 위한 극성 맵(210)을 도시한다. 선택된 워드 라인 및 비트 라인상의 전압을 제어함으로써, 캐시 저장 장치(20, 22, ..., 24, 26) 중 임의의 장치에 메모리 셀로 데이터가 기록될 수 있다. 메모리 셀은 "물리적 0" 상태 또는 "물리적 1" 상태로 프로그램될 수 있지만, 메모리 제어기(28)(도 1 참조)는 저장 셀 판독의 물리적 값이 1 상태 또는 0 상태를 나타내는지의 여부를 해석할 수 있다. 다양한 메모리 기법들은 저장된 상태의 표현을 위한 상이한 요건을 가질 수 있으므로, 메모리 제어기(28)는 특정 액세스에 대해 극성이 어떻게 처리되는지를 결정하는 소프트웨어 제어기 극성 관리 메카니즘으로 설계된다. 비록 대안적인 실시예에서는 다수의 동작 제어를 통해 광역 기반으로 극성 메카니즘이 적용될 수 있지만, 일실시예에서는, 소프트웨어가 각각의 판독/기록 동작에 대해 극성 메카니즘을 지정한다. 3개의 극성 관리 메카니즘은, 매 시간 데이터가 메모리 워드로 저장되는 것을 보장하도록 지정될 수 있으며, 이용된 극성은 메모리 워드를 위해 마지막으로 이용된 것과 반대이다.
제 1 극성 관리 메카니즘은 '명시적인 극성 제어'를 제공하며, 여기서 소프트웨어는 각각의 기록에 대한 TRUE/COMPLEMENT 극성 지시자를 지정하며, 메모리 제어기(28)는 판독중인 저장 위치로부터 극성 상태를 복원한다. 시스템 메모리내의 데이터는 항상 TRUE 극성 표현으로 된다. 소프트웨어는 COMPLEMENT 극성에서 메모리 모듈에 저장된 데이터의 어떠한 변환도 수행할 필요가 없다. 메모리 제어기(28)는 소프트웨어에 의존하여 임의의 요구된 토글링(toggling)을 수행한다.
'복원된 극성'에 대한 다른 극성 관리 메카니즘은 메모리 제어기(28)가, 판독 동작으로부터 결정된 "마지막" 극성을 이용하도록 허용함으로써, 후속하는 기록 동작을 행하도록 한다.
소프트웨어는 다른 극성 관리 메카니즘으로서의 액세스를 위한 "자동 극성"을 지정할 수 있다. 메모리 제어기(28)는 메모리 모듈, 즉, 저장 위치 또는 셀들의 그룹의 각 워드에 대한 극성 상태를 갖는 분리된 휘발성 극성 맵(RAM에 유지됨)을 유지한다. 통상적인 실행 시간 동안, 메모리 제어기(28)는 극성 맵의 내용을 이용하여, 판독시의 극성을 결정하고, 기록을 위해 맵에서의 극성을 토글링한다. 판독에 대해서는 극성의 복원이 요구되지 않는다. 임의의 자동 극성 메카니즘이 이용되기 전에, 소프트웨어가 극성 맵을 로딩하도록 요구된다(다른 메카니즘은 이것 이전에 이용될 수 있음). 시스템 셧다운(shutdown)시에, 소프트웨어는 메모리 제어기로부터 극성 맵을 판독하여, 그것을 소정의 다른 비휘발성 저장 매체에 보존할 책임이 있다.
타이밍 제어(220)
도 2는 HCI(18)내에서의 PFEM 메모리 기법의 특성을 지원하기 위한 타이밍 제어(220)를 도시한다. 상이한 메모리 기법들은 저장된 값에 액세스하기 위해 특 정 양상의 판독/기록 동작을 위해 상이한 세부 하드웨어 사이클 타이밍을 요구할 수 있다. 예를 들어, 셀 분극의 변화를 회피하기 위해, 메모리에 판독 및 기록하는 동안, 폴리머 메모리 기법을 위해 지연 또는 중지가 이용될 수 있다. 더욱이, 요청된 어드레스가 마지막 메모리 동작과 동일한 메모리 세그먼트에 있는지의 여부에 따라, 지연 동작이 수행되거나 수행되지 않을 수 있다. 소정의 메모리 기법은 소정의 시간 기간 동안 액세스되지 않는 위치에 대해 보다 느린 타이밍을 요구할 수 있으며, 메모리 위치에 대한 주어진 판독/기록 동작을 위해 이용되도록 느리거나 또는 빠른 타이밍이 지정된다. 따라서, 메모리 제어기(28)는 소프트웨어의 제어하에, 동작 기반으로(on a per operation basis), 판독/기록 동작을 위해 어떤 타이밍이 이용되어야 하는지를 지정할 수 있다.
동적 어드레싱(230)
도 2는 HCI(18)내에서의 PFEM 메모리 기법의 특성을 지원하기 위한 동적 어드레싱(230)을 도시한다. 캐시 저장 장치(20, 22, ..., 24, 26)에서의 폴리머 메모리 장치에 대한 판독 사이클은 파괴적일 수 있으며, 폴리머 막 물질에서의 전기 쌍극자를 한 방향으로 분극화시킨다. 메모리의 특정한 물리적 어드레스에 저장된 정보는, 파괴적인 판독 동작 동안에 손실될 수 있으므로, 정보는 데이터를 복원하기 위해 메모리에 되기록(write back)될 수 있다. 따라서, 그러한 파괴적인 판독 메모리로부터 정보를 판독하기 위해, 판독 사이클은 후속하는 되기록 동작을 포함할 수 있다. 캐시 저장 장치에서의 메모리의 세그먼트내에는, 다음의 판독을 기 록하기 위한 취약성(vulnerability)이 존재할 수 있다. 취약성은 취약성이 사라질 때까지 되기록을 수행하기 위해 대기하는 것과 같은 성능 패널티를 부과한다. 그러나, 본 발명에 따르면, HCI(18)는 판독된 데이터가 상이한 세그먼트에서의 위치에 기록되도록 허용하는 알고리즘을 제공한다.
따라서, 본 발명의 한 가지 특징은, HCI(18)가 액세스마다 2개의 어드레스를 포함한다는 것이며, 하나의 어드레스는 판독을 위한 것이고, 다른 어드레스는 기록을 위한 것이다. 따라서, 모든 인터페이스 레벨 액세스는, 이상적으로 메모리의 상이한 세그먼트에 있는 2개의 위치에 대해 동작한다. 판독 동작은 판독할 어드레스 + 데이터가 되기록될 수 있는 블랭크 위치를 지정한다. 판독 동작은 블랭크를 소모하며, 블랭크를 생성한다. 기록 동작은 소거할(블랭크를 만드는) 어드레스 및 기록 데이터의 목적지인 이미 블랭크로 된 어드레스를 지정한다.
멀티 제어기 코맨드(240)
도 2는 디스크 캐싱 환경에 대해 성능을 최적화하기 위해 HCI(18)내에서 발행된 멀티 제어 코맨드(240)를 도시한다. 도 1을 간략하게 참조하면, HCI(18)는 프로세서(12)에 의해 발행된 코맨드와 메모리 제어기(28)에 접속된 M 메모리 저장 장치의 동작 사이에 인터페이스를 제공한다. HCI(18)는 소프트웨어가 동일한 동작 또는 상이한 동작을, 메모리 모듈 카드상의 다수의 캐시 저장 장치(20, 22, ..., 24, 26)로 발행하도록 허용하는 멀티 제어 코맨드 특징을 포함한다. 멀티 코맨드 특징은 공통 데이터를 공유할 수 있고 PCI-express를 통해 보다 효율적으로 전송될 수 있는 하나의 코맨트 패킷이 페치되고, 디코딩되고, 실행될 수 있도록 허용하며, 카드상의 각각의 캐시 저장 장치에 대해 상이한 메모리 동작을 잠재적으로 제공한다.
멀티 제어 코맨드 특징은 각각의 캐시 저장 장치가, 잠재적으로 상이한 동작 타입으로 상이한 어드레스 위치를 어드레싱하도록 허용한다. 예로써, 메모리 제어기(28)는 캐시 저장 장치(22)와 같은 다른 장치에 기록 동작을 동시에 발행하면서, 캐시 저장 장치(20)내의 파괴적인 판독 동작을 포함하는 판독 사이클을 수행할 수 있다. 따라서, 멀티 코맨드는 상이한 캐시 저장 장치에서의 메모리 워드를 액세스한다. 멀티 캐시 저장 장치 액세스가 지정되는 경우, 각각의 액세스는 고유한 동작 파라미터를 가질 수 있다. 대부분의 메모리 액세스는, 코맨드에 대한 다른 동작 지정 파라미터와 더불어, 동작, 블록 카운트 및 2개의 블록 어드레스를 포함한다.
리프레시(250)
도 2는 HCI(18)내에서의 PFEM 메모리 기법의 특성을 지원하기 위한 리프레시(250)를 도시한다. HCI(18)는 시간 기반 및 사이클 기반 리프레시 사이클 둘다를 허용한다. 시간 기반 리프레시는 저장된 데이터가 주기적으로 액세스된다는 점에서, DRAM 리프레시와 유사하다. 반면, DRAM 장치는 누설 캐패시터를 펌프 업(pump up)하기 위해 리프레시 사이클을 제공하며, 시간 기반 리프레시는 캐시 저장 장치(20, 22, ..., 24, 26)에서의 폴리머 메모리 장치가, 현재의 상태에서 "임 프린팅(imprinting)"되거나 또는 스트라이킹(striking)되는 것을 방지한다. HCI(18)는 파워 업(power up)시에 모든 어드레스를 통해 초기 루프를 제공하며, 그 후, 정규 시간 간격에서의 통상적인 액세스 시간 판독이 뒤따름으로써, 파워 온 시간 동안에 셀이 임프린팅되지 않도록 보장한다.
요청된 어드레스로부터 판독된 정보가 동일한 어드레스로 되기록된다면, 선택된 메모리 셀과 동일한 워드 라인 또는 비트 라인을 공유하는 인접하는 비선택 메모리 셀은 "교란(disturbance)"을 겪을 수 있다. 메모리 셀에서의 폴리머 메모리 물질과 전극 물질과의 상호작용은, 메모리 동작이 비교적 짧은 시간 기간내에 수행되는 경우, 교란을 초래할 수 있다. 따라서, 메모리의 세그먼트에서의 한 위치에 대한 액세스는 세그먼트내의 다른 위치들에 대해 교란을 초래할 수 있다. 각각의 교란은 메모리내의 저장 전하를 쇠퇴시키며, 신뢰할 수 있는 판독 동작을 보장하기 위해, N 교란 이후에 저장 데이터가 판독된다. 따라서, HCI(18)는 교란의 효과를 제한하고, 세그먼트내의 각각의 위치를 N 교란으로 한정하기 위해, N 사이클마다 삽입된 사이클 기반 리프레시 어드레스를 제공한다.
메타데이터 크기 및 캐시 라인 크기(260)
도 2는 HCI(18)내에 메모리 동작을 제공하는 메타데이터 크기 및 캐시 라인 크기(260)를 도시한다. HCI(18)에 의해 제어된 PFEM 메모리는 각각의 캐시 라인에 대한 메타데이터 및 데이터를 자동으로 판독/기록하는 능력을 갖는다. 이를 위해, 하드웨어는 캐시 라인 및 메타데이터 둘다의 크기를 알아야 한다. 레지스 터들(도시되지 않음)의 세트가 HCI(18)내에 정의되어, 소프트웨어에서의 캐시 방안(cache policy)에 의해 결정된 것으로서의 최적의 하드웨어 성능을 제공하는 크기와 더불어, 최소 및 최대 캐시 라인 크기 및 메타데이터 크기를 저장한다. 이들 크기 값을 이용함으로써, HCI(18)는 캐시 방안 필요성과 가장 잘 부합되는 크기 값들을 이용하도록 프로그램된다.
데이터 에러(270)
도 2는 HCI(18)내의 에러 검출을 위한 데이터 에러(270)를 도시한다. PFEM에 대한 주기적인 메모리 리프레시 사이클 동안 데이터 오염이 발생될 수 있다. PFEM 메모리는 파괴적인 판독 메모리 기법이며, 리프레시 사이클 동안에 발생되는 임의의 에러가 메모리를 미지의 상태로 남겨 둘 것이다. 에러를 갖는 메모리 위치상에서의 판독 동작은, ECC에 의해 검출되지 않을 부정확한 데이터를 잠재적으로 리턴할 수 있다. 리프레시 사이클 동안에 에러가 미검출되는 것을 방지하기 위해, HCI(18)는 레지스터들(도시되지 않음)의 세트 및 메모리 제어기(28)가 캐시 저장 장치(20, 22, ..., 24, 26)를 제어하는 소프트웨어를 중단하도록 하는 중단을 정의하고, 메모리 리프레시 실패를 보고한다. 그 다음, 소프트웨어는 대응하는 캐시 라인을 불량으로서 표기하고, 시스템 동작으로 진행한다.
ECC 정정(280)
도 2는 HCI(18)내의 에러 정정을 위한 ECC(280)를 도시한다. 하드웨어는 데이터 저장 및 검색의 일부로서 ECC 방법을 구현한다. 하드웨어는 모든 정정의 에러 로그를 유지하고, 캐시 방안 소프트웨어에 의해 액세스되어, 메모리 액세스 동안에 만들어진 ECC 정정의 결과를 명시적으로 결정한다. 정정 로그는, 정정 로그를 시스템 메모리로 다운로딩하는 통상적인 코맨드 처리를 통해 코맨드를 발행함으로써, 액세스될 수 있다. 정정 로그는 캐시 방안에 의해, 가능한 캐시 라인 실패의 초기 표시로서 이용될 수 있으며, 데이터 손실을 피하도록 적절한 정정 단계들이 취해지도록 한다.
최적화된 스캐더 게더 리스트(290)
도 2는 시스템 성능을 개선하기 위한 최적화된 스캐터 게더(SG) 리스트(290)를 도시한다. 캐시 라인은 다수의 4Kbyte 물리적 시스템 메모리 페이지(전형적인 캐시 라인은 8Kbyte 길이임)로 확장할 수 있으며, 운영 체제는 버퍼가 물리적으로 인접하도록 보장하지 않으므로, 스캐터 게더 리스트는 캐시 라인으로부터 시스템 메모리로 데이터를 정확하게 액세스(DMA)한다. HCI(18)에 의해 이용된 스캐터 게더 메카니즘은, 각각의 코맨드가 1 캐시 라인 만큼의 데이터를 전송한다는 사실의 이점을 가지며, 그것은 스캐터 게더 리스트에 대해 최적화가 수행될 수 있도록 한다. 예로써, 최악의 경우의 요청을 이행하는 데에는 매우 적은 엔트리가 필요하며, 16Kbyte 캐시 라인이 최대 5 물리적 시스템 메모리 페이지만큼 확장된다. HCI(18)는 코맨드에 위치되는 스캐터 게더 리스트를 정의하고, 시스템 메모리 페이지가 교차(4Kbyte 경계)되는 경우, 다음 엔트리로 진행한다. 정의된 바와 같은 스캐터 게더 리스트는, 캐시에 대한 제어기 논리에 간략화가 수행될 수 있도록 한다. 이것은 제어기의 비용을 감소시키고, 그에 추가하여, 분리된 스캐터 게더 리스트를 얻기 위해 필요한 캐시 제어기에 의한 부가적인 시스템 메모리 DMA 요청의 제거에 의한 성능 이점을 제공한다. 추가적인 메모리 어드레스가 제공되어, 캐시 라인에 대한 메타데이터의 위치를 나타내며, 이것은 코맨드가 동일한 코맨드에서의 데이터 및 메타데이터 둘다를 자동으로 갱신하도록 한다.
디스크 캐시 액세스의 복잡성은, 본 발명의 특징들을 이용함으로써 완화될 수 있음을 명백히 알 수 있다. 호스트 제어 인터페이스는, 예를 들면, 폴리머 메모리와 같은 다양한 메모리 기법의 특수한 처리 필요성을 고려한다.
본 명세서에서는 본 발명의 소정의 특징들이 예시 및 기술되었지만, 당업자라면, 많은 변형, 대체, 변경 및 등가물이 가능함을 알 것이다. 따라서, 첨부된 특허 청구 범위는, 본 발명의 진정한 사상에 속하는 것으로서, 그러한 변형 및 변경 모두를 커버하도록 의도됨을 이해해야 한다.
도 1은 본 발명에 따른, 프로세서와 대량 저장 장치 사이의 인터페이스를 갖는 장치를 도시한다.
도 2는 본 발명의 특징을 강조하는 도면이다.
도 3은 5 캐시 라인 디스크 요청을 도시한다.
도 4는 도 3에서의 요청에 대한 코맨드 시퀀스를 도시한다.

Claims (13)

  1. 컴퓨터 시스템에 있어서,
    프로세서와,
    다수의 메모리 장치와,
    상기 프로세서를 상기 다수의 메모리 장치에 연결하며, 멀티 제어 코맨드를 발행하여 상이한 동작 타입을 갖는 상기 다수의 메모리 장치를 어드레싱하는 호스트 제어기 인터페이스를 포함하는 컴퓨터 시스템.
  2. 제 1 항에 있어서,
    상기 다수의 메모리 장치는 디스크 캐시를 형성하는 컴퓨터 시스템.
  3. 제 1 항에 있어서,
    상기 다수의 메모리 장치는 폴리머 메모리 장치인 컴퓨터 시스템.
  4. 제 1 항에 있어서,
    상기 다수의 메모리 장치는 플래시 메모리 장치인 컴퓨터 시스템.
  5. 제 1 항에 있어서,
    상기 멀티 제어 코맨드는 하나의 코맨드 패킷이 페치되고, 디코딩되고, 실행되어, 상기 다수의 메모리 장치에 상이한 메모리 동작을 제공하도록 하는 컴퓨터 시스템.
  6. 제 1 항에 있어서,
    상기 멀티 제어 코맨드는 상기 다수의 메모리 장치의 상이한 장치에서의 메모리 워드를 액세스하는 컴퓨터 시스템.
  7. 프로세서와,
    상기 프로세서에 연결된 주 메모리와,
    디스크 캐시 메모리 모듈상의 저장 장치에 대한 직접적인 프로세서 인스트럭션 액세스없이 판독/기록 데이터를 스트리밍(streaming)할 수 있는 프로그래밍 인터페이스를 갖는 디스크 캐시 메모리 모듈―상기 저장 장치에 저장된 데이터는 상기 주 메모리에서 검색 및 저장됨―을 포함하는 시스템.
  8. 제 7 항에 있어서,
    상기 저장 장치는 플래시 장치인 시스템.
  9. 제 7 항에 있어서,
    상기 저장 장치는 폴리머 장치인 시스템.
  10. 제 9 항에 있어서,
    상기 폴리머 장치는 강유전성 분극가능 물질인 시스템.
  11. 에러 보고 방법에 있어서,
    저장 장치에 대해 주기적 메모리 리프레시 사이클을 제공하는 단계와,
    메모리 제어기가 에러를 검출하고, 상기 저장 장치를 제어하는 소프트웨어를 중단하여, 메모리 리프레시 실패를 보고하도록 하는 단계를 포함하는 에러 보고 방법.
  12. 제 11 항에 있어서,
    상기 저장 장치에 대해 PFEM(Polymer Ferroelectric Memory) 장치를 통합하는 단계를 더 포함하는 에러 보고 방법.
  13. 제 11 항에 있어서,
    상기 저장 장치에 대해 주기적 메모리 리프레시 사이클을 제공하는 단계는 캐시 저장 장치에 대해 상기 주기적 메모리 리프레시 사이클을 제공하는 것을 더 포함하는 에러 보고 방법.
KR1020087028632A 2004-02-27 2005-02-02 컴퓨터 시스템 KR100968998B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/788,717 US7328304B2 (en) 2004-02-27 2004-02-27 Interface for a block addressable mass storage system
US10/788,717 2004-02-27

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020067017225A Division KR20060120263A (ko) 2004-02-27 2005-02-02 시스템, 컴퓨터 시스템, 호스트 제어 인터페이스에서의기능들을 포함하는 방법, 에러 보고 방법 및 물품

Related Child Applications (2)

Application Number Title Priority Date Filing Date
KR1020097007925A Division KR20090043011A (ko) 2004-02-27 2005-02-02 디스크 캐시 메모리 모듈을 포함하는 시스템
KR1020097007928A Division KR100954731B1 (ko) 2004-02-27 2005-02-02 에러 보고 방법

Publications (2)

Publication Number Publication Date
KR20080107488A true KR20080107488A (ko) 2008-12-10
KR100968998B1 KR100968998B1 (ko) 2010-07-09

Family

ID=34887061

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020067017225A KR20060120263A (ko) 2004-02-27 2005-02-02 시스템, 컴퓨터 시스템, 호스트 제어 인터페이스에서의기능들을 포함하는 방법, 에러 보고 방법 및 물품
KR1020087028632A KR100968998B1 (ko) 2004-02-27 2005-02-02 컴퓨터 시스템
KR1020097007925A KR20090043011A (ko) 2004-02-27 2005-02-02 디스크 캐시 메모리 모듈을 포함하는 시스템
KR1020097007928A KR100954731B1 (ko) 2004-02-27 2005-02-02 에러 보고 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020067017225A KR20060120263A (ko) 2004-02-27 2005-02-02 시스템, 컴퓨터 시스템, 호스트 제어 인터페이스에서의기능들을 포함하는 방법, 에러 보고 방법 및 물품

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020097007925A KR20090043011A (ko) 2004-02-27 2005-02-02 디스크 캐시 메모리 모듈을 포함하는 시스템
KR1020097007928A KR100954731B1 (ko) 2004-02-27 2005-02-02 에러 보고 방법

Country Status (6)

Country Link
US (1) US7328304B2 (ko)
JP (2) JP2007522590A (ko)
KR (4) KR20060120263A (ko)
MY (1) MY137842A (ko)
TW (1) TWI312466B (ko)
WO (1) WO2005093588A2 (ko)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7424564B2 (en) * 2004-03-23 2008-09-09 Qlogic, Corporation PCI—express slot for coupling plural devices to a host system
US7627716B2 (en) * 2004-11-15 2009-12-01 International Business Machines Corporation Method, system, and program for an adaptor to read and write to system memory
US20060282602A1 (en) * 2005-06-09 2006-12-14 Tse-Hsine Liao Data transmission device and method thereof
US7533215B2 (en) 2005-09-15 2009-05-12 Intel Corporation Distributed and packed metadata structure for disk cache
US7406560B2 (en) * 2006-06-21 2008-07-29 Intel Corporation Using multiple non-volatile memory devices to store data in a computer system
CN101364444B (zh) * 2008-02-05 2011-05-11 威盛电子股份有限公司 控制方法及运用该控制方法的存储器及处理系统
US8762661B2 (en) 2008-09-18 2014-06-24 Seagate Technology Llc System and method of managing metadata
US9128699B2 (en) 2008-12-22 2015-09-08 Intel Corporation Method and system for queuing transfers of multiple non-contiguous address ranges with a single command
US8107306B2 (en) * 2009-03-27 2012-01-31 Analog Devices, Inc. Storage devices with soft processing
US20100287217A1 (en) * 2009-04-08 2010-11-11 Google Inc. Host control of background garbage collection in a data storage device
US20100262773A1 (en) * 2009-04-08 2010-10-14 Google Inc. Data striping in a flash memory data storage device
US20100262979A1 (en) * 2009-04-08 2010-10-14 Google Inc. Circular command queues for communication between a host and a data storage device
US8447918B2 (en) 2009-04-08 2013-05-21 Google Inc. Garbage collection for failure prediction and repartitioning
US8607089B2 (en) 2011-05-19 2013-12-10 Intel Corporation Interface for storage device access over memory bus
WO2013048467A1 (en) 2011-09-30 2013-04-04 Intel Corporation Generation of far memory access signals based on usage statistic tracking
EP3364304B1 (en) 2011-09-30 2022-06-15 INTEL Corporation Memory channel that supports near memory and far memory access
EP3005125A4 (en) 2013-05-31 2017-02-15 Intel Corporation Scatter/gather capable system coherent cache
US9348537B2 (en) * 2013-09-10 2016-05-24 Qualcomm Incorporated Ascertaining command completion in flash memories
US9348697B2 (en) 2013-09-10 2016-05-24 Kabushiki Kaisha Toshiba Magnetic random access memory
US10339079B2 (en) 2014-06-02 2019-07-02 Western Digital Technologies, Inc. System and method of interleaving data retrieved from first and second buffers
US9934177B2 (en) 2014-11-04 2018-04-03 Cavium, Inc. Methods and systems for accessing storage using a network interface card
US10504588B2 (en) * 2015-05-12 2019-12-10 Alacrity Semiconductors, Inc. Multi-level versatile memory
US10719236B2 (en) * 2015-11-20 2020-07-21 Arm Ltd. Memory controller with non-volatile buffer for persistent memory operations
TWI588824B (zh) * 2015-12-11 2017-06-21 捷鼎國際股份有限公司 加快在不連續頁面寫入資料之電腦系統及其方法
US10475524B2 (en) 2016-09-15 2019-11-12 Apple Inc. Recovery of data read from memory with unknown polarity
US10345885B2 (en) 2016-09-27 2019-07-09 Intel Corporation Power control of a memory device through a sideband channel of a memory bus
US11855898B1 (en) * 2018-03-14 2023-12-26 F5, Inc. Methods for traffic dependent direct memory access optimization and devices thereof
US11861224B2 (en) * 2021-10-26 2024-01-02 Western Digital Technologies, Inc. Data transfer management from host buffers

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0186719B1 (en) * 1984-12-28 1990-06-13 International Business Machines Corporation Device for correcting errors in memories
JPS6225516A (ja) * 1985-07-24 1987-02-03 インタ−ナショナル ビジネス マシ−ンズ コ−ポレ−ション デコ−ド方法
JPS61105792A (ja) * 1985-10-04 1986-05-23 Toray Ind Inc 強誘電性高分子メモリ
JPS6395550A (ja) * 1986-10-13 1988-04-26 Canon Inc メモリ装置
JPS63265341A (ja) * 1987-04-23 1988-11-01 Nec Corp スキヤンパス制御装置
JP2688483B2 (ja) * 1987-09-04 1997-12-10 花王株式会社 磁気記録媒体
JP2869651B2 (ja) * 1988-04-04 1999-03-10 理化学研究所 強誘電性高分子メモリーの記録再生方法
JP2915945B2 (ja) * 1990-01-12 1999-07-05 株式会社アドバンテスト メモリ試験装置
JP3169599B2 (ja) * 1990-08-03 2001-05-28 株式会社日立製作所 半導体装置、その駆動方法、その読み出し方法
JPH07193603A (ja) * 1993-12-27 1995-07-28 Nippon Hoso Kyokai <Nhk> Msk変調器
US5438614A (en) * 1994-05-25 1995-08-01 U.S. Robotics, Inc. Modem management techniques
TW382705B (en) 1996-10-21 2000-02-21 Texas Instruments Inc Error correcting memory
US6055643A (en) * 1997-09-25 2000-04-25 Compaq Computer Corp. System management method and apparatus for supporting non-dedicated event detection
JP3720983B2 (ja) * 1998-06-23 2005-11-30 株式会社東芝 強誘電体メモリ
JP2000011670A (ja) * 1998-06-25 2000-01-14 Canon Inc 不揮発性メモリを有する機器
JP3951918B2 (ja) * 2000-06-23 2007-08-01 インテル・コーポレーション 不揮発性キャッシュ
JP2002175697A (ja) * 2000-12-06 2002-06-21 Toshiba Corp 半導体記憶装置及びこれを用いた情報処理装置
JP3502065B2 (ja) * 2001-04-24 2004-03-02 株式会社三技協 乱数発生装置
JP3860436B2 (ja) * 2001-07-09 2006-12-20 富士通株式会社 半導体記憶装置
JP2003036251A (ja) * 2001-07-23 2003-02-07 Hitachi Ltd 信号処理装置
US20030061436A1 (en) * 2001-09-25 2003-03-27 Intel Corporation Transportation of main memory and intermediate memory contents
US20030058681A1 (en) * 2001-09-27 2003-03-27 Intel Corporation Mechanism for efficient wearout counters in destructive readout memory
JP4053347B2 (ja) * 2002-05-09 2008-02-27 松下電器産業株式会社 半導体記憶装置およびその記憶データ書き込み・読み出し方法
US7353329B2 (en) * 2003-09-29 2008-04-01 Intel Corporation Memory buffer device integrating refresh logic

Also Published As

Publication number Publication date
WO2005093588A3 (en) 2006-12-14
US7328304B2 (en) 2008-02-05
JP2010049701A (ja) 2010-03-04
JP5216743B2 (ja) 2013-06-19
KR20090051272A (ko) 2009-05-21
KR100968998B1 (ko) 2010-07-09
US20050193164A1 (en) 2005-09-01
WO2005093588A2 (en) 2005-10-06
KR20060120263A (ko) 2006-11-24
KR20090043011A (ko) 2009-05-04
TWI312466B (en) 2009-07-21
JP2007522590A (ja) 2007-08-09
KR100954731B1 (ko) 2010-04-23
MY137842A (en) 2009-03-31
TW200530831A (en) 2005-09-16

Similar Documents

Publication Publication Date Title
KR100968998B1 (ko) 컴퓨터 시스템
US20200233585A1 (en) Data relocation in hybrid memory
US10296249B2 (en) System and method for processing non-contiguous submission and completion queues
US20190042148A1 (en) System and method for using host command data buffers as extended memory device volatile memory
US10275541B2 (en) Proactive corrective actions in memory based on a probabilistic data structure
US7193923B2 (en) Semiconductor memory device and access method and memory control system for same
US12013762B2 (en) Meta data protection against unexpected power loss in a memory system
US20220138096A1 (en) Memory system
US20230106125A1 (en) Memory with multi-mode ecc engine
KR102365602B1 (ko) 지능형 임계치 검출을 통한 커맨드 최적화
CN114647375A (zh) 使装置具备增强型持久性存储器区存取能力
US9507710B2 (en) Command execution using existing address information
US20200194080A1 (en) Consolidation of copy-back and write in pram blocks
US11978490B2 (en) Back pattern counter measure for solid state drives
US11379362B2 (en) Memory system and operating method thereof
US11868661B2 (en) Row hammer attack alert
US20210405913A1 (en) Host access tracking in a memory sub-system
CN115705163A (zh) 逻辑重映射技术

Legal Events

Date Code Title Description
A107 Divisional application of patent
A201 Request for examination
E902 Notification of reason for refusal
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130701

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140701

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150630

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160630

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180628

Year of fee payment: 9