KR20000076411A - 컴퓨터 메모리 구조 - Google Patents

컴퓨터 메모리 구조 Download PDF

Info

Publication number
KR20000076411A
KR20000076411A KR1019997008515A KR19997008515A KR20000076411A KR 20000076411 A KR20000076411 A KR 20000076411A KR 1019997008515 A KR1019997008515 A KR 1019997008515A KR 19997008515 A KR19997008515 A KR 19997008515A KR 20000076411 A KR20000076411 A KR 20000076411A
Authority
KR
South Korea
Prior art keywords
flash memory
page
memory
block
pool
Prior art date
Application number
KR1019997008515A
Other languages
English (en)
Inventor
진-클라우드 사르파티
크리스토프 디클레르크
Original Assignee
삐에르 레꾸르
까날 (쏘시에떼 아노님)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삐에르 레꾸르, 까날 (쏘시에떼 아노님) filed Critical 삐에르 레꾸르
Publication of KR20000076411A publication Critical patent/KR20000076411A/ko

Links

Classifications

    • 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/0656Data buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4348Demultiplexing of additional data and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Graphics (AREA)
  • Computer Security & Cryptography (AREA)
  • Discrete Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

컴퓨터 시스템의 메모리에서, 버퍼는 버퍼 관리 시스템에 의해 형성된다. 세트 버퍼 명령은 버퍼의 풀수(NP)와, 각 풀에 대해 풀에서 버퍼수의 풀 크기(PS)와, 그 풀에서 버퍼 크기(BS)를 형성한다. 버퍼 관리 시스템은 초기화되어 버퍼 크기를 저장하고 그 풀 크기를 누적 및 저장시킨다. 버퍼를 어드레스시키기위해, 버퍼 관리 시스템은 그 저장된 정보를 사용해서 소망된 풀 및 버퍼 번호로부터 버퍼의 시작부의 어드레스를 결정한다. 또한, 페이지된 플래시 메모리를 갱신할 때, 플래시 메모리(4024)의 페이지(Pn)는 이미지 페이지로서 RAM 메모리(4022)로 복제되고, 그 이미지 페이지는 갱신되고 플래시 메모리의 다른 페이지로 기록된다. 메인 기록 테이블(22)은 플래시 메모리의 유효 페이지를 식별하면서 분리된 비-휘발성 메모리(EEPROM 4026)에서 유지되고, 플래시 메모리의 페이지를 갱신했을 때 갱신된다. 메인 기록 테이블은 CRC 에러 검출부(25)를 포함하고, 갱신된 직후 백-업 기록 테이블(23)로 복제된다.

Description

