JPH11212873A - コンピューターシステムの操作方法 - Google Patents
コンピューターシステムの操作方法Info
- Publication number
- JPH11212873A JPH11212873A JP10014599A JP1459998A JPH11212873A JP H11212873 A JPH11212873 A JP H11212873A JP 10014599 A JP10014599 A JP 10014599A JP 1459998 A JP1459998 A JP 1459998A JP H11212873 A JPH11212873 A JP H11212873A
- Authority
- JP
- Japan
- Prior art keywords
- data
- page
- memory
- address
- overhead
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 97
- 238000006243 chemical reaction Methods 0.000 claims description 30
- 238000003491 array Methods 0.000 claims 3
- 238000011017 operating method Methods 0.000 claims 1
- 230000000694 effects Effects 0.000 abstract description 2
- 238000012545 processing Methods 0.000 description 53
- 238000012546 transfer Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000012937 correction Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000007796 conventional method Methods 0.000 description 5
- SHXWCVYOXRDMCX-UHFFFAOYSA-N 3,4-methylenedioxymethamphetamine Chemical compound CNC(C)CC1=CC=C2OCOC2=C1 SHXWCVYOXRDMCX-UHFFFAOYSA-N 0.000 description 4
- 241000110847 Kochia Species 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000026676 system process Effects 0.000 description 2
- FFBHFFJDDLITSX-UHFFFAOYSA-N benzyl N-[2-hydroxy-4-(3-oxomorpholin-4-yl)phenyl]carbamate Chemical compound OC1=C(NC(=O)OCC2=CC=CC=C2)C=CC(=C1)N1CCOCC1=O FFBHFFJDDLITSX-UHFFFAOYSA-N 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Landscapes
- Storage Device Security (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
(57)【要約】
【課題】不揮発性メモリーアレーにより構成されるAT
Aカードのようなメモリーシステムにおいて、内部のデ
ーター構成が単純なため、内部データの解析が容易に出
来た。 【解決手段】ページ内のオーバーヘッドデーターを任意
の位置に秘密アルゴリズムにより配置する事により、オ
ーバーヘッドデータとユーザーヘット゛データの区別を困難
にする。オーバーヘッドデーターの位置は、不揮発性メ
モリーアレーの物理アドレス等から秘密アルゴリズムに
より求める。またはオーバーヘッドデーターとユーザー
データーを合成したデータをページ内に書き込む。 【効果】キーとなるオーバーヘッドデータがどこにある
のか分かり難いため、不揮発性メモリーアレー単体とし
ても高度な秘匿性を容易に実現する事が出来る。
Aカードのようなメモリーシステムにおいて、内部のデ
ーター構成が単純なため、内部データの解析が容易に出
来た。 【解決手段】ページ内のオーバーヘッドデーターを任意
の位置に秘密アルゴリズムにより配置する事により、オ
ーバーヘッドデータとユーザーヘット゛データの区別を困難
にする。オーバーヘッドデーターの位置は、不揮発性メ
モリーアレーの物理アドレス等から秘密アルゴリズムに
より求める。またはオーバーヘッドデーターとユーザー
データーを合成したデータをページ内に書き込む。 【効果】キーとなるオーバーヘッドデータがどこにある
のか分かり難いため、不揮発性メモリーアレー単体とし
ても高度な秘匿性を容易に実現する事が出来る。
Description
【0001】
【発明の属する技術分野】本発明はプロセッサーと、不
揮発性メモリーを使用としたメモリーシステムを含んだ
コンピューターシステムの操作方法に関する。より具体
的にはATAカードや、SSFDC(Solid St
ate Floppy Disk Card Foru
m)カードを使用したコンピューターシステムにおい
て、より秘匿性の高いコンピューターシステムの操作方
法を提供する。
揮発性メモリーを使用としたメモリーシステムを含んだ
コンピューターシステムの操作方法に関する。より具体
的にはATAカードや、SSFDC(Solid St
ate Floppy Disk Card Foru
m)カードを使用したコンピューターシステムにおい
て、より秘匿性の高いコンピューターシステムの操作方
法を提供する。
【0002】
【従来の技術】図16に従来の方法による、ある1つの
ブロック170の内部のデータ構成を示す。ここでブロ
ック170はN個のページに分割される。一般的には1
ページがホストからのデータ転送単位の512byte
に対応している。171はブロック170の、最初のア
ドレスに位置する、先頭のページであり、172は次の
ページであり、173は最後のアドレスに位置する最終
のページである。ページはMバイトから構成され、ペー
ジ内部にはユーザーデータ175とオーバーヘッドデー
ター177がふくまれている。ユーザーデータ175と
オーバーヘッドデーター177はそれぞれLバイト、M
−Lバイトのサイズである。図16のようにオーバーヘ
ッドデータは通常各ページの最後部に位置して、ユーザ
ーデータ部とオーバーヘッド部が明確に分割されてい
る。
ブロック170の内部のデータ構成を示す。ここでブロ
ック170はN個のページに分割される。一般的には1
ページがホストからのデータ転送単位の512byte
に対応している。171はブロック170の、最初のア
ドレスに位置する、先頭のページであり、172は次の
ページであり、173は最後のアドレスに位置する最終
のページである。ページはMバイトから構成され、ペー
ジ内部にはユーザーデータ175とオーバーヘッドデー
ター177がふくまれている。ユーザーデータ175と
オーバーヘッドデーター177はそれぞれLバイト、M
−Lバイトのサイズである。図16のようにオーバーヘ
ッドデータは通常各ページの最後部に位置して、ユーザ
ーデータ部とオーバーヘッド部が明確に分割されてい
る。
【0003】
【発明が解決しようとする課題】従来の方法ではオーバ
ーヘッドデータは常に各ページの最後部に位置して、ユ
ーザーデータ部とオーバーヘッド部が明確に分割されて
いる。
ーヘッドデータは常に各ページの最後部に位置して、ユ
ーザーデータ部とオーバーヘッド部が明確に分割されて
いる。
【0004】これはECCの処理がやりやすく、管理デ
ータも簡単に検索できるメリットはある。しかしそのた
めメモリーの中を直接覗けば簡単に内容が解析されてし
まう恐れがある。このため、高度の機密性を得るには、
複雑で高度な暗号化が必要であった。ホストとのi/f
で機密性を持たせれば良いと言う考えもあるが、それで
は十分とは言えない。メモリーチップを外し、単体で解
析される恐れがある。また例えばSSFDC(Soli
d State Floppy Disk Card
Forum)が提唱するカードはFlashメモリーだ
けの構成なのでこれを使用するシステムが機密性を持た
せるには、SSFDCカード内のFlashメモリーに
書き込むデーターを暗号化する必要がある。また今後コ
ピープロテクト機能や、部分的に読みだし書き込み禁止
等の機能を付加するためには、各ページ単位に格納され
ている、管理データの秘匿性がさらに重要になる。しか
しながら従来の方法では高度の機密性を持たせるのには
適さなかった。
ータも簡単に検索できるメリットはある。しかしそのた
めメモリーの中を直接覗けば簡単に内容が解析されてし
まう恐れがある。このため、高度の機密性を得るには、
複雑で高度な暗号化が必要であった。ホストとのi/f
で機密性を持たせれば良いと言う考えもあるが、それで
は十分とは言えない。メモリーチップを外し、単体で解
析される恐れがある。また例えばSSFDC(Soli
d State Floppy Disk Card
Forum)が提唱するカードはFlashメモリーだ
けの構成なのでこれを使用するシステムが機密性を持た
せるには、SSFDCカード内のFlashメモリーに
書き込むデーターを暗号化する必要がある。また今後コ
ピープロテクト機能や、部分的に読みだし書き込み禁止
等の機能を付加するためには、各ページ単位に格納され
ている、管理データの秘匿性がさらに重要になる。しか
しながら従来の方法では高度の機密性を持たせるのには
適さなかった。
【0005】
【課題を解決するための手段】本発明の請求項1記載の
コンピューターシステムの操作方法では、メモリーシス
テムが電源立ち上げ後、各ブロックにおいて、最初に読
み出すページP1内で、最初に前記オーバーヘッドデー
タが現れるアドレスA1を前記ブロックのアドレスから
秘密アルゴリズムにより決定する手段を有する事を特徴
とする。この発明によれば簡単な回路を付加する事によ
り、メモリーシステム、またはメモリーチップ単位での
高度な秘匿性を得る事が可能となる。
コンピューターシステムの操作方法では、メモリーシス
テムが電源立ち上げ後、各ブロックにおいて、最初に読
み出すページP1内で、最初に前記オーバーヘッドデー
タが現れるアドレスA1を前記ブロックのアドレスから
秘密アルゴリズムにより決定する手段を有する事を特徴
とする。この発明によれば簡単な回路を付加する事によ
り、メモリーシステム、またはメモリーチップ単位での
高度な秘匿性を得る事が可能となる。
【0006】本発明の請求項2記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページP1
内で、最初に前記オーバーヘッドデータが現れるアドレ
スA1の複数の候補を、前記ブロックのアドレスから秘
密アルゴリズムニより決定し、前記アドレスの複数の候
補から正しいアドレスをECCを用いて決定する手段を
有する事を特徴とする。この発明によれば簡単な回路を
付加する事により、メモリーシステム、またはメモリー
チップ単位での高度な秘匿性を得る事が可能となる。
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページP1
内で、最初に前記オーバーヘッドデータが現れるアドレ
スA1の複数の候補を、前記ブロックのアドレスから秘
密アルゴリズムニより決定し、前記アドレスの複数の候
補から正しいアドレスをECCを用いて決定する手段を
有する事を特徴とする。この発明によれば簡単な回路を
付加する事により、メモリーシステム、またはメモリー
チップ単位での高度な秘匿性を得る事が可能となる。
【0007】本発明の請求項3記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページP1
内で、最初に前記オーバーヘッドデータが現れるアドレ
スA1に前記ブロックのアドレスから秘密アルゴリズム
により決定される特殊なパターンを書き込んでおき、前
記パターンを検知する事により前記アドレスA1を決定
する手段を有する事を特徴とする。この発明によれば簡
単な回路を付加する事により、メモリーシステム、また
はメモリーチップ単位での高度な秘匿性を得る事が可能
となる。
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページP1
内で、最初に前記オーバーヘッドデータが現れるアドレ
スA1に前記ブロックのアドレスから秘密アルゴリズム
により決定される特殊なパターンを書き込んでおき、前
記パターンを検知する事により前記アドレスA1を決定
する手段を有する事を特徴とする。この発明によれば簡
単な回路を付加する事により、メモリーシステム、また
はメモリーチップ単位での高度な秘匿性を得る事が可能
となる。
【0008】本発明の請求項4記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、最初に読み出すページP1のアドレスA0と、P
1内で最初に前記オーバーヘッドデータが現れるアドレ
スA1を管理データ専用部のデータにより決定する手段
を有する事を特徴とする。この発明によれば簡単な回路
を付加する事により、メモリーシステム、またはメモリ
ーチップ単位での高度な秘匿性を得る事が可能となる。
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、最初に読み出すページP1のアドレスA0と、P
1内で最初に前記オーバーヘッドデータが現れるアドレ
スA1を管理データ専用部のデータにより決定する手段
を有する事を特徴とする。この発明によれば簡単な回路
を付加する事により、メモリーシステム、またはメモリ
ーチップ単位での高度な秘匿性を得る事が可能となる。
【0009】本発明の請求項5記載のコンピューターシ
ステムの操作方法では、前記ユーザーデータからなるJ
ビットと、前記オーバーヘッドデータからなるKビット
より構成されるJ+Kビットの前記テンポラリーコード
を、異なるJ+Kビットのコードに変換した後に、ペー
ジに書き込み、ページより読み出したデータはJ+Kビ
ットに区切り、元のJ+Kビットのデータに逆変換する
事により、メモリーシステム、またはメモリーチップ単
位での高度な秘匿性を得る事が可能となる。
ステムの操作方法では、前記ユーザーデータからなるJ
ビットと、前記オーバーヘッドデータからなるKビット
より構成されるJ+Kビットの前記テンポラリーコード
を、異なるJ+Kビットのコードに変換した後に、ペー
ジに書き込み、ページより読み出したデータはJ+Kビ
ットに区切り、元のJ+Kビットのデータに逆変換する
事により、メモリーシステム、またはメモリーチップ単
位での高度な秘匿性を得る事が可能となる。
【0010】本発明の請求項6記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページ以外
のページで最初にオーバーヘッドデータが現れるアドレ
スを、メモリーシステムが電源立ち上げ後、各ブロック
において、最初に読み出すページで最初に前記オーバー
ヘッドデータが現れるアドレスまたは、そのオーバーヘ
ッドデータを基に秘密アルゴリズムニより決定する事を
特徴とする。この発明によれば簡単な回路を付加する事
により、メモリーシステム、またはメモリーチップ単位
での高度な秘匿性を得る事が可能となる。
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページ以外
のページで最初にオーバーヘッドデータが現れるアドレ
スを、メモリーシステムが電源立ち上げ後、各ブロック
において、最初に読み出すページで最初に前記オーバー
ヘッドデータが現れるアドレスまたは、そのオーバーヘ
ッドデータを基に秘密アルゴリズムニより決定する事を
特徴とする。この発明によれば簡単な回路を付加する事
により、メモリーシステム、またはメモリーチップ単位
での高度な秘匿性を得る事が可能となる。
【0011】本発明の請求項7記載のコンピューターシ
ステムの操作方法では、ページの先頭アドレスから、最
初にオーバーヘッドデータが現れるアドレスまでのデー
タの順番を逆にする事を特徴とする。この発明によれ
ば、簡単な方法であるが、各ページの先頭のデータとユ
ーザーデーターの先頭が異なるのでより解析が難しくな
り、メモリーシステムまたはチップ単位での高度な秘匿
性を得る事が可能となる。
ステムの操作方法では、ページの先頭アドレスから、最
初にオーバーヘッドデータが現れるアドレスまでのデー
タの順番を逆にする事を特徴とする。この発明によれ
ば、簡単な方法であるが、各ページの先頭のデータとユ
ーザーデーターの先頭が異なるのでより解析が難しくな
り、メモリーシステムまたはチップ単位での高度な秘匿
性を得る事が可能となる。
【0012】本発明の請求項8記載のコンピューターシ
ステムの操作方法では、ページ内のオーバーヘッドデー
タを複数の部分にわけて分散配置し、その配置の仕方
は、秘密アルゴリズムニより決定する事を特徴とする。
この発明によれば、簡単な方法であるが、オーバーヘッ
ドデータの配置パターンは無数に考えられるので、解析
は非常に難しくなり、メモリーシステムまたはチップ単
位での高度な秘匿性を得る事が可能となる。
ステムの操作方法では、ページ内のオーバーヘッドデー
タを複数の部分にわけて分散配置し、その配置の仕方
は、秘密アルゴリズムニより決定する事を特徴とする。
この発明によれば、簡単な方法であるが、オーバーヘッ
ドデータの配置パターンは無数に考えられるので、解析
は非常に難しくなり、メモリーシステムまたはチップ単
位での高度な秘匿性を得る事が可能となる。
【0013】本発明の請求項9記載のコンピューターシ
ステムの操作方法では、プロセッサーからライトデータ
をライトバッファーに受信すると同時にECC演算を行
なう事を特徴とする。この発明によれば、メモリーに書
き込みを行なう時には既にECCデータが計算されてい
るので、余分なメモリーの読みだしを行なわずに、任意
の位置にオーバーヘッドデーターを配置する事が出来
る。
ステムの操作方法では、プロセッサーからライトデータ
をライトバッファーに受信すると同時にECC演算を行
なう事を特徴とする。この発明によれば、メモリーに書
き込みを行なう時には既にECCデータが計算されてい
るので、余分なメモリーの読みだしを行なわずに、任意
の位置にオーバーヘッドデーターを配置する事が出来
る。
【0014】
【発明の実施の形態】(実施例1)図1は請求項1、
2、7、9記載の発明に関わるメモリーシステム例であ
る。その構成を説明する。
2、7、9記載の発明に関わるメモリーシステム例であ
る。その構成を説明する。
【0015】図1のメモリーシステムは、プロセッサー
とのインターフェース1、プロセッサーとのデータとの
送受の際に使用するリードライトバッファー2、メモリ
ーシステムのコントロールを行なう1チップCPU3、
秘密アルゴリズムA4a、秘密アルゴリズムB4b、F
lashメモリーのデータの信頼性確保のためのECC
回路5、Flashメモリーとのインターフェース6、
Flashメモリー7からなる。ここでFlashメモ
リーとは、一般にATAカード等で広く使用されてい
る、不揮発性フローティングゲートメモリーアレーの1
つである。
とのインターフェース1、プロセッサーとのデータとの
送受の際に使用するリードライトバッファー2、メモリ
ーシステムのコントロールを行なう1チップCPU3、
秘密アルゴリズムA4a、秘密アルゴリズムB4b、F
lashメモリーのデータの信頼性確保のためのECC
回路5、Flashメモリーとのインターフェース6、
Flashメモリー7からなる。ここでFlashメモ
リーとは、一般にATAカード等で広く使用されてい
る、不揮発性フローティングゲートメモリーアレーの1
つである。
【0016】メモリーシステムは、プロセッサーとのイ
ンターフェース1を通してプロセッサーのデータ、コマ
ンドを送受する。プロセッサーとのインターフェース1
はPCMCIAが一般的である。
ンターフェース1を通してプロセッサーのデータ、コマ
ンドを送受する。プロセッサーとのインターフェース1
はPCMCIAが一般的である。
【0017】リードライトバッファー2はプロセッサー
からの書き込み時には書き込みデータを一時的に貯え、
プロセッサーの読みだし時にはFlashメモリーから
の読みだしデータを貯える。実際には、リードライトバ
ッファー2は1チップCPU3が直接読み書きする事が
出来るRAMの内部に存在する。
からの書き込み時には書き込みデータを一時的に貯え、
プロセッサーの読みだし時にはFlashメモリーから
の読みだしデータを貯える。実際には、リードライトバ
ッファー2は1チップCPU3が直接読み書きする事が
出来るRAMの内部に存在する。
【0018】1チップCPU3は内部にプログラムを収
めるROMとワーク用のRAMを内蔵する。さらにプロ
セッサーとのインターフェース1とリードライトバッフ
ァー2間のデーター転送、またはリードライトバッファ
ー2とFlashメモリー7間のデータ転送に利用され
るDMAのコントローラーも含む。1チップCPU3は
プロセッサーからのコマンドの解析、Flashメモリ
ーのリードライトのコントロール、暗号化の処理の1部
等を行なう。
めるROMとワーク用のRAMを内蔵する。さらにプロ
セッサーとのインターフェース1とリードライトバッフ
ァー2間のデーター転送、またはリードライトバッファ
ー2とFlashメモリー7間のデータ転送に利用され
るDMAのコントローラーも含む。1チップCPU3は
プロセッサーからのコマンドの解析、Flashメモリ
ーのリードライトのコントロール、暗号化の処理の1部
等を行なう。
【0019】秘密アルゴリズム回路4は各セクターの先
頭データアドレスの算出に使用される。ECC回路5は
メモリーのデータの信頼性を上げるため、エラー訂正と
エラー検出の機能を有する。
頭データアドレスの算出に使用される。ECC回路5は
メモリーのデータの信頼性を上げるため、エラー訂正と
エラー検出の機能を有する。
【0020】Flashメモリー7は単体または複数の
チップからなる。
チップからなる。
【0021】図4にこの実施例で使用されるFlash
メモリー7の内部のデーターフォーマットを示す。図4
は1度に消去の出来る1ブロック40の内部のデータ構
成を示す。1ブロック40はN個のページに分割され
る。一般的には1ページがプロセッサーからのデータ転
送単位の512byteに対応している。41はブロッ
ク40の、最初のアドレスに位置する、先頭のページで
あり、42は次のページであり、43は最後のアドレス
に位置する最終のページである。ページはMByteか
ら構成されている。ページ内部にはユーザーデータ4
8、47とオーバーヘッドデーター46がふくまれてお
り、本発明ではこの2つの情報を混在させることに特長
がある。44はオーバーヘッドデータ46の先頭位置、
何Byte目か、を示すアドレスである。45は次ペー
ジ42のオーバーヘッドデータの先頭位置を示すアドレ
スである。これらの位置はページ毎に変化し、そのため
管理データーの解析を困難にし、メモリーシステムの秘
匿性を高めている。
メモリー7の内部のデーターフォーマットを示す。図4
は1度に消去の出来る1ブロック40の内部のデータ構
成を示す。1ブロック40はN個のページに分割され
る。一般的には1ページがプロセッサーからのデータ転
送単位の512byteに対応している。41はブロッ
ク40の、最初のアドレスに位置する、先頭のページで
あり、42は次のページであり、43は最後のアドレス
に位置する最終のページである。ページはMByteか
ら構成されている。ページ内部にはユーザーデータ4
8、47とオーバーヘッドデーター46がふくまれてお
り、本発明ではこの2つの情報を混在させることに特長
がある。44はオーバーヘッドデータ46の先頭位置、
何Byte目か、を示すアドレスである。45は次ペー
ジ42のオーバーヘッドデータの先頭位置を示すアドレ
スである。これらの位置はページ毎に変化し、そのため
管理データーの解析を困難にし、メモリーシステムの秘
匿性を高めている。
【0022】(実施例1の動作)まず、図15にメモリ
ーシステムの処理の全体の流れの概要を示す。まず電源
onすると、メモリーシステムは全てのブロックの先頭
ページを読みだす処理150を行なう。この際実施例1
では秘密アルゴリズムA4aを用いて、ブロックの先頭
ページの、データの先頭アドレスを算出する。
ーシステムの処理の全体の流れの概要を示す。まず電源
onすると、メモリーシステムは全てのブロックの先頭
ページを読みだす処理150を行なう。この際実施例1
では秘密アルゴリズムA4aを用いて、ブロックの先頭
ページの、データの先頭アドレスを算出する。
【0023】図22に秘密アルゴリズムAの簡単な例を
示す。複数のアドレス候補を作り出すため、Flash
ブロックの物理アドレスの下位と定数(0〜3)組み合
わせてテーブルによりランダムな値を発生する。さらに
簡単な演算によるランダマイズを行なう。書込み時に
は、POWERon後の書込み回数に従ってアドレスの
選択を行なう。さらに図23にはこのアルゴリズムをハ
ードで実現した場合を示す。通常使用されるCPUの能
力を考慮するとこれらの処理はハードで行なう事が望ま
しいが、図23の様に比較的関単な回路で実現できる。
(乗算は加算器により実現している)。
示す。複数のアドレス候補を作り出すため、Flash
ブロックの物理アドレスの下位と定数(0〜3)組み合
わせてテーブルによりランダムな値を発生する。さらに
簡単な演算によるランダマイズを行なう。書込み時に
は、POWERon後の書込み回数に従ってアドレスの
選択を行なう。さらに図23にはこのアルゴリズムをハ
ードで実現した場合を示す。通常使用されるCPUの能
力を考慮するとこれらの処理はハードで行なう事が望ま
しいが、図23の様に比較的関単な回路で実現できる。
(乗算は加算器により実現している)。
【0024】次に、150で読み出したブロックの先頭
ページデータより、ブロック管理テーブルを作成し、さ
らに、以降のページのデータの先頭アドレスを算出する
ための元データを読みだし、(例えばCPU3の内部R
AMへ)記憶する処理151を行なう。以降のページの
データの先頭アドレスを算出するための前記元データ
は、ブロックの先頭ページの、データの先頭アドレスで
も良いし、ブロックの先頭ページの管理データの1つに
含まれていても良い。ブロックの先頭ページの、データ
の先頭アドレスは以降も使用するので、やはり(例えば
CPU3の内部RAMへ)記憶しておく。ブロック管理
テーブルとは、ユーザーデータの、プロセッサーからの
コマンドにより示されるアドレス(例えばLogica
l Block Addressまたはヘッド、シリン
ダー、セクタ番号)と実際のFlashメモリーのブロ
ックアドレスとの対応を示すものである。
ページデータより、ブロック管理テーブルを作成し、さ
らに、以降のページのデータの先頭アドレスを算出する
ための元データを読みだし、(例えばCPU3の内部R
AMへ)記憶する処理151を行なう。以降のページの
データの先頭アドレスを算出するための前記元データ
は、ブロックの先頭ページの、データの先頭アドレスで
も良いし、ブロックの先頭ページの管理データの1つに
含まれていても良い。ブロックの先頭ページの、データ
の先頭アドレスは以降も使用するので、やはり(例えば
CPU3の内部RAMへ)記憶しておく。ブロック管理
テーブルとは、ユーザーデータの、プロセッサーからの
コマンドにより示されるアドレス(例えばLogica
l Block Addressまたはヘッド、シリン
ダー、セクタ番号)と実際のFlashメモリーのブロ
ックアドレスとの対応を示すものである。
【0025】次に、セクターリード、セクターライト等
のコマンド処理152を実行する。セクターリード、セ
クターライトのようなFlashメモリーをリードライ
トするコマンドの実行では、秘密アルゴリズム4aによ
り各ページのデータ先頭アドレスを算出する。
のコマンド処理152を実行する。セクターリード、セ
クターライトのようなFlashメモリーをリードライ
トするコマンドの実行では、秘密アルゴリズム4aによ
り各ページのデータ先頭アドレスを算出する。
【0026】次により詳細な処理の流れに付いて説明す
る。
る。
【0027】図9には処理150の中でのブロックの先
頭セクターの読みだし手順を、より詳細に示してある。
まずFlashメモリーのアドレスから、秘密アルゴリ
ズム4によりデータの先頭アドレスの候補を算出する処
理108を実行する。ここでn+1個のアドレスの候補
をSTCDADR0〜nとする。先頭アドレスの候補は
複数でなくても良いがより解析を困難にするため複数の
候補を有し、任意に選択するのが望ましい。
頭セクターの読みだし手順を、より詳細に示してある。
まずFlashメモリーのアドレスから、秘密アルゴリ
ズム4によりデータの先頭アドレスの候補を算出する処
理108を実行する。ここでn+1個のアドレスの候補
をSTCDADR0〜nとする。先頭アドレスの候補は
複数でなくても良いがより解析を困難にするため複数の
候補を有し、任意に選択するのが望ましい。
【0028】次にSTCDADR0によりデータを読み
出す処理109を行なう。この読みだしの手順は他のペ
ージの読みだし手順と同じである。これについては後に
詳細を説明する。次に読み出したデータのECCが正し
いどうかをチェックする。もし正しければ先頭アドレス
が正しく選択されたことを示すので、ブロックの先頭セ
クターの読みだし処理を終了する。もし正しくなけれ
ば、次のアドレス候STCDADR1よりデータを読み
出す処理110を行なう。以下同様にECCが正しくな
ければ次のアドレス候補を使用する。すべてのアドレス
候補で正しくない場合は、そのブロックは何らかの不良
となっているので、不良ブロックとして記憶し以降の処
理では使用しない。
出す処理109を行なう。この読みだしの手順は他のペ
ージの読みだし手順と同じである。これについては後に
詳細を説明する。次に読み出したデータのECCが正し
いどうかをチェックする。もし正しければ先頭アドレス
が正しく選択されたことを示すので、ブロックの先頭セ
クターの読みだし処理を終了する。もし正しくなけれ
ば、次のアドレス候STCDADR1よりデータを読み
出す処理110を行なう。以下同様にECCが正しくな
ければ次のアドレス候補を使用する。すべてのアドレス
候補で正しくない場合は、そのブロックは何らかの不良
となっているので、不良ブロックとして記憶し以降の処
理では使用しない。
【0029】図7に処理152の中に含まれる、セクタ
ー書き込みの前半処理である、ECC生成処理をより詳
細に示してある。まず、プロセッサーからメモリ-システム
へデータを転送する処理100を行なう。データの転送
単位は1word毎でも1byte毎でも良い。次にE
CCの演算をこのデータ転送単位毎に行なう。従来のメ
モリーシステムでは、ECCの演算はデータをFlas
hメモリーに書き込む最中に行なっていた。本発明では
ユーザーデータ48、47とオーバーヘッドデーター4
6を混在させて書き込みを行なうため、書き込み最中に
はECCの演算ができない。よって、プロセッサーから
メモリ-システムへデータ転送の処理100とほぼ同時にE
CCの演算処理101を行なっている。次にリードライ
トバッファー2へデータの書き込み処理102を行な
う。しかしこれらの100、101、102の処理はハ
ード的に、ほぼ同時におこなわれる。以上の処理をプロ
セッサーからのデータ転送単位(例えば512Byt
e)まで行い、次の処理であるリードライトバッファー
2からFlashメモリーへ書き込みへ処理を進める。
ー書き込みの前半処理である、ECC生成処理をより詳
細に示してある。まず、プロセッサーからメモリ-システム
へデータを転送する処理100を行なう。データの転送
単位は1word毎でも1byte毎でも良い。次にE
CCの演算をこのデータ転送単位毎に行なう。従来のメ
モリーシステムでは、ECCの演算はデータをFlas
hメモリーに書き込む最中に行なっていた。本発明では
ユーザーデータ48、47とオーバーヘッドデーター4
6を混在させて書き込みを行なうため、書き込み最中に
はECCの演算ができない。よって、プロセッサーから
メモリ-システムへデータ転送の処理100とほぼ同時にE
CCの演算処理101を行なっている。次にリードライ
トバッファー2へデータの書き込み処理102を行な
う。しかしこれらの100、101、102の処理はハ
ード的に、ほぼ同時におこなわれる。以上の処理をプロ
セッサーからのデータ転送単位(例えば512Byt
e)まで行い、次の処理であるリードライトバッファー
2からFlashメモリーへ書き込みへ処理を進める。
【0030】図11にFlashメモリーへの書き込み
処理をより詳細に示してある。まず、データの先頭アド
レスを算出するための前記元データから、秘密アルゴリ
ズムB4bにより各セクタのデータの先頭アドレスを算
出する処理118を行なう。
処理をより詳細に示してある。まず、データの先頭アド
レスを算出するための前記元データから、秘密アルゴリ
ズムB4bにより各セクタのデータの先頭アドレスを算
出する処理118を行なう。
【0031】図24に秘密アルゴリズムBの簡単な実現
例をしめす。前記元データはPOWERON後の書込み
回数により、ランダムな値が書込まれている。従ってこ
の値を再びランダマイズするのは、秘密アルゴリズムA
が解読された時のためである。このアルゴリズムでは、
前記元データをランダマイズして最初にオーバーヘッド
データーの現れるアドレスを生成している。
例をしめす。前記元データはPOWERON後の書込み
回数により、ランダムな値が書込まれている。従ってこ
の値を再びランダマイズするのは、秘密アルゴリズムA
が解読された時のためである。このアルゴリズムでは、
前記元データをランダマイズして最初にオーバーヘッド
データーの現れるアドレスを生成している。
【0032】次に[セクタのデータの先頭アドレス+リ
ードライトバッファー2の先頭アドレス]をDMAコン
トローラーのDMAスタートアドレスに設定する処理1
19を行なう。次にDMA転送アドレス変化はdecr
ementに設定する処理120を行なう。これはペー
ジの先頭がユーザーデータの先頭と一致することを避け
て、ユーザーデータの前半部のデータの並びを逆にする
ためである。こうすることにより各ぺージのデータの先
頭は予想が困難となる。
ードライトバッファー2の先頭アドレス]をDMAコン
トローラーのDMAスタートアドレスに設定する処理1
19を行なう。次にDMA転送アドレス変化はdecr
ementに設定する処理120を行なう。これはペー
ジの先頭がユーザーデータの先頭と一致することを避け
て、ユーザーデータの前半部のデータの並びを逆にする
ためである。こうすることにより各ぺージのデータの先
頭は予想が困難となる。
【0033】次にセクタのデータの先頭アドレスまでリ
ードライトバッファー2のデータを転送する処理121
を行なう。次にオーバーヘッドデーターを転送する処理
122を行なう。この実施例ではこのように各ページの
オーバーヘッドデーターは一個所にまとまって格納され
ている。次に残りのユーザーデータを転送する処理12
3を実行する。残りのユーザーデータはユーザーデータ
の前半部と同様にデーターの並びを逆にしても良いがそ
のままでも良い。
ードライトバッファー2のデータを転送する処理121
を行なう。次にオーバーヘッドデーターを転送する処理
122を行なう。この実施例ではこのように各ページの
オーバーヘッドデーターは一個所にまとまって格納され
ている。次に残りのユーザーデータを転送する処理12
3を実行する。残りのユーザーデータはユーザーデータ
の前半部と同様にデーターの並びを逆にしても良いがそ
のままでも良い。
【0034】図13にFlashメモリーからの読みだ
し処理をより詳細に示してある。まず書き込み処理と同
様に、データの先頭アドレスを算出するための前記元デ
ータから、秘密アルゴリズムB4bにより各セクタのデ
ータの先頭アドレスを算出する処理131を行なう。次
に[セクタのデータの先頭アドレス+リードライトバッ
ファー2の先頭アドレス]をDMAコントローラーのD
MAスタートアドレスに設定する処理132、と、DM
A転送アドレス変化はdecrementに設定する処
理133を実行する。これはユーザーデータの前半部が
逆並びに書き込まれているためである。次にセクタのデ
ータの先頭アドレスまでリードライトバッファー2のデ
ータを転送する処理134を実行する。次にオーバーヘ
ッドデーターを転送する処理135を実行する。次に残
りのユーザーデータを転送する処理135aを実行す
る。
し処理をより詳細に示してある。まず書き込み処理と同
様に、データの先頭アドレスを算出するための前記元デ
ータから、秘密アルゴリズムB4bにより各セクタのデ
ータの先頭アドレスを算出する処理131を行なう。次
に[セクタのデータの先頭アドレス+リードライトバッ
ファー2の先頭アドレス]をDMAコントローラーのD
MAスタートアドレスに設定する処理132、と、DM
A転送アドレス変化はdecrementに設定する処
理133を実行する。これはユーザーデータの前半部が
逆並びに書き込まれているためである。次にセクタのデ
ータの先頭アドレスまでリードライトバッファー2のデ
ータを転送する処理134を実行する。次にオーバーヘ
ッドデーターを転送する処理135を実行する。次に残
りのユーザーデータを転送する処理135aを実行す
る。
【0035】図8にセクター読みだし時の、ECC生成
処理をより詳細に示してある。まず、読み出されるデー
タがユーザーデータかオーバーヘッドデータかを選択す
るハードウエア(またはソフトウエア)の設定の処理1
03を実行する。これは実際には前述の図13の処理と
同時におこなわれ、容易にソフトで設定することが出来
る。次にハードウエアはユーザーデータに設定されてい
ればデータをリードライトバッファー2に格納する処理
104を行い、オーバーヘッドデーターが設定されてい
れば、データーをオーバーヘッド領域に転送する処理1
05を行なう。105では、より詳細には管理データー
は管理データ領域へ、ECCデーターはECC領域(R
AMの1部またはレジスター)に転送される。ECCの
演算は104の処理の時のみ実行される。104、10
5の処理はハードで行なうことが妥当であるが、ソフト
での処理も可能である。
処理をより詳細に示してある。まず、読み出されるデー
タがユーザーデータかオーバーヘッドデータかを選択す
るハードウエア(またはソフトウエア)の設定の処理1
03を実行する。これは実際には前述の図13の処理と
同時におこなわれ、容易にソフトで設定することが出来
る。次にハードウエアはユーザーデータに設定されてい
ればデータをリードライトバッファー2に格納する処理
104を行い、オーバーヘッドデーターが設定されてい
れば、データーをオーバーヘッド領域に転送する処理1
05を行なう。105では、より詳細には管理データー
は管理データ領域へ、ECCデーターはECC領域(R
AMの1部またはレジスター)に転送される。ECCの
演算は104の処理の時のみ実行される。104、10
5の処理はハードで行なうことが妥当であるが、ソフト
での処理も可能である。
【0036】ユーザーデータがセクター単位(512B
yte)になったところで読みだしを終了し、ECCの
チェックを行なう。ECCが正しい時には次の処理(プ
ロセッサーへのデータ転送)に進み、正しくない時には
エラー訂正等のエラー処理を行なう。
yte)になったところで読みだしを終了し、ECCの
チェックを行なう。ECCが正しい時には次の処理(プ
ロセッサーへのデータ転送)に進み、正しくない時には
エラー訂正等のエラー処理を行なう。
【0037】(実施例2)図2は請求項3記載の発明に
関わるモリーシステム例である。その構成を説明する。
関わるモリーシステム例である。その構成を説明する。
【0038】図2のメモリーシステムは、プロセッサー
とのインターフェース10、プロセッサーとのデータと
の送受の際に使用するリードライトバッファー11、メ
モリーシステムのコントロールを行なう1チップCPU
12、秘密アルゴリズムA13a、秘密アルゴリズムB
13b、Flashメモリーのデータの信頼性確保のた
めのECC回路16、Flashメモリーとのインター
フェース18、Flashメモリー19,Flashメ
モリーの読み出し書き込みデータをScramble、
DescrambleするScrambler/Des
crambler17、ブロックの先頭ページのデータ
ーの先頭を書き込みまたは読み出しする時に使用する、
乱数発生回路14、先頭パターン検出回路15、からな
る。
とのインターフェース10、プロセッサーとのデータと
の送受の際に使用するリードライトバッファー11、メ
モリーシステムのコントロールを行なう1チップCPU
12、秘密アルゴリズムA13a、秘密アルゴリズムB
13b、Flashメモリーのデータの信頼性確保のた
めのECC回路16、Flashメモリーとのインター
フェース18、Flashメモリー19,Flashメ
モリーの読み出し書き込みデータをScramble、
DescrambleするScrambler/Des
crambler17、ブロックの先頭ページのデータ
ーの先頭を書き込みまたは読み出しする時に使用する、
乱数発生回路14、先頭パターン検出回路15、からな
る。
【0039】11、12、16、18、19はそれぞれ
図1の、2、3、5、6、7と同様である。また秘密ア
ルゴリズムB13bは図1の秘密アルゴリズムB4bと
同様の物である。
図1の、2、3、5、6、7と同様である。また秘密ア
ルゴリズムB13bは図1の秘密アルゴリズムB4bと
同様の物である。
【0040】図5にこの実施例で使用されるFlash
メモリー19の内部のデーターフォーマットを示す。図
5は1度に消去の出来る1ブロック50の内部のデータ
構成を示す。1ブロック50の内部の物理的構成は1ブ
ロック40と同じである。51はブロック50の、最初
のアドレスに位置する、先頭のページであり、52は次
のページであり、53は最後のアドレスのに位置する最
終のページである。ページはMByteから構成されて
いる。ページ内部にはユーザーデータ59、57とオー
バーヘッドデーター56と、その一部である先頭パター
ン58がふくまれており、本発明ではユーザーデータ5
9、57とオーバーヘッドデーターの2つの情報を混在
させることに特長がある。54はオーバーヘッドデータ
46の先頭位置が何Byte目か、を示すアドレスであ
る。55は次ページ52のオーバーヘッドデータの先頭
位置を示すアドレスである。これらの位置はページ毎に
変化し、そのため管理データーの解析を困難にし、メモ
リーシステムの秘匿性を高めている。
メモリー19の内部のデーターフォーマットを示す。図
5は1度に消去の出来る1ブロック50の内部のデータ
構成を示す。1ブロック50の内部の物理的構成は1ブ
ロック40と同じである。51はブロック50の、最初
のアドレスに位置する、先頭のページであり、52は次
のページであり、53は最後のアドレスのに位置する最
終のページである。ページはMByteから構成されて
いる。ページ内部にはユーザーデータ59、57とオー
バーヘッドデーター56と、その一部である先頭パター
ン58がふくまれており、本発明ではユーザーデータ5
9、57とオーバーヘッドデーターの2つの情報を混在
させることに特長がある。54はオーバーヘッドデータ
46の先頭位置が何Byte目か、を示すアドレスであ
る。55は次ページ52のオーバーヘッドデータの先頭
位置を示すアドレスである。これらの位置はページ毎に
変化し、そのため管理データーの解析を困難にし、メモ
リーシステムの秘匿性を高めている。
【0041】(実施例2の動作)まず、図15にメモリ
ーシステムの処理の全体の流れの概要を示す。まず電源
onすると、メモリーシステムは全てのブロックの先頭
ページを読みだす処理150を行なう。この際、実施例
2では、ブロックの先頭ページの、データの先頭はFl
ashメモリーからの読みだしデータを(Descra
mbleした後)調べ、特別なパターンを、先頭パター
ン検出回路15により、サーチすることにより検出す
る。
ーシステムの処理の全体の流れの概要を示す。まず電源
onすると、メモリーシステムは全てのブロックの先頭
ページを読みだす処理150を行なう。この際、実施例
2では、ブロックの先頭ページの、データの先頭はFl
ashメモリーからの読みだしデータを(Descra
mbleした後)調べ、特別なパターンを、先頭パター
ン検出回路15により、サーチすることにより検出す
る。
【0042】次に、150で読み出したブロックの先頭
ページデータより、ブロック管理テーブルを作成し、さ
らに、以降のページのデータの先頭アドレスを算出する
ための元データを読みだし、(例えばCPU3の内部R
AMへ)記憶する処理151を行なう。以降のページの
データの先頭アドレスを算出するための前記元データ
は、ブロックの先頭ページの、データの先頭アドレスで
も良いし、ブロックの先頭ページの管理データ1つに含
まれていても良い。ブロックの先頭ページの、データの
先頭アドレスは以降も使用するので、やはり(例えばC
PU3の内部RAMへ)記憶しておく。
ページデータより、ブロック管理テーブルを作成し、さ
らに、以降のページのデータの先頭アドレスを算出する
ための元データを読みだし、(例えばCPU3の内部R
AMへ)記憶する処理151を行なう。以降のページの
データの先頭アドレスを算出するための前記元データ
は、ブロックの先頭ページの、データの先頭アドレスで
も良いし、ブロックの先頭ページの管理データ1つに含
まれていても良い。ブロックの先頭ページの、データの
先頭アドレスは以降も使用するので、やはり(例えばC
PU3の内部RAMへ)記憶しておく。
【0043】次に、セクターリード、セクターライト等
のコマンド処理152を実行する。セクターリード、セ
クターライトのようなFlashメモリーをリードライ
トするコマンドの実行では、秘密アルゴリズムB13b
により各ページのデータ先頭アドレスを算出する。
のコマンド処理152を実行する。セクターリード、セ
クターライトのようなFlashメモリーをリードライ
トするコマンドの実行では、秘密アルゴリズムB13b
により各ページのデータ先頭アドレスを算出する。
【0044】次により詳細な処理の流れに付いて説明す
る。
る。
【0045】図10には処理150の中でのブロックの
先頭セクターの読みだし手順を、より詳細に示してあ
る。まず、Flashメモリーのアドレスから、秘密ア
ルゴリズムA13aによりデータの先頭パターンを算出
する処理112を実行する。次にFlashメモリーよ
り1wordもしくは1byteずつ読みだしDesc
rambleを行い、前述先頭パターンとの一致を調べ
る1連の処理113、114、115を行なう。このパ
ターンのサーチは先頭パターン検出回路15により行な
う。パターンが一致すると1ページ分のデータを読み出
す処理116を行なう。通常先頭パターンはページの先
頭にはないので、先頭パターンからページの最後まで読
んだ後にまた先頭から先頭パターンまでを読み出す事に
なる。次に1ページ分のデータのECCを調べ先頭パタ
ーンが正しい事の確認を行なう。ブロックの最初のセク
ターの、データの先頭位置はランダムに決められるの
で、解析が困難である。またパターンもブロック毎に変
化する。
先頭セクターの読みだし手順を、より詳細に示してあ
る。まず、Flashメモリーのアドレスから、秘密ア
ルゴリズムA13aによりデータの先頭パターンを算出
する処理112を実行する。次にFlashメモリーよ
り1wordもしくは1byteずつ読みだしDesc
rambleを行い、前述先頭パターンとの一致を調べ
る1連の処理113、114、115を行なう。このパ
ターンのサーチは先頭パターン検出回路15により行な
う。パターンが一致すると1ページ分のデータを読み出
す処理116を行なう。通常先頭パターンはページの先
頭にはないので、先頭パターンからページの最後まで読
んだ後にまた先頭から先頭パターンまでを読み出す事に
なる。次に1ページ分のデータのECCを調べ先頭パタ
ーンが正しい事の確認を行なう。ブロックの最初のセク
ターの、データの先頭位置はランダムに決められるの
で、解析が困難である。またパターンもブロック毎に変
化する。
【0046】このようにパターンで先頭セクタのデータ
の先頭を検出する方法は、実施例1のFlashメモリ
ーのアドレスから秘密アルゴリズムにより算出する方法
に比較してより解析が困難である。いずれにしろ最初の
ページのデータの先頭が判明したとしても、以下のペー
ジのデータの先頭の位置が分かるわけではない。
の先頭を検出する方法は、実施例1のFlashメモリ
ーのアドレスから秘密アルゴリズムにより算出する方法
に比較してより解析が困難である。いずれにしろ最初の
ページのデータの先頭が判明したとしても、以下のペー
ジのデータの先頭の位置が分かるわけではない。
【0047】ブロックの先頭セクターへの書き込みは以
下のように行なう。
下のように行なう。
【0048】乱数発生回路14によりパターンの先頭の
位置(アドレス)を決定する。
位置(アドレス)を決定する。
【0049】先頭からパターンの先頭の位置までユーザ
ーデーターを順番を逆にして書き込む。
ーデーターを順番を逆にして書き込む。
【0050】パターンを書き込む。
【0051】オーバーヘッドデータを書き込む。
【0052】ユーザーデーターを書き込む。
【0053】ECC生成処理(図7、図8)、Flas
hメモリーへの書き込み処理(図11)、Flashメ
モリーからの読みだし処理(図13)に関しては実施例
1とほぼ同じである。
hメモリーへの書き込み処理(図11)、Flashメ
モリーからの読みだし処理(図13)に関しては実施例
1とほぼ同じである。
【0054】Flashメモリーに書き込む際には秘匿
性を向上させるためScrambleを行ない、従って
読み出す際にはDescrambleするところが、以
上の処理に関して唯一異なる点である。
性を向上させるためScrambleを行ない、従って
読み出す際にはDescrambleするところが、以
上の処理に関して唯一異なる点である。
【0055】(実施例3)図3は請求項8記載の発明に
関わるモリーシステム例である。その構成を説明する。
関わるモリーシステム例である。その構成を説明する。
【0056】図3のメモリーシステムは、プロセッサー
とのインターフェース20、プロセッサーとのデータと
の送受の際に使用するリードライトバッファー21、メ
モリーシステムのコントロールを行なう1チップCPU
22、秘密アルゴリズムA23a、秘密アルゴリズムB
23b、秘密アルゴリズムC23c、Flashメモリ
ーのデータの信頼性確保のためのECC回路24、Fl
ashメモリーとのインターフェース31、Flash
メモリー32、Flashメモリーの読み出し書き込み
データをScramble、Descrambleする
Scrambler/Descrambler30,ブ
ロックの先頭ページのデーターの先頭を書き込みまたは
読み出しする時に使用する、乱数発生回路25、先頭パ
ターン検出回路26、一時的にページの管理データを貯
える管理データバッファー27、メモリーのリードライ
トデータを選択するセレクター29、オーバーヘッドデ
ータ混入タイミング発生回路28からなる。
とのインターフェース20、プロセッサーとのデータと
の送受の際に使用するリードライトバッファー21、メ
モリーシステムのコントロールを行なう1チップCPU
22、秘密アルゴリズムA23a、秘密アルゴリズムB
23b、秘密アルゴリズムC23c、Flashメモリ
ーのデータの信頼性確保のためのECC回路24、Fl
ashメモリーとのインターフェース31、Flash
メモリー32、Flashメモリーの読み出し書き込み
データをScramble、Descrambleする
Scrambler/Descrambler30,ブ
ロックの先頭ページのデーターの先頭を書き込みまたは
読み出しする時に使用する、乱数発生回路25、先頭パ
ターン検出回路26、一時的にページの管理データを貯
える管理データバッファー27、メモリーのリードライ
トデータを選択するセレクター29、オーバーヘッドデ
ータ混入タイミング発生回路28からなる。
【0057】20、21,22,23a,23b、2
4,25,26,30,31,32はそれぞれ図2の1
0、11、12、13a、13b、16、14、15、
17、18、19と同様である。
4,25,26,30,31,32はそれぞれ図2の1
0、11、12、13a、13b、16、14、15、
17、18、19と同様である。
【0058】図6にこの実施例で使用されるFlash
メモリー32の内部のデーターフォーマットを示す。図
6は1度に消去の出来る1ブロック60の内部のデータ
構成を示す。1ブロック60の内部の物理的構成は1ブ
ロック40と同じである。61はブロック60の、最初
のアドレスに位置する、先頭のページであり、62は次
のページであり、63は最後のアドレスのに位置する最
終のページである。ページはMByteから構成されて
いる。ページ内部には細かく分断されているユーザーデ
ータ69とオーバーヘッドデーター66,67,68と、
その一部である先頭パターン65がふくまれており、本
実施例はオーバーヘッドデーターがユーザーデータの中
に分散して混在しているところに特長がある。
メモリー32の内部のデーターフォーマットを示す。図
6は1度に消去の出来る1ブロック60の内部のデータ
構成を示す。1ブロック60の内部の物理的構成は1ブ
ロック40と同じである。61はブロック60の、最初
のアドレスに位置する、先頭のページであり、62は次
のページであり、63は最後のアドレスのに位置する最
終のページである。ページはMByteから構成されて
いる。ページ内部には細かく分断されているユーザーデ
ータ69とオーバーヘッドデーター66,67,68と、
その一部である先頭パターン65がふくまれており、本
実施例はオーバーヘッドデーターがユーザーデータの中
に分散して混在しているところに特長がある。
【0059】本実施例ではオーバーヘッドデータは3部
分に別れているがこれはどのように分解しても良い。も
っとも高度な方法としてはByte単位で分散させる方
法が考えられる。このようにオーバーヘッドデータを分
散して配置することにより、より秘匿性を高める事が出
来る。オーバーヘッドデータの分散方法(分散パター
ン)は非常に多数選択することが出来るので、解析をす
るのが非常に困難になる。
分に別れているがこれはどのように分解しても良い。も
っとも高度な方法としてはByte単位で分散させる方
法が考えられる。このようにオーバーヘッドデータを分
散して配置することにより、より秘匿性を高める事が出
来る。オーバーヘッドデータの分散方法(分散パター
ン)は非常に多数選択することが出来るので、解析をす
るのが非常に困難になる。
【0060】64はオーバーヘッドデータ66の先頭位
置が何Byte目かを示すアドレスである。64aは次
ページ62のオーバーヘッドデータの先頭位置を示すア
ドレスである。これらの位置はページ毎に変化し、その
ため管理データーの解析を困難にし、メモリーシステム
の秘匿性を高めている。
置が何Byte目かを示すアドレスである。64aは次
ページ62のオーバーヘッドデータの先頭位置を示すア
ドレスである。これらの位置はページ毎に変化し、その
ため管理データーの解析を困難にし、メモリーシステム
の秘匿性を高めている。
【0061】(実施例3の動作)図15にメモリーシス
テムの処理の全体の流れの概要が示されているが、図1
5に関しては実施例3は実施例2と何ら変わりはないの
で説明を省く。
テムの処理の全体の流れの概要が示されているが、図1
5に関しては実施例3は実施例2と何ら変わりはないの
で説明を省く。
【0062】図12には、Flashメモリーへの書き
込み手順を、詳細に示してある。まず、データの先頭ア
ドレスを算出するための前記元データから、秘密アルゴ
リズムB23bにより各セクタのデータの先頭アドレス
を算出する処理124を実行した後にデータ転送スター
ト処理125を行う。次に以下の手順でワードまたはB
yte単位でデーターを処理する。
込み手順を、詳細に示してある。まず、データの先頭ア
ドレスを算出するための前記元データから、秘密アルゴ
リズムB23bにより各セクタのデータの先頭アドレス
を算出する処理124を実行した後にデータ転送スター
ト処理125を行う。次に以下の手順でワードまたはB
yte単位でデーターを処理する。
【0063】処理126:秘密アルゴリズムC23cに
よりオーバーヘッドデータもしくはユーザーデータの選
択を行なう。つまりオーバーヘッドデータがどのように
分散するかは秘密アルゴリズムC23cにより各セクタ
のデータの先頭アドレス等から決定する。(分散方法の
最も単純なものは、等間隔にオーバーヘッドデータを配
置する方法などである)。
よりオーバーヘッドデータもしくはユーザーデータの選
択を行なう。つまりオーバーヘッドデータがどのように
分散するかは秘密アルゴリズムC23cにより各セクタ
のデータの先頭アドレス等から決定する。(分散方法の
最も単純なものは、等間隔にオーバーヘッドデータを配
置する方法などである)。
【0064】図25に秘密アルゴリズムCの簡単な実現
例を示す。最初にオーバーヘッドデータが現れるアドレ
スA1を元にランダマイズされた4つの間隔長データを
生成する。オーバーヘッドデータは1BYTEずつこの
間隔長データのBYTE数の間隔で書込まれる。間隔長
データは4しかないので同じパターンを繰り返す。
例を示す。最初にオーバーヘッドデータが現れるアドレ
スA1を元にランダマイズされた4つの間隔長データを
生成する。オーバーヘッドデータは1BYTEずつこの
間隔長データのBYTE数の間隔で書込まれる。間隔長
データは4しかないので同じパターンを繰り返す。
【0065】この処理はオーバーヘッドデータ混入タイ
ミング発生回路28により実行される。
ミング発生回路28により実行される。
【0066】処理127、128、129:ユーザーデ
ーターまたはオーバーヘッドデーターを処理126の結
果に従ってFlashメモリーインターフェース31に
データを転送する。
ーターまたはオーバーヘッドデーターを処理126の結
果に従ってFlashメモリーインターフェース31に
データを転送する。
【0067】この処理はセレクター29、管理データバ
ッファー27、ECC回路24により行われる。
ッファー27、ECC回路24により行われる。
【0068】処理130:31の書き込みデーターはS
crambleされる。
crambleされる。
【0069】この処理はScrambler/Desc
rambler30により行われる。
rambler30により行われる。
【0070】以上の処理は1BYTEもしくは1ワード
ずつ行なうので処理スピードを考慮するとハードウエア
で行なうのが望ましいがソフトでも処理は可能である。
ずつ行なうので処理スピードを考慮するとハードウエア
で行なうのが望ましいがソフトでも処理は可能である。
【0071】以上の処理を1ページ分(例えば528B
yte)行ない、1セクタの書き込み処理を終了する。
yte)行ない、1セクタの書き込み処理を終了する。
【0072】図14には、Flashメモリーからの読
みだし手順を、詳細に示してある。まず、データの先頭
アドレスを算出するための前記元データから、秘密アル
ゴリズムB23bにより各セクタのデータの先頭アドレ
スを算出する処理136を実行した後にデータ受信スタ
ート処理137を行う。次に以下の手順でワードまたは
Byte単位でデーターを処理する。
みだし手順を、詳細に示してある。まず、データの先頭
アドレスを算出するための前記元データから、秘密アル
ゴリズムB23bにより各セクタのデータの先頭アドレ
スを算出する処理136を実行した後にデータ受信スタ
ート処理137を行う。次に以下の手順でワードまたは
Byte単位でデーターを処理する。
【0073】処理142:31の読みだしデーターはD
escrambleされる。
escrambleされる。
【0074】この処理はScrambler/Desc
rambler30により行われる。
rambler30により行われる。
【0075】処理138:秘密アルゴリズムC23cに
よりオーバーヘッドデータもしくはユーザーデータの選
択を行なう。つまりオーバーヘッドデータがどのように
分散するかは秘密アルゴリズムC23cにより各セクタ
のデータの先頭アドレス等から決定する。(分散方法の
最も単純なものは、等間隔にオーバーヘッドデータを配
置する方法などである)。
よりオーバーヘッドデータもしくはユーザーデータの選
択を行なう。つまりオーバーヘッドデータがどのように
分散するかは秘密アルゴリズムC23cにより各セクタ
のデータの先頭アドレス等から決定する。(分散方法の
最も単純なものは、等間隔にオーバーヘッドデータを配
置する方法などである)。
【0076】この処理はオーバーヘッドデータ混入タイ
ミング発生回路28により実行される。
ミング発生回路28により実行される。
【0077】処理139、140、141:ユーザーデ
ーターまたはオーバーヘッドデーターを処理138の結
果に従ってFlashメモリーインターフェース31か
らのデータを、ECC回路24、管理データバッファー
27、リードライト゛バッファー21のいずれかに転送
する。
ーターまたはオーバーヘッドデーターを処理138の結
果に従ってFlashメモリーインターフェース31か
らのデータを、ECC回路24、管理データバッファー
27、リードライト゛バッファー21のいずれかに転送
する。
【0078】この処理はセレクター29、管理データバ
ッファー27、ECC回路24により行われる。
ッファー27、ECC回路24により行われる。
【0079】以上の処理は1BYTEもしくは1ワード
ずつ行なうので処理スピードを考慮するとハードウエア
で行なうのが望ましいがソフトでも処理は可能である。
ずつ行なうので処理スピードを考慮するとハードウエア
で行なうのが望ましいがソフトでも処理は可能である。
【0080】以上の処理を1ページ分行ない、1セクタ
の読みだし処理を終了する。
の読みだし処理を終了する。
【0081】(実施例4)請求項4記載の発明に関わる
モリーシステム例の構成はほぼ図1で表わされる。図1
と実際の構成が異なる点は、秘密アルゴリズムは図1中
の秘密アルゴリズムA4a、秘密アルゴリズムB4bに
相当するものが無く、代わりに別のアルゴリズムDがあ
ることである。
モリーシステム例の構成はほぼ図1で表わされる。図1
と実際の構成が異なる点は、秘密アルゴリズムは図1中
の秘密アルゴリズムA4a、秘密アルゴリズムB4bに
相当するものが無く、代わりに別のアルゴリズムDがあ
ることである。
【0082】図17は請求項4記載の発明に関わるモリ
ーシステム例のFlashメモリー内部の構成と、オー
バーヘッドデータのアドレス検索方法を図示したもので
ある。まずFlashメモリーの全体202は管理デー
タ専用部200とデータ部201に分割される。201
はページ毎に分割された形でユーザーデータとオーバー
ヘッドデータが収められている。また管理データ専用部
200内には、電源投入後最初にオーバーヘッドデータ
ーを読みだしに行くページの物理アドレス(チップn
o.、ブロックno.、ページno.からなる)とその
ページ内のデータが対応するLBA(Logical
Block Address)が記録されている。
ーシステム例のFlashメモリー内部の構成と、オー
バーヘッドデータのアドレス検索方法を図示したもので
ある。まずFlashメモリーの全体202は管理デー
タ専用部200とデータ部201に分割される。201
はページ毎に分割された形でユーザーデータとオーバー
ヘッドデータが収められている。また管理データ専用部
200内には、電源投入後最初にオーバーヘッドデータ
ーを読みだしに行くページの物理アドレス(チップn
o.、ブロックno.、ページno.からなる)とその
ページ内のデータが対応するLBA(Logical
Block Address)が記録されている。
【0083】(実施例4の動作)電源立ち上げ後にオー
バーヘッドデーターを読み出す手順は以下である。
バーヘッドデーターを読み出す手順は以下である。
【0084】最初に読み出すページ203の物理アドレ
スとLBAを管理データ専用部200より読み出す。
スとLBAを管理データ専用部200より読み出す。
【0085】図18に示される様に秘密アルゴリズムD
により最初のページ203のオーバーヘッドデーター2
04が格納されているアドレスを求める。
により最初のページ203のオーバーヘッドデーター2
04が格納されているアドレスを求める。
【0086】オーバーヘッドデーター204を読みだす
と、その中に次のページ205の物理アドレスとLBA
が収められている。
と、その中に次のページ205の物理アドレスとLBA
が収められている。
【0087】2.と同様に、秘密アルゴリズムDにより
次のページ205のオーバーヘッドデーター206が格
納されているアドレスを求める。
次のページ205のオーバーヘッドデーター206が格
納されているアドレスを求める。
【0088】図26に秘密アルゴリズムDの簡単な実現
例を示す。最初にオーバーヘッドデータが現れるアドレ
スA1はLBAとFlashブロックまたはページの物
理アドレスを加算したものをランダマイズして生成す
る。
例を示す。最初にオーバーヘッドデータが現れるアドレ
スA1はLBAとFlashブロックまたはページの物
理アドレスを加算したものをランダマイズして生成す
る。
【0089】オーバーヘッドデーター206を読みだす
と、その中に次のページ207の物理アドレスとLBA
が収られている。
と、その中に次のページ207の物理アドレスとLBA
が収られている。
【0090】以下同様の処理により必要なすべてのペー
ジのオーバーヘッドデータが読み出される。また各ペー
ジのオーバーヘッドデータに次のページの物理アドレス
とLBAを書き込むには次のようにする。
ジのオーバーヘッドデータが読み出される。また各ペー
ジのオーバーヘッドデータに次のページの物理アドレス
とLBAを書き込むには次のようにする。
【0091】1.まず必ず、書き込みを行なう時に、F
lashメモリー内に1ページまたは1ブロックの予備
領域を確保する。
lashメモリー内に1ページまたは1ブロックの予備
領域を確保する。
【0092】2.従って1ページまたは1ブロックの書
き込みを行なう時には、次の書き込みページブロックを
予備領域に決定できる。書き込みの時にオーバーヘッド
データ内に次のページ、即ち予備領域の物理アドレスと
LBAを書き込む。
き込みを行なう時には、次の書き込みページブロックを
予備領域に決定できる。書き込みの時にオーバーヘッド
データ内に次のページ、即ち予備領域の物理アドレスと
LBAを書き込む。
【0093】また管理データ専用部200のデータも書
き換えが必要であるが、最初に読み出すページ203が
書き換えられる時だけなので非常に頻度が少なく、負荷
としては小さい。
き換えが必要であるが、最初に読み出すページ203が
書き換えられる時だけなので非常に頻度が少なく、負荷
としては小さい。
【0094】(実施例5)図21は請求項5記載の発明
に関わるメモリーシステム例である。その構成を説明す
る。
に関わるメモリーシステム例である。その構成を説明す
る。
【0095】図21のメモリーシステムは、プロセッサ
ーとのインターフェース300、プロセッサーとのデー
タとの送受の際に使用するリードライトバッファー30
1、メモリーシステムのコントロールを行なう1チップ
CPU302、Flashメモリーのデータの信頼性確
保のためのECC回路303、Flashメモリーとの
インターフェース307、Flashメモリー308,
一時的にページの管理データを貯える管理データバッフ
ァー304、ECCデータと管理データのいずれかをオ
ーバーヘッドデータとして入出力するセレクター30
5、Flashへの書き込みと読み出し時にデーターを
コード変換またはコード逆変換するコード変換部306
からなる。
ーとのインターフェース300、プロセッサーとのデー
タとの送受の際に使用するリードライトバッファー30
1、メモリーシステムのコントロールを行なう1チップ
CPU302、Flashメモリーのデータの信頼性確
保のためのECC回路303、Flashメモリーとの
インターフェース307、Flashメモリー308,
一時的にページの管理データを貯える管理データバッフ
ァー304、ECCデータと管理データのいずれかをオ
ーバーヘッドデータとして入出力するセレクター30
5、Flashへの書き込みと読み出し時にデーターを
コード変換またはコード逆変換するコード変換部306
からなる。
【0096】301、302、303、307、308
はそれぞれ図2の10、11、12、16、18、19
と同様である。
はそれぞれ図2の10、11、12、16、18、19
と同様である。
【0097】図19にコード変換部のより詳細な構成が
示してある。図中の1ページ分のユーザーデータ31
0、と1ページ分のオーバーヘッドデータ311はコー
ド変換部には含まれていないが説明のため図示してあ
る。つまりコード変換部はテンポラリーコードレジスタ
312とコード変換テーブル314と逆変換テーブル3
13からなる。
示してある。図中の1ページ分のユーザーデータ31
0、と1ページ分のオーバーヘッドデータ311はコー
ド変換部には含まれていないが説明のため図示してあ
る。つまりコード変換部はテンポラリーコードレジスタ
312とコード変換テーブル314と逆変換テーブル3
13からなる。
【0098】テンポラリーコードレジスタ312はオー
バーヘッドの1ビット(Kビット)とユーザーデータ3
2ビット(Jビット)を一時的に貯える。コード変換テ
ーブル314はFlashへの書き込み時にテンポラリ
ーコードレジスター312からの入力をコード変換して
Flashの書き込みデーター(33ビット)を出力す
る。コード逆変換テーブル313はFlash読みだし
時に、Flashの読みだしデータを逆変換してテンポ
ラリーレジスター312にデータ(33ビット)を出力
する。変換テーブルと逆変換テーブルは必ずしもテーブ
ルである必要は無く、変換機能を持った回路または高速
なソフトウエアでもよい。
バーヘッドの1ビット(Kビット)とユーザーデータ3
2ビット(Jビット)を一時的に貯える。コード変換テ
ーブル314はFlashへの書き込み時にテンポラリ
ーコードレジスター312からの入力をコード変換して
Flashの書き込みデーター(33ビット)を出力す
る。コード逆変換テーブル313はFlash読みだし
時に、Flashの読みだしデータを逆変換してテンポ
ラリーレジスター312にデータ(33ビット)を出力
する。変換テーブルと逆変換テーブルは必ずしもテーブ
ルである必要は無く、変換機能を持った回路または高速
なソフトウエアでもよい。
【0099】この実施例ではユーザーデータが32ビッ
ト、オーバーヘッドデータが1ビットで33ビットのテ
ンポラリーコードを構成しているがこれは特に規定され
るものではない。しかし通常のFlashメモリーの構
成がユーザーデータ部512Bでオーバーヘッド部が1
6Bであるので、ユーザーデータ部のビット数とオーバ
ーヘッドデータのビット数の比は32;1より大きけれ
ばよい。つまり33:1、34:1、35:1等の値が
選択できる。
ト、オーバーヘッドデータが1ビットで33ビットのテ
ンポラリーコードを構成しているがこれは特に規定され
るものではない。しかし通常のFlashメモリーの構
成がユーザーデータ部512Bでオーバーヘッド部が1
6Bであるので、ユーザーデータ部のビット数とオーバ
ーヘッドデータのビット数の比は32;1より大きけれ
ばよい。つまり33:1、34:1、35:1等の値が
選択できる。
【0100】(実施例5の動作)1ページ分のFlas
hへの書き込みの動作は以下のようである。
hへの書き込みの動作は以下のようである。
【0101】まずユーザーデータの最初の2バイトをテ
ンポラリーレジスター312にロードする。同時にオー
バーヘッドデータの最初の1ビットもテンポラリーレジ
スター312にロードする。
ンポラリーレジスター312にロードする。同時にオー
バーヘッドデータの最初の1ビットもテンポラリーレジ
スター312にロードする。
【0102】ECCはこの時既に確定していなければな
らない。従ってプロセッサーから書き込みデータを受信
する時に計算するなどして、書き込み動作が始まる前に
ECCの計算を終了しておく。同様に他の1ページ分の
管理データもあらかじめ用意して、ECCデータと合わ
せて管理データバッファー304に貯えておく。図では
テンポラリーレジスター312の最上位にオーバーヘッ
ドデータをロードしているが、ロードする位置はどこで
もよい。次にコード変換テーブル314はテンポラリー
コードレジスター312からの入力をコード変換してF
lashの書き込みデーター(33ビット)を出力す
る。これで書き込みデータが33ビット用意できたわけ
であるが、Flashの書き込みはバイトまたは複数バ
イト単位である。従ってFlashインターフェース3
07でバッファリングしてバイト単位または複数バイト
単位にして書き込む。以下同様に書き込み512B+1
6Bの書き込みが終了する。
らない。従ってプロセッサーから書き込みデータを受信
する時に計算するなどして、書き込み動作が始まる前に
ECCの計算を終了しておく。同様に他の1ページ分の
管理データもあらかじめ用意して、ECCデータと合わ
せて管理データバッファー304に貯えておく。図では
テンポラリーレジスター312の最上位にオーバーヘッ
ドデータをロードしているが、ロードする位置はどこで
もよい。次にコード変換テーブル314はテンポラリー
コードレジスター312からの入力をコード変換してF
lashの書き込みデーター(33ビット)を出力す
る。これで書き込みデータが33ビット用意できたわけ
であるが、Flashの書き込みはバイトまたは複数バ
イト単位である。従ってFlashインターフェース3
07でバッファリングしてバイト単位または複数バイト
単位にして書き込む。以下同様に書き込み512B+1
6Bの書き込みが終了する。
【0103】同様に1ページ分のFlashからの読み
だし動作は以下のようである。
だし動作は以下のようである。
【0104】まずFlashからの最初の33ビットデ
ータを逆変換テーブル313により変換してテンポラリ
ーコードレジスタ312にロードする。この時もFla
shからの読みだしデータはバイトまたは複数バイト単
位であるので、Flashインターフェース307でバ
ッファリングしてデータを33ビットに区切る。テンポ
ラリーコードレジスタ312のオーバーヘッドデータ1
ビットは管理データバッファー304へ、ユーザーデー
タ32ビットはCPU302の内部RAMまたはリード
ライトバッファー301に転送される。この時ECCの
計算はテンポラリーコードレジスタ312から転送され
るデータに対して行われる。1ページ分のデーターを読
込むと、管理データバッファー内に貯えられているEC
CデータとECC回路303での計算結果との比較を行
ない。エラーチェックまたはエラーコレクションを行な
う。
ータを逆変換テーブル313により変換してテンポラリ
ーコードレジスタ312にロードする。この時もFla
shからの読みだしデータはバイトまたは複数バイト単
位であるので、Flashインターフェース307でバ
ッファリングしてデータを33ビットに区切る。テンポ
ラリーコードレジスタ312のオーバーヘッドデータ1
ビットは管理データバッファー304へ、ユーザーデー
タ32ビットはCPU302の内部RAMまたはリード
ライトバッファー301に転送される。この時ECCの
計算はテンポラリーコードレジスタ312から転送され
るデータに対して行われる。1ページ分のデーターを読
込むと、管理データバッファー内に貯えられているEC
CデータとECC回路303での計算結果との比較を行
ない。エラーチェックまたはエラーコレクションを行な
う。
【0105】このようにECCはコード変換したデータ
に対して行なっている。従ってコード変換によりデータ
ーのエラーが拡大してしまう場合などはECCの効果が
減少してしまう。これを避けるためにはより強力なEC
Cを採用する方法がある。例えばリードソロモンによる
方法のようにバーストエラーに対して強いECCを使用
する方法である。またエラーの拡大が押さえられる、特
殊なコード変換を使用する方法がある。図20に非常に
簡単な例を示す。
に対して行なっている。従ってコード変換によりデータ
ーのエラーが拡大してしまう場合などはECCの効果が
減少してしまう。これを避けるためにはより強力なEC
Cを採用する方法がある。例えばリードソロモンによる
方法のようにバーストエラーに対して強いECCを使用
する方法である。またエラーの拡大が押さえられる、特
殊なコード変換を使用する方法がある。図20に非常に
簡単な例を示す。
【0106】この変換例ではビット32が1の時はビッ
ト31−0を反転させる。よってビット31−0はエラ
ーが発生してもそのエラーのビット数はコード変換後も
同じである。しかしビット32にエラーが発生した場合
はエラーが拡大する。図20の400のデータのビット
32が1にエラーすると401になる。従ってテンポラ
リーコードレジスタのデータ403が402になってし
まうので、何と31ビットのエラーに拡大してしまう。
しかしこのような極端な場合は通常のエラーと区別でき
る。つまり極端にエラーが多い場合は反転の条件が間違
っている事を推測してデータを反転しないでECCを調
べる。そしてエラーが充分に少なければその時のエラー
数が実際のエラーと判明する。このようにして、データ
を調べる事によって正しいエラー訂正が可能となる。
ト31−0を反転させる。よってビット31−0はエラ
ーが発生してもそのエラーのビット数はコード変換後も
同じである。しかしビット32にエラーが発生した場合
はエラーが拡大する。図20の400のデータのビット
32が1にエラーすると401になる。従ってテンポラ
リーコードレジスタのデータ403が402になってし
まうので、何と31ビットのエラーに拡大してしまう。
しかしこのような極端な場合は通常のエラーと区別でき
る。つまり極端にエラーが多い場合は反転の条件が間違
っている事を推測してデータを反転しないでECCを調
べる。そしてエラーが充分に少なければその時のエラー
数が実際のエラーと判明する。このようにして、データ
を調べる事によって正しいエラー訂正が可能となる。
【0107】この例では簡単すぎて、容易に解析できる
ので、実際のコード化には反転するビットを選択した
り、反転の条件をビットのパターンにする事によってよ
り複雑にする事が必要である。
ので、実際のコード化には反転するビットを選択した
り、反転の条件をビットのパターンにする事によってよ
り複雑にする事が必要である。
【0108】
【発明の効果】以上述べた様に本発明のコンピューター
システムの操作方法によれば簡単な回路を付加する事に
より、メモリーシステム、またはメモリーチップ単位で
の高度な秘匿性を得る事が可能となる。
システムの操作方法によれば簡単な回路を付加する事に
より、メモリーシステム、またはメモリーチップ単位で
の高度な秘匿性を得る事が可能となる。
【0109】また本発明ではページの先頭アドレスか
ら、最初にオーバーヘッドデータが現れるアドレスまで
のデータの順番を逆にする手段を備え、各ページの先頭
のデータとユーザーデーターの先頭を不一致にする事に
より、より解析を困難にする。
ら、最初にオーバーヘッドデータが現れるアドレスまで
のデータの順番を逆にする手段を備え、各ページの先頭
のデータとユーザーデーターの先頭を不一致にする事に
より、より解析を困難にする。
【0110】また本発明ではページ内のオーバーヘッド
データを複数の部分にわけて分散配置し、その配置の仕
方は、秘密アルゴリズムニより決定する手段を有してい
る。これにより、オーバーヘッドデータの配置パターン
は無数に考えられるので、解析は非常に難しくなる。
データを複数の部分にわけて分散配置し、その配置の仕
方は、秘密アルゴリズムニより決定する手段を有してい
る。これにより、オーバーヘッドデータの配置パターン
は無数に考えられるので、解析は非常に難しくなる。
【0111】また本発明ではプロセッサーからライトデ
ータをライトバッファーに受信すると同時にECC演算
を行なう手段を有する。これにより、メモリーに書き込
みを行なう時には既にECCデータが計算されているの
で、余分なメモリーの読みだしを行なわずに、任意の位
置にオーバーヘッドデーターを配置する事が出来る。
ータをライトバッファーに受信すると同時にECC演算
を行なう手段を有する。これにより、メモリーに書き込
みを行なう時には既にECCデータが計算されているの
で、余分なメモリーの読みだしを行なわずに、任意の位
置にオーバーヘッドデーターを配置する事が出来る。
【0112】また本発明では不揮発性メモリーへの書き
込みデータを、ユーザーデータのビットと、オーバーヘ
ッドデータのビットの組み合わせてコード化する事によ
り、メモリーシステム、またはメモリーチップ単位での
高度な秘匿性を得る事が可能となる。
込みデータを、ユーザーデータのビットと、オーバーヘ
ッドデータのビットの組み合わせてコード化する事によ
り、メモリーシステム、またはメモリーチップ単位での
高度な秘匿性を得る事が可能となる。
【図1】本発明の1実施の形態を示すシステム構成図
(実施例1)。
(実施例1)。
【図2】本発明の1実施の形態を示すシステム構成図
(実施例2)。
(実施例2)。
【図3】本発明の1実施の形態を示すシステム構成図
(実施例3)。
(実施例3)。
【図4】本発明の1実施のメモリー内部のデータフォー
マット(実施例1)。
マット(実施例1)。
【図5】本発明の1実施のメモリー内部のデータフォー
マット(実施例2)。
マット(実施例2)。
【図6】本発明の1実施のメモリー内部のデータフォー
マット(実施例3)。
マット(実施例3)。
【図7】ECC生成フローチャート(メモリーへの書き
込み時)。
込み時)。
【図8】ECC生成フローチャート(メモリーから読み
だし時)。
だし時)。
【図9】先頭セクターの電源立ち上げ直後の読みだしフ
ローチャート。
ローチャート。
【図10】先頭セクターの電源立ち上げ直後の読みだし
フローチャート。
フローチャート。
【図11】メモリーへの書き込みフローチャート。
【図12】メモリーへの書き込みフローチャート(自動
的にオーバーヘッドデータを混入)。
的にオーバーヘッドデータを混入)。
【図13】Flashメモリーからの読みだしフローチ
ャート。
ャート。
【図14】Flashメモリーからの読みだしフローチ
ャート(自動的にオーバーヘッドデータを分離)。
ャート(自動的にオーバーヘッドデータを分離)。
【図15】メモリーシステム処理全体の流れのフローチ
ャート。
ャート。
【図16】従来の方法によるメモリー内部のデーターフ
ォーマット。
ォーマット。
【図17】本発明の1実施のオーバーヘッドデータのア
ドレス検索方法の説明図。
ドレス検索方法の説明図。
【図18】本発明の1実施のオーバーヘッドデータのア
ドレス決定方法のフローチャート。
ドレス決定方法のフローチャート。
【図19】本発明の1実施のコード変換部の詳細な構成
図。
図。
【図20】本発明の1実施のコード変換例のコード表。
【図22】本発明の1実施の秘密アルゴリズム(4
a)。
a)。
【図23】本発明の1実施の秘密アルゴリズムのハード
構成図(4a)。
構成図(4a)。
【図24】本発明の1実施の秘密アルゴリズム(4
b)。
b)。
【図25】本発明の1実施の秘密アルゴリズム(4
c)。
c)。
【図26】本発明の1実施の秘密アルゴリズム(D)。
1、10、20、300・・・プロセッサーとのインター
フェース 2、11、21、301・・・リードライトバッファー 12、22、302・・・1チップCPU 4a、13a、23a・・・秘密アルゴリズムA 4b、13b、23b・・・秘密アルゴリズムB 5、16、24、303ECC回路 6、18、31、307Flashメモリーとのインタ
ーフェース 19、32、308Flashメモリー 14、25乱数発生回路 15、26先頭パターン検出回路 17、Scrambler/Descrambler 23c・・・秘密アルゴリズムC 27・・・管理データバッファー 28・・・オーバーヘッドデータ混入タイミング発生回路 29・・・リードライトデータを選択するセレクタ 40、50、60Flashメモリーの1ブロック 41、51、611ブロック内の先頭のページ 52、621ブロック内の先頭の次のページ 53、63最後のアドレスに位置する最終のページ 54、オーバーヘッドデータの先頭位置 55、次ページのオーバーヘッドデータの先頭位置 56、66、67、68オーバーヘッドデーター 47、48、57、59、ユーザーデータ 65オーバーヘッドデーターの先頭パターン 200管理データ専用部 201データ部 202、Flashメモリーの全体 304管理データバッファー 305オーバーヘッドデータのセレクター 306コード変換部 312テンポラリーコードレジスタ 313逆変換テーブル 314コード変換テーブル
フェース 2、11、21、301・・・リードライトバッファー 12、22、302・・・1チップCPU 4a、13a、23a・・・秘密アルゴリズムA 4b、13b、23b・・・秘密アルゴリズムB 5、16、24、303ECC回路 6、18、31、307Flashメモリーとのインタ
ーフェース 19、32、308Flashメモリー 14、25乱数発生回路 15、26先頭パターン検出回路 17、Scrambler/Descrambler 23c・・・秘密アルゴリズムC 27・・・管理データバッファー 28・・・オーバーヘッドデータ混入タイミング発生回路 29・・・リードライトデータを選択するセレクタ 40、50、60Flashメモリーの1ブロック 41、51、611ブロック内の先頭のページ 52、621ブロック内の先頭の次のページ 53、63最後のアドレスに位置する最終のページ 54、オーバーヘッドデータの先頭位置 55、次ページのオーバーヘッドデータの先頭位置 56、66、67、68オーバーヘッドデーター 47、48、57、59、ユーザーデータ 65オーバーヘッドデーターの先頭パターン 200管理データ専用部 201データ部 202、Flashメモリーの全体 304管理データバッファー 305オーバーヘッドデータのセレクター 306コード変換部 312テンポラリーコードレジスタ 313逆変換テーブル 314コード変換テーブル
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成10年3月13日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図面の簡単な説明
【補正方法】変更
【補正内容】
【図面の簡単な説明】
【図1】本発明の1実施の形態を示すシステム構成図
(実施例1)。
(実施例1)。
【図2】本発明の1実施の形態を示すシステム構成図
(実施例2)。
(実施例2)。
【図3】本発明の1実施の形態を示すシステム構成図
(実施例3)。
(実施例3)。
【図4】本発明の1実施のメモリー内部のデータフォー
マット(実施例1)。
マット(実施例1)。
【図5】本発明の1実施のメモリー内部のデータフォー
マット(実施例2)。
マット(実施例2)。
【図6】本発明の1実施のメモリー内部のデータフォー
マット(実施例3)。
マット(実施例3)。
【図7】ECC生成フローチャート(メモリーへの書き
込み時)。
込み時)。
【図8】ECC生成フローチャート(メモリーから読み
だし時)。
だし時)。
【図9】先頭セクターの電源立ち上げ直後の読みだしフ
ローチャート。
ローチャート。
【図10】先頭セクターの電源立ち上げ直後の読みだし
フローチャート。
フローチャート。
【図11】メモリーへの書き込みフローチャート。
【図12】メモリーへの書き込みフローチャート(自動
的にオーバーヘッドデータを混入)。
的にオーバーヘッドデータを混入)。
【図13】Flashメモリーからの読みだしフローチ
ャート。
ャート。
【図14】Flashメモリーからの読みだしフローチ
ャート(自動的にオーバーヘッドデータを分離)。
ャート(自動的にオーバーヘッドデータを分離)。
【図15】メモリーシステム処理全体の流れのフローチ
ャート。
ャート。
【図16】従来の方法によるメモリー内部のデーターフ
ォーマット。
ォーマット。
【図17】本発明の1実施のオーバーヘッドデータのア
ドレス検索方法の説明図。
ドレス検索方法の説明図。
【図18】本発明の1実施のオーバーヘッドデータのア
ドレス決定方法のフローチャート。
ドレス決定方法のフローチャート。
【図19】本発明の1実施のコード変換部の詳細な構成
図。
図。
【図20】本発明の1実施のコード変換例のコード表。
【図21】本発明の1実施の形態を示すシステム構成図
(実施例5)。
(実施例5)。
【図22】本発明の1実施の秘密アルゴリズム(4
a)。
a)。
【図23】本発明の1実施の秘密アルゴリズムのハード
構成図(4a)。
構成図(4a)。
【図24】本発明の1実施の秘密アルゴリズム(4
b)。
b)。
【図25】本発明の1実施の秘密アルゴリズム(4
c)。
c)。
【図26】本発明の1実施の秘密アルゴリズム(D)。
【符号の説明】 1、10、20、300・・・プロセッサーとのインター
フェース 2、11、21、301・・・リードライトバッファー 12、22、302・・・1チップCPU 4a、13a、23a・・・秘密アルゴリズムA 4b、13b、23b・・・秘密アルゴリズムB 5、16、24、303ECC回路 6、18、31、307Flashメモリーとのインタ
ーフェース 19、32、308Flashメモリー 14、25乱数発生回路 15、26先頭パターン検出回路 17、Scrambler/Descrambler 23c・・・秘密アルゴリズムC 27・・・管理データバッファー 28・・・オーバーヘッドデータ混入タイミング発生回路 29・・・リードライトデータを選択するセレクタ 40、50、60Flashメモリーの1ブロック 41、51、611ブロック内の先頭のページ 52、621ブロック内の先頭の次のページ 53、63最後のアドレスに位置する最終のページ 54、オーバーヘッドデータの先頭位置 55、次ページのオーバーヘッドデータの先頭位置 56、66、67、68オーバーヘッドデーター 47、48、57、59、ユーザーデータ 65オーバーヘッドデーターの先頭パターン 200管理データ専用部 201データ部 202、Flashメモリーの全体 304管理データバッファー 305オーバーヘッドデータのセレクター 306コード変換部 312テンポラリーコードレジスタ 313逆変換テーブル 314コード変換テーブル
フェース 2、11、21、301・・・リードライトバッファー 12、22、302・・・1チップCPU 4a、13a、23a・・・秘密アルゴリズムA 4b、13b、23b・・・秘密アルゴリズムB 5、16、24、303ECC回路 6、18、31、307Flashメモリーとのインタ
ーフェース 19、32、308Flashメモリー 14、25乱数発生回路 15、26先頭パターン検出回路 17、Scrambler/Descrambler 23c・・・秘密アルゴリズムC 27・・・管理データバッファー 28・・・オーバーヘッドデータ混入タイミング発生回路 29・・・リードライトデータを選択するセレクタ 40、50、60Flashメモリーの1ブロック 41、51、611ブロック内の先頭のページ 52、621ブロック内の先頭の次のページ 53、63最後のアドレスに位置する最終のページ 54、オーバーヘッドデータの先頭位置 55、次ページのオーバーヘッドデータの先頭位置 56、66、67、68オーバーヘッドデーター 47、48、57、59、ユーザーデータ 65オーバーヘッドデーターの先頭パターン 200管理データ専用部 201データ部 202、Flashメモリーの全体 304管理データバッファー 305オーバーヘッドデータのセレクター 306コード変換部 312テンポラリーコードレジスタ 313逆変換テーブル 314コード変換テーブル
Claims (9)
- 【請求項1】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記不揮発性フローティングゲ
ートメモリーアレーはブロックに分割され、前記ブロッ
ク内のメモリーアレーは同時に消去が可能で有り、前記
ブロックは、前記プロセッサーからの転送されるデータ
の1単位数に対応したメモリー容量を持つページに分割
され、ユーザーデーターとオーバーヘッドデーターが同
一の前記ページに書き込まれ、前記プロセッサーからの
1単位数の書き込みデーターを受信するために前記メモ
リーシステムはライトバッファーを有している、コンピ
ューターシステムにおいて、前記メモリーシステムが電
源立ち上げ後、各ブロックにおいて、最初に読み出すペ
ージP1内で、最初に前記オーバーヘッドデータが現れ
るアドレスA1を前記ブロックのアドレスから秘密アル
ゴリズムにより決定する手段を有する事を特徴とする、
前記コンピューターシステムの操作方法。 - 【請求項2】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記不揮発性フローティングゲ
ートメモリーアレーはブロックに分割され、前記ブロッ
ク内のメモリーアレーは同時に消去が可能で有り、前記
ブロックは、前記プロセッサーからの転送されるデータ
の1単位数に対応したメモリー容量を持つページに分割
され、ユーザーデーターとオーバーヘッドデーターが同
一の前記ページに書き込まれ、前記プロセッサーからの
1単位数の書き込みデーターを受信するために前記メモ
リーシステムはライトバッファーを有している、コンピ
ューターシステムにおいて、前記メモリーシステムが電
源立ち上げ後、各ブロックにおいて、最初に読み出すペ
ージP1内で、最初に前記オーバーヘッドデータが現れ
るアドレスA1の複数の候補を、前記ブロックのアドレ
スから秘密アルゴリズムにより決定し、前記アドレスの
複数の候補から正しいアドレスをError Corr
ectionCheck(以降ECCとする)を用いて
決定する手段を有する事を特徴とする、前記コンピュー
ターシステムの操作方法。 - 【請求項3】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記不揮発性フローティングゲ
ートメモリーアレーはブロックに分割され、前記ブロッ
ク内のメモリーアレーは同時に消去が可能で有り、前記
ブロックは、前記プロセッサーからの転送されるデータ
の1単位数に対応したメモリー容量を持つページに分割
され、ユーザーデーターとオーバーヘッドデーターが同
一の前記ページに書き込まれ、前記プロセッサーからの
1単位数の書き込みデーターを受信するために前記メモ
リーシステムはライトバッファーを有している、コンピ
ューターシステムにおいて、前記メモリーシステムが電
源立ち上げ後、各ブロックにおいて、最初に読み出すペ
ージP1内で、最初に前記オーバーヘッドデータが現れ
るアドレスA1に前記ブロックのアドレスから秘密アル
ゴリズムにより決定される特殊なパターンを書き込んで
おき、前記パターンを検知する事により前記アドレスA
1を決定する手段を有する事を特徴とする、前記コンピ
ューターシステムの操作方法。 - 【請求項4】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記メモリーアレイは、前記プ
ロセッサーからの転送されるデータの1単位数に対応し
たメモリー容量を持つページに分割され、前記プロセッ
サーからの1単位数の書き込みデーターを受信するため
に前記メモリーシステムはライトバッファーを有してい
る、コンピューターシステムにおいて、前記メモリーシ
ステムは管理データだけ書き込まれる管理データ専用部
を少なくとも1個所前記メモリーアレー内に有し、前記
メモリーアレーのそれ以外の部分ではユーザーデーター
とオーバーヘッドデーターが同一の前記ページに書き込
まれ、前記メモリーシステムが電源立ち上げ後、最初に
読み出すページP1のアドレスA0と、P1内で最初に
前記オーバーヘッドデータが現れるアドレスA1を前記
管理データ専用部のデータにより決定する手段を有する
事を特徴とする、前記コンピューターシステムの操作方
法。 - 【請求項5】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記メモリーアレイは、前記プ
ロセッサーから転送されるデータの1単位数に対応した
メモリー容量を持つページに分割され、前記プロセッサ
ーからの1単位数の書き込みデーターを受信するために
前記メモリーシステムはライトバッファーを有してい
る、コンピューターシステムにおいて、前記メモリーシ
ステムへの書き込み時には、前記ユーザーデータからな
るJビットと、前記オーバーヘッドデータからなるKビ
ットより構成されるJ+Kビットのテンポラリーコード
を作成し、前記テンポラリーコードを、異なったJ+K
ビットのコードにコード変換した後に、前記ページに書
き込み、前記メモリーシステムからの読み出し時には、
前記ページより読み出したデータをJ+Kビットに区切
り、逆変換してJ+Kビットの元データに戻す手段を有
する事を特徴とするコンピューターシステムの操作方
法。 - 【請求項6】請求1、2、3、4において、前記ブロッ
ク内の、前記ページP1以外のページで最初にオーバー
ヘッドデータが現れるアドレスA2を、前記ページP1
で最初に前記オーバーヘッドデータが現れるアドレスA
1、または前記ページP1のオーバーヘッドデータを基
に秘密アルゴリズムニより決定する事を特徴とするコン
ピューターシステムの操作方法。 - 【請求項7】請求項1、2、3、4において、ページの
先頭アドレスから、最初にオーバーヘッドデータが現れ
るアドレスまでのデータの順番を逆にする事を特徴とす
るコンピューターシステムの操作方法。 - 【請求項8】請求項1、2、3、4においてページ内の
オーバーヘッドデータを複数の部分にわけて分散配置
し、その配置の仕方は、最初に前記オーバーヘッドデー
タが現れるアドレスA1、または前記ページP1のオー
バーヘッドデータを基に秘密アルゴリズムニより決定す
る事を特徴とするコンピューターシステムの操作方法。 - 【請求項9】請求項1、2、3、4、5おいて、前記プ
ロセッサーからライトデータを前記ライトバッファーに
受信しながらECC演算を行なう事を特徴とするコンピ
ューターシステムの操作方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10014599A JPH11212873A (ja) | 1998-01-27 | 1998-01-27 | コンピューターシステムの操作方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP10014599A JPH11212873A (ja) | 1998-01-27 | 1998-01-27 | コンピューターシステムの操作方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11212873A true JPH11212873A (ja) | 1999-08-06 |
Family
ID=11865665
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10014599A Withdrawn JPH11212873A (ja) | 1998-01-27 | 1998-01-27 | コンピューターシステムの操作方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH11212873A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002537596A (ja) * | 1999-02-17 | 2002-11-05 | メンクエスト インコーポレイテッド | メモリシステム |
| JP2006203822A (ja) * | 2005-01-24 | 2006-08-03 | Ntt Data Corp | 演算装置およびコンピュータプログラム |
| JP2009245218A (ja) * | 2008-03-31 | 2009-10-22 | Nec Corp | メモリ装置及びメモリ制御方法 |
| JP2010517168A (ja) * | 2007-01-26 | 2010-05-20 | マイクロン テクノロジー, インク. | Nandメモリのためのプログラミング管理データ |
-
1998
- 1998-01-27 JP JP10014599A patent/JPH11212873A/ja not_active Withdrawn
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2002537596A (ja) * | 1999-02-17 | 2002-11-05 | メンクエスト インコーポレイテッド | メモリシステム |
| JP5011498B2 (ja) * | 1999-02-17 | 2012-08-29 | レクサー・メディア・インコーポレイテッド | メモリシステム |
| JP2006203822A (ja) * | 2005-01-24 | 2006-08-03 | Ntt Data Corp | 演算装置およびコンピュータプログラム |
| JP2010517168A (ja) * | 2007-01-26 | 2010-05-20 | マイクロン テクノロジー, インク. | Nandメモリのためのプログラミング管理データ |
| US8943387B2 (en) | 2007-01-26 | 2015-01-27 | Micron Technology, Inc. | Programming management data for a memory |
| JP2009245218A (ja) * | 2008-03-31 | 2009-10-22 | Nec Corp | メモリ装置及びメモリ制御方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US5131091A (en) | Memory card including copy protection | |
| US6769087B2 (en) | Data storage device and method for controlling the device | |
| CN101149709B (zh) | 存储卡的加密处理器和使用其进行数据读写的方法 | |
| JPH113284A (ja) | 情報記憶媒体およびそのセキュリティ方法 | |
| US7761780B2 (en) | Method, apparatus, and system for protecting memory | |
| US20080192928A1 (en) | Portable Electronic Storage Devices with Hardware Security Based on Advanced Encryption Standard | |
| US20120144100A1 (en) | Memory system and method of writing into nonvolatile semiconductor memory | |
| US20040255225A1 (en) | Control circuit for error checking and correction and memory controller | |
| KR20100099960A (ko) | 불휘발성 메모리 장치의 동작 방법 | |
| US8473784B2 (en) | Storage apparatus and method of data processing | |
| US11157181B2 (en) | Card activation device and methods for authenticating and activating a data storage device by using a card activation device | |
| CN101655775A (zh) | 卡和主机设备 | |
| EP0383899B1 (en) | Failure detection for partial write operations for memories | |
| CN100382049C (zh) | 用于闪速存储器的数据处理设备和方法 | |
| JPH11212873A (ja) | コンピューターシステムの操作方法 | |
| US20060155918A1 (en) | Method of controlling a semiconductor memory device applied to a memory card | |
| US6754857B2 (en) | Method of testing cache memory | |
| JP4125995B2 (ja) | データ変換システム | |
| JP2000181802A (ja) | 半導体記憶装置 | |
| CN115544587A (zh) | 加密方法、解密方法、芯片和计算机可读存储介质 | |
| TW575806B (en) | A method for enhancing flash memory error correction capability and providing data encryption in the same time | |
| CN114579337A (zh) | 用于在用户设备中生成核心转储的方法和系统 | |
| US11994985B2 (en) | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding | |
| US11995349B2 (en) | Method and apparatus for performing access management of memory device in host performance booster architecture with aid of device side table information encoding and decoding | |
| JP4582078B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050405 |