JP5229855B2 - メモリシステム及びコンピュータシステム - Google Patents

メモリシステム及びコンピュータシステム Download PDF

Info

Publication number
JP5229855B2
JP5229855B2 JP2007087545A JP2007087545A JP5229855B2 JP 5229855 B2 JP5229855 B2 JP 5229855B2 JP 2007087545 A JP2007087545 A JP 2007087545A JP 2007087545 A JP2007087545 A JP 2007087545A JP 5229855 B2 JP5229855 B2 JP 5229855B2
Authority
JP
Japan
Prior art keywords
command
information
computer
memory
memory card
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.)
Expired - Fee Related
Application number
JP2007087545A
Other languages
English (en)
Other versions
JP2008250395A (ja
Inventor
哲生 古都
崇 押切
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MegaChips Corp
Original Assignee
MegaChips Corp
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 MegaChips Corp filed Critical MegaChips Corp
Priority to JP2007087545A priority Critical patent/JP5229855B2/ja
Priority to US12/029,825 priority patent/US8296500B2/en
Publication of JP2008250395A publication Critical patent/JP2008250395A/ja
Application granted granted Critical
Publication of JP5229855B2 publication Critical patent/JP5229855B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4239Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with asynchronous protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Description

本発明は、半導体メモリの仕様変更に伴う負担を軽減する技術に関する。
ゲームデータ等を格納する不揮発性半導体メモリでは、外部のシステムよりコマンドが入力され、そのコマンドに応じて所望のアドレスからのデータの読み出し、所望のブロックの消去、所望のページへのデータの書き込みなどの処理が行われる。
特開2001−283170号公報
半導体メモリとして、例えばゲーム装置で使用されるゲームカセットを想定した場合、ゲームソフトの不正コピーを防止するために、システム内で暗号化されたコマンドを用いるのが一般的である。しかし、この暗号化されたコマンドが解読された場合、すみやかに半導体メモリの仕様を変更しなければならない。
ところが、従来の半導体メモリでは、コマンドの組合せやその動作は、当該半導体メモリごとに固定であり、コマンドの変更や追加などを行う場合は、半導体メモリ全体の再設計が必要となるという問題があった。
また、半導体メモリの仕様が変更された場合には、これを使用する外部システム(ゲーム装置等)もその変更に対応しなければならず、さらにコストがかかるという問題があった。さらに、外部システムがゲーム装置などの場合、互換性を担保するため、比較的、長期間にわたって仕様を変更しないことが好ましいという事情もある。
本発明は、上記課題に鑑みなされたものであり、半導体メモリにおけるコマンドの変更や追加に伴う負担を軽減することを目的とする。
上記の課題を解決するため、請求項1の発明は、外部装置に接続されるメモリシステムであって、前記外部装置において複数種類のコマンドコードを生成するためのプログラム及び当該プログラムで使用されるパラメータを含むコマンド情報を記憶するメモリアレイと、前記外部装置が前記コマンド情報に含まれる前記プログラムを起動して生成する前記複数種類のコマンドコードのそれぞれを解析するための情報であって、当該コマンド情報と対を成すコマンド解析情報を記憶する記憶部と、前記外部装置が前記コマンド情報に含まれる前記プログラムを起動して生成したコマンドコードを受信する通信部と、前記通信部が受信した前記コマンドコードを前記コマンド解析情報に基づいて解析して、当該コマンドコードに対応する動作を実行するメモリコントローラとを備え、前記メモリシステムにおいては、前記コマンド情報及び前記コマンド解析情報が変更されることにより、前記複数種類のコマンドコードに対してコマンドコードの変更、追加あるいは削除が可能となることを特徴とする。
また、請求項2の発明は、請求項1の発明に係るメモリシステムであって、前記記憶部は、前記メモリアレイ内に設けられることを特徴とする。
また、請求項3の発明は、請求項1または2の発明に係るメモリシステムであって、前記記憶部に記憶されているコマンド解析情報が転送され記憶されるバッファをさらに備え、前記メモリコントローラは、前記バッファに記憶されているコマンド解析情報に基づいて前記コマンドコードを解析することを特徴とする。
また、請求項4の発明は、請求項1ないし3のいずれかの発明に係るメモリシステムであって、前記記憶部は、前記外部装置からの参照が禁止されていることを特徴とする。
また、請求項5の発明は、コンピュータとメモリシステムとを備えるコンピュータシステムであって、前記メモリシステムが、前記コンピュータにおいて複数種類のコマンドコードを生成するためのプログラム及び当該プログラムで使用されるパラメータを含むコマンド情報を記憶するメモリアレイと、前記コンピュータが前記コマンド情報に含まれる前記プログラムを起動して生成する前記複数種類のコマンドコードのそれぞれを解析するための情報であって、当該コマンド情報と対を成すコマンド解析情報を記憶する記憶部と、前記コンピュータが前記コマンド情報に含まれる前記プログラムを起動して生成したコマンドコードを受信する通信部と、前記通信部が受信した前記コマンドコードを前記コマンド解析情報に基づいて解析して、当該コマンドコードに対応する動作を実行するメモリコントローラとを備え、前記コンピュータは、前記コマンド情報に含まれる前記プログラムを起動して必要なコマンドコードを生成して、前記メモリシステムに送信し、前記メモリシステムにおいては、前記コマンド情報及び前記コマンド解析情報が変更されることにより、前記複数種類のコマンドコードに対してコマンドコードの変更、追加あるいは削除が可能となることを特徴とする。
請求項1ないし5に記載の発明では、ハードウェアを変更することなく、コマンド情報とコマンド解析情報とを書き換えるだけで、コマンドコードの変更、追加あるいは削除が可能となる。したがって、メモリシステムの仕様変更の開発負担が軽減される。
請求項2に記載の発明では、コマンド解析情報を記憶する記憶部がメモリアレイ内に設けられることにより、コマンドコードの追加や変更に必要な情報(コマンド情報及びコマンド解析情報)が全てメモリアレイに記憶されるので、メモリアレイに格納されたデータの書き換えのみでメモリシステムの仕様変更に対応できる。
請求項3に記載の発明では、記憶部に記憶されているコマンド解析情報が転送され記憶されるバッファをさらに備え、メモリコントローラは、バッファに記憶されているコマンド解析情報に基づいてコマンドコードを解析することにより、例えば、バッファをメモリアレイよりも高速にアクセスできる記憶素子で構成することにより、コマンド解析処理を高速化できる。
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。
<1. 第1の実施の形態>
図1は、本発明に係るコンピュータシステム1の構成を示す図である。
コンピュータシステム1は、コンピュータ2と、コンピュータ2に装着されるメモリカード3とを備えている。
コンピュータ2は、各種データの演算を行うCPU20、各種データを記憶するRAM21、ユーザのための入出力装置22及びインタフェース23を備え、一般的なパーソナルコンピュータとしての機能を有する。
なお、本実施の形態においてコンピュータ2は汎用的な装置として説明するが、コンピュータ2は、専用の用途に用いられるゲーム装置や、PDA、あるいは携帯電話等であってもよい。例えば、コンピュータ2がゲーム装置である場合、メモリカード3はゲーム装置に装着されるゲームカセットであり、ユーザ情報92はゲーム装置にロードされるゲームプログラムである。
CPU20は、RAM21を一時的なワーキングエリアとして使用しつつ、各種データの演算等を行うとともに、各種制御信号を生成することにより、コンピュータ2の各構成を制御する。
本実施の形態におけるCPU20は、インタフェース23を介してメモリカード3からコマンド情報90を取得してRAM21に記憶させる。これにより、メモリアレイ32に記憶されているコマンド情報90が、メモリアレイ32からRAM21に転送される。なお、コマンド情報90は必ずしも予めコンピュータ2に転送されなくてもよい。
コマンド情報90とは、コンピュータ2においてメモリカード3に対するコマンドを発行するために必要な情報である。コマンド情報90には、当該情報のうち、メモリカード3の仕様を変更する際に更新する必要のある全ての情報が含まれる。
本実施の形態におけるコマンド情報90は、コマンドを発行するプログラムコード(以下、「コマンド発行プログラム」と称する)及び当該コマンド発行プログラムが使用するパラメータ等で構成される情報である。
なお、例えば、コマンド発行プログラムを起動するためには、コンピュータ2において少なくとも起動用の別プログラムが必要であり、当該プログラムコードも「コンピュータ2においてコマンドを発行するために必要な情報」と言える。しかし、このプログラムコードはメモリカード3の仕様を変更したからといって必ずしも変更する必要のない情報であるから、このような情報はコマンド情報90に含まれていなくてもよい。また、例えば、コマンド発行プログラムが仕様変更の前後において共通に動作するように設計されているのであれば、コマンド情報90はパラメータ等の情報のみであってもよい。
また、CPU20は、必要に応じて、RAM21に記憶されているコマンド情報90に基づいてコマンドを生成し、生成したコマンドをメモリカード3に送信する。すなわち、CPU20は、コマンド発行プログラムを起動し、当該プログラムに従って動作することにより、メモリカード3に対してコマンドを発行する。
入出力装置22とは、ユーザに対して各種データを表示するディスプレイやLED、文字や画像等を印字するプリンタ、ユーザがデータを入力するための各種ボタン類やスキャナ、マウス、キーボード、ジョイスティックあるいはコントローラ等の各種装置類が該当する。
なお、コンピュータ2は、ここに挙げたすべての装置類を備えている必要はなく、また、入出力装置22はここに挙げた装置類に限定されるものでもない。コンピュータ2はコンピュータシステム1の用途等に応じて、入出力装置22として、適宜必要な構成を備えていればよい。
インタフェース23は、メモリカード3との間でデータ通信を行う機能を有している。インタフェース23はメモリカード3を装着するカードスロットを備えており、当該カードスロットにメモリカード3が装着されることによって、コンピュータ2とメモリカード3とが電気的に、かつ、データ通信可能に接続される。
メモリカード3は、メモリコントローラ30、バッファ31、メモリアレイ32及びインタフェース33を備え、主に本発明におけるメモリシステムに相当する。メモリカード3は、主にコンピュータ2によって使用されるユーザ情報92を記憶する装置として使用される。
メモリコントローラ30は、メモリアレイ32に記憶されているコマンド解析情報91を予めバッファ31に転送するとともに、転送したコマンド解析情報91を参照しつつ、インタフェース33を介してコンピュータ2から受信したコマンドを解析する。そして、この解析結果に応じて、当該コマンドを実行する。
なお、コマンド解析情報91とは、コンピュータ2がコマンド情報90に基づいて発行するコマンドを解析するための情報である。コマンド情報90がメモリカード3の仕様変更により変更されると、これによって発行されるコマンドも変更されるため、これを解析するための情報であるコマンド解析情報91もそれに応じて変更されていなければならない。すなわち、コマンド情報90とコマンド解析情報91とは、互いに対となる情報である。
また、メモリコントローラ30は、インタフェース33を介して、メモリアレイ32に記憶されているコマンド情報90をコンピュータ2に向けて送信する。このようにして送信されたコマンド情報90は、先述のように、コンピュータ2のRAM21に記憶される。
バッファ31は揮発性の記憶素子から構成されており、コマンド解析情報91を記憶することが可能な記憶容量を有している。先述のように、バッファ31にはメモリコントローラ30によってコマンド解析情報91が転送され記憶される。
なお、バッファ31を構成する記憶素子は、メモリアレイ32を構成する記憶素子よりも、メモリコントローラ30によるアクセス速度が高速な記憶素子である。このように、コマンド解析処理において参照する記憶装置として、メモリアレイ32よりも高速なバッファ31を使用することにより、メモリコントローラ30におけるコマンド解析処理を高速化することができる。
メモリアレイ32は、不揮発性の複数の記憶素子から構成され、図1に示すように、ユーザ情報92とともに、コマンド情報90及びコマンド解析情報91を記憶する。本実施の形態におけるメモリアレイ32を構成する記憶素子は、データの読み出しのみならず、消去や書換も可能な記憶素子である。このような記憶素子としては、例えば、NAND素子を採用することができるが、メモリアレイ32を構成する記憶素子は、必ずしも消去や書換が可能でなくてもよく、少なくとも各種データを記憶することができる素子であればよい。
インタフェース33は、コンピュータ2との間でデータ通信を行う機能を有している。インタフェース33がコンピュータ2のインタフェース23と迎合することによって、先述のように、コンピュータ2とメモリカード3とが電気的に、かつ、データ通信可能に接続される。
以上が本実施の形態におけるコンピュータシステム1の構成及び機能の説明である。次に、コンピュータシステム1の動作について説明する。
図2は、コンピュータ2の動作を示す流れ図である。コンピュータ2は、電源が投入された後に所定の初期設定を行い、監視状態となる。なお、コンピュータ2は、メモリカード3の使用の可否を示す状態テーブルを記憶しており、初期設定が行われた時点において、当該状態テーブルにはメモリカード3は使用不能であると示されているものとする。
監視状態においてCPU20は、メモリカード3を検出したか否か(ステップS1)、メモリカード3へのアクセス要求が発生したか否か(ステップS4)、及び、終了指示があったか否か(ステップS8)を監視する。ただし、監視状態において、CPU20は必ずしも待機している必要はなく、何らかの処理を並行して実行していてもよい。
監視状態において、メモリカード3が検出されると、CPU20はステップS1においてYesと判定し、メモリカード3からコマンド情報90を取得する(ステップS2)。
なお、詳しく言えば、ステップS1におけるメモリカード3の検出とは、先述の状態テーブルにおいてメモリカード3が使用不能であると示されている状態で、メモリカード3を検出したか否かを言う。すなわち、メモリカード3の最初の検出のことを意味するのであって、継続して装着されているメモリカード3に対する検出を意味するのではない。具体的には、コンピュータ2の電源投入時に既にメモリカード3が挿入されていた場合には、ステップS1の判定が初めて行われるときにYesと判定される。また、コンピュータ2の電源投入時に未だメモリカード3が挿入されていなかった場合には、メモリカード3がインタフェース23に挿入された後、初めてステップS1の判定が行われるときにYesと判定される。
ステップS2の処理を具体的に説明すると、まず、CPU20は、ステップS1において検出したメモリカード3に対して、コマンド情報90の送信を要求する情報(以下、単に「要求」と称する)を送信する。この要求に応じて、当該メモリカード3からコマンド情報90が送信される。そこで、CPU20は、メモリカード3から送信されたコマンド情報90をインタフェース23を介して受信し、当該コマンド情報90をRAM21に格納する。
ステップS2の処理はメモリカード3のバージョンに影響されない処理として構成されている。すなわち、仕様を変更する前のメモリカード3のメモリアレイ32には更新前のコマンド情報90が記憶されており、更新前のメモリカード3がコンピュータ2に装着された状態では、更新前のコマンド情報90がコンピュータ2に送信され、RAM21に記憶される。一方、仕様を変更した後のメモリカード3のメモリアレイ32には更新後のコマンド情報90が記憶されており、更新後のメモリカード3がコンピュータ2に装着された状態では、更新後のコマンド情報90がコンピュータ2に送信され、RAM21に記憶される。
このようにしてコマンド情報90の取得が完了すると、CPU20は、メモリカード3の使用を許可して(ステップS3)、監視状態に戻る。ステップS3の処理は、先述の状態テーブルに、メモリカード3が使用可能となったことを示す情報を格納することにより行う。
監視状態において、メモリカード3へのアクセス要求があると、CPU20はステップS4においてYesと判定し、メモリカード3の使用可否を確認する(ステップS5)。
未だステップS3が実行されていない場合、状態テーブルは初期設定のままであるから、状態テーブルにおいてメモリカード3は使用可能となっていない。したがって、CPU20はステップS5においてNoと判定しステップS6,S7の処理をスキップする。
一方、既にステップS3が実行されて状態テーブルが書き換えられ、メモリカード3が使用可能となっていれば、CPU20はステップS5においてYesと判定する。この場合、CPU20は、RAM21に記憶されているコマンド情報90に基づいて必要なコマンドを生成し、生成したコマンドをメモリカード3に向けて送信するようインタフェース23を制御する。このようにして、コンピュータ2はコマンドを発行し、メモリカードに送信する(ステップS6)。
図3は、コンピュータ2において要求される動作と、それに応じて発行されるコマンドとの対応関係を例示する図である。ステップS6が開始されると、CPU20は、コマンド情報90に含まれるコマンド発行プログラムを起動して、要求する動作を示す識別子(図示せず)に基づいて、当該要求する動作に対応するコマンドを演算により生成する。
例えば、メモリカード3に格納されているユーザ情報92を読み出す(リードコマンドを発行する)必要が生じた場合、CPU20は、コマンド情報90に基づいて読み出し動作に対応するコマンドを生成する。図3に示す例では、読み出し動作に対応するコマンドコードは「comA」である。したがって、メモリカード3からユーザ情報92を読み出す必要が生じた場合、CPU20は、コマンド情報90に基づいて、コマンド「comA」を生成して、メモリカード3に送信する。
このように、コマンド情報90を用いるだけで、コンピュータ2は要求する動作に応じて必要なコマンドを生成することができる。なお、コンピュータ2からメモリカード3に送信されるコマンドには、アクセスすべきメモリアレイ32の位置を示すアドレスが、必要に応じて含まれる。このアドレスは、コマンド情報90に基づいて生成されてもよいし、別途生成されて付加されてもよい。
コマンドの送信を完了すると、CPU20は、メモリカード3から、当該コマンドに対する結果を取得するまで待機する(ステップS7)。そして、当該結果を取得すると、コンピュータ2は監視状態に戻る。
先述のように「comA」は読み出し動作を行うコマンドであるから、コマンドとして「comA」を送信した例において取得される結果には、正常に読み出せたか否かを示す情報と、正常に読み出せた場合は読み出したユーザ情報92とが含まれる。
このように、コンピュータ2には、予めメモリカード3からコマンド情報90が送信され記憶されるので、コンピュータ2(CPU20)はメモリカード3に対する任意のコマンドを生成することが可能である。
先述のように、コマンド情報90には、コンピュータ2がコマンドを発行するために必要な情報のうち、メモリカード3の仕様を変更する際に更新する必要のある全ての情報が含まれている。
詳細は後述するが、更新されたコマンド情報90がステップS2において取得されている場合(更新後のメモリカード3が装着されている場合)、コンピュータ2は更新されたコマンド情報90に基づいてコマンドを発行するので、発行されるコマンドは仕様変更後の新たなコマンドとなる。すなわち、メモリカード3の仕様を変更する場合において、コンピュータ2における構成(ソフトウェア及びハードウェア)を変更する必要はない。したがって、メモリカード3の仕様変更に伴う負担が軽減される。
また、更新される前のコマンド情報90がステップS2において取得されている場合(更新前のメモリカード3が装着されている場合)、コンピュータ2は更新される前のコマンド情報90に基づいてコマンドを発行するので、発行されるコマンドは仕様変更前のコマンドとなる。したがって、新たな仕様のメモリカード3が製造された後も、更新される前のメモリカード3をコンピュータ2において使用することができるので、互換性を維持することができる。
監視状態において終了指示があると、CPU20はステップS8においてYesと判定し、全ての処理を終了する。
以上が、コンピュータシステム1の主にコンピュータ2の動作である。なお、図2の流れ図では説明を省略したが、コンピュータ2は常にメモリカード3が取り外されたか否かを監視している。そして、メモリカード3が取り外された場合、CPU20は状態テーブルにメモリカード3が使用不能となったことを示す情報を書き込む。
次に、メモリカード3の動作を説明する。
図4は、メモリカード3の動作を示す流れ図である。メモリカード3のメモリコントローラ30は、立ち上げ後に、まず、メモリアレイ32にアクセスして、そこに記憶されているコマンド解析情報91を、バッファ31に転送し記憶させる(ステップS11)。そして、コマンド解析情報91の転送が終了すると、監視状態となる。
メモリコントローラ30は、監視状態において、コンピュータ2からコマンド情報90の送信を求める要求を受信したか否か(ステップS12)、コンピュータ2からコマンドを受信したか否か(ステップS14)、及び、終了指示があったか否か(ステップS18)を監視する。
監視状態においてコンピュータ2から要求を受信すると、メモリコントローラ30はステップS12においてYesと判定する。そして、メモリコントローラ30は、メモリアレイ32にアクセスして、そこに記憶されているコマンド情報90をコンピュータ2に向けて送信するようインタフェース33を制御する。このようにしてメモリカード3は、コマンド情報90をコンピュータ2に送信する(ステップS13)。
ステップS13が実行されることによりコンピュータ2に向けて送信されたコマンド情報90は、先述のように(図2に示すステップS2)、コンピュータ2によって取得され、RAM21に記憶される。なお、コマンド情報90の送信を終了すると、メモリコントローラ30は、監視状態に戻る。
監視状態においてコンピュータ2からコマンドを受信すると、メモリコントローラ30はステップS14においてYesと判定し、コマンド解析処理を実行する(ステップS15)。
先述のステップS6ではメモリカード3にコマンド「comA」を送信する例を説明した。ここでは、このとき送信された「comA」を受信した例で、ステップS15の処理を説明する。
コマンド解析処理が開始されると、メモリコントローラ30は、まず、バッファ31にアクセスして、コマンド解析情報91を参照する。
図5は、コマンドテーブル910の例を示す図である。また、図6は、コマンドインストラクション情報911の例を示す図である。図1では図示を省略したが、本実施の形態におけるコマンド解析情報91には、図5に示すコマンドテーブル910と、図6に示すコマンドインストラクション情報911とが含まれている。
コマンドテーブル910は、各コマンドと、各コマンドのインストラクションを規定したアドレスとを互いに関連付けるテーブル構造の情報であり、当該アドレスで指定される領域には、対応するコマンドのマイクロコードが格納されている。また、コマンドインストラクション情報911とは、所定のアドレスで指定される領域に存在する情報であって、当該領域に格納されたマイクロコードの集合体とも言える。なお、マイクロコードとは、メモリコントローラのコマンドシーケンサ(図示せず)がコマンドを実行する際に必要とするコードである。
メモリコントローラ30のコマンド判定回路(図示せず)は、受信したコマンド「comA」によって、コマンドテーブル910を検索し、当該コマンドに対するアドレス「addA」を取得する。
次に、メモリコントローラ30のコマンドシーケンサは、コマンド判定回路が取得したアドレス「addA」で示される領域にアクセスして、マイクロコード「mcodeA」を取得する。これにより、メモリコントローラ30(コマンドシーケンサ)は、マイクロコード「mcodeA」に基づいて、受信したコマンドを解析することが可能となる。ここに示す例では、受信したコマンド「comA」がメモリアレイ32からデータを読み出すコマンドであると判定する。
なお、上記説明では、簡略的に、マイクロコードを一度参照しただけでコマンドの解析が完了する例を説明したが、一般には、マイクロコードを何度も参照しつつ演算を行うことによりコマンドが解析される。このように、複数回の繰り返し演算が行われる場合、何らかの暗号アルゴリズムを用いることが好ましい。このような暗号アルゴリズムとしては、例えば、コマンド情報90とコマンド解析情報91とが対となる共通鍵暗号方式、あるいはこれらが対となる公開鍵暗号方式となっていてもよい。なお、コンピュータシステム1では、コマンド情報90は、メモリカード3の外部(コンピュータ2)に転送されるので、公開鍵暗号方式が好ましい。
コマンド解析処理が終了すると、メモリコントローラ30は、当該コマンドを実行し(ステップS16)、その結果をコンピュータ2に向けて送信し(ステップS17)、監視状態に戻る。
ここに示す例では、コマンド「comA」に含まれているアドレスによって指定されるメモリアレイ32の領域から、データ(ユーザ情報92)を読み出して、読み出したユーザ情報92をコンピュータ2に送信する。このように、メモリカード3は、コマンド解析情報91を記憶しているため、コンピュータ2から受信したコマンドを解析して実行することができる。
以上が、本実施の形態におけるコンピュータシステム1の動作の説明である。
次に、メモリカード3の仕様が変更される場合について説明する。ここでは、図3、図5及び図6に示した仕様から、消去動作(デリートコマンド)が廃止され、読み出し動作(リードコマンド)が変更され、遷移動作(遷移コマンド)が新たに追加された例で説明する。
図7は、コンピュータにおいて要求される動作とその動作に応じて発行されるコマンドとの対応関係を変更後において例示する図である。
まず、更新後のコマンド情報90では、廃止された消去動作とコマンドとが対応付けられていないので、廃止された消去動作に対応するコマンドを生成することができない。したがって、コンピュータ2が誤って、既に廃止されたコマンドを生成し、当該コマンドを使用することができない更新後のメモリカード3に送信することはない。
また、変更された読み出し動作に対応するコマンドは、更新後のコマンド情報90においてもそのまま「comA」に対応付けられている。したがって、読み出し動作を行う場合、コンピュータ2は変更されたことを意識することなく、そのままコマンド「comA」を生成してメモリカード3に送信する。
また、追加された遷移動作は、更新後のコマンド情報90によって、新たに「comD」と対応付けられている。したがって、遷移動作を行う場合、コンピュータ2は他のコマンドと同様に、コマンド「comD」を生成し、更新後のメモリカード3に送信する。
先述のように、コンピュータシステム1では、更新前であるか更新後であるかに関わらず、コンピュータ2に装着されたメモリカード3から当該コンピュータ2にコマンド情報90が転送され記憶される。したがって、コンピュータ2は、メモリカード3の仕様変更に応じたコマンドを発行することができる。
また、コンピュータ2は、メモリカード3が装着されたときにコマンド情報90を要求するので、メモリカード3とメモリカード3に記憶されているコマンド情報90,90aとの対応が整っていれば、コンピュータ2は正常に動作する。したがって、メモリカード3の仕様を変更しても、コンピュータ2の仕様を変更する必要がないので、仕様変更にかかるコストを抑制できる。
なお、図3から明らかであるが、更新前のメモリカード3から取得されるコマンド情報90では、遷移動作とコマンド「comD」とが対応付けられていない。したがって、更新前のコマンド情報90を取得した場合、コンピュータ2は、追加前のコマンド「comD」を発行することができず、更新前のメモリカード3に誤ってコマンド「comD」が送信されることはない。
また、変更されたコマンド(上記の例では読み出し動作に対応するコマンド)は、必ずしも変更前のコマンドコードがそのまま発行されなくてもよい。例えば、追加されたコマンドと同様に、新たなコマンドコードに対応付けられていてもよい。
図8は、変更後のコマンドテーブル910aの例を示す図である。また、図9は、変更後のコマンドインストラクション情報911aの例を示す図である。
まず、廃止されたコマンド「comB」はコマンドテーブル910aには存在しない。先述のように、消去動作に対応するコマンド「comB」はコンピュータ2において生成できないので、メモリカード3がコマンド「comB」を受信することはないが、例え受信したとしても、コマンドテーブル910aから削除されているので、誤動作を起こすことはない。
また、変更された読み出し動作に応じて発行されるコマンド「comA」は、そのままコマンドテーブル910aに登録されている。したがって、メモリカード3がコマンド「comA」を受信した場合、メモリコントローラ30はアドレス「addA」を取得する。
そして、図6に示すように、コマンドインストラクション情報911aにおいて、アドレス「addA」の領域のマイクロコードは、仕様変更前の「mcodeA」ではなく、「mcodeA1」となっている。したがって、メモリコントローラ30はコマンド「comA」に対して、変更前と異なる変更後の動作を実行する。このように、変更されたコマンドについても、当該変更の内容が間違いなく反映される。
また、追加された遷移動作に応じて発行されるコマンド「comD」は、更新後のコマンドテーブル910aに登録されている。したがって、メモリカード3がコマンド「comD」を受信すると、メモリコントローラ30はアドレス「addB」を取得する。そして、コマンドインストラクション情報911aにおいて、アドレス「addB」の領域のマイクロコードは、仕様変更前の「mcodeB」ではなく、「mcodeD」である。したがって、メモリコントローラ30はコマンド「comD」に対して、変更後の動作(遷移動作)を実行する。このように、新たに追加されたコマンドについても、メモリコントローラ30によって問題なく実行される。
以上のように、本実施の形態におけるコンピュータシステム1では、コンピュータ2においてコマンドを発行するためのコマンド情報90と、コンピュータ2がコマンド情報90に基づいて発行するコマンドを解析するためのコマンド解析情報91とを記憶しておき、コンピュータ2がコマンド情報90に基づいて発行したコマンドをメモリカード3がコマンド解析情報91に基づいて解析して実行する。これにより、データ(コマンド情報90及びコマンド解析情報91)の書き換えのみで、コマンドの変更、追加、削除が可能となる。したがって、ハードウェアを何ら変更する必要がないので、メモリカード3の仕様変更等の開発負担が軽減される。
また、コマンドの追加や変更に必要な情報(コマンド情報90及びコマンド解析情報91)が全てメモリアレイ32に記憶されるので、メモリアレイ32に格納されたデータの書き換えのみで対応できる。すなわち、コンピュータ2の構成を変更する必要がないので、さらに負担が軽減される。
また、メモリコントローラ30は、予めメモリアレイ32に記憶されているコマンド解析情報91をバッファ31に転送し、バッファ31に転送されたコマンド解析情報91に基づいて解析する。これによって、バッファ31をメモリアレイ32よりも高速にアクセスできる記憶素子で構成することにより、コマンド解析処理を高速化できる。
なお、コマンド解析情報91を記憶する領域は、メモリアレイ32に限定されるものではなく、メモリカード3内の他の記憶領域が使用されてもよい。さらに、コマンド解析情報91を記憶する領域は、コンピュータ2から参照することができない領域であってもよい。すなわち、コンピュータシステム1では、少なくともメモリカード3のコマンド情報90とユーザ情報92とが参照できればよい。
また、本実施の形態では、コマンド解析情報91にはコマンドテーブル910が含まれており、メモリカード3はコマンドとアドレスとの対応関係を記憶していた。しかし、アドレスをそのままコマンドとして使用すれば、メモリカード3においてコマンドテーブル910を記憶しておく必要はない。例えば、コンピュータ2において読み出し動作が必要となった場合には、コマンド情報90によって、コマンドとして「comA」ではなく、「addA」を生成し、メモリカード3に送信するようにしてもよい。
<2. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
例えば、図2及び図4に示した流れ図は例示であって、コンピュータシステム1の動作はこれに限定されるものではない。すなわち、同様の効果が得られるのであれば、アルゴリズムは適宜変更されてもよい。例えば、コンピュータ2は送信したコマンドに対する結果を、ステップS7において待機すると説明したが、もちろん結果を受け取るまで待機せずに、そのまま監視状態に戻ってもよい。その場合は、他の処理を実行しつつ、結果を受信した場合に、当該結果に対する処理を実行すればよい。
また、上記実施の形態では、コマンドインストラクション情報911には、コマンドのマイクロコードが格納されている例で説明したが、パラメータや演算子、または演算機能を含む回路群の制御情報の集合体であってもよい。すなわち、外部(コンピュータ2)から入力されたコマンドを解析して処理するための情報であれば、その内容は限定されない。
また、メモリコントローラ30がコマンド解析情報91をバッファ31に転送するタイミング(ステップS11を実行するタイミング)は、メモリカード3の立ち上げ後であると説明したが、例えば、コンピュータ2から最初のコマンドを受信した直後であってもよい。すなわち、メモリコントローラ30が最初のコマンドを解析するまでに転送されていればよい。
本発明に係るコンピュータシステムの構成を示す図である。 コンピュータの動作を示す流れ図である。 コンピュータにおいて要求される動作とその動作に応じて発行されるコマンドとの対応関係を例示する図である。 メモリカードの動作を示す流れ図である。 コマンドテーブルの例を示す図である。 コマンドインストラクション情報の例を示す図である。 コンピュータにおいて要求される動作とその動作に応じて発行されるコマンドとの対応関係を変更後において例示する図である。 変更後のコマンドテーブルの例を示す図である。 変更後のコマンドインストラクション情報の例を示す図である。
符号の説明
1 コンピュータシステム
2 コンピュータ
20 CPU
21 RAM
23 インタフェース
3 メモリカード
30 メモリコントローラ
31 バッファ
32 メモリアレイ
33 インタフェース
90 コマンド情報
91 コマンド解析情報
910,910a コマンドテーブル
911,911a コマンドインストラクション情報
92 ユーザ情報

Claims (5)

  1. 外部装置に接続されるメモリシステムであって、
    前記外部装置において複数種類のコマンドコードを生成するためのプログラム及び当該プログラムで使用されるパラメータを含むコマンド情報を記憶するメモリアレイと、
    前記外部装置が前記コマンド情報に含まれる前記プログラムを起動して生成する前記複数種類のコマンドコードのそれぞれを解析するための情報であって、当該コマンド情報と対を成すコマンド解析情報を記憶する記憶部と、
    前記外部装置が前記コマンド情報に含まれる前記プログラムを起動して生成したコマンドコードを受信する通信部と、
    前記通信部が受信した前記コマンドコードを前記コマンド解析情報に基づいて解析して、当該コマンドコードに対応する動作を実行するメモリコントローラと、
    を備え、
    前記メモリシステムにおいては、前記コマンド情報及び前記コマンド解析情報が変更されることにより、前記複数種類のコマンドコードに対してコマンドコードの変更、追加あるいは削除が可能となることを特徴とするメモリシステム。
  2. 請求項1に記載のメモリシステムであって、
    前記記憶部は、前記メモリアレイ内に設けられることを特徴とするメモリシステム。
  3. 請求項1または2に記載のメモリシステムであって、
    前記記憶部に記憶されているコマンド解析情報が転送され記憶されるバッファをさらに備え、
    前記メモリコントローラは、前記バッファに記憶されているコマンド解析情報に基づいて前記コマンドコードを解析することを特徴とするメモリシステム。
  4. 請求項1ないし3のいずれかに記載のメモリシステムであって、
    前記記憶部は、前記外部装置からの参照が禁止されていることを特徴とするメモリシステム。
  5. コンピュータとメモリシステムとを備えるコンピュータシステムであって、
    前記メモリシステムが、
    前記コンピュータにおいて複数種類のコマンドコードを生成するためのプログラム及び当該プログラムで使用されるパラメータを含むコマンド情報を記憶するメモリアレイと、
    前記コンピュータが前記コマンド情報に含まれる前記プログラムを起動して生成する前記複数種類のコマンドコードのそれぞれを解析するための情報であって、当該コマンド情報と対を成すコマンド解析情報を記憶する記憶部と、
    前記コンピュータが前記コマンド情報に含まれる前記プログラムを起動して生成したコマンドコードを受信する通信部と、
    前記通信部が受信した前記コマンドコードを前記コマンド解析情報に基づいて解析して、当該コマンドコードに対応する動作を実行するメモリコントローラと、
    を備え、
    前記コンピュータは、前記コマンド情報に含まれる前記プログラムを起動して必要なコマンドコードを生成して、前記メモリシステムに送信し、
    前記メモリシステムにおいては、前記コマンド情報及び前記コマンド解析情報が変更されることにより、前記複数種類のコマンドコードに対してコマンドコードの変更、追加あるいは削除が可能となることを特徴とするコンピュータシステム。
JP2007087545A 2007-03-29 2007-03-29 メモリシステム及びコンピュータシステム Expired - Fee Related JP5229855B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007087545A JP5229855B2 (ja) 2007-03-29 2007-03-29 メモリシステム及びコンピュータシステム
US12/029,825 US8296500B2 (en) 2007-03-29 2008-02-12 Memory system and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007087545A JP5229855B2 (ja) 2007-03-29 2007-03-29 メモリシステム及びコンピュータシステム

Publications (2)

Publication Number Publication Date
JP2008250395A JP2008250395A (ja) 2008-10-16
JP5229855B2 true JP5229855B2 (ja) 2013-07-03

Family

ID=39796291

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007087545A Expired - Fee Related JP5229855B2 (ja) 2007-03-29 2007-03-29 メモリシステム及びコンピュータシステム

Country Status (2)

Country Link
US (1) US8296500B2 (ja)
JP (1) JP5229855B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946590B2 (en) * 2013-12-19 2018-04-17 Hewlett Packard Enterprise Development Lp Transmission of command strings and status strings via memory bus

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319751A (en) * 1991-12-27 1994-06-07 Intel Corporation Device driver configuration in a computer system
JPH0744672A (ja) * 1993-07-28 1995-02-14 Oki Electric Ind Co Ltd Icカード及びicカードシステム
JPH08123917A (ja) * 1994-09-02 1996-05-17 Mitsubishi Electric Corp Icカード及びicカードシステム
US5937423A (en) * 1996-12-26 1999-08-10 Intel Corporation Register interface for flash EEPROM memory arrays
JP2000036015A (ja) * 1998-07-17 2000-02-02 Toshiba Corp Icカード処理装置とicカードとicカード処理システムとicカード処理方法
JP4170466B2 (ja) 1998-09-18 2008-10-22 富士通株式会社 コマンド認証方法
JP3370978B2 (ja) * 1999-09-10 2003-01-27 株式会社ソニー・コンピュータエンタテインメント エンタテインメント装置および情報処理装置
JP2001283170A (ja) 2000-03-31 2001-10-12 Mega Chips Corp 半導体記憶装置および半導体記憶装置を用いた認証システム
JP4294894B2 (ja) * 2001-09-13 2009-07-15 株式会社ルネサステクノロジ メモリカード
JP2003141481A (ja) 2001-11-01 2003-05-16 Mitsubishi Electric Corp セキュリティー機能を備えたリムーバブルストレージカードおよびその認証方法
US20040164170A1 (en) * 2003-02-25 2004-08-26 Marcelo Krygier Multi-protocol memory card
JP2005266952A (ja) * 2004-03-16 2005-09-29 Toshiba Corp メモリカード制御装置、半導体メモリカード、カードインターフェースコントローラ、及び半導体メモリカードの認証方法
JP4391375B2 (ja) * 2004-09-30 2009-12-24 フェリカネットワークス株式会社 情報管理装置および方法、並びにプログラム
JP4177360B2 (ja) * 2005-07-26 2008-11-05 Tdk株式会社 メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法

Also Published As

Publication number Publication date
US8296500B2 (en) 2012-10-23
US20080244175A1 (en) 2008-10-02
JP2008250395A (ja) 2008-10-16

Similar Documents

Publication Publication Date Title
TWI480803B (zh) 獨立作業系統間之共享檔案系統管理
EP2339466A2 (en) Data control device, data control method, and program
TW200414045A (en) Firmware updating method and related apparatus for checking content of replacing firmware before firmware updating
CN105190571A (zh) 页表数据管理
JP4434244B2 (ja) 画像形成装置
JP6875808B2 (ja) 情報処理装置
JP2015029191A (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
US20120066584A1 (en) Host apparatus and method of displaying content by the same
JP4966422B1 (ja) 情報処理装置及びデータ保護方法
JP4366426B2 (ja) 画像処理装置及びその制御方法
JP5229855B2 (ja) メモリシステム及びコンピュータシステム
JP2007233610A (ja) 情報処理装置、ポリシー管理方法、記憶媒体、プログラム
JP6740719B2 (ja) 情報処理装置、情報処理方法、およびプログラム
JP2006338311A (ja) 複数のアプリケーションを搭載したデバイスを処理するコンピュータシステム、デバイスおよびコンピュータプログラム
WO2018185919A1 (ja) プログラム、プログラムの実行方法、および端末装置
JP2008059388A (ja) 情報処理装置および情報処理装置に適用されるハードディスクのデータ消去方法
JP5080352B2 (ja) ネットワークインタフェース装置、画像形成装置、ネットワークインタフェース装置の制御方法及びプログラム
US20240053933A1 (en) Printing apparatus, control method of printing apparatus, and storage medium
JP2009015373A (ja) サーバ装置およびサーバ装置制御プログラム
JP5182787B2 (ja) メモリシステム、メモリカード及びコンピュータシステム
KR200389285Y1 (ko) 작업데이터의 쓰기 제어장치가 구비된 퍼스널 컴퓨터
JP2007272579A (ja) ソフトウェア検証方法、システム及びプログラム
JP5433185B2 (ja) デバイスドライバ設定システムおよびデバイスドライバ設定プログラム
JP5422690B2 (ja) 情報処理装置及びデータ保護方法
JP5016913B2 (ja) 印刷装置、印刷装置の設定方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100126

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20100126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120522

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120719

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130226

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130314

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5229855

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees