JP2001518218A - コンピュータメモリ編成 - Google Patents

コンピュータメモリ編成

Info

Publication number
JP2001518218A
JP2001518218A JP54440898A JP54440898A JP2001518218A JP 2001518218 A JP2001518218 A JP 2001518218A JP 54440898 A JP54440898 A JP 54440898A JP 54440898 A JP54440898 A JP 54440898A JP 2001518218 A JP2001518218 A JP 2001518218A
Authority
JP
Japan
Prior art keywords
memory
page
flash memory
block
pool
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP54440898A
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 JP2001518218A publication Critical patent/JP2001518218A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/0014Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • H04N21/2543Billing, e.g. for subscription services
    • 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
    • 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/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4367Establishing a secure communication between the client and a peripheral device or smart card
    • 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/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44236Monitoring of piracy processes or activities
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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/47805Electronic banking
    • 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
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • 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
    • 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
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7203Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Software Systems (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • General Health & Medical Sciences (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Biomedical Technology (AREA)
  • Computer Graphics (AREA)
  • Quality & Reliability (AREA)
  • Discrete Mathematics (AREA)
  • Virology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Saccharide Compounds (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Preparation Of Compounds By Using Micro-Organisms (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Radiation-Therapy Devices (AREA)
  • Apparatus For Radiation Diagnosis (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 コンピュータシステム内のメモリでは、バッファ管理システムによってバッファが定義されている。1セットのバッファコマンドが、バッファのプール数(NP)を定義し、各プールについて、プール内にあるバッファ数のプールサイズ(PS)とそのプール内にあるバッファのサイズ(BS)を定義する。バッファ管理システムは、バッファサイズを記憶するため、また、プールサイズを累積および記憶するために初期化される。バッファを指定するには、バッファ管理システムが記憶された情報を使って、所望のプールからバッファの開始のアドレスとバッファ数を決定ずる。また、ページ付けされたフラッシュメモリをアップデートするために、フラッシュメモリ(4024)のページPnが、画像ページとしてRAMメモリ(4022)内にコピーされ、この画像ページがアップデートされて、フラッシュメモリ内の別のページに書き戻される。フラッシュメモリ内のページを識別するメイン記録テーブル(22)が非揮発性メモリ(EEPROM 4026)内に維持されており、フラッシュメモリ内のページがアップデートされている場合に、これがアップデートされる。メイン記録テーブルはCRCエラー検出セクション(25)を備えており、メイン記録テーブルがアップデートされた直後に、これがバックアップ記録テーブル(23)にコピーされる。

Description

【発明の詳細な説明】 コンピュータメモリ編成 本発明はコンピュータメモリに関するものであり、さらに詳細には、その中の メモリ領域の部分、および/またはフラッシュメモリの内容のアップデートに関 するものである。これは、ブロードキャストおよび受信システムのレシーバ/デ コーダ、特に、デジタル相互作用衛星テレビおよび/または無線システム内で特 定の用途を見出す。しかし、このタイプの1つまたは複数のシステムに限定され るものではなく、より一般的に、コンピュータシステムの幅広い様々な用途に利 用できることが理解できるであろう。 コンピュータシステムにおいて、特に、デジタルテレビまたはラジオ用のレシ ーバ/デコーダといった、より大型なシステムに組込まれているシステムにおい て、メモリの大きさは限定されている。これはつまり、メモリは、システムが要 求する様々な機能によって使用されるメモリのスペースを最小化するように編成 されなけらばならないということである。さらに、メモリの少なくともいくつか の部分にアクセスするために必要とされる時間を最小にする必要がある。 本発明の1つの局面は、特に、メモリ内のバッファの設備または編成に関する ものである。 バッファを提供する従来の技術は、必要なバッファを配置するための動的シス テムによるものである。しかしながら、現在のコンテキストでは、この標準シス テムはある欠点を有している。つまり、メモリを分割する傾向があり、その速度 はオーバヘッドオペレーションの必要性に規制されてしまう。また、バッファの 拡張が必要な場合、拡張のためのスペースをつくるために、メモリのブロックを 移動しなければならないことがある。 本発明の1つの局面によれば、コンピュータシステムのメモリ領域内にバッフ ァを定義および指定するためのシステムであって、複数のプールサイズを記憶す るためのプールサイズ記憶手段と、各プールにバッファサイズを記憶するための バッファサイズ記憶手段と、そこから所望のプール内にある所望のアドレスを計 算するための計算手段とを備えたシステムが提供される。累積形式のプールサイ ズを決定し、プールサイズ記憶手段内にこれらを該形式で記憶するための好まし い手段が含まれている。各プールの最初に確保エリアを定義してもよく、累積プ ールサイズディレクトまたは累積手段の出力のいずれかを選択する手段が提供さ れている。範囲外(out-of-bounds)を、所望のプール数、所望のバッファ数、 所望のバイトについて調べることができる。 現在、様々なタイプのコンピュータメモリを利用することが可能である。異な る種類間の大きな違いの1つは、揮発性メモリであるか、非揮発性メモリである かである。揮発性メモリは、メモリに電力が供給されている間のみその内容を保 持するが、電源が切られた途端に消失してしまう。これに対して非揮発性メモリ は、電源が切られてもその内容を無限に維持し続ける。その他の大きな違いは、 書込み可能メモリであるか、読出し専用メモリであるかである。 一般に、揮発性メモリはRAMとして知られており、非揮発性メモリには様々な 種類がある。通常RAMは書込み可能であり、読出し専用メモリはROMとして知られ ている。この違いはハード・アンド・ファストである必要はない。当然、あらゆ るメモリは、ある意味で最低1度は書込み可能でなくてはならないが、ROMのよ うな種類のメモリは、多少の困難を伴いながらも、内容を変更することができる 。それゆえに、PROM(プログラム可能(すなわち、書込み可能)読出し専用メモ リ、EEPROM(電気的消去可能なプログラム可能読出し専用メモリ)、Flashのよう なタイプのメモリがある。 異なるタイプのメモリは、異なる特性を持っているので(例えば、異なる読出 し回数、異なるコスト)、1つのコンピュータシステムに、複数の異なるタイプ のメモリの組合せの使用が望ましい場合が多くある。 本発明の別の局面はフラッシュメモリに関する。一般に、フラッシュメモリは ROM形式で、非揮発性である。フラッシュメモリはさらに、すなわち読出し可能 であるが書込み不可能であるというROM形式の方法で使用されるようになってい る。しかし、フラッシュメモリは多少の困難を伴うが書込みが可能である。詳細 には、フラッシュメモリは通常、複数のページに分割されており、その各々の長 さは何キロバイトもあり、フラッシュメモリへの書込みはページごとに行われる 。さらに詳細には、フラッシュメモリに書き込みをする場合、まず、その1ぺー ジを完全に消去し、次に新規の内容を書込む必要がある。さらに、この書込みは 1つの割込み不能オペレーションである必要がある。(消去と書込みの間には明 らかにギャップがある。) 原則として、フラッシュメモリ内の情報は、1つの語から上向きに、あらゆる サイズのユニットイン編成することができる。しかし実際には、フラッシュメモ リ内の情報は通常かなりのサイズの複数のブロックに編成される。1つのブロッ クには、例えば永久または半永久の情報のテーブルのようなデータ、またはプロ グラムあるいはサブルーチンが含まれている。通常、ブロックのサイズはページ サイズよりも小さくなるように選択されている(ブロックがページよりも大きい 場合、ブロックをページよりも小さなサブブロックに分割することが適している 。) 一般に、フラッシュメモリをアップデートする場合、フラッシュメモリ内に既 にある情報のいくつかを保持することが望ましい。従って、ページの画像を形成 するために、アップデートされたページがRAMへ読出される必要があり、次に、 ページに新規の情報を挿入することにより、RAM内のこの画像をアップデートす ることができる。同時に、ページ内の、これ以上必要ない、いかなる情報も削除 することが可能である。続いて、アップデートした画像をフラッシュメモリ内に 書き戻すことができる。 一般に、ブロックサイズは固定されていない。すなわち、ブロックによってサ イズが異なる。これによって、現存のブロックを除去して新品のブロックをつけ る場合に問題が起きることは明らかである。これらの問題は、ブロックを移動可 能にすればほぼ解決するため、ページがアップデートされる際に、ページ内に保 持されるブロックが再配列され、ページ上の複数の未使用エリアが結合して1つ の大きな未使用エリアを形成する。 ブロックが移動可能であれば、固定されたアドレスによって指定されることが できない。そのかわり、名称または記述子のようなものを使ってブロックの検索 が行えるようにするために、ある種のブロック配置または指定データ構造を備え る必要がある。異なるサイズのブロックでは、ブロックの位置および性質の両方 についての情報が必要である。これは多くの方法で達成することができる。従っ て、フラッシュメモリの最初に、ブロックの細分なディレクトリ(ブロックの位 置および性質)を保持するか、またはフラッシュメモリの最初にブロックの位置 ディレクトリを保持し、各ブロックがブロックの性質を提供するヘッダを含むこ とが可能である。あるいは、フラッシュメモリの各ページに、個別のブロック配 置データ構造を設けることもできる。 これらのブロック配置データ構造は全て、その内容を変更する度にフラッシュ メモリのアップデートが必要であるという共通の特性を備えている。新規のブロ ックを書込む場合には明らかにフラッシュメモリのアップデートが必要であり、 また、ブロックを削除する場合にも同様にアップデートが必要である。必ずしも ブロックを物理的に削除する必要はないが、そのブロックが無効であることを示 すためにブロック配置データ構造をアップデートしなければならない。 フラッシュメモリのアップデートの必要性は、新規ブロックへの追加と限定す ることができる。換言すれば、フラッシュメモリのアップデートをしなくても、 ブロックを効果的に削除することができるということである。これを達成するた めには、フラッシュメモリの外に設けられた外部メモリ内、好ましくはEEPROMメ モリ内に、ブロック配置データ構造を少なくとも部分的に収納する。 外部メモリは、実質的にブロック配置データ構造全体、すなわちブロックアド レスと記述子を収納することが可能である。あるいは、外部メモリは、フラッシ ュメモリ内におけるブロックの位置のみを収納していてもよい。この場合、ブロ ックの記述子はフラッシュメモリ内にブロックのヘッダとして含まれる。いずれ の場合においても、外部ディレクトリを、フラッシュメモリ全体のための単一構 造として、またはページ毎に構成することができる。 しかし、外部メモリ内に各ブロックの有効性のみを維持しながら、外部メモリ のサイズを最小限にすることが好ましい。この場合、ブロックアドレスと記述子 はフラッシュメモリ内に維持される。これにより、ブロックの有効性のビットマ ップへの外部メモリが減少する。フラッシュメモリ内のブロックを消去するには 、外部メモリ内のそのブロック用のビットを「有効」から「無効」に変更するだ けである。 上述した一般のページアップデート方法に戻るが、この方法には問題がある。 この方法の実行中にシステムへの電力供給が途絶えると(または、その他の重大 なシステム妨害、あるいはクラッシュが発生すると)、RAMの内容が消失し、フラ ッシュメモリに書込まれたページのアップデートされた画像が消失してしまう。 アップデートされた、フラッシュメモリページ内に既に存在した情報は、アップ デートしたページをフラッシュメモリヘ書込む以前に消去される。(アップデー トされたページが部分的にのみフラッシュメモリヘ書き戻され、そのため、内容 のいくらかは消失する。また一般に、電力損失の発生点が正確にはわからないた め、アップデートされた内容がどの程度フラッシュメモリに書込まれたかは正確 にはわからない。) 本発明の1つの目的は、この問題を軽減または解決することである。 この局面によれば、本発明は、フラッシュメモリが個別の書込み可能なページ に分割されており、フラッシュメモリのページを、画像ページとしてRAMメモリ 内にコピーし、画像ページをアップデートする手段を有し、また、画像ページを フラッシュメモリ内の別のページに書き戻す手段を有し、個別の非揮発性メモリ 内に設けられ、フラッシュメモリ内の有効ページを識別するメイン記録テーブル を有し、フラッシュメモリ内のページがアップデートされると、メイン記録テー ブルをアップデートする手段を有するコンピュータ内のフラッシュメモリシステ ムを提供する。 通常の動作では、メイン記録テーブルはフラッシュメモリの数ページを有効と 記録し、その他を無効と記録する。「無効」とは、そのページが有効な情報を含 んでいないということである。ページが無効になる理由は様々ある。例えば、ペ ージが空白であったり、他のページへコピーされていたり、書込みの妨害が入っ た等である。 本システムでは、ページのアップデートには、フラッシュメモリ内に存在する ページからアップデートしたページを別のページにコピーすることが含まれる( このコピーには、ページの内容のアップデートが含まれる)。そこで本システム は常に、有効なページを少なくとも1ページ保持しなければならず、この有効な 、単数または複数のページを平等に「スペア」と表すことができる。ページをア ップデートする際、ページのコピーが完了した後のみに、メイン記録テーブルが アップデートされる。従って、ページのコピーが妨害されると、メイン記録テー ブルは変更されないまま残るため、オリジナルのページが有効のままになり、新 規ページがスペアとマークされたままになる。コピーは後で再び行うことも、中 止することもできる。 上述のシステムでさえ、問題の可能性を含んでいる。これまで説明したシステ ムはメイン記録テーブルのアップデートに関するものである。従って、このメイ ン記録テーブルを性能の高いものにずることが重要である。 メイン記録テーブルのアップデートはフラッシュメモリのページのアップデー トに比べて非常に速いので、最低でもメイン記録テーブルをアップデートする間 、システムの動作を維持できる十分な容量を持つ電源を使って、メイン記録テー ブルをアップデートする直前に電源の状態を調べることが可能である。しかしな がら、メイン記録テーブルがエラー検出セクションを備え、メイン記録テーブル 自体が、そのアップデート直後に、バックアップ記録テーブル内にコピーされる ことが好ましい。システムは、フラッシュメモリへのアクセスに使用する際には 、メイン記録テーブルにエラーがないかどうかを調べるための、また、もしメイ ン記録テーブルにエラーがある際にはバックアップ記録テーブルを使用するため の手段を備える。従って、メイン記録テーブルにエラーがある場合には、システ ムは、フラッシュメモリ内の最後のアップデートを、アップデートが妨害された かのように無効とする。 当然、メイン記録テーブルのバックアップ記録テーブルへのコピーを妨害する ことも可能である。しかし、このコピーはメイン記録テーブルのメインアップデ ートが完了した後のみに起こる。フラッシュメモリのその後のあらゆるアクセス は、メイン記録テーブルを調べること、そのメイン記録テーブルがエラーなしに なり、バックアップ記録テーブルにアクセスする必要がなくなり、その欠陥状態 が関係なくなる。 しかし、フラッシュメモリの次のアップデートの最中に、メイン記録テーブル がアップデートされる。このアップデートは上述したように妨害される可能性も あり、また、妨害された際には、アップデート以前の状態のフラッシュメモリへ アクセスするためにバックアップ記録テーブルを使用しなければならない。従っ て、バックアップ記録テーブルに欠陥があることは望ましくない。 これは、フラッシュメモリのアップデートにおける第1段階として、メイン記 録テーブルをバックアップ記録テーブルへコピーすることにより達成される(ま たは、少なくとも、RAMからフラッシュメモリのスペアページへのアップデート 画像ページの書込み以前)。 上述の説明からの続きであるが、フラッシュメモリ内の情報またはデータブロ ックは固定位置には配置されない。フラッシュメモリページがアップデートされ ると、その中のデータブロックがページからページへと移動し、ページが変わっ てもそのページ内にデータブロックの場所が存在する。従って、必要な際にデー タブロックが見つけることができるように、ある形式のディレクトリが必要にな る。このディレクトリ情報は記録テーブル、またはフラッシュメモリページ自体 に保持されることができ、また、これら2つの場所の間で分割されることも可能 である。 データブロック自体が変更されない限り、通常ディレクトリ情報が変更するこ とはないため、ディレクトリ情報をデータブロックと共にフラッシュメモリ内に 記憶することが好都合であるということがわかった。しかし、データ自体が変更 しなくても変更してしまうディレクトリタイプ情報の要素が1つある。これは、 データブロックが有効であるかどうかに関係ない。従って、データブロック有効 情報を記録テーブル内に記憶することが適切である。これによって、フラッシュ メモリをアップデートすることなく、データブロックを効果的に削除することが 可能になる。必要な作業は、ブロックのインジケータを有効から無効に変更する ことのみである。 当然、そのブロックを含むページを後にアップデートする際には、無効インジ ケータを含むブロックはそのページからRAMメモリ内の画像ページへはコピーさ れないので、データブロックはその時点でより物理的な意味で削除される。(実 際にはデータブロックは、新規のスペアページとなる古いページに残るが、当然 そこへのアクセスは不可能であり、フラッシュメモリの次のアップデートにその 新規スペアページが使用される際に、データブロックの物理的な削除が完了する 。) 従って、記録テーブルはその各ページに、好都合に単一ビットの形式であるデ ータブロック有効性インジケータを1セット含んでいることが好ましい。これに より記憶ベーブルのサイズが大きくなり、このことはエラー検出セクションを得 るために様々な標準技術を使用できるということであり、エラー検出または修正 コードまたはハッシュタイプ機能を使用することが可能であるが、巡回符号検査 (CRC)を使用することが好ましいということである。 記録テーブル内のページ用のブロック有効性インジケータは、当然フラッシュ メモリ内のそのページのブロック自体とリンクしていなければならない。これは 、フラッシュメモリ内のページのブロックを、記録テーブル内のそのインジケー タと同じシーケンスに保つことで行うことができる。しかし、フラッシュメモリ 内の各ページに、ページ内でのブロックの実位置を示すポインタを1セット含む ヘッダを設けることが好ましい。これにより、ページ内のブロックの配置により 大きな余裕ができる。 ページ内の各ブロックの識別情報(例えばブロック名)を、ページヘッダ内、 またはブロックヘッダとしてブロックの最初のいずれかに含むことができる。後 者は、好ましい実施例で採用されているものである。この識別情報はブロックリ ンク情報を含むことができるため、大型ユニットのデータを2つ以上のブロック に分割することが可能である。 本発明のさらなる局面により、上述したシステムまたはメモリシステムまたは フラッシュメモリを備えたデジタルブロードキャストおよび受信システムに使用 するためのレシーバ/デコーダが得られる。 レシーバ/デコーダはさらに、圧縮されたMPEGタイプの信号を受信する手段、 テレビおよび/または無線信号を供給するために受信した信号を復号する手段、 信号をテレビおよび/またはラジオに供給する手段を備えていることが好ましい 。 次に、本発明の好ましい特徴を、添付の図面を参照しながら純粋に例証の方法 で説明する。 図1は、本発明の好ましい実施例によるデジタルテレビシステムの全体構成で ある。 図2は、デジタルテレビシステムの相互作用システムの構成を示している。 図3は、相互作用レシーバ/復号器のメモリ内にダウンロードしたモジュール 内のファイルの配列を示すものである。 図4は、コンピュータシステムの関連部分示す簡易ブロック線図である。 図5は、RAMメモリの1部の構成の線図である。 図6はバッファ設定コマンドの構造を示すものである。 図7は、メモリ管理ユニットの構造を示す線図である。 図8はシステムのブロック線図である。 図9は、フラッシュメモリおよび記録テーブルの論理レイアウトを示すもので ある。 図10図は、記録テーブルのフラッシュメモリページおよびサブセクションの 論理レイアウトを示すものである。 図1はデジタルテレビの全体を示している。本発明は、圧縮したデジタル信号 を送信するために従来のMPEG-2圧縮システムを利用する、ほぼ従来のデジタルテ レビシステム2000を備えている。さらに詳細には、ブロードキャストセンター内 のMPEG-2圧縮機2002がデジタル信号ストリーム(一般にはビデオ信号のストリー ム)を受信する。圧縮機2002は、リンケージ2006によってマルチプレクサ、スク ランブラ2004と接続している。マルチプレクサ2004は、複数の入力信号をさらに 受信し、1つ以上のトランスポートストリームをアセンブルし、圧縮したデジタ ル信号を、リンケージ2010を介してブロードキャストセンターのトランスミッタ 2008に送信する。もちろん、テレコムリンクを含む幅広い様々な形態をとること ができる。トランスミッタ2008は、アップリンク2012を介して、電磁気信号をサ テライトトランスポンダ2014へと送信し、ここで、レシーバ2018を設置するため に、エンドユーザが所有またはレンタルしている受信アンテナの形態である概念 ダウンリンク2016を介して、電磁気信号が電子的に処理およびブロードキャスト される。レシーバが受信した信号2018は、エンドユーザが所有またはレンタルし 、エンドユーザのテレビセット2022に接続された内臓レシーバ/デコーダ2020に 送信される。レシーバ/デコーダ2020は、圧縮され たMPEG-2信号をテレビセット2022のテレビ信号に復号する。 条件付きアクセスシステム3000はマルチプレクサ2004、レシーバ/デコーダと 接続しており、1部がブロードキャストセンター内に、別の1部がデコータ内に 配置されている。これによりユーザは、1つ以上のブロードキャストサプライヤ からデジタルテレビブロードキャストヘアクセスすることが可能である。レシー バ/デコーダ2020内に、コマーシャルオファー(すなわち、そのブロードキャス トサプライヤが販売した1つまたは複数のテレビプログラム)に関連したメッセ ージを解読できるスマートカードを挿入することができる。デコーダ2020とスマ ートカードを使用して、エンドユーザは、購読モードまたは有料視聴モードで、 コマーシャルオファーを購入できる。 相互作用システム4000もまた、マルチプレクサ2004、レシーバ/デコーダ2020 と接続しており、やはり1部がブロードキャストセンター内に、別の1部がデコ ーダ内に配置されているので、エンドユーザは、モデムに繋がれたバックチャネ ル4002を介して多くのアプリケーションと対話することができる。 図2は、本発明によるデジタルテレビシステム1000の相互作用テレビシステム 4000の一般的な構成を示すものである。 例えば、相互作用システム4000によって、エンドユーザは、持っているテレビ セットを介して画面上のカタログからの商品の購入や、必要に応じてローカルニ ュースや天気予報を観ることや、ゲームで遊ぶことが可能になる。 相互作用システム4000は、全体で以下の4つの主な要素を備えている。 オーサリングツール4004であり、ブロードキャストセンター(または他の場所 )にあり、ブロードキャストサプライヤはこれを使用してアプリケーションの作 成、開発、デバッグ、テストを行える; アプリケーションおよびデータサーバ4006であって、ブロードキャストセンタ ーにあり、オーサリングツール4004と接続しており、エンドユーザに向けて同報 通信を行うために、ブロードキャストサプライヤはこれを使用して、アプリケー ションとデータをMPEG-2伝送ストリーム(一般にはその専用セクション)に挿入 するべくマルチプレクサおよびスクランブラ2004へ伝達するために、準備し、有 効にし、フォーマットすることができる; 実行時エンジン(RTE)を備えたバーチャルマシン4008であって、これは、エ ンドユーザが所有またはレンタルしているレシーバ/デコーダ2020内にインスト ールされた実行可能なコードであり、エンドユーザはレシーバ/デコーダ2020の 稼動メモリ内に実行のためにアプリケーションを受信し、有効にし、圧縮を解除 し、ロードすることができる。エンジン4008はまた、常駐の、汎用アプリケーシ ョンを実行する。エンジン4008はハードウェアおよびオペレーティングシステム から独立している; レシーバ/デコーダ2020と、アプリケーションおよびデータサーバとの間にお いてモデムで繋がれたバックチャネル4002であり、これにより、エンドユーザの 要求に応じて、信号に、サーバ4006にデータとアプリケーションをMPEG-2伝送ス トリームに挿入するように指示することが可能になる。 相互作用テレビシステムは、システムに内蔵されたレシーバ/デコーダおよび 様々な装置の機能を制御する「アプリケーション」を使用して動作する。アプリ ケーションはエンジン4008内で「リソースファイル」として表されている。「モ ジュール」は、リソースファイルとデータのセットである。1つのアプリケーシ ョンを構成するためには数個のモジュールが必要である。レシーバ/デコーダの 「メモリボリューム」とはモジュールのための記憶スペースである。「インター フェース」は、モジュールをダウンロードするために使用される。モジュールは 、MPEG-2伝送ストリームからレシーバ/デコーダ2020内にダウンロードすること もできる。 次に、前述の文章で挙げたこれらの要素についてより詳細に説明する。 本明細書の目的のために、アプリケーションは、好ましくはレシーバ/デコー ダ2020の高レベル機能を制御する1つのコンピュータコードであるとする。例え ば、エンドユーザが、遠隔コントローラの焦点をテレビセット2022の画面上のボ タンオブジェクト画面上に配置し、有効キーを押す際に、そのボタンに関連した 指示シーケンスが実行される。 相互作用アプリケーションはメニューを提示し、エンドユーザの要求に応じて コマンドを実行し、アプリケーションの目的に関連したデータを提供する。アプ リケーションは、レシーバ/でコーダ2020のROM(またはFLASH、あるいはその 他の非揮発性メモリ)内に記憶されているか、もしくはレシーバ/デコーダ2020 のRAMまたはFLASHメモリにブロードキャストおよびダウンロードされたされた常 駐アプリケーションであってよい。 アプリケーションの例を以下に示す。 ● 開始アプリケーション。レシーバ/デコーダ2020が、モジュールの 適応可能なコレクション(この用語については後に詳細に説明する)である常駐 開始アプリケーションを備えている。モジュールの適応可能なコレクションは、 レシーバ/デコーダ2020をMPEG−2環境で即時動作可能にする。アプリ ケーションは、所望であればブロードキャストサプライヤによって変更が可能な コア特性を備えている。また、コア特性は常駐アプリケーションとダウンロード したアプリケーションの間のインターフェースを提供する。 ● スタートアップアプリケーション。スタートアップアプリケーションは 、ダウンロードしたまたは常駐のいずれであってもよいアプリケーションをレシ ーバ/デコーダ2020上で実行する。このアプリケーションは、アプリケーシ ョンを開始するために、サービスが到着すると実行されるブートストラップとし て働く。スタートアップはRAM内にダウンロードされるため、アップデートが 容易に行える。またスタートアップを、ダウンロードの直後、またはプリロード の後のいずれかに、各チャネルで使用可能なインタレクティブアプリケーション の選択および実行が可能であるように構成することも可能である。プリロードの 場合には、アプリケーションはメモリ2024内にロードされ、必要に応じてス タートアップによって起動することが可能である。 ● プログラムガイド。プログラムガイドは、プログラミングについての完 全な情報を提供するインタラクティブアプリケーションである。例えば、プログ ラムガイドは、デジタルTVブーケの各チャネルに割当てられた1週間のTVプ ログラムについての情報を提供する。遠隔コントローラ2026上のキーを押す と、エンドユーザは、テレビセット2022の画面上にある事象の上にオーバレ イされたアッドオン画面にアクセスできる。このアッドオン画面は、デジタルテ レビブーケの各チャネルの現在および次の事象についての情報を提供するブラウ ザである。遠隔コントローラ2026上の別のキーを押すと、エンドユーザは、 1週間以上の事象についての情報のリストを表示するアプリケーションにアクセ スできる。さらにエンドユーザは、単純でカストマイズされたクリテリアで事象 の検索およびソートが行える。また、選択したチャネルに直接アクセスすること ができる。 ● 番組有料視聴制アプリケーション。番組有料視聴制アプリケーションは 、条件付きアクセスシステム3000と連結したデジタルテレビブーケの各PP Vチャネル上で利用可能なインタラクティブサービスである。エンドユーザは、 TVガイドまたはチャネルブラウザを使ってこのアプリケーションにアクセスす ることができる。さらに、このアプリケーションはPPVチャネル上でPPV事 象が検出され次第、自動的に開始する。エンドユーザは、ドータースマートカー ド3020または通信サーバ3022(モデム、電話、DTMFコード、MIN ITEL等を使用)を介してカレント事象を購入することができる。アプリケー ションは、レシーバ/デコーダ2020のROM内に常駐するもの、またはレシ ーバ/デコーダ2020のRAM内にダウンロード可能なもののいずれかであっ てよい。 ● PCダウンロードアプリケーション。要求すれば、エンドユーザはPC ダウンロードアプリケーションを使ってコンピュータソフトウェアをダウンロー ドすることができる。 ● マガジンブラウザアプリケーション。マガジンブラウザアプリケーショ ンは、オンスクリーンボタンを介したエンドユーザナビゲーションを備えた画像 の巡回ビデオブロードキャストを有する。 ● クイズアプリケーション。クイズアプリケーションはブロードキャスト クイズプログラムと同期することが好ましい。1例として、テレビ2022の画 面上に多項式選択の質問が表示されるので、ユーザは遠隔コントローラ2026 を使って答えを選択できる。クイズアプリケーションは、その答えが正解である かどうかをユーザに知らせることができ、また、ユーザの点数をカウントするこ とができる。 ● テレショッピングアプリケーション。テレショッピングの1例において 、販売される商品のオファーがレシーバ/デコーダ2020に転送され、テレビ 2022上に表示される。遠隔コントローラを使って、ユーザは購入する特定の アイテムを選択できる。そのアイテムの注文が、モデムで繋がれたバックチャネ ル4002を介してアプリケーションおよびデータサーバ4006へと送信され るか、あるいは、個別の販売システムへと送信される。この販売システムの電話 番号は、レシーバ/デコーダ2020のカードリーダ4036の1つに挿入され たクレジットカードに勘定を付ける旨の命令と共にレシーバ/デコーダにダウン ロードされている。 ● テレバンキングアプリケーション。テレバンキングの1例において、ユ ーザは、レシーバ/デコーダ2020のカードリーダ4036の1つに銀行カー ドを挿入する。するとレシーバ/デコーダ2020が、銀行カードに、またはレ シーバ/デコーダに記憶された電話番号を使ってユーザの銀行を呼出し、アプリ ケーションが複数の機能を提供ずるので遠隔コントローラ2026を使って選択 を行う。この機能には、例えば、電話回線を介した預金口座収支報告のダウンロ ード、預金口座の間での資金の送金、小明手帳の要求等がある。 ● インターネットブラウザアプリケーション。インターネットブラウザア プリケーションの1例において、特定のURLのウェブページを見たいというよ うなユーザからの指示が、遠隔コントローラ2026を使って入力され、これら の指示が、モデムで繋がったバックチャネル4002によってアプリケーション およびデータサーバ4006へ送信される。すると、ブロードキャストセンター からの送信に適切なウェブページが含まれ、この送信がアップリンク2012、 トランスポンダ2014、ダウンリンク2016を介してレシーバ/デコーダ2 020によって受信され、テレビ2022上に表示される。 アプリケーションは、受信機/デコーダ2020のメモリ位置に記憶され、資 源ファイルとして示される。資源ファイルは、グラフィックオブジェクト記述ユ ニットファイルと、可変ブロックユニットファイルと、命令シーケンスファイル と、アプリケーションファイルと、データファイルとを備えている。 グラフィックオブジェクト記述ユニットファイルは、アプリケーションのスク リーン、すなわちアプリケーションのマンマシンインタフェースを記述する。可 変ブロックユニットファイルはアプリケーションによって処理されるデータ構造 を記述する。命令シーケンスファイルはアプリケーションの処理動作を記述する 。このアプリケーションはアプリケーションに対するエントリポイントを備えて いる。 このように構成されたアプリケーションは、アイコンライブラリファイル、イ メージファイル、文字フォントファイル、カラーテーブルファイルおよびASC 11テキストファイルのようなデータファイルを使用できる。対話式アプリケー ションは、入力および/または出力を行うことによってオンラインデータも得る ことができる。 エンジン4008は、所与の時間で必要とするこれらの資源ファイルをそのメ モリにロードするだけである。これらの資源ファイルは、グラフィックオブジェ クト記述ユニットファイル、命令シーケンスファイルおよびアプリケーションフ ァイルから読み取られる。可変ブロックユニットファイルは、モジュールをロー ドする手順に対する呼び出しに続いてメモリに記憶され、モジュールをロード解 除する手順に対する特定の呼び出しが行われるまで、そこにロックされたままで ある。 図3を参照すると、電話ショッピングのようなモジュール4010は、下記の ことを含む資源ファイルおよびデータのセットである。 単一アプリケーションファイル4012 未決定数のグラフィックブロックユニットファイル4014 未決定数の可変ブロックユニットファイル4016 未決定数の命令シーケンスファイル4018、 ここで、アイコンライブラリファイル、イメージファイル、文字フォントファ イル、カラーテーブルファイルおよびASCIIテキストファイルのようなデー タファイル4020である。 MPEGデータストリームにおいて、各モジュールはMPEGテーブルのグループを1 つ備えている。各MPEGテーブルはセクションの数としてフォーマットされう る。MPEGデータストリームにおいて、各セクションは最大4キロバイトの「サイ ズ」を有する。シリアルおよびパラレルポートを介したデータの伝送には、例え ば、同種のモジュールがテーブルとセクションに分割され、また、セクションの サイズは伝送する媒体によって異なる。 モジュールは、例えば、ビデオデータストリーム、オーディオデータストリー ム、テレテキストデータストリームのようなデータストリームの関連ずるタイプ 内において一般に188バイトのパケットの形式で、MPEGデータストリーム内に伝 送される。各パケットは13ビットのパケット識別子(PID)を前に付けており、 各パケットについての1つのPIDはMPEGデータストリーム内で伝送される。プロ グラムマップテーブル(PMTテーブル)は、異なるデータストリームのリストを 備え、各データストリームの内容を関連するPIDに従って定義する。PIDは、デー タストリーム内にアプリケーションが存在することを装置に知らせることができ 、この場合、PIDはPMTテーブルを使って識別されている。 次に、図4を参照すると、マイクロプロセッサ20と接続したレシーバ/デコー ダはRAMメモリ4022を設けている。マイクロプロセッサ20は、バス21を介してFLA SHメモリ4024、EEPROMメモリ4024'、ROMメモリ4026とも接続している。RAMメモ リ4022はさらにDMA(直接メモリアクセス)ユニット22とも接続しており、このDMA ユニットを通じて、(例えば、MPEGビットストリームからの)データをRAMメモ リ内に直接入力することができる。 RAMメモリは長さが256キロバイトであり、エリア24、エリア25、ユーザエリア 26の3つのエリアに分割されている。エリア24は、システムの製造業者が使用す るために確保されている。エリア25はバーチャルマシン(VM)が使用するために 確保されている。ユーザエリア26は、バッファ、アプリケーション30、30'、30" 、データ等といった様々な情報を含むために使用される。システムは機能的スペ ックによって定義されているので、製造業者は、そのシステムを実現するハード ウェアを非常に自由に設計することができ、また、機能的スペックとハードウェ アによって指定された機能間のインターフェースとして、基本的にはメモリ領域 24が使用されている。エリア25内のVMは、基本的にはコンピュータシステム用の オペレーティングシステムのようなものであり、VMとマイクロ プロセッサ20を組合せて実行時エンジン(RTE)4008と見るができる。メモリ内 には、異なる様々なアプリケーションを時を違えてロードすることができる。 VMとアプリケーションの間、異なるアプリケーションの間には通信が必要であ る。この通信は主に、VMと多数のアプリケーションに共通なバッファの手段によ って扱われる。 本システムにおいて、ユーザエリア26内にバッファエリア32を定義するため、 また、そのバッファエリアを個々のバッファに分割するために、コマンド(バッ ファ設定コマンド)を使用する。これはバッファプールの数を定義し、各プール について、そのプール内のバッファのサイズと、そのプール内のバッファのサイ ズが与えられる。図6は、バッファ設定コマンドの論理フォーマットを示してい る。これは、プールNPの数を定義する初期の入力35を備えており、この後に1つ のプールについて36、36'のセット………と続き、各プール入力は、プール内の 、プールのプールサイズPS(すなわち、そのプール内のバッファの数)を定義す る第1サブ入力37と、バッファのバッファサイズBS(すなわち、そのバッファ内 のバイトの数)を定義する第2サブ入力38によって構成されている。 便宜上、以下に使用した、これらおよびその他のパラメータを挙げる。 NP:プールの数 プール毎に Ps:プールサイズ(プール中のバッファの数) BS:バッファサイズ PN:プール番号 BN:バッファ番号(プール中での) ByN:バイト数(バッファ中の) 図5に示すように、ユーザメモリ領域26内では、バッファのプールがそのエリ アの最初から順次的に配置されている。ここで示した実際のレイアウトは、3つ のプール用のものである。ここで、プール1は5つの中型バッファから成り、ブ ール2は6つの小型バッファから成り、プール3は1つの大型バッファから成っ ている。また、バッファの各々のプールは、その始めにおいて16バイトの確 保セクションを設けていることがわかる。このセクションは、ユーザがバッファ フラグ等として使用できる12バイトのサブセクションと、VMが使用するために確 保されている4バイトのサブセクションとに分割される。 RTE4008はバッファマネージャを実現するが、これは、RAMメモリ4022のバス21 とユーザエリア26の間のアドレス指定パス27を形成するものと見なされる。図7 は、バッファマネージャの論理編成を示している。この論理編成は、最初に、マ イクロプロセッサ20の制御下でバッファ設定コマンドによって初期化され、次に 、任意の、所望のバッファを指定するために使用される。 バッファマネージャでは、各プールのサブ入力PSとBSが順番にマルチプライヤ 35に供給される。マルチプライヤはをプロダクトPS*BSに形成する。アキュムレ ータ36は、64Kの値(RAM4022のユーザエリア26のスタードアドレスをを表す)で 初期化され、加算器37を介して、プロダクトPS*BSが連続して供給される。加算 器37は、各プロダクトに16を加算するが、この16は、各プールのスタートにおい て、確保されたセクションのサイズを表す。従って、アキュムレータ36は、連続 するバッファプールの各々のスタートアドレスを連続して含んでいる。これらの プールスタートアドレスは、これを連続して記憶している累積アドレスレジスタ 38に供給される。さらに、初期化の最中に、プールNPの総数が多数のプールレジ スタ39に記憶され、プールサイズがプールサイズレジスタ40に記憶され、バッフ ァサイズBSがバッファサイズレジスタ41内の同じシーケンスに記憶される。 初期化の後、バッファの指定を行うことができる。バッファを指定するには、 所望のバッファを、その所望のプールのプール数PN、そのプール内の所望のバッ ファのバッファ数BN、そのバッファ内の所望のバイトのバイト数ByNによって定 義する。 プール数PNは、累積レジスタ38およびバッファサイズレジスタ40からそのプー ルへの適切な入力を選択するために使用される。バッファサイズBSがマルチプラ イヤ45に供給され、ここでバッファサイズBSにバッファ数NBが掛けられる。その 結果得られたプロダクトが、プロダクトに16を加算するインクリメンタ46に供給 される。累積レジスタ38の出力が加算器47に供給され、ここで 該出力がバイト数ByNに加算される。インクリメンタ46の出力が加算器48に供給 され、ここで該出力が加算器47の出力に加算される。加算器48の出力が所望のア ドレスとしてマルチプレクサ49を通過する。すなわち、所望のアドレスとは、所 望のプールの所望のバッファの所望のバイトのアドレスである。 バッファマネージャはエラーチェック回路も備えている。選択されたプール数 がプールの数よりも大きくないかを調べるために、すなわち、選択されたプール がバッファエリア内にあることを確認するために、プール数PNと、レジスタ39か らのプール数NPとがコンパレータ53に供給される。選択されたバッファ数が選択 されたプール内のバッファ数よりも大きくないかを調べるために、すなわち、選 択されたバッファが選択されたプール内にあることを確認するために、バッファ 数BNと、プールサイズレジスタ40内の選択されたエントリの出力とがコンパレー タ54に供給される。また、所望のバイト数がバッファの長さよりも大きくないか を調べるために、すなわち、選択されたバイトが選択されたバッファ内にあるこ とを確認するために、選択されたバイト数と、選択されたプール内のバッファの サイズとがコンパレータ55に供給される。これらのコンパレータは全て共通出力 を供給し、チェックが失敗した場合にはエラー信号ERRを生成する。 ここまで、本明細書ではバッファが指定されていると仮定している。しかし、 バッファのプールの確保された、または特別の16バイト初期エリアを指定するこ とが望ましい。これら2つのオプション間の選択は信号N/Cが制御する。信号N/C は、ノーマルバッファアクセスと、便宜上バッファ制御オペレーショと呼ばれる ものとの間で選択を行う。ノーマルアクセスではバッファが選択され、バッファ プールの確保された初期エリアが、制御オペレーションについてのみ選択される 。 N/C信号がマルチプレクサ49に供給される。ノーマルバッファアクセスの場合 、上述した通りにこの信号が加算器48の出力を選択する。しかし、プールの確保 されたエリアでの制御オペレーションの場合には、マルチプレクサは代わりに加 算器47の出力を直接選択する。累積レジスタ38からのこのパスがインクリメータ 46を通過しないので、その結局、確保されたエリアに続くバッファの1つの内で はなく、プールの確保されたエリア内の所望のバイトが選択される。 バッファエリア上の制御オペレーションの場合、コンパレータ55を使用不可能 にする必要がある。このコンパレータは、信号N/Cによって、ノーマルバッファ アクセスについて使用可能にされ、また、制御オペレーションについて使用不可 能にされる。さらにコンパレータ56には、バイト数ByNと、確保されたプールエ リア、すなわち16内のバイト数が供給され、システムアクセスのために信号N/C によって使用可能にされる。このコンパレータは、所望のバイト数が16よりも大 きくないかを調べる。これはつまり、選択されたバイトが、選択されたプールの 最初にある確保されたエリア内にあるかどうかを調べる。ユーザがバッファフラ グ等として使用することができる12バイトサブセクションと、RTEに使用するた めに確保された4バイトサブセクションへのアクセスを識別するために、このチ ェックを改良することができることは明白である。 所望であれば、図9に示すように、ユーザメモリ領域26のエンドを定義するユ ーザメモリエンドパラメータ34をバッファ設定コマンドに設けてもよい。バッフ ァ設定コマンドへの前回のエントリが適切なレジスタに記憶され、ユーザメモリ 領域26の最後を越えないバッファエリアを調べるために使用される。(アプリケ ーション30、30'、30"、………にスペースを置かなければならないため、一般に は、この心配はない。しかしながら、バッファエリアを、上述したユーザエリア の最初ではなく、ユーザエリア内のどこかに配置することができるようにシステ ムが設計されている場合には起こり得ることである。) 原則として、バッファ設定コマンドは、バッファエリアを初期化するために使 用できる。しかし、バッファエリアを再度初期化することで、バッファ内に存在 している情報を効果的に全部(またはほぼ全部)削除するため、バッファ設定コ マンドはシステム初期化のみにおいて正常に実行される。 次に図8を参照すると、システムはフラッシュメモリ4024、RAMメモリ4022、E EPROMメモリ4026を備えており、これらのメモリは全て、バス121を介してマイク ロプロセッサ120と接続している。(あるいは、EEPROMメモリはマクロプロセッ サ120と直接接続していてもよい。)図9に示すように、フラッシュメモリは均 等なサイズの8ページ、P1−P8に分割されている。これらのページのP8は製造業 者が使用するために確保されており、残りのページはユーザが自由に使 用できるようになっている。 さらに図9は、EEPROM 4026に設けられたメイン記録テーブルレジスタ122と、 バックアップ記録テーブルレジスタ123とを示している。これらのテーブル内に ある情報は、いずれかの方法で圧縮および暗号化されている。詳細には、テーブ ル122の最終セクション125はCRCバイトであり、その前のセクション126は、スペ アページを識別するページ数である。テーブル122の第1セクション127は、6つ のサブセクション127-1〜127-6によって構成されており、フラッシュメモリの有 効ページの各々につきこの6つのサブセクションの内の1つが割当てられている 。(すなわち、この6ページはスペアページ、確保されたページP8とは別である 。)これらのサブセクションはシーケンス内の残りのページと関連している。 図10図は、フラッシュメモリページPnの論理レイアウト、記録テーブルのサ ブセクション127-m、そしてこの2つの関係を示している。(スペアページがあ る場所に依存し、mはnまたはn-1と等値であってよい。) まずフラッシュメモリページについて考慮すると、フラッシュメモリページは 最大でデータを16ブロックを含むことができる。ページは、16セクションを有す るヘッダ130を備えており、使用可能な各データブロックにつきこの16セクショ ン1つが割当てられる。ヘッダ130の各セクションは、オフセット、またはその データブロックの開始のポインタを備えており、実際、このポインタは、ページ 内のブロックのアドレスである。従って、ページ内のデータブロック131、131' 、……はどんな順序であってもよい。各データブロックは対応するヘッダ132、1 32'、……を含んでいる。このヘッダは、そのブロックに関する様々なアイテム 、すなわちブロックの名称、バージョンナンバー、ブロック長、状態情報等を含 むことができる。 記録テーブルのサブセクション127-mは16ビットから成り、各ビットは、図に 示すように、ページヘッダ130内の関連するセクションのブロックの有効性を識 別するインジケータである。 次に、フラッシュメモリ内のページのアップデートの工程について説明する。 ページのアップデートに必要な処理は全てマイクロプロセッサ120によって実行 される。 まず、レジスタ122内のメイン記録テーブルの有効性について調べる。すなわ ち、セクション126、127のCRCが計算され、セクション125に記憶されたCRCと比 較される。次に、メイン記録テーブルはバックアップ記録テーブルレジスタ123 にコピーされる(また、所望であれば、コピーがエラーなしであることを確認す るために、バックアップ記録テーブルの有効性を調べることもできる。)。 次に、アップデートされたページ(古いページ)が、フラッシュメモリからRA Mメモリ内にコピーされる。そのページのメイン記録テーブル内のサブセクショ ン127-mが抽出され、無効であるとマークされたあらゆるデータブロックがRAMメ モリ内のページ画像から削除される。新規データブロックがページ画像に書込ま れる。 新規データブロックが、残りのオリジナルデータブロック間のスペースに簡単 に適合しない場合もある。一般に、これらの残りのブロックは様々なサイズの空 白エリアによって分けられる。従って、残りのブロックはそれらの間に含まれる 未使用エリアを「絞り出す」ためにページ画像上でシフトアップされ、1つの大 きな未使用エリアを形成するために、未使用エリアページ画像が底部へと効果的 に移動する。これにより、新規データブロックがページ画像内に書込み可能にな る(ただし、もちろんページの容量は超過しない)。ポインタを、ページ画像内の データブロックの新規位置に変更することにより、ページ画像内のブロックヘッ ダが当然アップデートされる。 アップデートされたページの記録テーブルのサブセクションは、事前に記録テ ーブルから抽出されている。次に、ページ画像に追加されたあらゆる新規データ ブロックに有効性ビットを設定することにより、この抽出されたサブセクション をアップデートする。 続いて、メイン記録テーブルレジスタ122から記録テーブルのセクション127の 全体が抽出される。アップデートされたそのページ(古いページ)に関連するサ ブセクションが効率的に削除される。これは、予めそれ自体によって抽出された 、またアップデートされたサブセクションである。この新規サブセクション(新 規ページ、すなわち、アップデートしたページが書込まれているスペアページ に関連するもの)が、適切なポイントにおいてサブセクションのシーケンス内に 挿入される。削除され、新規サブセクションのための場所を空けたサブセクショ ンを埋めるために、古いページと新規ページの問のあらゆるページのサブセクシ ョンも一緒にシフトされなければならない。 次に、RAMメモリ内のアップデートしたページ画像が、メイン記録テーブルの セクション126内のスペアページ数によって識別されたものとしてスペアページ にコピーされる。 次に、スペアページセクションのページ数が、古いページのページ数に変更さ れ、これが新規のスペアページとなる。 次に、アップデートされた記録テーブルがメイン記録テーブルレジスタ122に コピーされる。最後に、メイン記録テーブルレジスタ122のアップデートされた 内容が、バックアップ記録テーブルレジスタ123にコピーされ、また、所望であ れば、レジスタ122内のメイン記録テーブルおよび/またはバックアップ記録テー ブルの有効性を調べることもできる。 例えば電力を落とした後等にシステムをリスタートする場合、2つの記録テー ブルの有効性を調べる。いずれかが無効であるとわかった際には、有効なものと 取り替える(すなわち、有効な記録テーブルの内容が無効な記録テーブルにコピ ーされる。) 本発明は、単に例として述べられ、詳細の変更は本発明の範囲内で行うことが できる。 説明に開示された各特徴、および(妥当である場合)請求の範囲および図面は 、別々にあるいは任意の適切な組み合わせで提供されてもよい。 前述の好ましい実施例では、本発明のある種の特徴はコンピュータソフトウェ アを使用して実現された。しかしながら、もちろん、これらの特徴のいずれかは ハードウェアを使用して実現されてもよいことは当業者に明らかである。さらに 、ハードウェア、コンピュータソフトウェア等によって実行された機能は、電気 信号等であるいは電気信号を使用して実行されることは容易に理解される。 相互参照は、我々の同時係属出願に対して行われ、全ては、同じ出願日を有し 、名称が「信号発生および放送(代理人参照番号PC/ASB/19707)」、「 暗号化放送信号の受信機と併用するためのスマートカード、および受信機(代理 人参照番号PC/ASB/19708)」、「放送・受信システムおよびそのため の条件付アクセスシステム(代理人参照番号PC/ASB/19710)」、「受信 機/デコーダを介して送信機からコンピュータにコンピュータファイルのダウン ロード(代理人参照番号PC/ASB/19711)」、「テレビジョンプログラム および他のデータの送信および受信(代理人参照番号PC/ASB/19712)」 、「データのダウンロード(代理人参照番号PC/ASB/19713)」、「コン ピュータメモリ構成(代理人参照番号PC/ASB/19714)」、「テレビジョ ンあるいはラジオ制御システム生成(代理人参照番号PC/ASB/19715)」 、「送信データストリームからのデータセクションの抽出(代理人参照番号PC /ASB/19716)」、「アクセス制御システム(代理人参照番号PC/ASB /19717)」、「データ処理システム(代理人参照番号PC/ASB/1971 8)」、および「放送・受信システム、およびそのための受信機/デコーダおよび 遠隔コントローラ(代理人参照番号PC/ASB/19720)」である。これら の文書の開示は参照してここに組み込まれている。出願のリストは本出願を含ん でいる。
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(GH,KE,LS,MW,S D,SZ,UG),EA(AM,AZ,BY,KG,KZ ,MD,RU,TJ,TM),AL,AM,AT,AU ,AZ,BA,BB,BG,BR,BY,CA,CH, CN,CU,CZ,DE,DK,EE,ES,FI,G B,GE,GH,HU,IL,IS,JP,KE,KG ,KP,KR,KZ,LC,LK,LR,LS,LT, LU,LV,MD,MG,MK,MN,MW,MX,N O,NZ,PL,PT,RO,RU,SD,SE,SG ,SI,SK,TJ,TM,TR,TT,UA,UG, US,UZ,VN,YU 【要約の続き】 記録テーブルはCRCエラー検出セクション(25)を備えて おり、メイン記録テーブルがアップデートされた直後 に、これがバックアップ記録テーブル(23)にコピーされ る。

Claims (1)

  1. 【特許請求の範囲】 1. コンピュータシステムのメモリ領域内にバッファを定義および指定するた めのシステムであって、 複数のプールサイズを記憶するためのプールサイズ記憶手段と、 各プールにバッファサイズを記憶するためのバッファサイズ記憶手段と、 そこから所望のプール内にある所望のアドレスを計算するための計算手段と、 を備えていることを特徴とするシステム。 2. 累積形式のプールサイズを決定し、これらを前記プールサイズ記憶手段の 形式で記憶するための手段を有することを特徴とする請求の範囲1に記載のシス テム。 3. 前記プールの各々の最初に確保エリアを定義するための手段を有すること を特徴とする先行する請求の範囲のいずれかに記載のシステム。 4. 前記累積プールサイズを直接か、または前記計算手段の出力かのいずれか を選択するための手段を有することを特徴とする請求の範囲2および3に記載の システム。 5. 所望のプール数、所望のバッファ数、所望のバイトの範囲外(out-of-boun ds)値を調べるための手段を有することを特徴とする先行の請求の範囲のいずれ かに記載のシステム。 6. 実質的にここで説明した、メモリ領域内にバッファを定義および指定する ためのシステム。 7. コンピュータ内のメモリシステムであって、 個別の書込み可能なページに分割されているフラッシュメモリと、 RAMメモリと、 前記フラッシュメモリ内の有効ページを識別するメイン記録テーブルを保持す るための個別の非揮発性メモリと、 前記フラッシュメモリのページを、画像ページとして、前記RAMメモリ内にコ ピーし、前記画像ページをアップデートする手段と、 前記画像ページを、前記フラッシュメモリ内の別のページに書き戻す手段と、 前記フラッシュメモリ内のページがアップデートされた際に、前記非揮発性メ モリ内の前記メイン記録テーブルをアップデートする手段と、 を有することを特徴とするメモリシステム。 8. 前記メイン記録テーブルがエラー検出セクションを有し、 前記メイン記録テーブルが、アップデートの直後にコピーされるバックアップ 記録テーブルと、 前記フラッシュメモリへのアクセスに使用する際に、前記メイン記録テーブル のエラーを調べるための、また、前記メイン記録テーブルにエラーがある場合に 前記バックアップ記録テーブルを使用するための手段と、 を有することを特徴とする請求の範囲7に記載のメモリシステム。 9. 前記エラー検出セクションがCRCセクションであることを特徴とする請求 の範囲8に記載のメモリシステム。 10. 前記記録テーブルが、各ページについて1セットの、関連するページ内の データブロックのためのブロック有効性インジケータを有することを特徴とする 請求の範囲7〜9のいずれかに記載のメモリシステム。 11. ページ内の前記ブロックの識別情報が前記ページ内に含まれていることを 特徴とする請求の範囲7〜10のいずれかに記載のメモリシステム。 12. 各ブロックの前記識別情報がそのブロック内に含まれていることを特徴と ずる請求の範囲11に記載のメモリシステム。 13. 前記個別の非揮発性メモリがEEPROMであることを特徴とする請求の範囲7 〜12のいずれかに記載のメモリシステム。 14. 1つまたは複数の前記記録テーブルが、個別のページ識別子と、各々が対 応する有効ページと関連する、連続したサブ記憶とを有することを特徴とする請 求の範囲7〜13のいずれかに記載のメモリシステム。 15. 実質的にここで説明したメモリシステム。 16. 個別の書込み可能なページに分割されたフラッシュメモリをアップデート する方法であって、 前記フラッシュメモリのページを画像ページとしてRAMメモリ内にコピーし、 前記画像ページをアップデートし、 前記画像ページを前記フラッシュメモリ内の別のページに書き戻し、 個別の非揮発性メモリ内に保持されたメイン記録テーブルを提供し、前記フラ ッシュメモリ内の有効ページを識別し、 前記フラッシュメモリ内のページがアップデートされている場合に、前記メイ ン記録テーブルをアップデートする、 ことを特徴とする方法。 17. 前記メイン記憶内にエラー検出セクションを有し、 前記メイン記録テーブルが、アップデートされた直後にコピーされる、バック アップ記録テーブルを提供し、 前記フラッシュメモリへのアクセスに使用する際に、前記メイン記録テーブル にエラーがないかを調べ、前記メイン記録テーブルにエラーがある場合には、前 記バックアップ記録テーブルを使用する、 ことを特徴とする請求の範囲16に記載の方法。 18. 前記エラー検出セクションがCRCとして計算されることを特徴とする請求 の範囲17に記載の方法。 19. 前記記録テーブル内に、各々のページについて、前記関連ページ内の前記 データブロックのためのブロック有効性インジケータを1セット有することを特 徴とする請求の範囲16〜18のいずれかに記載の方法。 20. ページ内の前記ブロックの識別情報が前記ページ内に含まれることを特徴 とする請求の範囲16〜19のいずれかに記載の方法。 21. 各ブロックのための前記識別情報がそのブロック内に含まれることを特徴 とずる請求の範囲20に記載の方法。 22. 1つまたは複数の前記記録テーブルがEEPROM内に記憶されていることを特 徴とする請求の範囲16〜21のいずれかに記載の方法。 23. スペアページ識別子と、各々が対応する有効ページと関連した連続するサ ブ記憶とが前記1つまたは複数の記録テーブル内に含まれていることを特徴とす る請求の範囲16〜22のいずれかに記載の方法。 24. 前記フラッシュメモリのページを、画像ページとしてRAMメモリ内にコピ ーする前に、前記メイン記録テーブルが有効性について調べられることを特徴と する請求の範囲16〜23のいずれかに記載の方法。 25. 前記メイン記録テーブルの有効性を調べた直後に、前記メイン記録テーブ ルが前記バックアップ記録テーブル内にコピーされることを特徴とする請求の範 囲24に記載の方法。 26. 前記メイン記録テーブルが前記バックアップ記録テーブル内にコピーされ た直後に、前記バックアップ記録テーブルの有効性が調べられることを特徴とす る請求の範囲25に記載の方法,, 27. 前記画像ページ内の前記有効データブロックが、これらの間にある未使用 スペースを除去するために再配列されることを特徴とする請求の範囲16〜26のい ずれかに記載の方法。 28. 実質的にここで説明したように、個別の書込み可能なページに分割された フラッシュメモリをアップデートする方法。 29. コンピュータ内のフラッシュメモリシステムであって、 前記フラッシュメモリ内のブロック内にデータが保持されており、ブロックの 配置と記述子を決定するブロック配置データ構造が維持されており、 前記ブロック配置データ構造が、少なくとも部分的に、前記フラッシュメモリ 自体の外の外部メモリ内に保持されていることを特徴とするフラッシュメモリシ ステム。 30. 前記外部メモリがEEPROMメモリであることを特徴とする請求の範囲29に記 載のフラッシュメモリ。 31. 前記外部メモリが実質的に前記ブロック配置データ構造の全体を有するこ とを特徴とする請求の範囲29および30のいずれかに記載のフラッシュメモリ。 32. 前記外部メモリが、前記フラッシュメモリ内のブロックの配置のみを有し 、前記ブロックの記述子が、前記ブロック自体のヘッダとして前記フラッシュメ モリ内に含まれることを特徴とする請求の範囲29および30のいずれか1項に記載 のフラッシュメモリ。 33. 前記外部ディレクトリが、前記フラッシュメモリ全体の単一構造として編 成されていることを特徴とする請求の範囲31および32のいずれかに記載のフラ ッシュメモリ。 34. 前記外部ディレクトリがページごとに編成されていることを特徴とする請 求の範囲31および32のいずれかに記載のフラッシュメモリ。 35. 前記外部メモリが、各ブロックについて、有効ビットのみを有しており、 この際、前記ブロックアドレスおよび記述子が前記フラッシュメモリ内に維持さ れていることを特徴とする請求の範囲29および34のいずれかに記載のフラッシュ メモリ。 36. 前記請求の範囲1〜15、29〜35のいずれかに記載のシステム、またはメモ リシステム、またはフラッシュメモリを有する、デジタルブロードキャストおよ び受信システムに使用するためのレシーバ/デコーダである。 37. 圧縮されたMPEG-タイプ信号を受信する手段と、 テレビおよび/または無線信号を供給するために、受信した信号を暗号化する 手段と、 前記信号をテレビおよび/または無線に供給する手段と、 をさらに有することを特徴とする請求の範囲36に記載のレシーバ/デコーダ。 38. 実質的にここで説明した、デジタルブロードキャストおよび受信システム に使用するためのレシーバ/デコーダ。
JP54440898A 1997-03-21 1997-04-25 コンピュータメモリ編成 Pending JP2001518218A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97400650.4 1997-03-21
EP97400650 1997-03-21
PCT/EP1997/002112 WO1998043248A1 (en) 1997-03-21 1997-04-25 Computer memory organization

Publications (1)

Publication Number Publication Date
JP2001518218A true JP2001518218A (ja) 2001-10-09

Family

ID=26070207

Family Applications (1)

Application Number Title Priority Date Filing Date
JP54440898A Pending JP2001518218A (ja) 1997-03-21 1997-04-25 コンピュータメモリ編成

Country Status (17)

Country Link
EP (1) EP0968468B1 (ja)
JP (1) JP2001518218A (ja)
CN (1) CN1262754A (ja)
AT (1) ATE233415T1 (ja)
AU (1) AU744517B2 (ja)
BR (1) BR9714649A (ja)
CA (1) CA2284044A1 (ja)
DE (1) DE69719377D1 (ja)
HU (2) HUP0001495A3 (ja)
IL (1) IL131935A0 (ja)
NO (1) NO994536L (ja)
NZ (1) NZ500202A (ja)
PL (1) PL335753A1 (ja)
RU (1) RU2182375C2 (ja)
TR (1) TR199902264T2 (ja)
WO (1) WO1998043248A1 (ja)
ZA (1) ZA973609B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218320A (ja) * 2009-03-18 2010-09-30 Fujitsu Ltd ストレージ装置

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2293916T3 (es) * 1999-07-28 2008-04-01 Sony Corporation Sistema de registro, dispositivo de registro de datos, dispositivo de memoria, y metodo de registro de datos.
FR2818426A1 (fr) * 2000-12-18 2002-06-21 Schlumberger Systems & Service Dispositif et procede de securisation de zones de donnees dans une carte a puce
KR100389867B1 (ko) * 2001-06-04 2003-07-04 삼성전자주식회사 플래시 메모리 관리방법
DE10129417A1 (de) * 2001-06-19 2003-01-09 Infineon Technologies Ag Verfahren zum Bearbeiten eines Speicherplatzes in einem Speicher einer Chipkarte
DE10137858B4 (de) * 2001-07-31 2005-03-17 Loewe Opta Gmbh Verfahren zum Aktualisieren und/oder Austauschen von Betriebssoftware oder Daten in unterhaltungselektronischen Kommunikations- und Informationsgeräten
AU2003226220A1 (en) * 2002-04-03 2003-10-20 Powerquest Corporation Using disassociated images for computer and storage resource management
CA2461446A1 (en) * 2002-08-29 2004-03-11 Matsushita Electric Industrial Co., Ltd. Semiconductor memory apparatus and method for writing data into the flash memory device
JP2004152279A (ja) * 2002-10-08 2004-05-27 Matsushita Electric Ind Co Ltd プログラム更新方法および端末装置
US7093089B2 (en) * 2003-08-18 2006-08-15 Hewlett-Packard Development Company, Lp. Systems and methods for storing data on computer systems
JP4701618B2 (ja) * 2004-02-23 2011-06-15 ソニー株式会社 情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
US7707365B2 (en) * 2005-01-13 2010-04-27 Via Technologies, Inc. Memory address monitoring device and memory address monitoring method
RU2312388C2 (ru) * 2005-09-22 2007-12-10 Андрей Игоревич Ефимов Способ организации многопроцессорной эвм
US8019854B2 (en) 2005-11-25 2011-09-13 Samsung Electronics Co., Ltd. System and method of providing information on computer memory use
US8560760B2 (en) 2007-01-31 2013-10-15 Microsoft Corporation Extending flash drive lifespan
US7657572B2 (en) 2007-03-06 2010-02-02 Microsoft Corporation Selectively utilizing a plurality of disparate solid state storage locations
CN102467472B (zh) * 2010-11-08 2015-01-28 中兴通讯股份有限公司 SoC芯片的BOOT启动装置和SoC芯片
US8543849B2 (en) 2010-12-06 2013-09-24 Microsoft Corporation Fast computer startup
US8788798B2 (en) 2010-12-06 2014-07-22 Microsoft Corporation Fast computer startup
US9032194B2 (en) 2010-12-06 2015-05-12 Microsoft Technology Licensing, Llc Fast computer startup
TWI587136B (zh) 2011-05-06 2017-06-11 創惟科技股份有限公司 快閃記憶體系統及其快閃記憶體無效資料頁資訊之管理方法與回收方法
US9003103B2 (en) * 2011-09-12 2015-04-07 Microsoft Technology Licensing, Llc Nonvolatile media dirty region tracking
US20150242432A1 (en) * 2014-02-21 2015-08-27 Microsoft Corporation Modified Memory Compression
KR102402789B1 (ko) 2015-05-11 2022-05-27 삼성전자 주식회사 전자 장치 및 이의 메모리 할당 방법
RU2716899C1 (ru) * 2019-06-28 2020-03-17 Акционерное общество "Актив-софт" Способ эмуляции eeprom-памяти в flash-памяти
CN114124850B (zh) * 2022-01-26 2022-07-12 浙江宇视系统技术有限公司 一种网络通信方法及装置、存储介质

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3596257A (en) * 1969-09-17 1971-07-27 Burroughs Corp Method and apparatus for allocating small memory spaces to a computer program
US5303198A (en) * 1990-09-28 1994-04-12 Fuji Photo Film Co., Ltd. Method of recording data in memory card having EEPROM and memory card system using the same
GB2251324B (en) * 1990-12-31 1995-05-10 Intel Corp File structure for a non-volatile semiconductor memory
US5359569A (en) * 1991-10-29 1994-10-25 Hitachi Ltd. Semiconductor memory
JP3078946B2 (ja) * 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
DE69516674T2 (de) * 1994-12-20 2000-12-28 Koninkl Philips Electronics Nv Verfahren und vorrichtung zur aufzeichnung und wiedergabe von daten in einem speichersystem

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218320A (ja) * 2009-03-18 2010-09-30 Fujitsu Ltd ストレージ装置
JP4703738B2 (ja) * 2009-03-18 2011-06-15 富士通株式会社 ストレージ装置

Also Published As

Publication number Publication date
NO994536L (no) 1999-11-22
NZ500202A (en) 2001-11-30
RU2182375C2 (ru) 2002-05-10
TR199902264T2 (xx) 2000-01-21
AU744517B2 (en) 2002-02-28
AU2770697A (en) 1998-10-20
EP0968468A1 (en) 2000-01-05
ZA973609B (en) 1998-07-17
EP0968468B1 (en) 2003-02-26
NO994536D0 (no) 1999-09-17
HUP0001470A3 (en) 2002-09-30
HUP0001470A2 (hu) 2000-09-28
BR9714649A (pt) 2002-08-06
PL335753A1 (en) 2000-05-22
CN1262754A (zh) 2000-08-09
DE69719377D1 (de) 2003-04-03
ATE233415T1 (de) 2003-03-15
WO1998043248A1 (en) 1998-10-01
CA2284044A1 (en) 1998-10-01
HUP0001495A3 (en) 2001-01-29
IL131935A0 (en) 2001-03-19
HUP0001495A2 (hu) 2000-09-28

Similar Documents

Publication Publication Date Title
JP2001518218A (ja) コンピュータメモリ編成
JP4062367B2 (ja) Mpeg受信機/デコーダ及びデータをmpeg受信機/デコーダにダウンロードする方法
US6970960B1 (en) Instream loader
KR100564273B1 (ko) 다수 이용자들에게 적합한 멀티미디어 단말장치
EP1194838B1 (en) Methods and apparatus for implementing individual class loaders
CA2284018C (en) Extracting data sections from a transmitted data stream
WO1998043433A1 (en) Data processing system
JP4418615B2 (ja) サービス・ブラウザ・プロセスおよび関連システム
KR100641660B1 (ko) 리시버/디코더에서의 데이터 관리
JP4084461B2 (ja) リモートダウンロードが可能な端末装置、その端末装置が備えるローダプログラムに適用されるダウンロード方法、そのローダプログラムを記録した記録媒体
KR20000076411A (ko) 컴퓨터 메모리 구조
US20070157270A1 (en) Receiving apparatus using non-volatile memory and method of operating the same
EP1055176A2 (en) Access control system
KR100641187B1 (ko) 수신제한 시스템을 지원하는 방송 수신기의 고유정보 관리방법
MXPA99008548A (en) Computer memory organization
CZ331499A3 (cs) Organizace počítačové paměti