컴퓨터 메모리 구조{COMPUTER MEMORY ORGANIZATION}
컴퓨터 시스템에서, 특히 컴퓨터 시스템이 디지털 텔레비젼 또는 라디오용 수신기/디코더 등의 더 큰 시스템에서 결부되는 시스템에서, 메모리량이 종종 제한된다. 그것은 시스템에 의해 요구된 각종의 기능에 의한 메모리 공간의 사용이 최소화되도록 메모리가 구조되야한다는 것을 의미한다. 또한, 메모리의 최소한의 일부에 액세스하도록 필요로하는 시간을 최소화하는 것이 필요하다.
본 발명은 컴퓨터 메모리, 및 특히 그 내부에서 메모리 영역의 분할 및/또는 플래시 메모리의 내용의 갱신에 관한 것이다. 그것은 방송 및 수신 시스템의 수신기/디코더, 특히 디지털 쌍방향성 위성 텔레비젼 및/또는 무선 시스템의 수신기/디코더에서 특정한 애플리케이션을 발견한다. 그러나, 그것은 그 형태의 그 시스템으로 제한되지 않으나 넓고 다양한 컴퓨터 시스템에 더 응용가능하다.
도 1은 본 발명의 양호한 실시예에 따른 디지털 텔레비젼 시스템의 전체 구조의 도시도.
도 2는 디지털 텔레비젼 시스템의 쌍방향성 시스템의 구조도.
도 3은 쌍방향성 수신기/디코더의 메모리로 다운로드된 모듈내의 파일 배열도.
도 4는 컴퓨터 시스템의 관련된 일부의 단순화된 블럭 다이어그램.
도 5는 RAM 메모리 일부의 구조의 다이어그램.
도 6은 세트 버퍼 명령의 구조도.
도 7은 메모리 관리 유닛의 구조도.
도 8은 그 시스템의 블럭 다이어그램.
도 9는 플래시 메모리 및 기록 테이블의 논리적인 배치도.
도 10은 플래시 메모리 페이지 및 기록 테이블의 서브-부분의 논리적인 배치도.
본 발명의 하나의 태양은 메모리에서 버퍼의 제공 또는 구조와 특히 연관된다.
버퍼를 제공하는 종래의 기술은 그 필요한 버퍼을 할당하는 동적 시스템에 의한 것이다. 그러나, 본문에서 상기 표준 시스템은 소정의 단점을 갖는다. 그것은 메모리의 분열을 발생시키고, 그 속도는 오버헤드 동작의 필요성에 의해 제한된다. 또한, 버퍼의 확장이 필요로 되면, 그것은 확장용 공간을 생성하도록 메모리 블럭의 이동을 필요로 한다.
본 발명의 하나의 태양에 따라 컴퓨터 시스템의 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템이 제공되고, 그 시스템은, 복수의 풀(pool) 크기를 저장하는 풀 크기 저장 수단과; 각 풀에 대해 버퍼 크기를 저장하는 버퍼 크기 저장수단과; 소망된 풀에서 소망된 버퍼의 어드레스를 계산하는 계산 수단을 구비한다. 양호하게는 수단은 풀 크기를 누적된 형태로 결정하고 그들을 풀 크기 저장 수단의 그 형태로 저장한다. 예비 영역은 각 풀의 시작부에서 형성될 수 있고, 수단은 누적된 풀 크기를 직접적으로 선택하거나 계산 수단의 출력을 선택하기위해 제공된다. 소망된 풀 번호, 소망된 버퍼 번호, 및 소망된 바이트는 경계초과값으로 확인될 수 있다.
각종의 컴퓨터 메모리 형태는 사용가능하다. 다른 메모리 종류들간의 하나의 주요한 차이는 휘발성이냐 비-휘발성 메모리이냐이다. 전력이 메모리에 공급되는 동안만 휘발성 메모리는 그 내용을 유지하고, 그 전력공급이 중지하자 마자 그 내용이 지워지는 반면에, 그 전력공급이 중지될 지라도 비-휘발성 메모리는 그 내용을 무한정으로 유지한다. 나머지의 주요한 차이는 기록가능한 메모리이냐 판독전용 메모리이냐이다.
휘발성 메모리는 RAM으로서 일반적으로 공지되는 반면에, 각종의 비-휘발성 메모리 종류가 있다. RAM은 일반적으로 기록가능한 반면에, 판독전용 메모리는 ROM으로서 공지된다. 상기 후자의 차이는 반드시 그렇게 되지는 않는다. 어떤 메모리는 어떤 의미에서 적어도 한번 기록가능해야하나, 어떤 ROM형 메모리는 어려움이 있더라도 그 내용을 변경시킬수 있다. 그러므로 PROM(프로그램가능한(즉 기록가능한) 판독전용 메모리, EEPROM(전기적 소거가능한 PROM), 및 플래시 등의 메모리 형태가 있다.
다른 메모리 종류는 다른 특성(예를 들어 판독시간 및 다른 비용)을 갖고, 그래서 단일의 컴퓨터 시스템에서 여러개의 다른 종류의 결합을 사용하는 것이 바람직하다.
본 발명의 다른 태양은 플래시 메모리와 연관된다. 플래시 메모리는 일반적으로 ROM형이고, 그 내부에서 그것은 비-휘발성이다. 그것은 판독되나 기록되지 않는 ROM형 방법으로 사용되도록 의도된다. 그러나, 플래시 메모리는 기록될 수 있으나 어려움을 갖는다. 특히, 플래시 메모리는 다수의 킬로바이트 길이를 각기 갖는 페이지로 분할되고, 플래시 메모리에 대한 기록이 페이지마다 이루어진다. 더 상세하게는, 플래시 메모리를 기록하기위해, 페이지 전체는 삭제되야하고 새로운 내용이 삭제된 페이지로 기록되야하고; 또한, 상기 기록은 필수적으로 단일의 인터럽트불가능한 동작으로 되야한다. (명백히 삭제 및 기록간의 간격이 있을 수 있다.)
원리적으로, 플래시 메모리의 정보는 단일 워드로부터 크기 단위로 상향으로 구조될 수 있다. 그러나, 실질적으로, 그것은 실질적인 크기의 블럭으로 구조된다. 블럭은 영구 또는 반영구 정보의 테이블, 또는 프로그램 또는 서브-루틴을 예로 하는 데이터를 구비한다. 블럭 크기는 페이지 크기보다 적도록 선택되야한다(블럭이 페이지보다 크다면, 그것을 페이지 크기보다 적은 서브-블럭으로 분할하는 것이 실행될 수 있다).
통상적으로, 플래시 메모리가 갱신될 때 그것에서 얼마간의 정보를 이미 유지하는 것이 바람직하다. 그러므로 그것은 RAM으로 판독되도록 갱신되는 페이지를 필요로하여 페이지의 이미지를 형성하고; RAM에서 상기 이미지는 어떠한 새로운 정보가 페이지로 입력되든지간에 삽입함으로써 갱신될 수 있다. 동시에, 더 이상 필요로 되지 않은 페이지의 어떤 정보가 식제될 수 있다. 그 갱신된 이미지는 플래시 메모리로 기록될 수 있다.
일반적으로, 블럭 크기는 고정되지 않고; 즉, 다른 블럭은 다른 크기로 된다. 그것은 어떤 기존의 블럭이 버려지고 새로운 블럭이 추가될 때 어려움을 명백히 야기할 수 있다. 상기 어려움은 블럭을 이동가능하게 함으로써 주로 극복될 수 있어서, 페이지가 갱신될 때, 페이지의 사용안된 영역이 단일의 커다란 사용안된 영역으로 합쳐지도록 페이지에서 유지되는 블럭이 재배열된다.
블럭이 이동가능하다면, 그들이 고정된 어드레스에 의해 어드레스될 수 없다. 대신해서, 블럭이 어떤 종류의 명칭 또는 디스크립터(descriptor)를 사용함으로써 효과적으로 조사될 수 있도록 데이터 구조를 위치시키거나 어드레싱하는 어떤 종류의 블럭이 유지되야한다. 다른 크기의 블럭에서, 그것은 블럭의 위치 및 특성에 대한 정보를 필요로 한다. 그것은 각종의 방법으로 이루어질 수 있다. 그러므로 블럭의 상세화된 디렉토리(그 위치 및 특성)는 플래시 메모리의 시작부에서 유지될 수 있거나 블럭의 위치 디렉토리는 플래시 메모리의 시작부에서 유지될 수 있고 각 블럭은 블럭의 특성을 부여하는 헤더를 포함할 수 있다. 대안적으로, 데이터 구조를 위치시키는 분리된 블럭은 플래시 메모리의 각 페이지에 유지될 수 있다.
데이터 구조를 위치시키는 모든 상기 블럭은 플래시 메모리의 갱신이 그 내용의 모든 변화에 필요로 되는 공통 특성을 갖는다. 새로운 블럭을 기록하는 것은 플래시 메모리 갱신을 명백히 필요로 하고; 블럭의 삭제는 비슷하게 갱신을 필요로 한다. 블럭을 물리적으로 삭제하는 것이 불필요하지만, 데이터 구조를 위치시키는 블럭은 블럭이 더 이상 유효하지 않다는 것을 표시하도록 갱신되야한다.
플래시 메모리 갱신에 대한 필요성은 새로운 블럭의 추가로 제한될 수 있고; 환언해서, 블럭은 플래시 메모리의 갱신을 요구함이 없이 효과적으로 삭제될 수 있다. 이것을 이루기위해, 데이터 구조를 위치시키는 블럭은 플래시 메모리 자체의 외측의 외부 메모리, 양호하게는 EEPROM 메모리에서 적어도 부분적으로 유지된다.
외부 메모리는 데이터 구조를 위치시키는 모든 블럭, 즉 블럭 어드레스 및 디스크립터를 실질적으로 유지한다. 대안적으로, 외부 메모리는 플래시 메모리에서 블럭의 위치만을 유지할 수 있고, 블럭의 디스크립터는 블럭 자체의 헤더로서 플래시 메모리에 포함된다. 양자의 경우에, 외부 디렉토리는 모든 플래시 메모리에 대한 단일 구조로서 또는 페이지를 단위로 해서 구조될 수 있다.
그러나, 그것에서 각 블럭의 유효성을 유지함으로써 외부 메모리의 크기를 최소화하는 것이 좋은 데, 블럭 어드레스 및 디스크립터는 플래시 메모리 자체에서 유지된다. 그것은 외부 메모리를 블럭의 유효성의 비트맵으로 감소시킨다. 블럭을 플래시 메모리에서 삭제하기위해, 필요로 되는 모든것은 외부 메모리의 그 블럭에 대한 비트를 "유효"로부터 "무효"로 변화시킨다.
상기 논의된 절차를 갱신하는 일반적인 페이지로 되돌아가서, 상기 절차는 문제를 갖는다. 시스템에 대한 전력공급이 상기 절차동안 인터럽트된다면(또는 어떤 다른 주요 시스템이 인터럽트하거나 파괴가 발생하면), RAM의 내용이 없어져서, 플래시 메모리로 기록된 페이지의 갱신된 이미지가 없어진다. 갱신되는 플래시 메모리 페이지에서 이전의 정보는 갱신된 페이지를 플래시 메모리로 기록하기에 앞서서 삭제되었다. (및 갱신된 페이지는 플래시 메모리를 부분적으로만 기록하고, 그래서 일부의 그 내용은 없어지고; 전력손실이 발생되는 정확한 포인트가 일반적으로 공지되지 않기 때문에, 얼마나 많은 갱신된 페이지 내용이 플래시 메모리로 기록되었는지는 일반적으로 정확히 공지되지 않는 다.)
본 발명의 하나의 목적은 상기 문제를 경감하거나 극복한다.
상기 태양에 따라, 본 발명은 플래시 메모리가 분리해서 기록가능한 페이지로 분할되는 컴퓨터에서 플래시 메모리 시스템을 제공하고, 그 플래시 메모리 시스템은, 이미지 페이지로서 플래시 메모리의 페이지를 RAM 메모리로 복제하는 수단과; 플래시 메모리에서 이미지 페이지를 다른 페이지로 기록하는 수단과; 분리된 비-휘발성 메모리에서 유지되고 플래시 메모리에서 유효한 페이지를 식별하는 메인 기록 테이블과; 플래시 메모리의 페이지가 갱신되었을 때 메인 기록 테이블을 갱신하는 수단을 구비한다. 메인 기록 테이블을 유지하는 메모리는 양호하게는 EEPROM 메모리이다. 플래시 메모리에 대한 액세스가 메인 기록 테이블을 경유한다.
정상 동작에서, 메인 기록 테이블은 플래시 메모리의 페이지 일부를 유효한 것으로 나머지를 무효한 것으로 기록하고, "무효"는 페이지가 유효 정보를 포함하고 있지 않다는 것을 의미한다. 페이지는 각종 방법으로 무효로 될 수 있거나; 그러므로 그것은 비게 될 수 있고, 그것은 다른 페이지로 성공적으로 복제될 수 있거나, 그것은 그 기록을 인터럽트되게 할 수 있다.
본 시스템에서, 페이지를 갱신하는 것은 플래시 메모리의 기존 페이지로부터 다른 페이지로 갱신되는 페이지를 복제(페이지 내용을 갱신하는 것을 포함하는 복제와 함께)하는 것을 포함한다. 그래서 본 시스템은 적어도 하나의 페이지를 무효한 것으로 항시 유지해야하고; 무효 페이지는 "여분"으로서 설명될 수 있다. 페이지가 갱신될 때, 메인 기록 테이블은 페이지 복제가 완료된 후에만 갱신된다. 그러므로 페이지 복제가 인터럽트되면, 메인 기록 테이블은 변화되지않게 하고, 그래서 원래의 페이지는 유효하게되고 새로운 페이지는 여분으로서 표시된다. 복제는 아중에 재시도되거나 버려질 수 있다.
방금 설명된 시스템에서도 조차도 잠재적인 어려움이 있다. 이제까지 설명된 시스템은 메인 기록 테이블의 갱신에 의존한다. 그러므로 상기 메인 기록 테이블의 보전을 확실하게 하는 것이 중요하다.
메인 기록 테이블의 갱신이 플래시 메모리의 페이지 갱신에 비교해 매우 빠르고, 적어도 메인 기록 테이블을 갱신하도록 필요로 하는 동안 동작하는 시스템을 유지하도록 충분한 용량을 갖는 전력 공급을 사용해서 메인 기록 테이블을 갱신하기 직전에 전력 공급상태를 확인하는 것이 가능하다. 그러나, 양호하게는, 메인 기록 테이블은 에러 검출부를 포함하고 갱신직후 백업 기록 테이블로 자체 복제된다. 시스템은 플래시 메모리에 액세스하도록 메인 기록 테이블을 사용할 때 메인 기록 테이블의 에러를 확인하고, 메인 기록 테이블이 에러를 갖는 다면 백-업 기록 테이블을 사용하는 수단을 포함한다. 메인 기록 테이블이 에러를 갖는 다면, 갱신이 인터럽트되는 것처럼 시스템은 플래시 메모리의 최종 갱신을 무효한 것으로 처리한다.
메인 기록 테이블을 인터럽트되는 백-업 기록 테이블로 복제하는 것이 물론 가능하다. 그러나, 메인 기록 테이블의 메인 갱신이 완료된 직후에만 상기 복제가 발생한다. 플래시 메모리의 나중 액세스가 메인 기록 테이블의 확인을 포함하고; 그 메인 기록 테이블은 에러가 없고, 그래서 백-업 기록 테이블은 액세스될 필요가 없고 그 결점이 있는 상태가 적절하지 않다.
그러나, 플래시 메모리의 다음 갱신동안, 메인 기록 테이블은 갱신된다. 상기 갱신은 상기 논의했듯이 인터럽트되고, 그렇다면, 백-업 테이블은 갱신되기 전에 플래시 메모리에 액세스하도록 사용되야한다. 그러므로 백-업 기록 테이블을 결점이 있게 하는 것이 바람직하지 않다. 그것은 플래시 메모리를 갱신할때(또는 갱신된 이미지 페이지를 RAM으로부터 플래시 메모리의 여분 페이지로 적어도 기록하기전에) 제 1단계로서 메인 기록 테이블을 백-업 기록 테이블로 복제함으로써 알맞게 이루어질 수 있다.
상기에서 논의된 바에 따라 플래시 메모리에서 정보 또는 데이터 블럭이 고정된 위치로 위치되지 않는다. 플래시 메모리 페이지가 갱신됨에 따라, 그들의 데이터 블럭은 페이지 단위로 이동하고, 페이지의 위치를 변화시킬 수 있다. 그러므로 디렉토리의 일부 형태는 필요로 되어 데이터 블럭은 필요시 발견될 수 있다. 그 디렉토리 정보는 기록 테이블 또는 플래시 메모리 페이지 자체에서 유지될 수 있거나, 그 2개의 위치로 분할될 수 있다.
데이터 블럭 자체가 변화되지 않으면 일반적으로 디렉토리 정보는 일반적으로 변화되지않고, 그러므로 그것을 데이터 블럭과 함께 플래시 메모리에서 저장하는 것은 편리하다. 그러나, 데이터 자체를 변화시킴이 없이 즉 데이터 블럭이 유효한지를 변화할 수 있는 디렉토리 형태의 정보의 하나의 구성이 있다. 그러므로 데이터 블럭 유효성 정보를 기록 테이블에 저장하는 것이 편리하다. 그것은 플래시 메모리를 갱신하도록함이 없이 데이터 블록으로 하여금 효과적으로 삭제되도록하고; 행해지기에 필요로 하는 모든 것은 블럭의 표시기를 유효로부터 무효로 변화시킨다.
물론, 그 블럭을 갖는 페이지가 나중에 갱신되면, 무효한 표시기를 갖는 블럭이 RAM에서 페이지로부터 이미지 페이지로 복제되지 않고, 그래서 그들은 그런 포이트에서 더 물리적인 감각으로 삭제된다. (그들은 새로운 여분 페이지로 되는 오래된 페이지에 실제로 남아있으나, 물론 거기에서 액세스할 수 없고, 그 새로운 여분 페이자가 플래시 메모리의 다음 갱신에 대해 사용될 때, 그 물리적인 삭제가 이루어진다.)
그러므로 기록 테이블은 단일 비트 형태로 알맞게 될 수 있는 데이터 블록 유효 표시기 세트를 각 페이지에 대해 포함한다. 그것은 각종의 표준 기술이 에러 검출부를 제공하도록 사용될 수 있다는 것을 의미하는 기록 테이블의 크기를 증가하고; 에러 검출 또는 정정 코드 또는 해시(hash) 형태의 기능이 사용될 수 있지만 CRC(cyclic redundancy check)를 사용하는 것이 선호된다.
기록 테이블에서 페이지에 대한 블럭 유효 표시기는 플래시 메모리의 그 페이지에서 블럭 자체에 물론 링크되야한다. 그것은 기록 테이블에서 그 표시기와 같은 시퀀스에서 페이지의 블럭을 플래시 메모리에서 유지함으로써 행해질 수 있다. 그러나, 포인터 세트를 그 페이지의 블럭의 실제 위치로 포함하는 플래시 메모리에서 각 페이지의 헤더를 구비하는 것이 좋고; 그것은 페이지에서 블럭 자체의 배열에서 더 큰 자유도를 허여한다.
페이지의 각 블럭에 대한 식별 정보(예를 들어 명칭)는 블럭 자체의 시작부에서 페이지 헤더에서 또는 블럭 헤더로서 포함될 수 있다. 후자의 선택은 양호한 실시예에서 사용된 것이다. 상기 식별 정보는 블럭 링킹 정보를 포함할 수 있어서, 큰 데이터 유닛은 2개이상의 블럭으로 분할될 수 있다.
본 발명의 다른 태양은 상기 설명했듯이 시스템 또는 메모리 시스템 또는 플래시 메모리를 포함하는 디지털 방송 및 수신 시스템에서 사용되는 수신기/디코더 를 제공한다.
양호하게는, 수신기/디코더는 압축된 MPEG 형태의 신호를 수신하는 수단과, 텔레비젼 및/또는 라디오 신호를 제공하도록 그 수신된 신호를 디코드하는 수단과, 그 신호를 텔레비젼 및/또는 라디오에 공급하는 수단을 더 구비한다.
본 발명의 양호한 특징은 첨부도면을 참고로 예에 의해 완전히 설명된다.
도 1은 디지털 텔레비젼 시스템(1000)의 개략도이다. 본 발명은 공지된 MPEG-2 압축 시스템을 사용하는 가장 일반적인 디지털 텔레비젼 시스템(2000)을 포함하여 압축된 디지털 신호를 전송한다. 더 상세하게는, 방송 센터의 MPEG-2 압축기(2002)는 디지털 신호 스트림(통상적으로 비디오 신호의 스트림)을 수신한다. 압축기(2002)는 링키지(2006)에 의해 멀티플렉서 및 스크램블러(2004)에 연결된다. 멀티플렉서(2004)는 복수의 부가적인 입력 신호를 수신하고, 하나 이상의 이송 스트림을 모으고 압축된 디지털 신호를 링키지(2010)를 경유해서 방송 센터의 송신기(2008)에 전송하고, 그 링키지(2010)는 통신 링크를 포함하는 폭넓고 다양한 형태일 수 있다. 송신기(2008)는 전자기 신호를 위성 트랜스폰더(2014)를 향해 업링크(2012)를 경유해서 전송하고, 거기에서 그들은 전자적으로 처리되고 단말 사용자에의해 소유 또는 임대된 접시 형태의 지상 수신기(2018)에 상상의 다운링크(2016)를 경유해서 방송된다. 수신기(2018)에 의해 수신된 신호가 단말 사용자에 의해 소유 또는 임대되고 단말 사용자의 텔레비젼 세트(2022)에 연결되는 집적된 수신기/디코더(2020)에 전송된다. 수신기/디코더(2020)는 그 압축된 MPEG-2 신호를 텔레비젼 세트(2022)용 텔레비젼 신호로 디코드한다.
조건부 액세스 시스템(3000)은 멀티플렉서(2004) 및 수신기/디코더(2020)에 연결되고, 방송 센터에 부분적으로 위치되고 디코더에 부분적으로 위치된다. 그것은 단말 사용자로 하여금 하나 이상의 방송 공급자로부터 디지털 텔레비젼 방송을 액세스할 수 있게 한다. 상업적 매물(즉, 방송 공급자에 의해 판매된 하나 이상의 텔레비젼 프로그램)에 관련한 메시지를 해독할 수 있는 스마트카드는 수신기/디코더(2020)에 삽입될 수 있다. 디코더(2020) 및 스마트카드를 사용할 때, 단말 사용자는 상업적 매물을 가입 방식 또는 유료시청 방식으로 구매할 수 있다.
멀티플렉서(2004) 및 수신기/디코더(2020)에 역시 연결되고 다시 방송 센터에 부분적으로 및 디코더에 부분적으로 위치된 쌍방향성 시스템(4000)은 단말 사용자로 하여금 변복조된 백 채널(4002)을 경유해서 각종의 애플리케이션과 쌍방향으로 작용할 수 있게한다.
도 2는 본 발명의 디지털 텔레비젼 시스템(1000)의 쌍방향성 텔레비젼 시스템(4000)의 일반적인 구조를 도시한다.
예를 들어, 쌍방향성 시스템(4000)은 단말 사용자로 하여금 스크린상의 카달로그로부터 물품을 구매하도록하고, 지방 뉴스 및 기상 지도를 요구시 문의하게하고 게임을 그 텔레비젼 세트를 통해 즐기게한다.
쌍방향성 시스템(4000)은 다음과 같은 4개의 주요 구성요소를 구비한다.
방송 공급자로 하여금 애플리케이션을 생성하고 전개하고, 디버그하고 시험하게하기위한 방송 센터(또는 어딘가에서)의 오서링 툴(authoring tool)(4004);
방송 공급자로 하여금 멀티플렉서 및 스크램블러(2004)에 전달되는 애플리케이션 및 데이터를 단말 사용자에게 방송되는 MPEG-2 이송 스트림(통상적으로 프라이비트(private) 부분)으로 삽입하기위해 준비, 인가 및 포맷할 수 있도록하는 오서링 툴(4004)에 연결된 방송센터에서의 애플리케이션 및 데이터 서버(4006);
단말 사용자로 하여금 애플리케이션을 실행용 디코더(2020)의 작업 메모리로 수신, 인가, 압축해제, 로드시킬 수 있게하기위해 단말 사용자에 의해 소유 또는 임대된 수신기/디코더(2020)에 설치된 실행가능한 코드인 실행 시간 엔진(run time engine; RTE)(4008)을 포함하는 가상 계산기(virtual machine). 엔진(4008)은 하드웨어 및 동작 시스템과 무관하다.
서버(4006)에 명령하는 신호로 하여금 데이터 및 애플리케이션을 단말 사용자의 요구시 MPEG-2 이송 스트림으로 삽입하게 할 수 있기위한 수신기/디코더(2020)과 애플리케이션 및 데이터 서버(4006)간의 변복조된 백 채널(4002).
쌍방향성 시스템은 수신기/디코더의 기능 및 그 내부에 각종 장치를 제어하는 "애플리케이션"을 사용해서 동작시킨다. 애플리케이션은 "리소스 파일"로서 엔진(4008)에 나타내어진다. "모듈"은 리소스 파일 및 데이터로 된 세트이다. 몇개의 모듈은 애플리케이션을 형성하도록 필요로 된다. 수신기/디코더의 "메모리 볼륨"은 모듈용 저장 공간이다. "인터페이스"는 모듈을 다운로드시키기위해 사용된다. 모듈은 MPEG-2 이송 스트림으로부터 수신기/디코더(2020)로 다운로드될 수 있다.
이전의 문단에서 언급된 구성은 더 상세하게 설명된다.
본 명세서의 목적상, 애플리케이션은 양호하게는 수신기/디코더(2020)의 고레벨 기능을 제어하는 컴퓨터 코드의 일부이다. 예를 들어, 단말 사용자가 텔레비젼 세트(2022)의 스크린상에 보여지는 버튼 목표물(object)상에 원격 제어기의 초점을 위치설정하고 확인 키를 누를 때, 버튼과 연관된 명령 시퀀스는 실행된다.
쌍방향성 애플리케이션은 메뉴를 제안하고 단말 사용자의 요구시 명령을 실행하고 애플리케이션의 목적에 관련된 데이터를 제공한다. 애플리케이션은 수신기/디코더(2020)의 ROM(또는 FLASH 또는 기타의 비휘발성 메모리)에 저장되거나 수신기/디코더(2020)의 RAM 또는 FLASH 메모리로 방송되고 다운로드되는 상주(resident) 애플리케이션이다.
애플리케이션들의 예:
ㆍ초기화 애플리케이션. 수신기/디코더(2020)는 수신기/디코더(2020)로 하여금 MPEG-2 환경에서 즉시 동작할 수 있게 하는 모듈의 적용가능한 수집(이후에 보다 상세하게 정의됨)인 상주 초기화 애플리케이션으로 구비된다. 필요하다면, 애플리케이션은 방송 공급자에 의하여 변경될 수 있는 핵심적인 특징들을 제공한다. 이것은 또한 상주 애플리케이션과 다운로드된 애플리케이션간의 인터페이스를 제공한다.
ㆍ시작 애플리케이션. 시작 애플리케이션은 다운로드되거나 상주하는 애플리케이션으로 하여금 수신기/디코더(2020)상에서 구동할 수 있게 한다. 상기 애플리케이션은 애플리케이션을 시작하기 위해 서비스의 도달시에 실행되는 부트스트랩으로서 작용한다. 시작부는 RAM에 다운로드되고 쉽게 갱신될 수 있다. 그것은 각 채널에서 이용가능한 쌍방향성 애플리케이션이 다운로드후에 또는 프리로딩(preloading)후에 즉시 선택되거나 구동될 수 있도록 구성된다. 프리로딩의 경우에, 애플리케이션은 메모리(2024)에 로드되며, 필요할 때 시작에 의하여 작동된다.
ㆍ프로그램 안내. 프로그램 안내는 프로그래밍에 관한 충분한 정보를 주는 쌍방향성 애플리케이션이다. 예를 들어, 그것은 디지털 텔레비젼 세트의 각 채널에 제공되는 가령 일주일의 텔레비전 프로그램들에 관한 정보를 줄 수 있다. 원격제어기(2026)의 키를 누른 것에 의하여, 단말 사용자는 텔레비전 세트(2022)의 화면 상에 보이는 이벤트에 오버레이되는 추가 스크린에 액세스한다. 그 추가 스크린은 디지털 텔레비전 세트의 각 채널의 현재 및 다음 이벤트상에서 정보를 주는 브라우저이다. 원격 제어기(2026)상의 다른 키를 누르는 것에 의하여, 단말 사용자는 일주에 걸친 이벤트상에 정보 리스트를 표시하는 애플리케이션에 액세스한다. 단말 사용자는 이벤트들을 간단하며 주문제조된 기준으로 또한 조사 및 분류할 수 있다. 단말 사용자는 또한 선택된 채널에 직접 액세스할 수 있다.
ㆍ유료 시청 애플리케이션. 유료 시청 애플리케이션은 조건부 액세스 시스템(3000)과 관련하여 디지털 TV 세트의 각 PPV 채널에서 이용할 수 있는 쌍방향 서비스이다. 단말 사용자는 TV 안내 또는 채널 브라우저를 이용하여 애플리케이션에 액세스할 수 있다. 또한, 애플리케이션들은 PPV 이벤트가 PPV 채널에서 검출되자 마자 자동적으로 시작한다. 그후 단말 사용자는 자신의 도터 스마트 카드(3020)를 통해 또는 통신 서버(3022)(모뎀, 전화 및 DTMF 코드, MINITEL 등을 사용하는)를 경유해서 현재의 이벤트를 구매할 수 있다. 애플리케이션은 수신기/디코더(2020)의 ROM에 상주하거나 디코더(2020)의 RAM에 다운로드될 수 있다.
ㆍPC 다운로드 애플리케이션. 요청시, 단말 사용자는 PC 다운로드 애플리케이션을 이용하여 컴퓨터 소프트웨어를 다운로드할 수 있다.
ㆍ매거진 브라우저 애플리케이션. 매거진 브라우저 애플리케이션은 스크린상의 버튼을 경유하는 단말 사용자 네비게이션으로써 순환적 비디오 방송을 구비한다.
ㆍ퀴즈 애플리케이션. 퀴즈 애플리케이션은 바람직하게 방송 퀴즈 프로그램과 동기화된다. 예를 들어, 다수의 선택 문제들이 텔레비전(2022)의 스크린상에 표시되고, 사용자는 원격 제어기(2026)를 이용하여 대답을 선택할 수 있다. 퀴즈 애플리케이션은 대답이 정확한지 아닌지를 사용자에게 알려줄 수 있으며, 사용자의 점수를 카운트할 수 있다.
ㆍ텔레쇼핑 애플리케이션. 텔레쇼핑 애플리케이션의 한 예에서, 판매용 물품의 매물이 수신기/디코더(2020)에 전송되어 텔레비전 세트(2022)에 표시된다. 원격 제어기를 사용하여, 사용자는 구매할 특정한 물품을 선택할 수 있다. 물품에 대한 대한 주문은 변복조된 백 채널(4002)을 통하여 애플리케이션 및 데이터 서버(4006) 또는 별도의 판매 시스템으로 전송되며 그 판매 시스템의 전화 번호는 수신기/디코더(2020)의 카드 판독기(4036)중 하나로 삽입된 신용 카드에 대한 계정에 요금청구하는 주문과 가능하게는 함께 수신기/디코더에 다운로드되었다.
ㆍ텔레뱅킹 애플리케이션. 텔레뱅킹 애플리케이션의 한 예에서, 사용자는 은행 카드를 수신기/디코더(2020)의 카드 판독기(4036)중 하나로 삽입한다. 수신기/디코더(2020)는 은행 카드에 저장되거나 수신기/디코더에 저장된 전화번호를 이용하여 사용자의 은행에 다이얼하고, 그후 애플리케이션은 예를 들어 계정 계산서를 전화선을 통해 다운로드하고, 계정들간의 자금을 이동하고, 수표장을 요청하는 원격 제어기(2026)를사용하여 선택될 수 있다.
ㆍ인터넷 브라우저 애플리케이션. 인터넷 브라우저 애플리케이션의 한 예에 있어서, 특정의 URL을 갖는 웹 페이지를 뷰하게하는 요청 등과 같은 사용자로부터의 지시는 원격 제어기(2026)를 이용하여 들어오고, 그것들은 변복조된 백 채널(4002)에 의해 애플리케이션 및 데이터 서버(4006)로 보내진다. 적절한 웹 페이지는 방송 센터로부터의 전송에 포함되고, 업 링크(2012), 트랜스폰더(2014) 및 다운링크(2016)를 통하여 수신기/디코더(2020)에 의하여 수신되어, 텔레비전 세트(2022)에 표시된다.
애플리케이션은 수신기/디코더(2020)의 메모리 위치에 저장되고 리소스 파일로서 표시된다. 리소스 파일은 그래픽 목표물 설명 유닛 파일, 가변블록 유닛 파일, 지시 시퀀스 파일, 애플리케이션 파일 및 데이터 파일을 구비한다.
그래픽 목표물 설명 유닛 파일은 애플리케이션의 인간-기계계(man-machine)인 스크린을 설명한다. 가변블록 유닛 파일은 애플리케이션에 의해 취급된 데이터 구조를 설명한다. 지시 시퀀스 파일은 애플리케이션의 처리 동작을 설명한다. 애플리케이션 파일은 애플리케이션용 엔트리 포인트를 제공한다.
상기 방법으로 구성된 애플리케이션은 아이콘 라이브러리 파일, 이미지 파일, 문자 폰트(font) 파일, 컬러 테이블 파일 및 ASCII 텍스트 파일 등의 데이터 파일을 사용할 수 있다. 쌍방향성 애플리케이션은 입력 및/또는 출력을 유효하게 함으로써 온-라인 데이터를 얻을 수 있다.
엔진(4008)만은 그것이 설정된 시간에 필요로 하는 그 리소스 파일을 그 메모리로 로드시킨다. 그 리소스 파일은 그래픽 목표물 설명 유닛 파일, 지시 시퀀스 파일 및 애플리케이션 파일로부터 판독되고; 가변블럭 유닛 파일은 모듈을 로딩하는 절차에 호출을 따르게하는 메모리에 저장되고 모듈을 언로딩하는 절차에서 특정한 호출이 이루질 때까지 거기에 로크된 채로 남아있다.
도 3에서, 텔레쇼핑 모듈 등의 모듈(4010)은 리소스 파일 및 데이터 세트이고, 그 세트는,
단일 애플리케이션 파일(4012)과;
미결정된 수의 그래픽 목표물 설명 유닛 파일(4014)과;
미결정된 수의 가변블럭 유닛 파일(4016)과;
미결정된 수의 지시 시퀀스 파일(4018)과;
알맞게는 아이콘 라이브러리 파일, 이미지 파일, 문자 폰트(font) 파일, 컬러 테이블 파일 및 ASCII 텍스트 파일 등의 데이터 파일(4020)을 구비한다.
MPEG 데이터 스트림에서, 각 모듈은 MPEG 테이블의 그룹을 구비한다. 각 MPEG 테이블은 다수의 부분으로 표맷될 수 있다. MPEG 데이터 스트림에서, 각 부분은 4바이트까지의 "크기"를 갖는다. 직렬 및 병령 포트를 경유한 데이터 이동에 대해, 예를 들어, 모듈은 테이블 및 부분으로 비슷하게 분할되고, 그 부분의 크기는 트랜스포트 매체에 따라 변화한다.
모듈은 비디오 데이터 스트림, 오디오 데이터 스트림 및 텔리텍스트 데이터 스트림을 예로 하는 각 데이터 스트림 형태내에서 통상적으로 188바이트의 데이터 패킷 형태로 된 MPEG 데이터 스트림에서 이동된다. 각 패킷은 13 비트의 패킷 식별자(PID)보다 앞서게되고, MPEG 데이터 스트림에서 이동된 모든 패킷에 대해 하나의 PID가 있다. 프로그램 맵 테이블(PMT 테이블)은 다른 데이터 리스트를 포함하고 각 PID에 따라 각 데이터 스트림의 내용을 형성한다. PID는 데이터 스트림에서 애플리케이션의 존재에 대해 장치에 알리고, PID는 PMT 테이블을 사용해서 식별된다.
도 4에서, 수신기/디코더는 버스(21)를 경유해서 플래시 메모리(4024), EEPROM 메모리(4024'), 및 ROM 메모리(4026)에 결합되는 마이크로프로세서(20)에 결합된 RAM 메모리(4022)를 구비한다. RAM 메모리(4022)는 데이터(예를 들어 MPEG 비트스트림)가 RAM 메모리로 직접 입력될 수 있는 DMA(direct memory access) 유닛(22)에도 결합된다.
RAM 메모리는 256 킬로바이트 길이이고, 3개의 영역으로 분할되는 데 즉 3개의 영역은, 시스템의 제조자에 의해 사용되는 예비 영역(24)과, 가상 계산기( VM)에 의해 사용되는 예비 영역(25)과, 버퍼, 애플리케이션(30,30',30"), 데이터 등의 각종 정보를 포함하도록 사용되는 사용자 영역(26)이다. 시스템은 시스템을 수행하도록 하드웨어의 설계시 제조자에게 상당한 자유도를 허여하는 기능적인 사양서에 의해 형성되고; 메모리 영역(24)은 기능적인 사양서 및 하드웨어에 의해 특정화된 기능들간의 인터페이스로서 효과적으로 사용된다. 영역(25)의 VM은 컴퓨터 시스템을 효과적으로 동작시키는 종류이고, VM 및 마이크로프로세서(20)는 동작 시간 엔진(RTE)(4008)으로서 함께 간주될 수 있다. 각종의 다른 애플리케이션은 다른 시간에 메모리로 로드될 수 있다.
통신은 VM 및 애플리케이션간에 및 다른 애플리케이션 자체들간에 필요로 한다. 상기 통신은 VM 및 각종의 애플리케이션에 공통인 버퍼에 의해 주로 취급된다.
본 시스템에서, 명령(세트 버퍼 명령)은 사용자 영역(26)에서 버퍼 영역(32)을 형성하기위해 및 그 버퍼 영역을 개별적인 버퍼로 분할하기위해 사용된다. 그것은 다수의 버퍼 풀을 형성하고; 각 풀에 대해, 풀에서 버퍼 크기 및 풀에서 버퍼수는 설정된다. 도 6은 세트 버퍼 명령의 논리적인 포맷을 도시한다. 그것은 풀 수(NP)를 형성하며 각 풀에 대해 하나씩인 초기 엔트리(35)를 구비하고, 그 초기 엔트리(35)뒤에는 엔트리 세트(36, 36',...)가 있고, 각 풀 엔트리는 풀의 풀 크기(PS)(즉 풀에서 버퍼수)를 형성하는 제 1서브-엔트리(37) 및 풀에서 버퍼의 버퍼 크기(BS)(즉 버퍼에서 바이트수)를 형성하는 제 2서브-엔트리(38)로 구성된다.
편리성을 위해, 하기에서 사용된 상기 및 다른 파라미터는 다음과 같다.
NP: 풀수
풀마다-
PS: 풀 크기(풀에서 버퍼수)
BS: 버퍼 크기
PN: 풀 번호
BN: 버퍼 번호(풀에서)
ByN: 바이트 번호(버퍼에서)
사용자 메모리 영역(26)에서, 버퍼의 풀은 도 5에 도시했듯이 그 영역의 시작부로부터 시퀀스적으로 배열된다. 도시된 실제의 배열은 3개의 풀이고, 풀 1은 매체 크기의 5개 버퍼로 구성되고, 풀 2는 적은 크기의 6개 버퍼로 구성되고, 풀 3은 큰 크기의 1개 버퍼로 구성된다. 버퍼들의 각 풀은 그 시작부에서 16 바이트의 예비 부분을 포함한다. 그 부분은 사용자에게 버퍼 플래그로서 사용될 수 있는 12-바이트 서브-부분, 및 VM을 사용하기위해 예비적으로 되는 4-바이트 서브-부분으로 분할된다.
RTE(4008)는 버스(21) 및 RAM 메모리(4022)의 사용자 영역(26)간에 어드레싱 경로를 형성하는 것으로 간주될 수 있는 버퍼 관리기(27)를 수행시킨다. 도 7은 버퍼 관리기의 논리적인 구조를 도시한다. 그것은 마이크로프로세서(20)의 제어하에서 세트 버퍼 명령에 의해 처음에 초기화되고; 그것은 소망된 버퍼를 어드레스하도록 사용된다.
버퍼 관리기에서, 각 풀에 대한 서브-엔트리(PS 및 BS)는 승산기(35)에 교대로 공급되어 그 적(product)은 PSBS 이다. 누산기(36)는 64k값(RAM(4022)의 사용자 영역(26)의 시작 어드레스를 나타내는)으로써 초기화되고, 16을 그 적으로 가산하는 가산기(37)를 경유해서 연속된 적(PSBS)으로써 공급되고; 그 16은 각 풀의 시작에서 예비 부분의 크기를 나타낸다. 누산기(36)는 각 버퍼 풀의 시작 어드레스를 연속해서 포함한다. 상기 풀 시작 어드레스는 그들이 시퀀스적으로 저장되어 누적되는 어드레스 레지스터(38)에 공급된다. 또한, 초기화동안, 풀수(NP)는 다수의 풀 레지스터(39)에 저장되고, 버퍼 크기(BS)는 버퍼 크기 레지스터(41)에서 같은 시퀀스에 저장된다.
초기화에 따라서, 버퍼는 어드레스될 수 있다. 버퍼를 어드레스하기위해, 소망된 버퍼는 소망된 풀의 풀 번호(PN), 그 풀에서 소망된 버퍼의 버퍼 번호(BN), 및 그 버퍼내에서 소망된 바이트의 바이트 번호(ByN)로 형성된다.
풀 번호(PN)는 누적 레지스터(38) 및 버퍼 크기 레지스터(40)로부터 그 풀에 대해 알맞은 엔트리를 선택하기위해 사용된다. 버퍼 크기(BS)는 승산기(45)에 공급되고, 거기에서 그것은 버퍼 번호(BN)에 의해 승산된다. 결과적인 적은 16을 그 적에 가산하는 증분기(46)에 공급된다. 누적 레지스터(38)의 출력은 가산기(47)에 공급되고 그 가산기에서 바이트 번호(ByN)를 누적 레지스터(38)의 출력에 가산한다. 증분기(46)의 출력은 가산기(48)에 공급되고 그 가산기에서 증분기(46)의 출력은 가산기(47)의 출력에 가산된다. 가산기(48)의 출력은 소망된 어드레스, 즉 소망된 풀의 소망된 버퍼의 소망된 바이트의 어드레스로서 멀티플렉서(49)를 통해 통과한다.
버퍼 관리기는 에러 확인 회로를 포함한다. 풀 번호(PN)는 레지스터(39)로부터 풀수(NP)로써 공급되는 비교기(53)에 공급되어, 그 선택된 풀 번호가 풀수보다 크지않다는 것을 확인하고, 즉 그 선택된 풀이 버퍼 영역내에 있는 것을 확인한다. 버퍼 번호(BN)는 풀 크기 레지스터(40)에서 선택된 엔트리의 출력으로써 공급되는 비교기(54)에 공급되어, 그 선택된 버퍼 번호가 선택된 풀에서 버퍼수보다 크지않다는 것을 확인하고, 즉 그 선택된 버퍼가 그 선택된 풀내에 있는 것을 확인한다. 그 선택된 바이트 번호는 선택된 풀에서 버퍼의 크기로써 공급되는 비교기(55)에 공급되어, 그 소망된 바이트 번호가 버퍼의 길이보다 크지않다는 것을 확인하고, 즉 그 선택된 바이트가 선택된 버퍼내에 있는 것을 확인한다. 상기 비교기 모두는 확인이 안되면 에러 신호(ERR)를 발생하는 공통 출력을 공급한다.
이제까지의 설명은 버퍼가 어드레스되었다고 가정했다. 그러나, 버퍼의 풀의 예비 또는 특정한 16-바이트 초기영역을 어드레스하는 것이 소망되게 될 수 있다. 상기 2개의 옵션들간의 선택은 정상 버퍼 액세스들간에 선택하는 신호(N/C)에 의해 제어되고 그것은 버퍼 제어 동작으로 불리운다. 정상 액세스에서, 버퍼는 선택되고; 버퍼 풀의 예비 초기 영역은 제어 동작을 위해서만 선택된다.
N/C 신호는 멀티플렉서(49)에 공급된다. 정상 버퍼 액세스에서, 상기 신호는 상기 설명했듯이 가산기(48)의 출력을 선택한다. 그러나, 풀의 예비 영역상에서 제어 동작동안, 그 대신에 멀티플렉서는 가산기(47)의 출력을 직접적으로 선택한다. 누적 레지스터(38)로부터의 상기 경로가 증분기(46)를 통해 통과하지 않기 때문에, 그것은 그 예비 영역을 따르는 버퍼들중 하나에서 보다 오히려 풀의 예비 영역에서 소망된 바이트를 선택한다.
버퍼 영역상의 제어 동작동안, 비교기(55)는 동작될 필요가 없다. 그러므로 상기 비교기는 정상 버퍼 액세스동안 신호(N/C)에 의해 동작되고 제어 동작동안 동작하지않는다. 부가적인 비교기(56)는 예비 풀 영역에서 바이트 번호(ByN) 및 바이트수로써 공급되고, 시스템 액세스용 신호(N/C)에 의해 동작된다. 상기 비교기는 소망된 바이트 번호가 16보다 크지 않다는 것을 확인하고, 즉 그것은 선택된 바이트가 선택된 풀의 시작에서 예비 영역내에 있다는 것을 확인한다. 명백히, 상기 확인은 버퍼 플래그 등으로서 사용하기위해 사용자에게 사용할 수 있는 12-바이트 서브-부분 및 RTE에 사용하기위한 예비적인 4-바이트 서브-부분에 대한 액세스들을 구별하도록 세밀히 구별되어질 수 있다.
바람직하다면, 세트 버퍼 명령은 사용자 메모리 영역(26)의 말단(end)을 형성하며 도 6에 도시된 사용자 메모리 말단 파라미터(34)를 포함한다. 세트 버퍼 명령으로의 최종 엔트리는 알맞은 레지스터에 저장되고, 버퍼 영역이 사용자 메모리 영역(26)의 말단을 넘지 않는 다고 확인하도록 사용될 수 있다. (그것은 공간이 애플리케이션(30, 30', 30".....)용으로 남겨져야함에 따라 일반적으로 매우 다르나, 버퍼 영역이 상기 설명했듯이 그 시작부에서보다 오히려 사용자 영역의 중간 어딘가에 위치될 수 있도록 시스템이 설계되면 그것은 발생할 수 있다.)
원리적으로, 세트 버퍼 명령은 사용되어 버퍼 영역을 언제라도 초기화한다. 그러나, 버퍼 영역을 재-초기화하는 것은 버퍼에서 모든(거의 모든) 정보의 손실을 이미 효과적으로 발생시켜서, 세트 버퍼 명령은 시스템 초기화에서만 정상적으로 실행된다.
도 8에서, 시스템은 버스(121)를 통해 마이크로프로세서(120)에 결합된 플래시 메모리(4024), RAM 메모리(4022), 및 EEPROM 메모리(4026) 모두를 구비한다. (대안적으로, EEPROM 메모리는 마이크로프로세서(120)에 직접적으로 결합될 수 있다.) 플래시 메모리는 도 9에 도시했듯이 같은 크기의 8페이지 P1-P8로 분할된다. 상기 페이지중에서, 페이지 P8은 제조자용으로 예비되고; 나머지 페이지는 사용자에 의해 사용이 자유롭다.
도 9는 EEPROM(4026)에 있는 메인 기록 테이블 레지스터(122) 및 백-업 기록 테이블 레지스터(123)를 도시한다. 상기 테이블에서 정보는 어느 정도 압축 및 코드된 형태로 있다. 특히, 테이블(122)의 최종 부분(125)은 CRC 바이트이고, 그전의 부분(126)은 여분 페이지를 식별하는 페이지 번호이다. 테이블(122)의 제 1부분(127)은 플래시 메모리의 유효 페이지 각각에 대해 하나씩인 6개의 서브-부분(127-1 내지 127-6)(여분 페이지 및 예비 페이지 P8로부터 멀리 남겨진 6페이지)으로 구성된다. 상기 서브-부분은 상기 남겨진 페이지에 시퀀스적으로 대응한다.
도 10은 플래시 메모리 페이지 Pn 및 기록 테이블의 서브-부분(127-m)의 논리적인 배치 및 그들간의 관계를 도시한다. (여분 페이지가 있는 곳에 따라, m이 n 또는 n-1과 같을 수 있다.)
처음에 플래시 메모리 페이지를 고려하면, 그것은 데이터의 16개 블럭을 최대로 포함한다. 페이지는 각 가능한 데이터 블럭에 하나씩인 16개 부분을 포함하는 헤더(130)를 갖는다. 헤더(130)의 각 부분은 그 데이터 블럭의 시작에 오프세트 또는 포인터를 포함하고; 상기 포인터는 사실상 페이지내에서 블럭의 어드레스이다. 그러므로 페이지에서 데이터 블럭(131, 131', ....)은 어떤 순서일 수 있다. 각 데이터 블럭은 블럭의 명칭, 버젼 번호, 블럭 길이, 상태 정보 등의 블럭에 관한 각종 아이템을 포함할 수 있는 각 헤더(132, 132',...)를 포함한다.
기록 테이블의 서브-부분(127-m)은 16비트로 구성되고, 각 비트는 도시된 페이지 헤더(130)에서 대응하는 부분에 대한 블럭 유효 표시기이다.
플래시 메모리에서 페이지를 갱신하는 과정은 현재 설명된다. 페이지 갱신에 필요한 모든 조작은 마이크로프로세서(120)에 의해 수행된다.
처음에, 레지스터(122)에서 메인 기록 테이블은 유효성에 대해 확인되고; 즉 부분(126 및 127)의 CRC는 계산되고 부분(125)에서 저장된 CRC와 비교된다. 메인 기록 테이블은 백업 기록 테이블 레지스터(123)로 복제된다(및, 바람직하다면, 백업 기록 테이블은 유효성에 대해 확인될 수 있어서, 복제가 확실하게 에러없도록된다.
다음에, 갱신되는 페이지는 플래시 메모리로부터 RAM 메모리로 복제된다. 그 페이지용 메인 기록 테이블에서 서브-부분(127-m)은 인출되고, 무효한 것으로 표시된 어떤 데이터 블럭은 RAM 메모리에서 페이지 이미지로부터 삭제된다. 새로운 데이터 블럭은 페이지 이미지로 기록된다.
새로운 데이터 블럭은 남는 원래의 데이터 블럭들간의 공간으로 쉽게 알맞지 않는다. 상기 남는 블럭은 각종 크기의 빈 영역에 의해 일반적으로 분리된다. 그러므로 그들은 단일의 큰 사용안된 영역을 형성하도록 사용안된 영역을 페이지 이미지의 하부로 효과적으로 이동시키면서 그들간의 사용안된 영역을 "밀어내기"하기위해 페이지 이미지를 시프트업시킨다. 그것은 새로운 데이터 블럭이 페이지 이미지로 기록될 수 있다는 것을 확정한다(물론, 페이지 용량이 초과하지 않는 다면). 페이지 이미지에서 블럭 헤드는 그 포인터를 페이지 이미지에서 데이터 블럭의 새로운 위치로 변화시킴으로써 물론 갱신된다.
갱신되는 페이지용 기록 테이블의 서브-부분은 기록 테이블로부터 이전에 인출된다. 그 인출된 서브-부분이 페이지 이미지에 가산되었던 새로운 데이터 블럭에 유효 비트를 세팅함으로써 갱신된다.
다음에, 기록 테이블의 부분(127) 전체는 메인 기록 테이블 레지스터(122)로부터 인출된다. 갱신되는 페이지(오래된 페이지)에 대응하는 서브-부분이 효과적으로 삭제된다. 그것은 홀로 이전에 인출되고 갱신되었던 서브-부분이다. 상기 새로운 서브-부분(새로운 페이지, 즉 갱신된 페이지가 기록되는 여분 페이지에 대응하는)은 알맞은 포인트에서 서브-부분의 시퀀스로 삽입된다. 그것에 대해, 오래된 및 새로운 페이지들간의 어떤 페이지에 대한 서브-부분은 삭제되었던 서브-부분을 채우고 새로운 서브-부분에 대한 방을 만듬에 따라 시프트되야한다.
다음에, RAM 메모리에서 갱신된 페이지 이미지는 메인 기록 테이블의 부분(126)에서 여분 페이지 번호에 의해 식별했듯이 여분 페이지로 복제된다.
다음에, 여분 페이지 부분에서 페이지 번호는 새로운 여분 페이지로 되는 오래된 페이지의 페이지 번호로 변화된다.
다음에, 그 갱신된 기록 테이블은 메인 기록 테이블 레지스터(122)로 복제된다. 결국, 메인 기록 테이블 레지스터(122)의 갱신된 내용은 백-업 기록 테이블 레지스터(123)로 복제되고, 바람직하다면, 레지스터(122)의 메인 기록 테이블 및/또는 백-업 기록 테이블의 내용은 유효성에 대해 확인된다.
시스템이 예를 들어 전력감소후 재시작될 때, 2개의 기록 테이블 모두가 유효성에 대해 확인되고; 어느 것도 무효하다면, 그것은 유효한 것으로 대치될 수 있다(즉, 유효한 기록 테이블의 내용은 무효한 기록 테이블로 복제된다).
본 발명은 예에 의해 완전히 상기에서 설명되었고, 상세한 설명의 변경은 본 발명의 범위내에서 이루어진다.
상세한 설명, 및 청구범위 및 도면에 개시된 각 특징은 독립적으로 또는 알맞은 결합으로 구비될 수 있다.
상기 언급된 양호한 실시예에서, 본 발명의 소정의 특징은 컴퓨터 소프트웨어를 사용해서 수행되었다. 그러나, 상기 특징중 일부가 하드웨어를 사용해서 수행되는 것은 당업자에게는 물론 명백하다. 또한, 하드웨어, 컴퓨터 소프트웨어 등에 의해 수행된 기능이 전기 및 유사 신호를 사용해서 수행된다.
참고문헌은 같은 출원일을 갖는 동시계류중인 출원이고 그 출원의 명칭은 신호 발생 및 방송(Signal Generation and Broadcasting)(대리인 문서번호 PC/ASB/19707), 암호화된 방송 신호의 수신기와 사용하는 스마트카드 및 수신기(Smartcard for use with a Receiver of Encrypted Broadcast Signal and Receiver)(대리인 문서번호 PC/ASB/19708), 방송 및 수신 시스템 및 그것을 위한 조건부 액세스 시스템(Broadcast and Reception System and Conditional Access System therefor)(대리인 문서번호 PC/ASB/19710), 송신기로부터 수신기/디코더를 경유해서 컴퓨터로의 컴퓨터 파일의 다운로딩(Downloading a Computer File from a Transmitter via a Receiver/Decoder to Computer)(대리인 문서번호 PC/ASB19711), 텔레비젼 프로그램 및 다른 데이터의 송신 및 수신(Transmission and Reception of Televsion Programmes and Other Data)(대리인 문서번호 PC/ASB/19712), 다운로딩 데이터(Downloading Data)(대리인 문서번호 PC/ASB/19713), 컴퓨터 메모리 구조(Computer Memory Organisation)(대리인 문서번호 PC/ASB/19714), 텔레비젼 또는 라디오 제어 시스템 개발(Television or Radio Control System Development)(대리인 문서번호 PC/ASB/19715), 송신된 데이터 스트림으로부터 인출하는 데이터 부분(Extracting Data Sections from a Transmitted Data Stream)(대리인 문서번호 PC/ASB/19716), 액세스 제어시스템(Access Control System)(대리인 문서번호 PC/ASB/19717), 데이터 처리시스템(Data Processing System)(대리인 문서 번호 PC/ASB/19718), 방송 및 수신 시스템 및 수신기/디코더 및 그것을 위한 원격 제어기(대리인 문서 번호 PC/ASB/19720)이다. 상기 서류의 개시는 참고로 본원에서 결부된다. 출원들의 리스트는 본 발명을 포함한다.

Claims (38)

  1. 컴퓨터 시스템의 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템에 있어서, 복수의 풀(pool) 크기를 저장하는 풀 크기 저장 수단과; 각 풀에 대해 버퍼 크기를 저장하는 버퍼 크기 저장수단과; 소망된 풀에서 소망된 버퍼의 어드레스를 계산하는 계산 수단을 구비하는 것을 특징으로 하는 컴퓨터 시스템의 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템.
  2. 제 1항에 있어서, 풀 크기를 누적된 형태로 결정하고 그들을 풀 크기 저장 수단의 그 형태로 저장하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템의 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템.
  3. 선행항중 어느 한항에 있어서, 예비 영역을 각 풀의 시작부에서 형성하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템의 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템.
  4. 제 2 또는 3항에 있어서, 누적된 풀 크기를 직접적으로 선택하거나 계산 수단의 출력을 선택하기위한 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템의 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템.
  5. 선행항중 어느 한항에 있어서, 소망된 풀 번호, 소망된 버퍼 번호, 및 소망된 바이트의 경계초과값으로 확인하는 수단을 포함하는 것을 특징으로 하는 컴퓨터 시스템의 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템.
  6. 본원에서 실질적으로 설명했듯이 메모리 영역에서 버퍼를 형성 및 어드레싱하는 시스템.
  7. 컴퓨터의 메모리 시스템에 있어서, 분리해서 기록가능한 페이지로 분할되는 플래시 메모리와; RAM 메모리와; 플래시 메모리에서 유효한 페이지를 식별하는 메인 기록 테이블을 유지하는 분리된 비-휘발성 메모리와; 이미지 페이지로서 플래시 메모리의 페이지를 RAM 메모리로 복제하는 수단과; 플래시 메모리에서 이미지 페이지를 다른 페이지로 기록하는 수단과; 플래시 메모리의 페이지가 갱신되었을 때 메인 기록 테이블을 비-휘발성 메모리에서 갱신하는 수단을 구비하는 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  8. 제 7항에 있어서, 메인 기록 테이블은 에러 검출부를 포함하고; 메인 기록 테이블이 갱신직후 복제되는 백-업 기록 테이블과; 플래시 메모리에 액세스하도록 메인 기록 테이블을 사용할 때 메인 기록 테이블의 에러를 확인하고, 메인 기록 테이블이 에러를 갖는다면 백-업 기록 테이블을 사용하는 수단을 구비하는 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  9. 제 8항에 있어서, 에러 검출부가 CRC 부분인 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  10. 제 7내지 9항중 어느 한항에 있어서, 기록 테이블은 대응하는 페이지에서 데이터 블럭용 블럭 유효 표시기 세트를 각 페이지에 대해 포함하는 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  11. 제 7 내지 10항중 어느 한항에 있어서, 페이지에서 블럭용 식별 정보는 페이지에 포함되는 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  12. 제 11항에 있어서, 각 블럭용 식별 정보는 각 블럭에 포함되는 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  13. 제 7내지 12항중 어느 한항에 있어서, 상기 분리된 비-휘발성 메모리는 EEPROM인 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  14. 제 7내지 13항중 어느 한항에 있어서, 기록 테이블은 여분 페이지 식별자 및 각 유효 페이지에 각기 관련되는 서브-기록의 시퀀스를 포함하는 것을 특징으로 하는 컴퓨터의 메모리 시스템.
  15. 본원에서 실질적으로 설명된 메모리 시스템.
  16. 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법에 있어서, 이미지 페이지로서의 플래시 메모리의 페이지를 RAM 메모리로 복제하고 그 이미지 페이지를 갱신하는 단계와; 그 이미지 페이지를 플래시 메모리의 다른 페이지로 기록하는 단계와; 유효 페이지를 플래시 메모리에서 식별하며 분리된 비-휘발성 메모리에서 유지되는 메인 기록 테이블을 제공하는 단계와; 플래시 메모리의 페이지가 갱신되었을 때 메인 기록 테이블을 갱신하는 단계를 구비하는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  17. 제 16항에 있어서, 에러 검출부를 메인 기록에 포함하는 단계와; 메인 기록 테이블이 갱신된 직후 복제되는 백-업 기록 테이블을 제공하는 단계와; 플래시 메모리에 액세스하도록 메인 기록 테이블을 사용할 때 메인 기록 테이블의 에러를 확인하고, 메인 기록 테이블이 에러를 갖는 다면 백-업 기록 테이블을 사용하는 단계를 구비하는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  18. 제 17항에 있어서, 에러 검출부가 CRC로서 계산되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  19. 제 16내지 18항중 어느 한항에 있어서, 대응하는 페이지에서 데이터 블럭용 블럭 유효 표시기 세트가 각 페이지에 대해 기록 테이블에 포함되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  20. 제 16 내지 19항중 어느 한항에 있어서, 페이지에서 블럭용 식별 정보는 페이지에 포함되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  21. 제 20항에 있어서, 각 블럭용 식별 정보는 그 블럭에 포함되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  22. 제 16내지 21항중 어느 한항에 있어서, 기록 테이블이 EEPROM에 저장되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  23. 제 16내지 22항중 어느 한항에 있어서, 여분 페이지 식별자 및 각 유효 페이지에 각기 관련되는 서브-기록의 시퀀스가 기록 테이블에 포함되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  24. 제 16내지 23항중 어느 한항에 있어서, 메인 기록 테이블은 이미지 페이지로서의 플래시 메모리의 페이지를 RAM 메모리로 복제하는 유효성에 대해 확인되게하는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  25. 제 24항에 있어서, 메인 기록 테이블이 메인 기록 테이블의 유효성을 확인한 직후 백-업 기록 테이블로 복제되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  26. 제 25항에 있어서, 백-업 기록 테이블이 메인 기록 테이블을 거기에 복제한 직후 유효성에 대해 확인되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  27. 제 16내지 26항중 어느 한항에 있어서, 이미지 페이지의 유효 데이터 블럭은 그들간의 사용안된 영역을 제거하도록 재배열되는 것을 특징으로 하는 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  28. 본원에서 실질적으로 설명된 분리해서 기록가능한 페이지로 분할된 플래시 메모리를 갱신하는 방법.
  29. 컴퓨터의 플래시 메모리 시스템에 있어서, 데이터는 플래시 메모리의 블럭에서 유지되고 블럭 위치설정 데이터 구조는 블럭의 위치 및 디스크립터(descriptors)를 결정하면서 유지되고, 블럭 위치설정 데이터 구조는 플래시 메모리 자체의 외부의 외부 메모리에서 적어도 부분적으로 유지되는 것을 특징으로 하는 컴퓨터의 플래시 메모리 시스템.
  30. 제 29항에 있어서, 외부 메모리는 EEPROM 메모리인 것을 특징으로 하는 컴퓨터의 플래시 메모리 시스템.
  31. 제 29및 30항중 어느 한항에 있어서, 외부 메모리는 전체 블럭 위치설정 데이터 구조를 실질적으로 유지할 수 있는 것을 특징으로 하는 컴퓨터의 플래시 메모리 시스템.
  32. 제 29및 30항중 어느 한항에 있어서, 외부 메모리는 플래시 메모리에서 블럭의 위치만을 유지하고, 블럭의 디스크립터는 블럭 자체의 헤더로서 플래시 메모리에서 포함되는 것을 특징으로 하는 컴퓨터의 플래시 메모리 시스템.
  33. 제 31 및 32항중 어느 한항에 있어서, 외부 디렉토리가 전체 플래시 메모리의 단일 구조로서 구조되는 것을 특징으로 하는 컴퓨터의 플래시 메모리 시스템.
  34. 제 31 및 32항중 어느 한항에 있어서, 외부 디렉토리가 페이지 단위로 구조되는 것을 특징으로 하는 컴퓨터의 플래시 메모리 시스템.
  35. 제 29내지 34항중 어느 한항에 있어서, 외부 메모리는 유효 비트만을 각 블럭에 대해 포함하고, 블럭 어드레스 및 디스크립터는 플래시 메모리 자체에서 유지되는 것을 특징으로 하는 컴퓨터의 플래시 메모리 시스템.
  36. 제 1내지 15 또는 29내지 35항중 어느 한항에 따른 시스템 또는 메모리 시스템 또는 플래시 메모리를 포함하는 디지털 방송 및 수신 시스템에 사용되는 수신기/디코더.
  37. 제 36항에 있어서,
    압축된 MPEG형태의 신호를 수신하는 수단과;
    텔레비젼 및/또는 라디오 신호를 제공하도록 그 수신된 신호를 디코드하는 수단과;
    그 신호를 텔레비젼 및/또는 라디오에 공급하는 수단을 더 구비하는 것을 특징으로 하는 디지털 방송 및 수신 시스템에 사용되는 수신기/디코더.
  38. 본원에서 실질적으로 설명된 디지털 방송 및 수신 시스템에서 사용하는 수신기/디코더.
KR1019997008515A 1997-03-21 1997-04-25 컴퓨터 메모리 구조 KR20000076411A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97400650.4 1997-03-21
EP97400650 1997-03-21

Publications (1)

Publication Number Publication Date
KR20000076411A true KR20000076411A (ko) 2000-12-26

Family

ID=48262303

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1019997008504A KR20000076401A (ko) 1997-03-21 1997-04-25 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일의 다운로딩
KR1019997008510A KR20000076406A (ko) 1997-03-21 1997-04-25 데이터 처리 시스템
KR1019997008507A KR20000076403A (ko) 1997-03-21 1997-04-25 텔레비젼 또는 라디오 제어 시스템 전개
KR1019997008509A KR20000076405A (ko) 1997-03-21 1997-04-25 엑세스 제어 시스템
KR1019997008503A KR20000076400A (ko) 1997-03-21 1997-04-25 방송 및 수신 시스템, 및 그를 위한 조건부 액세스 시스템
KR1019997008515A KR20000076411A (ko) 1997-03-21 1997-04-25 컴퓨터 메모리 구조

Family Applications Before (5)

Application Number Title Priority Date Filing Date
KR1019997008504A KR20000076401A (ko) 1997-03-21 1997-04-25 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일의 다운로딩
KR1019997008510A KR20000076406A (ko) 1997-03-21 1997-04-25 데이터 처리 시스템
KR1019997008507A KR20000076403A (ko) 1997-03-21 1997-04-25 텔레비젼 또는 라디오 제어 시스템 전개
KR1019997008509A KR20000076405A (ko) 1997-03-21 1997-04-25 엑세스 제어 시스템
KR1019997008503A KR20000076400A (ko) 1997-03-21 1997-04-25 방송 및 수신 시스템, 및 그를 위한 조건부 액세스 시스템

Country Status (3)

Country Link
KR (6) KR20000076401A (ko)
HK (1) HK1044659A1 (ko)
RU (1) RU2001111520A (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068398B2 (ja) 2000-08-17 2012-11-07 Necディスプレイソリューションズ株式会社 受信機及びコンテンツの配信方法
KR100726614B1 (ko) * 2006-02-01 2007-06-11 에스케이 텔레콤주식회사 브-엠 기반의 기업용 애플리케이션 개발지원 시스템 및방법

Also Published As

Publication number Publication date
HK1044659A1 (zh) 2002-10-25
KR20000076406A (ko) 2000-12-26
KR20000076403A (ko) 2000-12-26
RU2001111520A (ru) 2003-06-10
KR20000076400A (ko) 2000-12-26
KR20000076401A (ko) 2000-12-26
KR20000076405A (ko) 2000-12-26

Similar Documents

Publication Publication Date Title
AU744517B2 (en) Computer memory organization
EP0887729B1 (en) Terminal device capable of remote download, download method of loader program in terminal device, and storage medium storing loader program
CA2304144C (en) Downloading data
EP0974230B1 (en) Method of downloading of data to an mpeg receiver/decoder
US6915383B2 (en) Receiver apparatus and method
CN100531326C (zh) 选择执行软件图像的方法
CA2284018C (en) Extracting data sections from a transmitted data stream
US6360195B1 (en) Television or radio control system development
ES2205212T3 (es) Desarrollo de un sistema de control para television o radio para mpeg.
KR20000076411A (ko) 컴퓨터 메모리 구조
JP4084461B2 (ja) リモートダウンロードが可能な端末装置、その端末装置が備えるローダプログラムに適用されるダウンロード方法、そのローダプログラムを記録した記録媒体
MXPA99008548A (en) Computer memory organization
CZ331499A3 (cs) Organizace počítačové paměti
AU739663B2 (en) Downloading a computer file from a transmitter via a receiver/decoder to a computer
KR100595699B1 (ko) 수신제한 시스템을 지원하는 이동통신 단말기의 메모리관리 방법
MXPA01002619A (en) Management of data in a receiver/decoder
CZ331199A3 (cs) Stahování počítačového souboru z vysílače přes přijímač/dekodér do počítače
MXPA00003214A (en) Downloading data

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application