KR101343704B1 - 공유된 비휘발성 메모리 아키텍쳐 - Google Patents
공유된 비휘발성 메모리 아키텍쳐 Download PDFInfo
- Publication number
- KR101343704B1 KR101343704B1 KR1020087026567A KR20087026567A KR101343704B1 KR 101343704 B1 KR101343704 B1 KR 101343704B1 KR 1020087026567 A KR1020087026567 A KR 1020087026567A KR 20087026567 A KR20087026567 A KR 20087026567A KR 101343704 B1 KR101343704 B1 KR 101343704B1
- Authority
- KR
- South Korea
- Prior art keywords
- processing component
- initialization
- logic
- memory
- volatile memory
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/177—Initialisation or configuration control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/54—Link editing before load time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Multi Processors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
디바이스에서 복수의 프로세싱 컴포넌트들을 초기화하기 위해 공유된 비휘발성 메모리를 사용하는 방법 및 시스템이 기술된다. 디바이스 내의 프로세싱 컴포넌트들에 대한 구성 데이터 및 기동 로직은 단일 비휘발성 메모리에 저장된다. 디바이스를 초기화하는 명령을 수신하면, 공유된 메모리 시스템은 비휘발성 메모리로부터 휘발성 메인 메모리로 기동 로직 및 구성 데이터를 복사한다. 다음으로, 각각의 프로세싱 컴포넌트는 메인 메모리를 액세스하여 기동 로직 및 구성 데이터를 찾고 실행을 시작한다. 공유된 메모리 시스템은 복수의 프로세싱 컴포넌트들을 초기화하는데 사용되는 비휘발성 메모리 컴포넌트들의 갯수를 감소시킨다.
공유, 비휘발성 메모리, 휘발성 메모리, 플래시 메모리, 프로세싱 컴포넌트
Description
본 발명은, 2006년 3월 30일에 출원된, 발명의 명칭이 "INTEGRATED MULTI-PORT SERIAL MEMORY AND INTER-PROCESSOR COMMUNICATION"인, 미국 가특허출원번호 제60/788,401호(대리인 도켓 번호 제59472-8826.US00호)의 우선권을 주장하며, 본 명세서에 참조로서 포함된다.
별개의 작업들 전용의 복수의 프로세싱 컴포넌트들을 갖는 모바일(mobile) 디바이스들이 점점 일반화되고 있다. 예를 들어, 휴대폰들은, 종종 통화의 접속 및 차단 조작 전용의 기저대역(baseband) 프로세서, 및 사용자 인터페이스를 표시하고 사용자로부터의 요청을 수신하는, 전용의 별개의 미디어 프로세서를 포함한다. 그러한 컴포넌트들은 동작 중에 사용을 위해 휘발성 메인(main) 메모리를 공유할 수 있거나, 또는 각각의 컴포넌트는 전용 메모리를 가질 수 있다. 각각의 컴포넌트는 기동(startup) 로직 및 구성 데이터를 저장하는데 사용되는 자체의 비휘발성 메모리를 가질 수 있다. 또한, 각각의 컴포넌트는 그외의 컴포넌트들과의 통신을 위해 자체의 독점적인 인터페이스를 가질 수 있다.
디바이스의 제조 비용은 디바이스 내에 포함된 컴포넌트들의 갯수와 직접적으로 관련된다. 따라서, 일반적인 제조 목적은, 비용을 절감하기 위해 중복되는 컴포넌트들을 줄이거나 또는 제거하는 것이다. 추가의 컴포넌트들도 모바일 디바이스들의 배터리 수명에 직접적으로 영향을 미치는 디바이스의 전력 소모를 증가시킨다. 따라서, 컴포넌트들을 줄이는 것 또한 배터리 수명을 연장시킨다. 또한, 다수의 버스들 및 컴포넌트들 사이의 그외의 인터페이스들은 디바이스의 복잡도를 증가시킨다. 증가된 복잡도는 디바이스의 설계 및 테스트를 어렵게 하고, 시장에 신상품을 공급하는데 필요한 시간을 증가시킨다.
디바이스에서 특히 비용이 많이 들 수 있는 하나의 컴포넌트는 디바이스를 초기화하는데 사용되는 비휘발성 메모리이다. 일반적으로, 제조 중에 기동 로직 및 구성 데이터가 함께 플래시될 수 있는 EEPROM이 사용되고, 때때로 플래시 메모리로서 지칭된다. 플래시 메모리는, 데이터를 저장하기 위해 플래시 메모리 내에 사용되는 로직 게이트들의 지배적인 유형으로 지칭되는 두개의 유형들, NAND 및 NOR로 사용가능하다. NOR 플래시 메모리는 빠르고, 마이크로초(microsecond)의 액세스 시간을 갖는 한편, NAND 플래시 메모리는 보다 느리고, 일반적으로 밀리초(millisecond)의 액세스 시간을 갖는다. 그러나, 이러한 속도는 비용이 수반되며, NOR 플래시 메모리가 NAND 플래시 메모리보다 더 고가이다. 디바이스 제조자들은 플래시 메모리의 속도와 그 비용 사이에 트레이드-오프(trade-off)를 해야한다. 소비자들은 일반적으로 더 빠른 플래시 메모리를 사용하는데 결정적인 역할을 하는, 가전 제품(consumer electronic) 디바이스들(예를 들어, 휴대폰 및 DVD 플레이어)에 대한 빠른 기동 시간을 기대하고, 따라서 플래시 메모리는 종종 디바이스의 더 고가의 컴포넌트들 중의 하나가 된다. 각각이 자체의 플래시 메모리를 갖는 복수의 프로세싱 컴포넌트들이 디바이스 내에 포함되는 경우, 비용이 상당할 수 있다.
도 1은 공유된 메모리 시스템의 컴포넌트들을 도시하는 블록도이다.
도 2는 초기화 중에 공유된 메모리를 포함하는 디바이스의 프로세싱을 도시하는 흐름도이다.
도 3은 초기화 중에 디바이스에서 플래시 메모리 및 RAM(random access memory)의 콘텐츠(contents)를 도시하는 메모리 도면이다.
도 4는 초기화 중에 초기화 로직의 검증을 도시하는 흐름도이다.
복수의 프로세싱 컴포넌트들을 초기화하기 위해 공유된 비휘발성 메모리를 사용하는 시스템 및 방법이 제공되며, 공유된 메모리 시스템으로서 지칭된다. 공유된 메모리 시스템은 디바이스 내의 복수의 프로세싱 컴포넌트들을 초기화하는데 사용되는 비휘발성 메모리 컴포넌트들의 갯수를 감소시킨다. 일부의 실시예들에서, 디바이스 내의 프로세싱 컴포넌트들에 대한 구성 데이터 및 기동 로직은 단일 비휘발성 메모리에 저장된다. 디바이스를 초기화하는 명령을 수신하면, 공유된 메모리 시스템은 비휘발성 메모리로부터 휘발성 메인 메모리로 기동 로직 및 구성 데이터를 복사한다. 다음으로, 각각의 프로세싱 컴포넌트는 메인 메모리를 액세스하여 기동 로직 및 구성 데이터를 찾고 실행을 시작한다. 메인 메모리는 일반적으로 플래시 메모리보다 훨씬 더 빠르다. 따라서, 비휘발성 메모리의 속도는 단지 초기 복사 중의 인자(factor)이기 때문에, 비휘발성 메모리로부터 메인 메모리로의 기동 로직의 이동으로 인해 비휘발성 메모리의 속도의 중요성은 감소한다. 이러한 방법으로, 공유된 메모리 시스템은 디바이스 제조자들이 디바이스의 기동 속도에 상당한 영향을 끼치지 않는 더 싼 비휘발성 메모리 컴포넌트를 선택하는 것을 가능하게 한다. 또한, 디바이스 제조자는 정상 동작 중에 각각의 컴포넌트가 메인 메모리를 액세스하도록 미리 설계해야하기 때문에, 메인 메모리로부터 기동 로직이 사용가능한 경우 비휘발성 메모리를 액세스하기 위해 추가의 인터페이스를 설계할 필요가 없다. 이러한 방법으로, 공유된 메모리 시스템은 각각의 컴포넌트의 설계를 간략화하여, 복잡도가 감소되고 전력 소모가 감소된다.
일부의 실시예들에서, 공유된 메모리 시스템은, 2001년 11월 7일에 출원된(대리인 도켓 번호 제59472-8812.US00호), 본 명세서에 참조로서 포함되는, 발명의 명칭이 "COMMUNICATIONS ARCHITECTURE FOR MEMORY-BASED DEVICES"인, 미국특허출원번호 제10/045,297호에 기술된, 메모리링크(MemoryLink) 아키텍쳐와 같은, 직렬-포트 메모리 컴포넌트를 사용한다. 상기 참조된 특허출원은, 전술된 프로세싱 컴포넌트들과 같은, 복수의 디바이스들이 단일 메인 메모리 디바이스를 액세스하는 것을 가능하게 하는 직렬-포트 메모리를 기술한다. 그 아키텍쳐는 메모리를 액세스하고, 동작들의 완료를 나타내는 디바이스들 사이의 이벤트들을 통신하기 위한 메카니즘(mechanism)들을 포함한다. 일부의 실시예들에서, 프로세싱 컴포넌트들은, 프로세싱 컴포넌트들을 연결하여 동작들을 동기화하는데 사용하는 별개의 인터페이스를 가질 수 있다.
일부의 실시예들에서, 공유된 메모리 시스템은 프로세싱 컴포넌트들 중 하나를 마스터(master) 프로세싱 컴포넌트로 지정한다. 마스터 프로세싱 컴포넌트는 비휘발성(예를 들어, 플래시) 메모리 컴포넌트와 접촉하는 유일한 프로세싱 컴포넌트이다. 기동 중에, 마스터 프로세싱 컴포넌트는 비휘발성 메모리 컴포넌트의 콘텐츠를 메인 메모리 컴포넌트로 복사할 책임을 진다. 마스터 프로세싱 컴포넌트가 비휘발성 메모리 컴포넌트의 콘텐츠를 복사한 후에, 마스터 프로세싱 컴포넌트는, 전술된 바와 같은 신호 메커니즘들을 사용하는 것 등에 의해 그외의 프로세싱 컴포넌트들이 기동 시퀀스(sequence)를 시작하도록 신호를 보낸다. 마스터 프로세싱 컴포넌트는 또한 비휘발성 메모리 컴포넌트의 복사된 콘텐츠를 포함하는 메인 메모리 컴포넌트를 액세스함으로써 그 기동 시퀀스를 시작한다. 이러한 방법으로, 비휘발성 메모리 컴포넌트에 대하여 별개의 인터페이스를 갖는 하나의 프로세싱 컴포넌트만이 설계되지만, 비휘발성 메모리 컴포넌트의 콘텐츠는 각각의 프로세싱 컴포넌트들에 사용가능하게 된다.
도 1은 일부의 실시예들에서, 공유된 메모리 시스템의 컴포넌트들을 도시하는 블록도이다. 공유된 메모리 시스템을 사용하는 디바이스(100)는 플래시 메모리 컴포넌트(110) 또는 그외의 비휘발성 메모리 컴포넌트, 제1 프로세싱 컴포넌트(120), 적어도 하나의 그외의 프로세싱 컴포넌트(130), 및 메인 RAM(140) 또는 그외의 휘발성 메모리 컴포넌트를 포함한다. 플래시 메모리 컴포넌트(110)는 공유된 메모리 시스템으로부터 전원이 제거되는 기간 동안 각각의 프로세싱 컴포넌트들에 저장되는 기동 로직 및 구성 데이터를 포함한다. 제1 프로세싱 컴포넌트(120) 는 마스터 프로세싱 컴포넌트로서 구성되고 플래시 메모리 컴포넌트(110)와 접촉한다. 디바이스(100)의 기동 중에, 제1 프로세싱 컴포넌트(120)는 플래시 메모리 컴포넌트(110)의 콘텐츠를 RAM(140)에 복사한다. 각각의 프로세싱 컴포넌트들(120 및 130)은 RAM(140)에 접속된다. 제1 프로세싱 컴포넌트(120)가 플래시 메모리 컴포넌트(110)의 콘텐츠를 RAM(140)에 복사하면, 각각의 프로세싱 컴포넌트들(120 및 130)은 RAM(140)으로부터 기동 로직 및 구성 데이터를 직접 액세스함으로써 기동 시퀀스를 시작한다. 도 1에 두개의 프로세싱 컴포넌트들만이 묘사되어 있지만, 임의의 갯수의 프로세싱 컴포넌트 또는 그외의 컴포넌트가 공유된 메모리 시스템에 연결될 수 있다는 것이 이해될 것이다. 프로세서들은 또한 서로 상이하고 상이한 기능들을 수행할 수 있다. 예를 들어, 모바일 애플리케이션들에서 하나의 프로세서는 기저대역 프로세서가 될 수 있고 다른 프로세서는 애플리케이션 프로세서가 될 수 있다.
시스템이 구현된 디바이스는 중앙 처리 유닛, 메모리, 입력 디바이스들(예를 들어, 키보드 및 지시 디바이스들), 출력 디바이스들(예를 들어, 시각 디스플레이들, 오디오 스피커들), 및 저장 디바이스들(예를 들어, 디스크 드라이브들)을 포함할 수 있다. 메모리 및 저장 디바이스들은 개시된 기술을 구현하는 컴퓨터-실행가능 명령어들로 인코딩될 수 있는 컴퓨터-판독가능 매체들이고, 이는 적절한 명령어들을 포함하는 컴퓨터-판독가능 매체를 의미한다. 또한, 데이터 구조들 및 메세지(message) 구조들은, 통신 링크(link)의 신호와 같은 데이터 송신 매체를 통해 저장되거나 송신될 수 있다. 인터넷, 근거리 통신망(local area network), 광역 네트워크(wide area network), 점대점 다이얼-업(point-to-point dial-up) 접속, 휴대폰 네트워크 등의 다양한 통신 링크들이 사용될 수 있다.
시스템의 실시예들은 개인용 컴퓨터들, 서버 컴퓨터들, 핸드헬드(handheld) 또는 랩탑(laptop) 디바이스들, 멀티프로세서 시스템들, 마이크로프로세서 기반의 시스템들, 프로그램가능한 가전 제품들, 디지털 카메라들, 네트워크 PC들, 미니컴퓨터들을 포함하는 다양한 모바일 동작 환경들, 상기 시스템들 또는 디바이스들 중 임의의 것을 포함하는 분산 컴퓨팅 환경들 등에 구현될 수 있다. 컴퓨터 시스템은 휴대폰들, 개인 휴대 정보 단말기(personal digital assistant)들, 스마트 폰(smart phone)들, 개인용 컴퓨터들, 프로그램가능한 가전 제품들, 디지털 카메라들 등이 될 수 있다.
시스템은 하나 이상의 컴퓨터들 또는 그외의 디바이스들에 의해 실행되는, 프로그램 모듈(module)들과 같은, 컴퓨터-실행가능 명령어들의 일반적인 맥락(context)으로 기술될 수 있다. 일반적으로, 프로그램 모듈들은 특정한 작업들을 수행하거나 또는 특정한 추상적인 데이터 유형들을 구현하는 하드웨어 로직, 루틴(routine)들, 프로그램들, 오브젝트(object)들, 컴포넌트들, 데이터 구조들 등을 포함한다. 일반적으로, 프로그램 모듈들의 기능은 다양한 실시예들에서 원하는 대로 결합되거나 또는 분산될 수 있다.
도 2는 일 실시예에서, 초기화 중의 디바이스의 프로세싱을 도시하는 흐름도이다. 초기화는 전원이 먼저 디바이스에 인가되는 경우 또는 디바이스가 하드 리셋(hard reset)을 수행하는 경우에 발생한다. 블록(210)에서, 디바이스는 마스터 프로세서를 기동한다. 블록(220)에서, 디바이스는, 마스터 프로세서가 플래시 메모리의 콘텐츠를 RAM(또는 그외의 휘발성 메모리)으로 복사하도록 지시하는, 플래시 메모리 컴포넌트(또는 그외의 비휘발성 메모리 컴포넌트)로부터의 명령어들의 실행을 마스터 프로세서가 시작하도록 지시한다. 블록(230)에서, 디바이스는 각각의 프로세서들이 RAM 컴포넌트를 사용하여 초기화를 시작하도록 신호를 보낸다. 블록(240)에서, 제1 프로세서는 RAM 내에 초기화 명령어들을 찾아내고 초기화 명령어들의 실행을 시작한다. 블록(250)에서, 그외의 프로세서들은 RAM 내에 각각의 초기화 명령어들을 찾아내고 초기화 명령어들의 실행을 시작한다. 단계(250) 후에, 디바이스는 초기화되고 이 단계들은 종료된다.
도 3은 일 실시예에서, 초기화 중에 플래시 메모리 및 RAM의 콘텐츠를 도시하는 메모리 도면이다. 그 도면은 플래시 메모리(305) 및 RAM(350)을 포함한다. 플래시 메모리(305)는 제1 프로세싱 컴포넌트용 초기화 로직(310), 다른 프로세싱 컴포넌트용 초기화 로직(315), 플래시 쉐도우(shadow) 로직(320), 및 부트 리셋 벡터(boot reset vector)(325)를 포함한다. 초기화 로직(310)은 자체 초기화를 위해 제1 프로세싱 컴포넌트가 필요로하는 정보를 포함한다. 초기화 로직(310)은 초기화 로직(이하에 더 상세하게 기술됨)의 소스 또는 무결성(integrity)을 검증하기 위해 시그너처(signature)(312)를 포함할 수 있다. 초기화 로직(315)은 자체 초기화를 위해 제2 프로세싱 컴포넌트가 필요로하는 정보를 포함한다. 초기화 로직(315)은 또한 시그너처(317)를 포함한다. 플래시 쉐도우 로직(320)은 플래시 메모리의 콘텐츠를 RAM에 복사하는 마스터 프로세싱 컴포넌트에 의해 실행되는 명령 어들을 포함한다. 부트 리셋 벡터(325)는 리셋 시 마스터 프로세싱 유닛이 실행을 시작하는 주지된 위치이다. 부트 리셋 벡터(325)는 플래시 쉐도우 로직(320)의 어드레스에 대한 점프(jump)를 포함한다.
RAM(350)은 제1 프로세싱 컴포넌트에 할당되는 영역(355), 및 제2 프로세싱 컴포넌트에 할당되는 영역(375)을 포함한다. 제1 프로세싱 컴포넌트에 할당되는 영역(355)은 플래시 메모리로부터 복사된 초기화 로직(360)을 포함한다. 제2 프로세싱 컴포넌트에 할당되는 영역(375)은 플래시 메모리로부터 복사된 초기화 로직(380)을 포함한다. 플래시 쉐도우 로직(320)이 초기화 로직(360 및 380)의 복사를 완료하면, 플래시 쉐도우 로직(320)은 각각의 프로세싱 유닛들이 메모리의 적절한 영역을 사용하여 초기화를 시작하도록 신호를 보낸다. 일부의 실시예들에서, 쉐도우 복사 로직(320)은 프로세싱 컴포넌트들 중 하나의 컴포넌트 내에 임베딩(embedded)될 수 있고 플래시 메모리(305) 내에 포함되지 않을 수 있다. 일부의 실시예들에서, 각각의 영역은 RAM(350)의 포트에 연결될 수 있다. 메모리를 액세스하기 위해 복수의 직렬 포트들을 갖는 메모리 아키텍쳐는 발명의 명칭이 "COMMUNICATIONS ARCHITECTURE FOR MEMORY-BASED DEVICES."인 이전에 참조된 특허출원에 개시된다.
일부의 실시예들에서, 공유된 메모리 시스템은 마스터 프로세싱 컴포넌트를 지정하지 않는다. 오히려, 공유된 메모리 시스템은 마스터 프로세싱 컴포넌트를 사용하지 않도록, 플래시 메모리 컴포넌트의 콘텐츠를 RAM 컴포넌트로 복사하기 위한 전용 하드웨어를 포함할 수 있다. 대안적으로, 각각의 프로세싱 컴포넌트는 플 래시 메모리 컴포넌트에 접속될 수 있고, 프로세싱 컴포넌트들은, 어느 프로세싱 유닛이 가장 빠른지를 판정하는 것 등에 의해, 프로세싱 컴포넌트들 중 어느 것이 플래시 메모리의 콘텐츠를 복사할 것인지를 판정할 수 있다.
일부의 실시예들에서, 공유된 메모리 시스템은 각각의 프로세싱 컴포넌트들이 초기화를 개시하도록 신호를 보내지 않는다. 예를 들어, 프로세싱 컴포넌트들은 플래시 메모리로부터 RAM으로의 기동 로직 및 구성 데이터의 복사가 완료되는 것을 보장하기에 충분한 것으로 간주되는, 초기화를 시작하기 위한 미리 정의된 시간 구간 동안 기다릴 수 있다. 대안적으로, 프로세싱 컴포넌트들은, 공유된 메모리 시스템이 초기화 로직을 위해 특정한 주지된 최종 어드레스에 데이터를 기입한 시점을 판정하기 위해 메인 메모리를 폴(poll)할 수 있다.
일부의 실시예들에서, 공유된 메모리 시스템은 초기화 때보다 프로세싱 컴포넌트의 요청 시 플래시 메모리로부터 데이터를 복사한다. 예를 들어, 프로세싱 컴포넌트들 중 하나는, 휴대폰의 미디어 프로세서와 같이, 디바이스가 초기화된 후에 프로세싱 컴포넌트가 플래시 메모리로부터 복사될 데이터를 요청하도록, 시스템의 나머지 부분들과 별도로 리셋될 수 있다. 다른 예시로서, 공유된 메모리 시스템은 프로세싱 컴포넌트들이 사용되지 않는 경우 전력을 절약하기 위해 일부의 프로세싱 컴포넌트들을 주기적으로 파워 다운(power down)할 수 있다. 그러한 환경들에서, 마스터 프로세싱 컴포넌트는, 요청 프로세싱 컴포넌트에 의해 사용되는 플래시 메모리의 영역이 복사되는 것을 요청하는데 사용하기 위한 프로토콜을 요청 프로세싱 컴포넌트에 제공할 수 있다.
일부의 실시예들에서, 플래시 메모리 컴포넌트의 초기화 로직은 콘텐츠의 무결성을 검증하기 위해 해시(hash)를 포함한다. 예를 들어, SHA 또는 MD5 해시는 초기화 로직의 무결성을 검사하기 위해 각각의 프로세싱 컴포넌트에 의해 사용되는 각각의 프로세싱 컴포넌트용 초기화 로직과 함께 저장되는 시그너처를 생성하는데 사용될 수 있다. 대안적으로 또는 추가로, 하나 이상의 프로세싱 컴포넌트들에 대한 초기화 로직은, 초기화 로직의 판독 또는 변경(tampering)을 방지하도록 암호화될 수 있다. 프로세싱 컴포넌트들은 콘텐츠를 실행하기 전에 플래시 메모리의 복사된 콘텐츠를 복호하는데 사용되는 공개 키를 포함할 수 있다. 대안적으로, 지정된 마스터 프로세싱 유닛은 이러한 유형의 검증의 실행을 담당할 수 있다.
도 4는 일 실시예에서, 초기화 중의 초기화 로직의 검증을 도시하는 흐름도이다. 블록(410)에서, 프로세싱 컴포넌트는 메인 메모리에 복사된 초기화 로직을 식별한다. 블록(420)에서, 프로세싱 컴포넌트는 초기화 로직과 연결된 시그너처를 찾는다. 블록(430)에서, 프로세싱 컴포넌트는 초기화 로직 콘텐츠의 해시를 수행한다. 블록(440)에서, 프로세싱 컴포넌트는 판정된 해시 값을 초기화 로직과 연결된 시그너처와 비교한다. 판정 블록(450)에서, 값들이 일치하면, 컴포넌트는 블록(470)을 계속해서 수행하고, 일치하지 않으면 블록(460)을 계속해서 수행한다. 블록(460)에서, 값들이 일치하지 않는 경우 프로세싱 컴포넌트는 콘텐츠가 수정되었는지를 판정하고 적절한 조치를 취한다. 예를 들어, 프로세싱 컴포넌트는 인터럽트(interrupt) 또는 추가 프로세싱 중지(halt)에 대한 신호를 보낼 수 있다. 블록(470)에서, 초기화 로직이 수정되지 않은 경우, 프로세싱 컴포넌트는 초기화 로 직을 실행함으로써 초기화를 수행한다. 단계(470) 후에, 이 단계들이 완료된다.
전술된 바와 같이, 공유된 메모리 시스템의 특정한 실시예들이 예시의 목적으로 본 명세서에 개시되었지만, 다양한 수정들이 본 발명의 정신 및 범주를 벗어나지 않고 만들어질 수 있다는 것이 이해될 것이다. 예를 들어, RAM이 기술되었지만, 임의의 적절한 메모리 디바이스가 사용될 수 있다. 마찬가지로, 프로세싱 컴포넌트들이 기술되었지만, 비휘발성 메모리 디바이스가 실행될 명령어들을 포함하는지의 여부에 관계없이, 비휘발성 메모리 디바이스로부터 일반적으로 정보를 판독하는 임의의 컴포넌트들이 기술된 공유된 메모리 시스템으로부터 효과를 볼 수 있다. 따라서, 본 발명은 첨부된 청구범위에 의한 것을 제외하고는 한정되지 않는다.
Claims (40)
- 프로세싱 컴포넌트들 사이에서 비휘발성 메모리를 공유하기 위한 시스템으로서,상기 시스템의 동작 중에 데이터를 저장하도록 구성된 휘발성 메모리;상기 휘발성 메모리에 접속되어 상기 휘발성 메모리로부터 초기화 로직을 액세스하도록 구성된 제1 프로세싱 컴포넌트 - 상기 제1 프로세싱 컴포넌트는 마스터 프로세싱 컴포넌트임 -;상기 휘발성 메모리에 접속되어 상기 휘발성 메모리로부터 초기화 로직을 액세스하도록 구성된 제2 프로세싱 컴포넌트;초기화 로직을 포함하는 비휘발성 메모리 - 상기 초기화 로직은 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트에 대한 구성 데이터 및 기동 로직을 포함함 -; 및상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트가 초기화를 시작하기 전에 상기 비휘발성 메모리로부터 상기 휘발성 메모리로 상기 초기화 로직을 복사하고 상기 휘발성 메모리에 저장된 초기화 로직을 사용하여 초기화를 시작하도록 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트에게 신호를 보내도록 상기 제1 프로세싱 컴포넌트에 의해 실행가능한 명령어들을 포함하는 쉐도우 로직을 포함하고,상기 제1 프로세싱 컴포넌트는 상기 비휘발성 메모리와 접촉하는 유일한 프로세싱 컴포넌트인 비휘발성 메모리 공유 시스템.
- 제1항에 있어서,상기 쉐도우 로직은 상기 비휘발성 메모리에 포함되는 비휘발성 메모리 공유 시스템.
- 제2항에 있어서,상기 비휘발성 메모리는 부트 리셋 벡터를 포함하고, 상기 부트 리셋 벡터는 상기 제1 프로세싱 컴포넌트가 리셋 시 실행을 시작하는 위치를 제공하고 상기 쉐도우 로직의 어드레스로의 점프를 포함하는 비휘발성 메모리 공유 시스템.
- 제1항에 있어서,상기 쉐도우 로직은 상기 프로세싱 컴포넌트들 중 하나에 임베딩되는 비휘발성 메모리 공유 시스템.
- 제1항에 있어서,상기 제1 프로세싱 컴포넌트는 상기 제2 프로세싱 컴포넌트와 동일한 유형이 아닌 비휘발성 메모리 공유 시스템.
- 제1항에 있어서,상기 휘발성 메모리는 상기 비휘발성 메모리보다 더 빠른 비휘발성 메모리 공유 시스템.
- 제1항에 있어서, 상기 비휘발성 메모리에 저장된 상기 초기화 로직은 상기 초기화 로직의 콘텐츠를 검증하기 위한 시그너처(signature)를 포함하고, 상기 제1 프로세싱 컴포넌트는 상기 초기화 로직의 해시를 수행하고 상기 해시가 상기 시그너처와 일치하는지를 판정하도록 구성되는 비휘발성 메모리 공유 시스템.
- 제1항에 있어서,상기 비휘발성 메모리에 저장된 상기 초기화 로직은 개인 키를 사용하여 암호화되고, 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트는 상기 초기화 로직을 복호하기 위해 공개 키를 사용하는 비휘발성 메모리 공유 시스템.
- 제1항에 있어서,상기 비휘발성 메모리는 플래시 메모리 컴포넌트인 비휘발성 메모리 공유 시스템.
- 시스템의 프로세싱 컴포넌트들을 초기화하기 위한 방법으로서,상기 시스템을 초기화하는 요청을 수신하는 단계;비휘발성 메모리로부터 상기 시스템의 상기 프로세싱 컴포넌트들 중 적어도 제1 프로세싱 컴포넌트 및 제2 프로세싱 컴포넌트에 의해 액세스가능한 휘발성 메인(main) 메모리로 초기화 정보를 복사하는 단계 - 상기 제1 프로세싱 컴포넌트는 상기 시스템에 대한 마스터 프로세싱 컴포넌트임 -; 및상기 휘발성 메인 메모리에 저장된 초기화 정보를 사용하여 초기화를 시작하도록 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트에게 신호를 보내는 단계를 포함하고,상기 제1 프로세싱 컴포넌트는 상기 초기화 정보의 복사를 수행하고 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트에게 신호를 보내도록 쉐도우 로직에 포함된 명령어들을 실행하고,상기 제1 프로세싱 컴포넌트는 상기 비휘발성 메모리와 접촉하는 유일한 프로세싱 컴포넌트인 방법.
- 제10항에 있어서,상기 쉐도우 로직은 상기 비휘발성 메모리에 포함되는 방법.
- 제11항에 있어서,상기 비휘발성 메모리는 부트 리셋 벡터를 포함하고, 상기 부트 리셋 벡터는 상기 제1 프로세싱 컴포넌트가 리셋 시 실행을 시작하는 위치를 제공하고 상기 쉐도우 로직의 어드레스로의 점프를 포함하는 방법.
- 제10항에 있어서,상기 제1 프로세싱 컴포넌트는 상기 제2 프로세싱 컴포넌트와 동일한 유형이 아닌 방법.
- 제10항에 있어서,상기 휘발성 메인 메모리는 상기 비휘발성 메모리보다 더 빠른 방법.
- 제10항에 있어서,상기 비휘발성 메모리에 저장된 상기 초기화 정보는 상기 초기화 정보의 콘텐츠를 검증하기 위한 시그너처를 포함하고, 상기 제1 프로세싱 컴포넌트는 상기 초기화 정보의 해시를 수행하고 상기 해시가 상기 시그너처와 일치하는지를 판정하도록 구성되는 방법.
- 제10항에 있어서,상기 비휘발성 메모리에 저장된 상기 초기화 정보는 개인 키를 사용하여 암호화되고, 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트는 상기 초기화 정보를 복호하기 위해 공개 키를 사용하는 방법.
- 제10항에 있어서,상기 요청은 파워-온(power-on) 신호인 방법.
- 제10항에 있어서,상기 요청은 리셋 신호인 방법.
- 시스템에서 복수의 프로세싱 컴포넌트들을 초기화하기 위해 비휘발성 메모리에 저장된 정보를 사용하도록 모바일 디바이스를 제어하기 위한 장치로서,상기 디바이스를 초기화하는 요청을 수신하기 위한 수단;제1 프로세싱 컴포넌트에 의해 쉐도우 로직 컴포넌트에 포함된 명령어들을 실행하기 위한 수단 - 상기 제1 프로세싱 컴포넌트는 시스템에 대한 마스터 프로세싱 컴포넌트이고, 상기 제1 프로세싱 컴포넌트는 상기 비휘발성 메모리와 접촉하는 유일한 프로세싱 컴포넌트임 -;상기 비휘발성 메모리로부터 상기 시스템의 상기 프로세싱 컴포넌트들 중 적어도 상기 제1 프로세싱 컴포넌트 및 제2 프로세싱 컴포넌트에 의해 액세스가능한 휘발성 메모리로 초기화 정보를 복사하기 위한 수단; 및상기 휘발성 메모리에 저장된 초기화 정보를 사용하여 초기화를 시작하도록 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트에게 신호를 보내기 위한 수단을 포함하고,상기 제1 프로세싱 컴포넌트는 상기 초기화 정보의 복사를 수행하고 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트에게 신호를 보내도록 쉐도우 로직에 포함된 명령어들을 실행하는 장치.
- 제19항에 있어서,상기 쉐도우 로직은 상기 비휘발성 메모리에 포함되는 장치.
- 제20항에 있어서,상기 비휘발성 메모리는 부트 리셋 벡터를 포함하고, 상기 부트 리셋 벡터는 상기 제1 프로세싱 컴포넌트가 리셋 시 실행을 시작하는 위치를 제공하고 상기 쉐도우 로직의 어드레스로의 점프를 포함하는 장치.
- 제19항에 있어서,상기 제1 프로세싱 컴포넌트는 상기 제2 프로세싱 컴포넌트와 동일한 유형이 아닌 장치.
- 제19항에 있어서,상기 휘발성 메모리는 상기 비휘발성 메모리보다 더 빠른 장치.
- 제19항에 있어서,상기 비휘발성 메모리에 저장된 상기 초기화 정보는 상기 초기화 정보의 콘텐츠를 검증하기 위한 시그너처를 포함하고, 상기 제1 프로세싱 컴포넌트는 상기 초기화 정보의 해시를 수행하고 상기 해시가 상기 시그너처와 일치하는지를 판정하도록 구성되는 장치.
- 제19항에 있어서,상기 비휘발성 메모리에 저장된 상기 초기화 정보는 개인 키를 사용하여 암호화되고, 상기 제1 프로세싱 컴포넌트 및 상기 제2 프로세싱 컴포넌트는 상기 초기화 정보를 복호하기 위해 공개 키를 사용하는 장치.
- 제19항에 있어서,상기 요청은 파워-온 신호인 장치.
- 제19항에 있어서,상기 요청은 리셋 신호인 장치.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US78840106P | 2006-03-30 | 2006-03-30 | |
US60/788,401 | 2006-03-30 | ||
US11/690,629 US7831778B2 (en) | 2006-03-30 | 2007-03-23 | Shared nonvolatile memory architecture |
US11/690,629 | 2007-03-23 | ||
PCT/US2007/065727 WO2007115229A1 (en) | 2006-03-30 | 2007-03-30 | Shared nonvolatile memory architecture |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137028831A Division KR101343714B1 (ko) | 2006-03-30 | 2007-03-30 | 공유된 비휘발성 메모리 아키텍쳐 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090006138A KR20090006138A (ko) | 2009-01-14 |
KR101343704B1 true KR101343704B1 (ko) | 2013-12-20 |
Family
ID=38353004
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137028831A KR101343714B1 (ko) | 2006-03-30 | 2007-03-30 | 공유된 비휘발성 메모리 아키텍쳐 |
KR1020087026567A KR101343704B1 (ko) | 2006-03-30 | 2008-10-29 | 공유된 비휘발성 메모리 아키텍쳐 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137028831A KR101343714B1 (ko) | 2006-03-30 | 2007-03-30 | 공유된 비휘발성 메모리 아키텍쳐 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7831778B2 (ko) |
EP (2) | EP3444723B1 (ko) |
JP (1) | JP5380276B2 (ko) |
KR (2) | KR101343714B1 (ko) |
CN (1) | CN103425623B (ko) |
WO (1) | WO2007115229A1 (ko) |
Families Citing this family (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100822468B1 (ko) * | 2006-09-11 | 2008-04-16 | 엠텍비젼 주식회사 | 공유 메모리를 구비한 장치 및 코드 데이터 전송 방법 |
CN101681282A (zh) | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
WO2010132189A1 (en) * | 2009-05-15 | 2010-11-18 | Thomson Licensing | System and method for sharing memory |
US9223514B2 (en) | 2009-09-09 | 2015-12-29 | SanDisk Technologies, Inc. | Erase suspend/resume for memory |
WO2011031900A2 (en) | 2009-09-09 | 2011-03-17 | Fusion-Io, Inc. | Apparatus, system, and method for power reduction management in a storage device |
US9021158B2 (en) | 2009-09-09 | 2015-04-28 | SanDisk Technologies, Inc. | Program suspend/resume for memory |
US9202015B2 (en) | 2009-12-31 | 2015-12-01 | Intel Corporation | Entering a secured computing environment using multiple authenticated code modules |
US8984216B2 (en) | 2010-09-09 | 2015-03-17 | Fusion-Io, Llc | Apparatus, system, and method for managing lifetime of a storage device |
KR101796116B1 (ko) | 2010-10-20 | 2017-11-10 | 삼성전자 주식회사 | 반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법 |
US10817421B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent data structures |
US10817502B2 (en) | 2010-12-13 | 2020-10-27 | Sandisk Technologies Llc | Persistent memory management |
US9208071B2 (en) | 2010-12-13 | 2015-12-08 | SanDisk Technologies, Inc. | Apparatus, system, and method for accessing memory |
US9218278B2 (en) | 2010-12-13 | 2015-12-22 | SanDisk Technologies, Inc. | Auto-commit memory |
EP2652623B1 (en) | 2010-12-13 | 2018-08-01 | SanDisk Technologies LLC | Apparatus, system, and method for auto-commit memory |
US9047178B2 (en) | 2010-12-13 | 2015-06-02 | SanDisk Technologies, Inc. | Auto-commit memory synchronization |
US8966184B2 (en) | 2011-01-31 | 2015-02-24 | Intelligent Intellectual Property Holdings 2, LLC. | Apparatus, system, and method for managing eviction of data |
WO2012109677A2 (en) | 2011-02-11 | 2012-08-16 | Fusion-Io, Inc. | Apparatus, system, and method for managing operations for data storage media |
WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US9185235B2 (en) * | 2012-08-02 | 2015-11-10 | Ab Initio Technology Llc | Aggregating data in a mediation system |
US9666244B2 (en) | 2014-03-01 | 2017-05-30 | Fusion-Io, Inc. | Dividing a storage procedure |
US9933950B2 (en) | 2015-01-16 | 2018-04-03 | Sandisk Technologies Llc | Storage operation interrupt |
TWI551991B (zh) * | 2015-11-20 | 2016-10-01 | 群聯電子股份有限公司 | 記憶體管理方法與系統及其記憶體儲存裝置 |
GB2575482B (en) * | 2018-07-12 | 2023-04-12 | Johnson Electric Int Ag | Actuator system with reprogrammable memory |
KR20200140560A (ko) * | 2019-06-07 | 2020-12-16 | 삼성전자주식회사 | 전자 장치 및 그 시스템 |
CN110489169B (zh) * | 2019-08-06 | 2021-10-19 | 晶晨半导体(上海)股份有限公司 | 一种片上系统的存储器快速启动方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126424A1 (en) * | 2001-12-27 | 2003-07-03 | Inrange Technologies, Incorporated | Method and apparatus for booting a microprocessor |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4344133A (en) | 1978-07-31 | 1982-08-10 | Motorola, Inc. | Method for synchronizing hardware and software |
US4449183A (en) | 1979-07-09 | 1984-05-15 | Digital Equipment Corporation | Arbitration scheme for a multiported shared functional device for use in multiprocessing systems |
US4529701A (en) | 1982-10-20 | 1985-07-16 | American Genetics International, Inc. | Product and process for stimulating bacterial action in an anaerobic digestion system |
US4729091A (en) * | 1984-11-13 | 1988-03-01 | International Business Machines Corporation | Directing storage requests prior to address comparator initialization with a reference address range |
IT1184553B (it) | 1985-05-07 | 1987-10-28 | Honeywell Inf Systems | Architettura di sistema a piu' processori |
US5142683A (en) | 1987-03-09 | 1992-08-25 | Unisys Corporation | Intercomputer communication control apparatus and method |
US5144314A (en) | 1987-10-23 | 1992-09-01 | Allen-Bradley Company, Inc. | Programmable object identification transponder system |
US4987529A (en) | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
US5197130A (en) | 1989-12-29 | 1993-03-23 | Supercomputer Systems Limited Partnership | Cluster architecture for a highly parallel scalar/vector multiprocessor system |
US5175853A (en) | 1990-10-09 | 1992-12-29 | Intel Corporation | Transparent system interrupt |
JPH04177452A (ja) * | 1990-11-08 | 1992-06-24 | Nec Off Syst Ltd | 情報処理装置 |
JPH04367963A (ja) | 1991-06-15 | 1992-12-21 | Hitachi Ltd | 共有記憶通信方法 |
US5423008A (en) | 1992-08-03 | 1995-06-06 | Silicon Graphics, Inc. | Apparatus and method for detecting the activities of a plurality of processors on a shared bus |
JP3447404B2 (ja) * | 1994-12-08 | 2003-09-16 | 日本電気株式会社 | マルチプロセッサシステム |
US6167487A (en) | 1997-03-07 | 2000-12-26 | Mitsubishi Electronics America, Inc. | Multi-port RAM having functionally identical ports |
US5901309A (en) | 1997-10-07 | 1999-05-04 | Telefonaktiebolaget Lm Ericsson (Publ) | Method for improved interrupt handling within a microprocessor |
US6118792A (en) | 1997-11-21 | 2000-09-12 | Nortel Networks Corporation | Method and apparatus for a flexible access rate common-memory packet switch |
US6263390B1 (en) | 1998-08-18 | 2001-07-17 | Ati International Srl | Two-port memory to connect a microprocessor bus to multiple peripherals |
US6081890A (en) * | 1998-11-30 | 2000-06-27 | Intel Corporation | Method of communication between firmware written for different instruction set architectures |
US6002633A (en) | 1999-01-04 | 1999-12-14 | International Business Machines Corporation | Performance optimizing compiler for building a compiled SRAM |
US6378051B1 (en) | 1999-06-14 | 2002-04-23 | Maxtor Corporation | Interrupt signal prioritized shared buffer memory access system and method |
US6396324B1 (en) | 2000-05-08 | 2002-05-28 | International Business Machines Corporation | Clock system for an embedded semiconductor memory unit |
US6845409B1 (en) | 2000-07-25 | 2005-01-18 | Sun Microsystems, Inc. | Data exchange methods for a switch which selectively forms a communication channel between a processing unit and multiple devices |
US6665795B1 (en) * | 2000-10-06 | 2003-12-16 | Intel Corporation | Resetting a programmable processor |
US6938164B1 (en) * | 2000-11-22 | 2005-08-30 | Microsoft Corporation | Method and system for allowing code to be securely initialized in a computer |
US6877071B2 (en) | 2001-08-20 | 2005-04-05 | Technology Ip Holdings, Inc. | Multi-ported memory |
US6795360B2 (en) | 2001-08-23 | 2004-09-21 | Integrated Device Technology, Inc. | Fifo memory devices that support all four combinations of DDR or SDR write modes with DDR or SDR read modes |
US20060072563A1 (en) * | 2004-10-05 | 2006-04-06 | Regnier Greg J | Packet processing |
CN100416448C (zh) * | 2005-08-25 | 2008-09-03 | 深圳市研祥智能科技股份有限公司 | 计算机系统及其配置方法 |
JP4425243B2 (ja) | 2005-10-17 | 2010-03-03 | Okiセミコンダクタ株式会社 | 半導体記憶装置 |
JP2007157150A (ja) * | 2005-12-06 | 2007-06-21 | Samsung Electronics Co Ltd | メモリシステム及びそれを含むメモリ処理方法 |
US7369453B2 (en) | 2006-02-28 | 2008-05-06 | Samsung Electronics Co., Ltd. | Multi-port memory device and method of controlling the same |
US7433263B2 (en) | 2006-02-28 | 2008-10-07 | Samsung Electronics Co., Ltd. | Multi-port semiconductor device and method thereof |
KR100909805B1 (ko) | 2006-09-21 | 2009-07-29 | 주식회사 하이닉스반도체 | 멀티포트 메모리 장치 |
-
2007
- 2007-03-23 US US11/690,629 patent/US7831778B2/en active Active
- 2007-03-30 CN CN201310374264.9A patent/CN103425623B/zh active Active
- 2007-03-30 JP JP2009503327A patent/JP5380276B2/ja active Active
- 2007-03-30 EP EP18181396.5A patent/EP3444723B1/en active Active
- 2007-03-30 EP EP07759905.8A patent/EP2002333B1/en active Active
- 2007-03-30 WO PCT/US2007/065727 patent/WO2007115229A1/en active Application Filing
- 2007-03-30 KR KR1020137028831A patent/KR101343714B1/ko active IP Right Grant
-
2008
- 2008-10-29 KR KR1020087026567A patent/KR101343704B1/ko active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030126424A1 (en) * | 2001-12-27 | 2003-07-03 | Inrange Technologies, Incorporated | Method and apparatus for booting a microprocessor |
Also Published As
Publication number | Publication date |
---|---|
KR20130133902A (ko) | 2013-12-09 |
US7831778B2 (en) | 2010-11-09 |
EP3444723A1 (en) | 2019-02-20 |
EP2002333A1 (en) | 2008-12-17 |
EP3444723B1 (en) | 2021-12-22 |
JP5380276B2 (ja) | 2014-01-08 |
JP2009532783A (ja) | 2009-09-10 |
EP2002333B1 (en) | 2018-07-04 |
KR20090006138A (ko) | 2009-01-14 |
CN103425623B (zh) | 2016-12-28 |
WO2007115229A1 (en) | 2007-10-11 |
CN103425623A (zh) | 2013-12-04 |
KR101343714B1 (ko) | 2013-12-20 |
US20070233938A1 (en) | 2007-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101343704B1 (ko) | 공유된 비휘발성 메모리 아키텍쳐 | |
TWI386846B (zh) | 利用共享式非揮發性記憶體初始化多個處理元件之方法、系統及快閃記憶體元件 | |
JP6333993B2 (ja) | ハードウェアプラットフォームのためのファームウェアのインシステムプロビジョニング | |
JP5469254B2 (ja) | プロセッサスワップ無しという条件を検出するメカニズムおよびブート中の高速バスキャリブレーションの修正変更 | |
JP4843013B2 (ja) | Vmmシステムにおけるユーザosがサービスosによって使用されている装置の電源を切らないようにするためのシステム及び方法 | |
US20190095220A1 (en) | Multicore framework for use in pre-boot environment of a system-on-chip | |
KR20110130435A (ko) | 메모리 세그먼테이션 및 acpi 기반 컨텍스트 전환을 사용하는 운영 시스템 로딩 | |
US9886408B2 (en) | Data access protection for computer systems | |
US9336082B2 (en) | Validating persistent memory content for processor main memory | |
JP2017521768A (ja) | 耐性があるメモリストレージを伴うファームウェアインターフェイス | |
JP2008287505A (ja) | 情報処理装置およびレガシーエミュレーション処理停止制御方法 | |
CN114222975A (zh) | 使用存储器孔径冲刷顺序的数据保存 | |
EP3910469A1 (en) | Interface and warm reset path for memory device firmware upgrades | |
JP2023020861A (ja) | ファームウェアの更新 | |
US20230198775A1 (en) | Memory device with secure boot updates and self-recovery | |
TWI739127B (zh) | 提供系統資料之方法、系統及伺服器 | |
JP7332083B2 (ja) | マルチモード保護メモリ | |
TW201719490A (zh) | 使用外部裝置之運行時驗證技術 | |
US11550664B2 (en) | Early boot event logging system | |
KR20060014320A (ko) | 다중 부트 로더 코드를 갖는 nand 플래시 메모리를이용한 부트 처리 장치 및 방법 | |
WO2020221161A1 (zh) | 计算作业处理方法、系统、移动设备及加速设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
A107 | Divisional application of patent | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20161128 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20171130 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20181127 Year of fee payment: 6 |