JPH11212873A - Operating method for computer system - Google Patents

Operating method for computer system

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
processor
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
Application number
JP10014599A
Other languages
Japanese (ja)
Inventor
Tsunenori Kimura
恒範 木村
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP10014599A priority Critical patent/JPH11212873A/en
Publication of JPH11212873A publication Critical patent/JPH11212873A/en
Withdrawn legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To secure the high secrecy for every memory system or memory chip just with addition of a simple circuit by using a means which decides an address where the overhead data are first detected among those block addresses by a secret algorithm within a page that is first read out of every block. SOLUTION: When a power supply is turned on, a memory system reads the head pages out of all blocks. At the same time, the head address of the data on the head page of every block is calculated by means of a secret algorithm A 4a. Then a block management table is produced from the head page data on the block. Furthermore, the original data are read out for calculating the head addresses of data on the following pages and stored (in an internal RAM of a CPU 3, for example). Then the commands of sector read, sector write, etc., are executed. In this command execution mode, the data head address of every page is calculated by means of the algorithm A 4a.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明はプロセッサーと、不
揮発性メモリーを使用としたメモリーシステムを含んだ
コンピューターシステムの操作方法に関する。より具体
的にはATAカードや、SSFDC(Solid St
ate Floppy Disk Card Foru
m)カードを使用したコンピューターシステムにおい
て、より秘匿性の高いコンピューターシステムの操作方
法を提供する。
The present invention relates to a processor and a method of operating a computer system including a memory system using a nonvolatile memory. More specifically, an ATA card, SSFDC (Solid St)
ate Floppy Disk Card Foru
m) In a computer system using a card, an operation method of a computer system with higher secrecy is provided.

【0002】[0002]

【従来の技術】図16に従来の方法による、ある1つの
ブロック170の内部のデータ構成を示す。ここでブロ
ック170はN個のページに分割される。一般的には1
ページがホストからのデータ転送単位の512byte
に対応している。171はブロック170の、最初のア
ドレスに位置する、先頭のページであり、172は次の
ページであり、173は最後のアドレスに位置する最終
のページである。ページはMバイトから構成され、ペー
ジ内部にはユーザーデータ175とオーバーヘッドデー
ター177がふくまれている。ユーザーデータ175と
オーバーヘッドデーター177はそれぞれLバイト、M
−Lバイトのサイズである。図16のようにオーバーヘ
ッドデータは通常各ページの最後部に位置して、ユーザ
ーデータ部とオーバーヘッド部が明確に分割されてい
る。
2. Description of the Related Art FIG. 16 shows an internal data structure of a certain block 170 according to a conventional method. Here, block 170 is divided into N pages. Generally 1
Page is 512 bytes of data transfer unit from host
It corresponds to. 171 is the first page of the block 170 located at the first address, 172 is the next page, and 173 is the last page located at the last address. The page is composed of M bytes, and contains user data 175 and overhead data 177 inside the page. User data 175 and overhead data 177 are L bytes and M, respectively.
-Size of L bytes. As shown in FIG. 16, the overhead data is usually located at the end of each page, and the user data section and the overhead section are clearly divided.

【0003】[0003]

【発明が解決しようとする課題】従来の方法ではオーバ
ーヘッドデータは常に各ページの最後部に位置して、ユ
ーザーデータ部とオーバーヘッド部が明確に分割されて
いる。
In the conventional method, the overhead data is always located at the end of each page, and the user data section and the overhead section are clearly divided.

【0004】これはECCの処理がやりやすく、管理デ
ータも簡単に検索できるメリットはある。しかしそのた
めメモリーの中を直接覗けば簡単に内容が解析されてし
まう恐れがある。このため、高度の機密性を得るには、
複雑で高度な暗号化が必要であった。ホストとのi/f
で機密性を持たせれば良いと言う考えもあるが、それで
は十分とは言えない。メモリーチップを外し、単体で解
析される恐れがある。また例えばSSFDC(Soli
d State Floppy Disk Card
Forum)が提唱するカードはFlashメモリーだ
けの構成なのでこれを使用するシステムが機密性を持た
せるには、SSFDCカード内のFlashメモリーに
書き込むデーターを暗号化する必要がある。また今後コ
ピープロテクト機能や、部分的に読みだし書き込み禁止
等の機能を付加するためには、各ページ単位に格納され
ている、管理データの秘匿性がさらに重要になる。しか
しながら従来の方法では高度の機密性を持たせるのには
適さなかった。
[0004] This is advantageous in that ECC processing is easy and management data can be easily searched. However, if you look directly into the memory, the contents may be easily analyzed. Therefore, to achieve a high level of confidentiality,
Complex and sophisticated encryption was required. I / f with host
Some people think that confidentiality should be provided, but that is not enough. There is a risk that the memory chip will be removed and analyzed alone. Also, for example, SSFDC (Soli
d State Floppy Disk Card
Since the card proposed by Forum does not include a flash memory, data to be written to the flash memory in the SSFDC card must be encrypted in order for a system using the card to have confidentiality. In addition, in order to add a copy protection function and a function of partially preventing reading and writing in the future, the confidentiality of management data stored in each page unit becomes more important. However, conventional methods are not suitable for providing a high degree of confidentiality.

【0005】[0005]

【課題を解決するための手段】本発明の請求項1記載の
コンピューターシステムの操作方法では、メモリーシス
テムが電源立ち上げ後、各ブロックにおいて、最初に読
み出すページP1内で、最初に前記オーバーヘッドデー
タが現れるアドレスA1を前記ブロックのアドレスから
秘密アルゴリズムにより決定する手段を有する事を特徴
とする。この発明によれば簡単な回路を付加する事によ
り、メモリーシステム、またはメモリーチップ単位での
高度な秘匿性を得る事が可能となる。
According to the method of operating a computer system according to the first aspect of the present invention, after the memory system is turned on, in each block, the overhead data is firstly read in the page P1 to be read first in each block. It is characterized by having means for determining the appearing address A1 from the address of the block by a secret algorithm. According to the present invention, by adding a simple circuit, it is possible to obtain a high degree of secrecy in a memory system or a memory chip unit.

【0006】本発明の請求項2記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページP1
内で、最初に前記オーバーヘッドデータが現れるアドレ
スA1の複数の候補を、前記ブロックのアドレスから秘
密アルゴリズムニより決定し、前記アドレスの複数の候
補から正しいアドレスをECCを用いて決定する手段を
有する事を特徴とする。この発明によれば簡単な回路を
付加する事により、メモリーシステム、またはメモリー
チップ単位での高度な秘匿性を得る事が可能となる。
In the method for operating a computer system according to the second aspect of the present invention, the page P1 to be read first is read in each block after the memory system is turned on.
A means for determining a plurality of candidates for the address A1 in which the overhead data first appears from the address of the block by using a secret algorithm, and determining a correct address from the plurality of candidates for the address using ECC. It is characterized by. According to the present invention, by adding a simple circuit, it is possible to obtain a high degree of secrecy in a memory system or a memory chip unit.

【0007】本発明の請求項3記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページP1
内で、最初に前記オーバーヘッドデータが現れるアドレ
スA1に前記ブロックのアドレスから秘密アルゴリズム
により決定される特殊なパターンを書き込んでおき、前
記パターンを検知する事により前記アドレスA1を決定
する手段を有する事を特徴とする。この発明によれば簡
単な回路を付加する事により、メモリーシステム、また
はメモリーチップ単位での高度な秘匿性を得る事が可能
となる。
According to a third aspect of the present invention, the page P1 to be read first is read in each block after the power of the memory system is turned on.
First, a special pattern determined by a secret algorithm from an address of the block is written in an address A1 where the overhead data appears first, and a means for determining the address A1 by detecting the pattern is provided. Features. According to the present invention, by adding a simple circuit, it is possible to obtain a high degree of secrecy in a memory system or a memory chip unit.

【0008】本発明の請求項4記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、最初に読み出すページP1のアドレスA0と、P
1内で最初に前記オーバーヘッドデータが現れるアドレ
スA1を管理データ専用部のデータにより決定する手段
を有する事を特徴とする。この発明によれば簡単な回路
を付加する事により、メモリーシステム、またはメモリ
ーチップ単位での高度な秘匿性を得る事が可能となる。
According to the method for operating a computer system according to the fourth aspect of the present invention, the addresses A0 and P0 of the page P1 to be read first after the memory system is turned on.
1 is characterized in that it has means for determining the address A1 where the overhead data first appears in the management data dedicated data. According to the present invention, by adding a simple circuit, it is possible to obtain a high degree of secrecy in a memory system or a memory chip unit.

【0009】本発明の請求項5記載のコンピューターシ
ステムの操作方法では、前記ユーザーデータからなるJ
ビットと、前記オーバーヘッドデータからなるKビット
より構成されるJ+Kビットの前記テンポラリーコード
を、異なるJ+Kビットのコードに変換した後に、ペー
ジに書き込み、ページより読み出したデータはJ+Kビ
ットに区切り、元のJ+Kビットのデータに逆変換する
事により、メモリーシステム、またはメモリーチップ単
位での高度な秘匿性を得る事が可能となる。
According to a fifth aspect of the present invention, in the method for operating a computer system, the J
After converting the temporary code of J + K bits composed of bits and K bits composed of the overhead data into a different J + K bit code, the data is written to a page, the data read from the page is divided into J + K bits, and the original J + K By performing inverse conversion to bit data, a high degree of secrecy can be obtained for each memory system or memory chip.

【0010】本発明の請求項6記載のコンピューターシ
ステムの操作方法では、メモリーシステムが電源立ち上
げ後、各ブロックにおいて、最初に読み出すページ以外
のページで最初にオーバーヘッドデータが現れるアドレ
スを、メモリーシステムが電源立ち上げ後、各ブロック
において、最初に読み出すページで最初に前記オーバー
ヘッドデータが現れるアドレスまたは、そのオーバーヘ
ッドデータを基に秘密アルゴリズムニより決定する事を
特徴とする。この発明によれば簡単な回路を付加する事
により、メモリーシステム、またはメモリーチップ単位
での高度な秘匿性を得る事が可能となる。
In the method of operating a computer system according to claim 6 of the present invention, after the memory system is turned on, in each block, an address at which overhead data appears first in a page other than a page to be read first is stored in the memory system. After the power is turned on, in each block, an address at which the overhead data first appears in a page to be read first, or a secret algorithm is determined based on the overhead data. According to the present invention, by adding a simple circuit, it is possible to obtain a high degree of secrecy in a memory system or a memory chip unit.

【0011】本発明の請求項7記載のコンピューターシ
ステムの操作方法では、ページの先頭アドレスから、最
初にオーバーヘッドデータが現れるアドレスまでのデー
タの順番を逆にする事を特徴とする。この発明によれ
ば、簡単な方法であるが、各ページの先頭のデータとユ
ーザーデーターの先頭が異なるのでより解析が難しくな
り、メモリーシステムまたはチップ単位での高度な秘匿
性を得る事が可能となる。
According to a seventh aspect of the present invention, in the method of operating a computer system, the order of data from a head address of a page to an address at which overhead data appears first is reversed. According to the present invention, it is a simple method, but the analysis is more difficult because the data at the head of each page and the head of the user data are different, and it is possible to obtain high confidentiality in a memory system or a chip unit. Become.

【0012】本発明の請求項8記載のコンピューターシ
ステムの操作方法では、ページ内のオーバーヘッドデー
タを複数の部分にわけて分散配置し、その配置の仕方
は、秘密アルゴリズムニより決定する事を特徴とする。
この発明によれば、簡単な方法であるが、オーバーヘッ
ドデータの配置パターンは無数に考えられるので、解析
は非常に難しくなり、メモリーシステムまたはチップ単
位での高度な秘匿性を得る事が可能となる。
According to the method of operating a computer system of the present invention, the overhead data in the page is divided and arranged in a plurality of parts, and the arrangement method is determined by a secret algorithm. I do.
According to the present invention, although it is a simple method, the arrangement pattern of the overhead data can be considered innumerably, so that the analysis becomes very difficult, and it is possible to obtain a high degree of secrecy in a memory system or a chip unit. .

【0013】本発明の請求項9記載のコンピューターシ
ステムの操作方法では、プロセッサーからライトデータ
をライトバッファーに受信すると同時にECC演算を行
なう事を特徴とする。この発明によれば、メモリーに書
き込みを行なう時には既にECCデータが計算されてい
るので、余分なメモリーの読みだしを行なわずに、任意
の位置にオーバーヘッドデーターを配置する事が出来
る。
According to a ninth aspect of the present invention, there is provided a method of operating a computer system, wherein write data is received from a processor to a write buffer and an ECC operation is performed at the same time. According to the present invention, since ECC data has already been calculated at the time of writing to a memory, overhead data can be arranged at an arbitrary position without reading extra memory.

【0014】[0014]

【発明の実施の形態】(実施例1)図1は請求項1、
2、7、9記載の発明に関わるメモリーシステム例であ
る。その構成を説明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS (Embodiment 1) FIG.
10 is an example of a memory system according to the inventions described in 2, 7, and 9. The configuration will be described.

【0015】図1のメモリーシステムは、プロセッサー
とのインターフェース1、プロセッサーとのデータとの
送受の際に使用するリードライトバッファー2、メモリ
ーシステムのコントロールを行なう1チップCPU3、
秘密アルゴリズムA4a、秘密アルゴリズムB4b、F
lashメモリーのデータの信頼性確保のためのECC
回路5、Flashメモリーとのインターフェース6、
Flashメモリー7からなる。ここでFlashメモ
リーとは、一般にATAカード等で広く使用されてい
る、不揮発性フローティングゲートメモリーアレーの1
つである。
The memory system shown in FIG. 1 includes an interface 1 with a processor, a read / write buffer 2 used for transmitting / receiving data to / from the processor, a one-chip CPU 3 for controlling the memory system,
Secret algorithm A4a, secret algorithm B4b, F
ECC for ensuring the reliability of data in flash memory
Circuit 5, interface with Flash memory 6,
It comprises a flash memory 7. Here, the flash memory is a nonvolatile floating gate memory array generally used widely in ATA cards and the like.
One.

【0016】メモリーシステムは、プロセッサーとのイ
ンターフェース1を通してプロセッサーのデータ、コマ
ンドを送受する。プロセッサーとのインターフェース1
はPCMCIAが一般的である。
The memory system sends and receives processor data and commands through an interface 1 with the processor. Interface with processor 1
Is generally PCMCIA.

【0017】リードライトバッファー2はプロセッサー
からの書き込み時には書き込みデータを一時的に貯え、
プロセッサーの読みだし時にはFlashメモリーから
の読みだしデータを貯える。実際には、リードライトバ
ッファー2は1チップCPU3が直接読み書きする事が
出来るRAMの内部に存在する。
The read / write buffer 2 temporarily stores write data when writing from the processor,
When reading data from the processor, data read from the Flash memory is stored. Actually, the read / write buffer 2 exists inside the RAM which the one-chip CPU 3 can directly read and write.

【0018】1チップCPU3は内部にプログラムを収
めるROMとワーク用のRAMを内蔵する。さらにプロ
セッサーとのインターフェース1とリードライトバッフ
ァー2間のデーター転送、またはリードライトバッファ
ー2とFlashメモリー7間のデータ転送に利用され
るDMAのコントローラーも含む。1チップCPU3は
プロセッサーからのコマンドの解析、Flashメモリ
ーのリードライトのコントロール、暗号化の処理の1部
等を行なう。
The one-chip CPU 3 has a built-in ROM for storing programs and a RAM for work. Further, a DMA controller used for data transfer between the interface 1 with the processor and the read / write buffer 2 or data transfer between the read / write buffer 2 and the flash memory 7 is also included. The one-chip CPU 3 analyzes commands from the processor, controls read / write of the flash memory, and performs a part of encryption processing.

【0019】秘密アルゴリズム回路4は各セクターの先
頭データアドレスの算出に使用される。ECC回路5は
メモリーのデータの信頼性を上げるため、エラー訂正と
エラー検出の機能を有する。
The secret algorithm circuit 4 is used for calculating the head data address of each sector. The ECC circuit 5 has functions of error correction and error detection in order to increase the reliability of data in the memory.

【0020】Flashメモリー7は単体または複数の
チップからなる。
The flash memory 7 consists of a single chip or a plurality of chips.

【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のオーバーヘッドデータの先頭位置を示すアドレ
スである。これらの位置はページ毎に変化し、そのため
管理データーの解析を困難にし、メモリーシステムの秘
匿性を高めている。
FIG. 4 shows the flash used in this embodiment.
2 shows a data format inside the memory 7. FIG.
Indicates the data structure inside one block 40 that can be erased at one time. One block 40 is divided into N pages. Generally, one page corresponds to 512 bytes of a data transfer unit from the processor. 41 is the first page of the block 40 located at the first address, 42 is the next page, and 43 is the last page located at the last address. The page is composed of MByte. User data 4 inside the page
8, 47 and overhead data 46 are included, and the present invention is characterized in that these two pieces of information are mixed. 44 is the head position of the overhead data 46;
This is an address indicating the number of bytes. An address 45 indicates the head position of the overhead data of the next page 42. These locations change from page to page, which makes analysis of management data difficult and increases the confidentiality of the memory system.

【0022】(実施例1の動作)まず、図15にメモリ
ーシステムの処理の全体の流れの概要を示す。まず電源
onすると、メモリーシステムは全てのブロックの先頭
ページを読みだす処理150を行なう。この際実施例1
では秘密アルゴリズムA4aを用いて、ブロックの先頭
ページの、データの先頭アドレスを算出する。
(Operation of Embodiment 1) First, FIG. 15 shows an outline of the overall flow of the processing of the memory system. First, when the power is turned on, the memory system performs processing 150 for reading the first page of all blocks. At this time, Example 1
Then, using the secret algorithm A4a, the head address of the data of the head page of the block is calculated.

【0023】図22に秘密アルゴリズムAの簡単な例を
示す。複数のアドレス候補を作り出すため、Flash
ブロックの物理アドレスの下位と定数(0〜3)組み合
わせてテーブルによりランダムな値を発生する。さらに
簡単な演算によるランダマイズを行なう。書込み時に
は、POWERon後の書込み回数に従ってアドレスの
選択を行なう。さらに図23にはこのアルゴリズムをハ
ードで実現した場合を示す。通常使用されるCPUの能
力を考慮するとこれらの処理はハードで行なう事が望ま
しいが、図23の様に比較的関単な回路で実現できる。
(乗算は加算器により実現している)。
FIG. 22 shows a simple example of the secret algorithm A. Flash to create multiple address candidates
A random value is generated from a table by combining the lower order of the physical address of the block and a constant (0 to 3). Further, randomization is performed by simple calculation. At the time of writing, an address is selected according to the number of times of writing after POWEROn. FIG. 23 shows a case where this algorithm is realized by hardware. It is desirable that these processes be performed by hardware in consideration of the performance of a CPU which is usually used, but can be realized by a relatively simple circuit as shown in FIG.
(Multiplication is realized by an adder).

【0024】次に、150で読み出したブロックの先頭
ページデータより、ブロック管理テーブルを作成し、さ
らに、以降のページのデータの先頭アドレスを算出する
ための元データを読みだし、(例えばCPU3の内部R
AMへ)記憶する処理151を行なう。以降のページの
データの先頭アドレスを算出するための前記元データ
は、ブロックの先頭ページの、データの先頭アドレスで
も良いし、ブロックの先頭ページの管理データの1つに
含まれていても良い。ブロックの先頭ページの、データ
の先頭アドレスは以降も使用するので、やはり(例えば
CPU3の内部RAMへ)記憶しておく。ブロック管理
テーブルとは、ユーザーデータの、プロセッサーからの
コマンドにより示されるアドレス(例えばLogica
l Block Addressまたはヘッド、シリン
ダー、セクタ番号)と実際のFlashメモリーのブロ
ックアドレスとの対応を示すものである。
Next, a block management table is created from the head page data of the block read in 150, and the original data for calculating the head address of the data of the subsequent pages is read out (for example, the internal R
A process 151 for storing (in AM) is performed. The original data for calculating the head address of the data of the subsequent pages may be the head address of the data of the head page of the block, or may be included in one of the management data of the head page of the block. The head address of the data of the top page of the block is also stored (for example, in the internal RAM of the CPU 3) because it is used later. The block management table is an address (eg, Logica) of user data indicated by a command from the processor.
l Block Address or the head, cylinder, and sector numbers) and the actual block addresses of the Flash memory.

【0025】次に、セクターリード、セクターライト等
のコマンド処理152を実行する。セクターリード、セ
クターライトのようなFlashメモリーをリードライ
トするコマンドの実行では、秘密アルゴリズム4aによ
り各ページのデータ先頭アドレスを算出する。
Next, command processing 152 such as sector read and sector write is executed. When executing a command to read / write the flash memory such as a sector read or a sector write, the data head address of each page is calculated by the secret algorithm 4a.

【0026】次により詳細な処理の流れに付いて説明す
る。
Next, a more detailed processing flow will be described.

【0027】図9には処理150の中でのブロックの先
頭セクターの読みだし手順を、より詳細に示してある。
まずFlashメモリーのアドレスから、秘密アルゴリ
ズム4によりデータの先頭アドレスの候補を算出する処
理108を実行する。ここでn+1個のアドレスの候補
をSTCDADR0〜nとする。先頭アドレスの候補は
複数でなくても良いがより解析を困難にするため複数の
候補を有し、任意に選択するのが望ましい。
FIG. 9 shows in more detail the procedure for reading the first sector of a block in the process 150.
First, a process 108 of calculating a candidate for the head address of data from the address of the Flash memory by the secret algorithm 4 is executed. Here, n + 1 address candidates are STCDADR0 to STCDADRn. The number of candidates for the start address may not be a plurality, but it is desirable to have a plurality of candidates to make analysis more difficult, and to select arbitrarily.

【0028】次にSTCDADR0によりデータを読み
出す処理109を行なう。この読みだしの手順は他のペ
ージの読みだし手順と同じである。これについては後に
詳細を説明する。次に読み出したデータのECCが正し
いどうかをチェックする。もし正しければ先頭アドレス
が正しく選択されたことを示すので、ブロックの先頭セ
クターの読みだし処理を終了する。もし正しくなけれ
ば、次のアドレス候STCDADR1よりデータを読み
出す処理110を行なう。以下同様にECCが正しくな
ければ次のアドレス候補を使用する。すべてのアドレス
候補で正しくない場合は、そのブロックは何らかの不良
となっているので、不良ブロックとして記憶し以降の処
理では使用しない。
Next, a process 109 for reading data by STCDADR0 is performed. This reading procedure is the same as the reading procedure of other pages. This will be described later in detail. Next, it is checked whether the ECC of the read data is correct. If it is correct, it indicates that the head address has been correctly selected, and the reading process of the head sector of the block is terminated. If not correct, a process 110 of reading data from the next address STCDADR1 is performed. Similarly, if the ECC is not correct, the next address candidate is used. If all the address candidates are not correct, the block is defective and stored as a bad block and is not used in the subsequent processing.

【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メモリーへ書き込みへ処理を進める。
FIG. 7 shows the ECC generation processing, which is the first half of the sector writing, included in the processing 152, in more detail. First, a process 100 for transferring data from the processor to the memory system is performed. The data transfer unit may be every word or every byte. Then E
The calculation of CC is performed for each data transfer unit. In a conventional memory system, the ECC operation uses data as Flash
h was performed while writing to the memory. In the present invention, user data 48 and 47 and overhead data 4
Since the writing is performed with the number 6 mixed, the ECC operation cannot be performed during the writing. Therefore, almost at the same time as the processing 100 of data transfer from the processor to the memory system,
The CC processing 101 is performed. Next, data write processing 102 is performed on the read / write buffer 2. However, these processes 100, 101, and 102 are performed almost simultaneously in hardware. The above processing is performed in units of data transfer from the processor (for example, 512 bytes).
e), and the process proceeds to the next process of writing from the read / write buffer 2 to the flash memory.

【0030】図11にFlashメモリーへの書き込み
処理をより詳細に示してある。まず、データの先頭アド
レスを算出するための前記元データから、秘密アルゴリ
ズムB4bにより各セクタのデータの先頭アドレスを算
出する処理118を行なう。
FIG. 11 shows the writing process to the flash memory in more detail. First, a process 118 of calculating the head address of the data of each sector from the original data for calculating the head address of the data by the secret algorithm B4b is performed.

【0031】図24に秘密アルゴリズムBの簡単な実現
例をしめす。前記元データはPOWERON後の書込み
回数により、ランダムな値が書込まれている。従ってこ
の値を再びランダマイズするのは、秘密アルゴリズムA
が解読された時のためである。このアルゴリズムでは、
前記元データをランダマイズして最初にオーバーヘッド
データーの現れるアドレスを生成している。
FIG. 24 shows a simple implementation example of the secret algorithm B. A random value is written in the original data according to the number of times of writing after POWERON. Therefore, randomizing this value again is based on the secret algorithm A
For when was decrypted. In this algorithm,
The original data is randomized to first generate an address where overhead data appears.

【0032】次に[セクタのデータの先頭アドレス+リ
ードライトバッファー2の先頭アドレス]をDMAコン
トローラーのDMAスタートアドレスに設定する処理1
19を行なう。次にDMA転送アドレス変化はdecr
ementに設定する処理120を行なう。これはペー
ジの先頭がユーザーデータの先頭と一致することを避け
て、ユーザーデータの前半部のデータの並びを逆にする
ためである。こうすることにより各ぺージのデータの先
頭は予想が困難となる。
Next, processing 1 for setting [sector data start address + read / write buffer 2 start address] as the DMA start address of the DMA controller
Perform step 19. Next, the DMA transfer address change is decr
The processing 120 for setting the element is performed. This is to prevent the top of the page from being coincident with the top of the user data and to reverse the arrangement of the data in the first half of the user data. This makes it difficult to predict the beginning of the data on each page.

【0033】次にセクタのデータの先頭アドレスまでリ
ードライトバッファー2のデータを転送する処理121
を行なう。次にオーバーヘッドデーターを転送する処理
122を行なう。この実施例ではこのように各ページの
オーバーヘッドデーターは一個所にまとまって格納され
ている。次に残りのユーザーデータを転送する処理12
3を実行する。残りのユーザーデータはユーザーデータ
の前半部と同様にデーターの並びを逆にしても良いがそ
のままでも良い。
Next, processing 121 for transferring the data in the read / write buffer 2 to the start address of the sector data
Perform Next, a process 122 for transferring overhead data is performed. In this embodiment, the overhead data of each page is stored together at one location. Next, processing 12 for transferring the remaining user data
Execute 3. As for the remaining user data, the order of the data may be reversed as in the first half of the user data, or may be left as it is.

【0034】図13にFlashメモリーからの読みだ
し処理をより詳細に示してある。まず書き込み処理と同
様に、データの先頭アドレスを算出するための前記元デ
ータから、秘密アルゴリズムB4bにより各セクタのデ
ータの先頭アドレスを算出する処理131を行なう。次
に[セクタのデータの先頭アドレス+リードライトバッ
ファー2の先頭アドレス]をDMAコントローラーのD
MAスタートアドレスに設定する処理132、と、DM
A転送アドレス変化はdecrementに設定する処
理133を実行する。これはユーザーデータの前半部が
逆並びに書き込まれているためである。次にセクタのデ
ータの先頭アドレスまでリードライトバッファー2のデ
ータを転送する処理134を実行する。次にオーバーヘ
ッドデーターを転送する処理135を実行する。次に残
りのユーザーデータを転送する処理135aを実行す
る。
FIG. 13 shows the reading process from the Flash memory in more detail. First, in the same manner as the write process, a process 131 of calculating the head address of the data of each sector from the original data for calculating the head address of the data by the secret algorithm B4b is performed. Next, [the start address of the data of the sector + the start address of the read / write buffer 2] is set to D of the DMA controller.
Processing 132 for setting the MA start address;
A change 133 in the A transfer address executes a process 133 for setting it to decrement. This is because the first half of the user data is written in reverse order. Next, a process 134 of transferring the data of the read / write buffer 2 to the head address of the data of the sector is executed. Next, a process 135 for transferring the overhead data is executed. Next, a process 135a for transferring the remaining user data is executed.

【0035】図8にセクター読みだし時の、ECC生成
処理をより詳細に示してある。まず、読み出されるデー
タがユーザーデータかオーバーヘッドデータかを選択す
るハードウエア(またはソフトウエア)の設定の処理1
03を実行する。これは実際には前述の図13の処理と
同時におこなわれ、容易にソフトで設定することが出来
る。次にハードウエアはユーザーデータに設定されてい
ればデータをリードライトバッファー2に格納する処理
104を行い、オーバーヘッドデーターが設定されてい
れば、データーをオーバーヘッド領域に転送する処理1
05を行なう。105では、より詳細には管理データー
は管理データ領域へ、ECCデーターはECC領域(R
AMの1部またはレジスター)に転送される。ECCの
演算は104の処理の時のみ実行される。104、10
5の処理はハードで行なうことが妥当であるが、ソフト
での処理も可能である。
FIG. 8 shows the ECC generation processing at the time of sector reading in more detail. First, hardware (or software) setting processing 1 for selecting whether data to be read is user data or overhead data 1
Execute 03. This is actually performed simultaneously with the processing of FIG. 13 described above, and can be easily set by software. Next, the hardware performs a process 104 of storing the data in the read / write buffer 2 if the user data is set, and a process 1 of transferring the data to the overhead area if the overhead data is set.
Perform 05. 105, the management data is stored in the management data area, and the ECC data is stored in the ECC area (R
AM or a register). The ECC calculation is executed only in the process of 104. 104, 10
It is appropriate that the processing of step 5 is performed by hardware, but processing by software is also possible.

【0036】ユーザーデータがセクター単位(512B
yte)になったところで読みだしを終了し、ECCの
チェックを行なう。ECCが正しい時には次の処理(プ
ロセッサーへのデータ転送)に進み、正しくない時には
エラー訂正等のエラー処理を行なう。
User data is stored in sector units (512 B
When it becomes (yte), the reading is terminated and the ECC is checked. If the ECC is correct, the process proceeds to the next process (data transfer to the processor). If the ECC is not correct, error processing such as error correction is performed.

【0037】(実施例2)図2は請求項3記載の発明に
関わるモリーシステム例である。その構成を説明する。
(Embodiment 2) FIG. 2 shows an example of a molly system according to the third aspect of the present invention. The configuration will be described.

【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、からな
る。
The memory system shown in FIG. 2 includes an interface 10 with a processor, a read / write buffer 11 used when transmitting / receiving data to / from the processor, and a one-chip CPU for controlling the memory system.
12, secret algorithm A13a, secret algorithm B
13b, an ECC circuit 16 for ensuring the reliability of the data of the flash memory, an interface 18 with the flash memory, a flash memory 19, and a flash memory for reading and writing data of the flash memory.
Descramble Scrambler / Des
Crawler 17, used when writing or reading the head of data on the first page of a block,
It comprises a random number generation circuit 14 and a head pattern detection circuit 15.

【0039】11、12、16、18、19はそれぞれ
図1の、2、3、5、6、7と同様である。また秘密ア
ルゴリズムB13bは図1の秘密アルゴリズムB4bと
同様の物である。
Reference numerals 11, 12, 16, 18, and 19 are the same as 2, 3, 5, 6, and 7 in FIG. The secret algorithm B13b is the same as the secret algorithm B4b in FIG.

【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のオーバーヘッドデータの先頭
位置を示すアドレスである。これらの位置はページ毎に
変化し、そのため管理データーの解析を困難にし、メモ
リーシステムの秘匿性を高めている。
FIG. 5 shows the flash used in this embodiment.
2 shows a data format inside the memory 19. FIG. 5 shows the data structure inside one block 50 that can be erased at one time. The physical configuration inside one block 50 is the same as that of one block 40. 51 is the first page of the block 50 located at the first address, 52 is the next page, and 53 is the last page located at the last address. The page is composed of MByte. The page contains user data 59 and 57, overhead data 56, and a leading pattern 58 which is a part of the data.
The feature is that two pieces of information, ie, 9, 57 and overhead data are mixed. Reference numeral 54 denotes an address indicating the number of bytes at the head of the overhead data 46. 55 is an address indicating the head position of the overhead data of the next page 52. These locations change from page to page, which makes analysis of management data difficult and increases the confidentiality of the memory system.

【0041】(実施例2の動作)まず、図15にメモリ
ーシステムの処理の全体の流れの概要を示す。まず電源
onすると、メモリーシステムは全てのブロックの先頭
ページを読みだす処理150を行なう。この際、実施例
2では、ブロックの先頭ページの、データの先頭はFl
ashメモリーからの読みだしデータを(Descra
mbleした後)調べ、特別なパターンを、先頭パター
ン検出回路15により、サーチすることにより検出す
る。
(Operation of Second Embodiment) First, FIG. 15 shows an outline of the overall flow of the processing of the memory system. First, when the power is turned on, the memory system performs processing 150 for reading the first page of all blocks. At this time, in the second embodiment, the head of the data of the first page of the block is Fl
Read the data from the Ash memory (Descra
(After mble) is checked, and a special pattern is detected by searching by the leading pattern detection circuit 15.

【0042】次に、150で読み出したブロックの先頭
ページデータより、ブロック管理テーブルを作成し、さ
らに、以降のページのデータの先頭アドレスを算出する
ための元データを読みだし、(例えばCPU3の内部R
AMへ)記憶する処理151を行なう。以降のページの
データの先頭アドレスを算出するための前記元データ
は、ブロックの先頭ページの、データの先頭アドレスで
も良いし、ブロックの先頭ページの管理データ1つに含
まれていても良い。ブロックの先頭ページの、データの
先頭アドレスは以降も使用するので、やはり(例えばC
PU3の内部RAMへ)記憶しておく。
Next, a block management table is created from the head page data of the block read in 150, and the original data for calculating the head address of the data of the subsequent pages is read out (for example, the internal R
A process 151 for storing (in AM) is performed. The original data for calculating the head address of the data of the subsequent pages may be the head address of the data of the head page of the block, or may be included in one management data of the head page of the block. Since the head address of the data of the first page of the block is also used in the subsequent pages, (for example, C
(To the internal RAM of PU3).

【0043】次に、セクターリード、セクターライト等
のコマンド処理152を実行する。セクターリード、セ
クターライトのようなFlashメモリーをリードライ
トするコマンドの実行では、秘密アルゴリズムB13b
により各ページのデータ先頭アドレスを算出する。
Next, command processing 152 such as sector read and sector write is executed. In execution of a command for reading / writing the flash memory such as a sector read / sector write, a secret algorithm B13b
To calculate the data head address of each page.

【0044】次により詳細な処理の流れに付いて説明す
る。
Next, a more detailed processing flow will be described.

【0045】図10には処理150の中でのブロックの
先頭セクターの読みだし手順を、より詳細に示してあ
る。まず、Flashメモリーのアドレスから、秘密ア
ルゴリズムA13aによりデータの先頭パターンを算出
する処理112を実行する。次にFlashメモリーよ
り1wordもしくは1byteずつ読みだしDesc
rambleを行い、前述先頭パターンとの一致を調べ
る1連の処理113、114、115を行なう。このパ
ターンのサーチは先頭パターン検出回路15により行な
う。パターンが一致すると1ページ分のデータを読み出
す処理116を行なう。通常先頭パターンはページの先
頭にはないので、先頭パターンからページの最後まで読
んだ後にまた先頭から先頭パターンまでを読み出す事に
なる。次に1ページ分のデータのECCを調べ先頭パタ
ーンが正しい事の確認を行なう。ブロックの最初のセク
ターの、データの先頭位置はランダムに決められるの
で、解析が困難である。またパターンもブロック毎に変
化する。
FIG. 10 shows in more detail the procedure for reading the first sector of a block in the process 150. First, a process 112 of calculating the head pattern of data from the address of the Flash memory by the secret algorithm A13a is executed. Next, read 1 word or 1 byte at a time from Flash memory.
Then, a series of processes 113, 114, and 115 for performing a ramble and checking the coincidence with the above-mentioned leading pattern are performed. This pattern search is performed by the leading pattern detection circuit 15. When the patterns match, processing 116 for reading data of one page is performed. Normally, the head pattern is not at the head of the page, so after reading from the head pattern to the end of the page, the head pattern is read again from the head. Next, the ECC of the data for one page is checked to confirm that the leading pattern is correct. Since the head position of the data in the first sector of the block is determined at random, it is difficult to analyze. The pattern also changes for each block.

【0046】このようにパターンで先頭セクタのデータ
の先頭を検出する方法は、実施例1のFlashメモリ
ーのアドレスから秘密アルゴリズムにより算出する方法
に比較してより解析が困難である。いずれにしろ最初の
ページのデータの先頭が判明したとしても、以下のペー
ジのデータの先頭の位置が分かるわけではない。
As described above, the method of detecting the head of the data of the head sector by the pattern is more difficult to analyze than the method of calculating the address of the flash memory by the secret algorithm in the first embodiment. In any case, even if the head of the data of the first page is found, the position of the head of the data of the following page is not known.

【0047】ブロックの先頭セクターへの書き込みは以
下のように行なう。
Writing to the first sector of a block is performed as follows.

【0048】乱数発生回路14によりパターンの先頭の
位置(アドレス)を決定する。
The start position (address) of the pattern is determined by the random number generation circuit 14.

【0049】先頭からパターンの先頭の位置までユーザ
ーデーターを順番を逆にして書き込む。
The user data is written in reverse order from the head to the head of the pattern.

【0050】パターンを書き込む。Write a pattern.

【0051】オーバーヘッドデータを書き込む。Write overhead data.

【0052】ユーザーデーターを書き込む。Write the user data.

【0053】ECC生成処理(図7、図8)、Flas
hメモリーへの書き込み処理(図11)、Flashメ
モリーからの読みだし処理(図13)に関しては実施例
1とほぼ同じである。
ECC generation processing (FIGS. 7 and 8)
The process of writing to the h memory (FIG. 11) and the process of reading from the flash memory (FIG. 13) are almost the same as in the first embodiment.

【0054】Flashメモリーに書き込む際には秘匿
性を向上させるためScrambleを行ない、従って
読み出す際にはDescrambleするところが、以
上の処理に関して唯一異なる点である。
The only difference in the above processing is that when writing to the flash memory, scrambling is performed to improve confidentiality, and therefore, when reading is performed, descrambling is performed.

【0055】(実施例3)図3は請求項8記載の発明に
関わるモリーシステム例である。その構成を説明する。
(Embodiment 3) FIG. 3 shows an example of a molly system according to the eighth aspect of the present invention. The configuration will be described.

【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からなる。
The memory system shown in FIG. 3 includes an interface 20 with a processor, a read / write buffer 21 used for transmitting and receiving data to and from the processor, and a one-chip CPU for controlling the memory system.
22, secret algorithm A23a, secret algorithm B
23b, a secret algorithm C23c, an ECC circuit 24 for ensuring the reliability of data in Flash memory, Fl
Flash memory interface 31, Flash
A random number generation circuit 25, a top pattern detection circuit 26, a random number generation circuit 25 for use when writing or reading the head of the data of the first page of the block, And a selector 29 for selecting read / write data of a memory, and an overhead data mixing timing generation circuit 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と同様である。
20, 21, 22, 23a, 23b, 2
4, 25, 26, 30, 31, and 32 respectively correspond to 1 in FIG.
0, 11, 12, 13a, 13b, 16, 14, 15,
Similar to 17, 18, and 19.

【0058】図6にこの実施例で使用されるFlash
メモリー32の内部のデーターフォーマットを示す。図
6は1度に消去の出来る1ブロック60の内部のデータ
構成を示す。1ブロック60の内部の物理的構成は1ブ
ロック40と同じである。61はブロック60の、最初
のアドレスに位置する、先頭のページであり、62は次
のページであり、63は最後のアドレスのに位置する最
終のページである。ページはMByteから構成されて
いる。ページ内部には細かく分断されているユーザーデ
ータ69とオーバーヘッドデーター66,67,68と、
その一部である先頭パターン65がふくまれており、本
実施例はオーバーヘッドデーターがユーザーデータの中
に分散して混在しているところに特長がある。
FIG. 6 shows the flash used in this embodiment.
2 shows a data format inside the memory 32. FIG. 6 shows the data structure inside one block 60 that can be erased at one time. The physical configuration inside one block 60 is the same as that of one block 40. 61 is the first page of the block 60 located at the first address, 62 is the next page, and 63 is the last page located at the last address. The page is composed of MByte. Inside the page, user data 69 and overhead data 66, 67, 68, which are finely divided,
The head pattern 65 as a part thereof is included, and this embodiment is characterized in that overhead data is dispersed and mixed in user data.

【0059】本実施例ではオーバーヘッドデータは3部
分に別れているがこれはどのように分解しても良い。も
っとも高度な方法としてはByte単位で分散させる方
法が考えられる。このようにオーバーヘッドデータを分
散して配置することにより、より秘匿性を高める事が出
来る。オーバーヘッドデータの分散方法(分散パター
ン)は非常に多数選択することが出来るので、解析をす
るのが非常に困難になる。
In this embodiment, the overhead data is divided into three parts, but this may be decomposed in any manner. As the most advanced method, a method of dispersing in units of bytes can be considered. By distributing and arranging the overhead data in this manner, confidentiality can be further improved. Since a very large number of overhead data distribution methods (dispersion patterns) can be selected, it becomes very difficult to analyze.

【0060】64はオーバーヘッドデータ66の先頭位
置が何Byte目かを示すアドレスである。64aは次
ページ62のオーバーヘッドデータの先頭位置を示すア
ドレスである。これらの位置はページ毎に変化し、その
ため管理データーの解析を困難にし、メモリーシステム
の秘匿性を高めている。
Reference numeral 64 denotes an address indicating the number of bytes at the head of the overhead data 66. 64a is an address indicating the head position of the overhead data of the next page 62. These locations change from page to page, which makes analysis of management data difficult and increases the confidentiality of the memory system.

【0061】(実施例3の動作)図15にメモリーシス
テムの処理の全体の流れの概要が示されているが、図1
5に関しては実施例3は実施例2と何ら変わりはないの
で説明を省く。
(Operation of Embodiment 3) FIG. 15 shows an outline of the overall flow of the processing of the memory system.
As for the fifth embodiment, the third embodiment is not different from the second embodiment, and thus the description is omitted.

【0062】図12には、Flashメモリーへの書き
込み手順を、詳細に示してある。まず、データの先頭ア
ドレスを算出するための前記元データから、秘密アルゴ
リズムB23bにより各セクタのデータの先頭アドレス
を算出する処理124を実行した後にデータ転送スター
ト処理125を行う。次に以下の手順でワードまたはB
yte単位でデーターを処理する。
FIG. 12 shows the procedure for writing to the Flash memory in detail. First, from the original data for calculating the head address of the data, the processing 124 for calculating the head address of the data of each sector by the secret algorithm B23b is performed, and then the data transfer start processing 125 is performed. Next, use the following procedure to change the word or B
Data is processed in ye units.

【0063】処理126:秘密アルゴリズムC23cに
よりオーバーヘッドデータもしくはユーザーデータの選
択を行なう。つまりオーバーヘッドデータがどのように
分散するかは秘密アルゴリズムC23cにより各セクタ
のデータの先頭アドレス等から決定する。(分散方法の
最も単純なものは、等間隔にオーバーヘッドデータを配
置する方法などである)。
Process 126: Overhead data or user data is selected by the secret algorithm C23c. That is, how the overhead data is distributed is determined by the secret algorithm C23c from the head address of the data of each sector. (The simplest distribution method is a method of arranging overhead data at equal intervals).

【0064】図25に秘密アルゴリズムCの簡単な実現
例を示す。最初にオーバーヘッドデータが現れるアドレ
スA1を元にランダマイズされた4つの間隔長データを
生成する。オーバーヘッドデータは1BYTEずつこの
間隔長データのBYTE数の間隔で書込まれる。間隔長
データは4しかないので同じパターンを繰り返す。
FIG. 25 shows a simple implementation example of the secret algorithm C. First, four interval length data randomized based on the address A1 at which the overhead data appears is generated. Overhead data is written by 1 BYTE at intervals of the number of bytes of this interval length data. Since there are only four interval length data, the same pattern is repeated.

【0065】この処理はオーバーヘッドデータ混入タイ
ミング発生回路28により実行される。
This processing is executed by the overhead data mixing timing generation circuit 28.

【0066】処理127、128、129:ユーザーデ
ーターまたはオーバーヘッドデーターを処理126の結
果に従ってFlashメモリーインターフェース31に
データを転送する。
Processes 127, 128 and 129: Transfer the user data or overhead data to the flash memory interface 31 according to the result of process 126.

【0067】この処理はセレクター29、管理データバ
ッファー27、ECC回路24により行われる。
This processing is performed by the selector 29, the management data buffer 27, and the ECC circuit 24.

【0068】処理130:31の書き込みデーターはS
crambleされる。
Process 130: The write data of 31 is S
is crumbled.

【0069】この処理はScrambler/Desc
rambler30により行われる。
This processing is performed by Scrambler / Desc.
This is performed by the rambler 30.

【0070】以上の処理は1BYTEもしくは1ワード
ずつ行なうので処理スピードを考慮するとハードウエア
で行なうのが望ましいがソフトでも処理は可能である。
The above processing is performed by one byte or one word at a time. Therefore, it is preferable to perform the processing by hardware in consideration of the processing speed, but the processing can be performed by software.

【0071】以上の処理を1ページ分(例えば528B
yte)行ない、1セクタの書き込み処理を終了する。
The above processing is performed for one page (for example, 528 B
y)), and the write processing for one sector is completed.

【0072】図14には、Flashメモリーからの読
みだし手順を、詳細に示してある。まず、データの先頭
アドレスを算出するための前記元データから、秘密アル
ゴリズムB23bにより各セクタのデータの先頭アドレ
スを算出する処理136を実行した後にデータ受信スタ
ート処理137を行う。次に以下の手順でワードまたは
Byte単位でデーターを処理する。
FIG. 14 shows the procedure for reading data from the Flash memory in detail. First, from the original data for calculating the head address of the data, the process 136 of calculating the head address of the data of each sector by the secret algorithm B23b is performed, and then the data reception start process 137 is performed. Next, data is processed in units of words or bytes in the following procedure.

【0073】処理142:31の読みだしデーターはD
escrambleされる。
Process 142: The read data of 31 is D
Escrambled.

【0074】この処理はScrambler/Desc
rambler30により行われる。
This processing is performed by Scrambler / Desc.
This is performed by the rambler 30.

【0075】処理138:秘密アルゴリズムC23cに
よりオーバーヘッドデータもしくはユーザーデータの選
択を行なう。つまりオーバーヘッドデータがどのように
分散するかは秘密アルゴリズムC23cにより各セクタ
のデータの先頭アドレス等から決定する。(分散方法の
最も単純なものは、等間隔にオーバーヘッドデータを配
置する方法などである)。
Process 138: Overhead data or user data is selected by the secret algorithm C23c. That is, how the overhead data is distributed is determined by the secret algorithm C23c from the head address of the data of each sector. (The simplest distribution method is a method of arranging overhead data at equal intervals).

【0076】この処理はオーバーヘッドデータ混入タイ
ミング発生回路28により実行される。
This processing is executed by the overhead data mixing timing generation circuit 28.

【0077】処理139、140、141:ユーザーデ
ーターまたはオーバーヘッドデーターを処理138の結
果に従ってFlashメモリーインターフェース31か
らのデータを、ECC回路24、管理データバッファー
27、リードライト゛バッファー21のいずれかに転送
する。
Processes 139, 140, 141: Transfer the user data or overhead data from the flash memory interface 31 to one of the ECC circuit 24, the management data buffer 27, and the read / write buffer 21 according to the result of the process 138.

【0078】この処理はセレクター29、管理データバ
ッファー27、ECC回路24により行われる。
This processing is performed by the selector 29, the management data buffer 27, and the ECC circuit 24.

【0079】以上の処理は1BYTEもしくは1ワード
ずつ行なうので処理スピードを考慮するとハードウエア
で行なうのが望ましいがソフトでも処理は可能である。
The above processing is performed by one byte or one word at a time. Therefore, it is preferable to perform the processing by hardware in consideration of the processing speed, but the processing can be performed by software.

【0080】以上の処理を1ページ分行ない、1セクタ
の読みだし処理を終了する。
The above processing is performed for one page, and the reading processing for one sector is completed.

【0081】(実施例4)請求項4記載の発明に関わる
モリーシステム例の構成はほぼ図1で表わされる。図1
と実際の構成が異なる点は、秘密アルゴリズムは図1中
の秘密アルゴリズムA4a、秘密アルゴリズムB4bに
相当するものが無く、代わりに別のアルゴリズムDがあ
ることである。
(Embodiment 4) The configuration of an example of a molly system according to the fourth aspect of the present invention is substantially shown in FIG. FIG.
The difference between this and the actual configuration is that there is no secret algorithm corresponding to the secret algorithm A4a and the secret algorithm B4b in FIG. 1 and there is another algorithm D instead.

【0082】図17は請求項4記載の発明に関わるモリ
ーシステム例のFlashメモリー内部の構成と、オー
バーヘッドデータのアドレス検索方法を図示したもので
ある。まずFlashメモリーの全体202は管理デー
タ専用部200とデータ部201に分割される。201
はページ毎に分割された形でユーザーデータとオーバー
ヘッドデータが収められている。また管理データ専用部
200内には、電源投入後最初にオーバーヘッドデータ
ーを読みだしに行くページの物理アドレス(チップn
o.、ブロックno.、ページno.からなる)とその
ページ内のデータが対応するLBA(Logical
Block Address)が記録されている。
FIG. 17 shows the internal structure of the flash memory of the example of the molly system according to the fourth aspect of the present invention, and the method of searching for the address of overhead data. First, the entire flash memory 202 is divided into a management data dedicated section 200 and a data section 201. 201
Contains user data and overhead data in a form divided for each page. Also, in the management data dedicated unit 200, the physical address (chip n) of the page where overhead data is read first after the power is turned on.
o. , Block no. Page no. ) And the LBA (Logical) corresponding to the data in the page
Block Address) is recorded.

【0083】(実施例4の動作)電源立ち上げ後にオー
バーヘッドデーターを読み出す手順は以下である。
(Operation of Embodiment 4) The procedure for reading overhead data after power-on is as follows.

【0084】最初に読み出すページ203の物理アドレ
スとLBAを管理データ専用部200より読み出す。
The physical address and LBA of the page 203 to be read first are read from the management data dedicated unit 200.

【0085】図18に示される様に秘密アルゴリズムD
により最初のページ203のオーバーヘッドデーター2
04が格納されているアドレスを求める。
As shown in FIG. 18, the secret algorithm D
, The overhead data 2 of the first page 203
Find the address where 04 is stored.

【0086】オーバーヘッドデーター204を読みだす
と、その中に次のページ205の物理アドレスとLBA
が収められている。
When the overhead data 204 is read, the physical address of the next page 205 and the LBA
Is stored.

【0087】2.と同様に、秘密アルゴリズムDにより
次のページ205のオーバーヘッドデーター206が格
納されているアドレスを求める。
2. Similarly to the above, the address where the overhead data 206 of the next page 205 is stored is obtained by the secret algorithm D.

【0088】図26に秘密アルゴリズムDの簡単な実現
例を示す。最初にオーバーヘッドデータが現れるアドレ
スA1はLBAとFlashブロックまたはページの物
理アドレスを加算したものをランダマイズして生成す
る。
FIG. 26 shows a simple implementation example of the secret algorithm D. The address A1 where the overhead data first appears is generated by randomizing the sum of the LBA and the physical address of the Flash block or page.

【0089】オーバーヘッドデーター206を読みだす
と、その中に次のページ207の物理アドレスとLBA
が収られている。
When the overhead data 206 is read out, the physical address of the next page 207 and the LBA
Is contained.

【0090】以下同様の処理により必要なすべてのペー
ジのオーバーヘッドデータが読み出される。また各ペー
ジのオーバーヘッドデータに次のページの物理アドレス
とLBAを書き込むには次のようにする。
Thereafter, overhead data of all necessary pages is read out by the same processing. To write the physical address and LBA of the next page in the overhead data of each page, do the following.

【0091】1.まず必ず、書き込みを行なう時に、F
lashメモリー内に1ページまたは1ブロックの予備
領域を確保する。
1. First, when writing, always
A spare area of one page or one block is secured in the flash memory.

【0092】2.従って1ページまたは1ブロックの書
き込みを行なう時には、次の書き込みページブロックを
予備領域に決定できる。書き込みの時にオーバーヘッド
データ内に次のページ、即ち予備領域の物理アドレスと
LBAを書き込む。
[0092] 2. Therefore, when writing one page or one block, the next write page block can be determined as a spare area. At the time of writing, the next page, that is, the physical address and LBA of the spare area, is written in the overhead data.

【0093】また管理データ専用部200のデータも書
き換えが必要であるが、最初に読み出すページ203が
書き換えられる時だけなので非常に頻度が少なく、負荷
としては小さい。
The data in the management data dedicated section 200 also needs to be rewritten. However, since it is only when the page 203 to be read first is rewritten, the frequency is very low and the load is small.

【0094】(実施例5)図21は請求項5記載の発明
に関わるメモリーシステム例である。その構成を説明す
る。
(Embodiment 5) FIG. 21 shows an example of a memory system according to the fifth aspect of the present invention. The configuration will be described.

【0095】図21のメモリーシステムは、プロセッサ
ーとのインターフェース300、プロセッサーとのデー
タとの送受の際に使用するリードライトバッファー30
1、メモリーシステムのコントロールを行なう1チップ
CPU302、Flashメモリーのデータの信頼性確
保のためのECC回路303、Flashメモリーとの
インターフェース307、Flashメモリー308,
一時的にページの管理データを貯える管理データバッフ
ァー304、ECCデータと管理データのいずれかをオ
ーバーヘッドデータとして入出力するセレクター30
5、Flashへの書き込みと読み出し時にデーターを
コード変換またはコード逆変換するコード変換部306
からなる。
The memory system shown in FIG. 21 has an interface 300 with a processor and a read / write buffer 30 used for transmitting and receiving data to and from the processor.
1. One-chip CPU 302 for controlling the memory system, ECC circuit 303 for ensuring the reliability of data in Flash memory, interface 307 with Flash memory, Flash memory 308,
A management data buffer 304 for temporarily storing management data of the page, and a selector 30 for inputting / outputting either ECC data or management data as overhead data
5. Code conversion unit 306 that converts or reverse-converts data when writing to and reading from Flash
Consists of

【0096】301、302、303、307、308
はそれぞれ図2の10、11、12、16、18、19
と同様である。
301, 302, 303, 307, 308
Are 10, 11, 12, 16, 18, 19 in FIG.
Is the same as

【0097】図19にコード変換部のより詳細な構成が
示してある。図中の1ページ分のユーザーデータ31
0、と1ページ分のオーバーヘッドデータ311はコー
ド変換部には含まれていないが説明のため図示してあ
る。つまりコード変換部はテンポラリーコードレジスタ
312とコード変換テーブル314と逆変換テーブル3
13からなる。
FIG. 19 shows a more detailed configuration of the code conversion unit. User data 31 for one page in the figure
The overhead data 311 for 0 and 1 page are not included in the code conversion unit, but are illustrated for explanation. That is, the code conversion unit includes the temporary code register 312, the code conversion table 314, and the inverse conversion table 3
13

【0098】テンポラリーコードレジスタ312はオー
バーヘッドの1ビット(Kビット)とユーザーデータ3
2ビット(Jビット)を一時的に貯える。コード変換テ
ーブル314はFlashへの書き込み時にテンポラリ
ーコードレジスター312からの入力をコード変換して
Flashの書き込みデーター(33ビット)を出力す
る。コード逆変換テーブル313はFlash読みだし
時に、Flashの読みだしデータを逆変換してテンポ
ラリーレジスター312にデータ(33ビット)を出力
する。変換テーブルと逆変換テーブルは必ずしもテーブ
ルである必要は無く、変換機能を持った回路または高速
なソフトウエアでもよい。
The temporary code register 312 stores 1 bit (K bit) of overhead and user data 3
Two bits (J bits) are temporarily stored. The code conversion table 314 converts the input from the temporary code register 312 at the time of writing to Flash, and outputs Flash write data (33 bits). At the time of Flash reading, the code reverse conversion table 313 reversely converts the Flash read data and outputs data (33 bits) to the temporary register 312. The conversion table and the inverse conversion table do not necessarily need to be tables, and may be a circuit having a conversion function or high-speed software.

【0099】この実施例ではユーザーデータが32ビッ
ト、オーバーヘッドデータが1ビットで33ビットのテ
ンポラリーコードを構成しているがこれは特に規定され
るものではない。しかし通常のFlashメモリーの構
成がユーザーデータ部512Bでオーバーヘッド部が1
6Bであるので、ユーザーデータ部のビット数とオーバ
ーヘッドデータのビット数の比は32;1より大きけれ
ばよい。つまり33:1、34:1、35:1等の値が
選択できる。
In this embodiment, the user data is composed of 32 bits, and the overhead data is composed of 1 bit, which constitutes a 33-bit temporary code. However, this is not particularly specified. However, the configuration of a normal Flash memory is such that the user data section 512B and the overhead section are 1
6B, the ratio of the number of bits of the user data portion to the number of bits of the overhead data may be larger than 32; 1. That is, values such as 33: 1, 34: 1, and 35: 1 can be selected.

【0100】(実施例5の動作)1ページ分のFlas
hへの書き込みの動作は以下のようである。
(Operation of Fifth Embodiment) Flash for One Page
The operation of writing to h is as follows.

【0101】まずユーザーデータの最初の2バイトをテ
ンポラリーレジスター312にロードする。同時にオー
バーヘッドデータの最初の1ビットもテンポラリーレジ
スター312にロードする。
First, the first two bytes of the user data are loaded into the temporary register 312. At the same time, the first bit of the overhead data is also loaded into the temporary register 312.

【0102】ECCはこの時既に確定していなければな
らない。従ってプロセッサーから書き込みデータを受信
する時に計算するなどして、書き込み動作が始まる前に
ECCの計算を終了しておく。同様に他の1ページ分の
管理データもあらかじめ用意して、ECCデータと合わ
せて管理データバッファー304に貯えておく。図では
テンポラリーレジスター312の最上位にオーバーヘッ
ドデータをロードしているが、ロードする位置はどこで
もよい。次にコード変換テーブル314はテンポラリー
コードレジスター312からの入力をコード変換してF
lashの書き込みデーター(33ビット)を出力す
る。これで書き込みデータが33ビット用意できたわけ
であるが、Flashの書き込みはバイトまたは複数バ
イト単位である。従ってFlashインターフェース3
07でバッファリングしてバイト単位または複数バイト
単位にして書き込む。以下同様に書き込み512B+1
6Bの書き込みが終了する。
The ECC must have already been determined at this time. Therefore, the calculation of ECC is completed before the writing operation is started, for example, by calculating when receiving the writing data from the processor. Similarly, management data for another page is prepared in advance and stored in the management data buffer 304 together with the ECC data. In the figure, overhead data is loaded at the top of the temporary register 312, but may be loaded anywhere. Next, the code conversion table 314 converts the input from the temporary code register 312 into a code,
It outputs the write data (33 bits) of the lash. With this, 33 bits of write data are prepared, but writing of Flash is performed in units of bytes or a plurality of bytes. Therefore Flash interface 3
At 07, the data is buffered and written in byte units or multiple byte units. Hereinafter, similarly, write 512B + 1
The writing of 6B ends.

【0103】同様に1ページ分のFlashからの読み
だし動作は以下のようである。
Similarly, the reading operation from Flash for one page is as follows.

【0104】まずFlashからの最初の33ビットデ
ータを逆変換テーブル313により変換してテンポラリ
ーコードレジスタ312にロードする。この時もFla
shからの読みだしデータはバイトまたは複数バイト単
位であるので、Flashインターフェース307でバ
ッファリングしてデータを33ビットに区切る。テンポ
ラリーコードレジスタ312のオーバーヘッドデータ1
ビットは管理データバッファー304へ、ユーザーデー
タ32ビットはCPU302の内部RAMまたはリード
ライトバッファー301に転送される。この時ECCの
計算はテンポラリーコードレジスタ312から転送され
るデータに対して行われる。1ページ分のデーターを読
込むと、管理データバッファー内に貯えられているEC
CデータとECC回路303での計算結果との比較を行
ない。エラーチェックまたはエラーコレクションを行な
う。
First, the first 33-bit data from Flash is converted by the inverse conversion table 313 and loaded into the temporary code register 312. At this time, Fla
Since data read from the sh is in units of bytes or plural bytes, the data is buffered by the Flash interface 307 and divided into 33 bits. Overhead data 1 of temporary code register 312
The bits are transferred to the management data buffer 304, and the 32 bits of user data are transferred to the internal RAM of the CPU 302 or the read / write buffer 301. At this time, the ECC calculation is performed on the data transferred from the temporary code register 312. When one page of data is read, the EC stored in the management data buffer
The C data is compared with the calculation result of the ECC circuit 303. Perform error checking or error correction.

【0105】このようにECCはコード変換したデータ
に対して行なっている。従ってコード変換によりデータ
ーのエラーが拡大してしまう場合などはECCの効果が
減少してしまう。これを避けるためにはより強力なEC
Cを採用する方法がある。例えばリードソロモンによる
方法のようにバーストエラーに対して強いECCを使用
する方法である。またエラーの拡大が押さえられる、特
殊なコード変換を使用する方法がある。図20に非常に
簡単な例を示す。
As described above, the ECC is performed on the code-converted data. Therefore, the effect of ECC is reduced when errors in data are enlarged by code conversion. To avoid this, a stronger EC
There is a method of adopting C. For example, a method using ECC which is strong against a burst error like the method by Reed-Solomon is used. In addition, there is a method of using a special code conversion, which suppresses the expansion of errors. FIG. 20 shows a very simple example.

【0106】この変換例ではビット32が1の時はビッ
ト31−0を反転させる。よってビット31−0はエラ
ーが発生してもそのエラーのビット数はコード変換後も
同じである。しかしビット32にエラーが発生した場合
はエラーが拡大する。図20の400のデータのビット
32が1にエラーすると401になる。従ってテンポラ
リーコードレジスタのデータ403が402になってし
まうので、何と31ビットのエラーに拡大してしまう。
しかしこのような極端な場合は通常のエラーと区別でき
る。つまり極端にエラーが多い場合は反転の条件が間違
っている事を推測してデータを反転しないでECCを調
べる。そしてエラーが充分に少なければその時のエラー
数が実際のエラーと判明する。このようにして、データ
を調べる事によって正しいエラー訂正が可能となる。
In this conversion example, when the bit 32 is 1, the bits 31-0 are inverted. Therefore, even if an error occurs in bit 31-0, the number of bits of the error remains the same after code conversion. However, if an error occurs in bit 32, the error is magnified. If the bit 32 of the data 400 in FIG. Therefore, since the temporary code register data 403 becomes 402, the error is expanded to a 31-bit error.
However, such extreme cases can be distinguished from normal errors. That is, when there are extremely many errors, the ECC is checked without inverting the data by inferring that the inversion condition is wrong. If the number of errors is sufficiently small, the number of errors at that time is determined to be an actual error. In this manner, correct error correction can be performed by examining the data.

【0107】この例では簡単すぎて、容易に解析できる
ので、実際のコード化には反転するビットを選択した
り、反転の条件をビットのパターンにする事によってよ
り複雑にする事が必要である。
Since this example is too simple and can be easily analyzed, it is necessary to select bits to be inverted and to make the conditions of the inversion more complicated by setting the inversion condition to a bit pattern. .

【0108】[0108]

【発明の効果】以上述べた様に本発明のコンピューター
システムの操作方法によれば簡単な回路を付加する事に
より、メモリーシステム、またはメモリーチップ単位で
の高度な秘匿性を得る事が可能となる。
As described above, according to the method for operating a computer system of the present invention, a high degree of secrecy can be obtained for each memory system or memory chip by adding a simple circuit. .

【0109】また本発明ではページの先頭アドレスか
ら、最初にオーバーヘッドデータが現れるアドレスまで
のデータの順番を逆にする手段を備え、各ページの先頭
のデータとユーザーデーターの先頭を不一致にする事に
より、より解析を困難にする。
In the present invention, means for reversing the order of data from the top address of a page to the address where overhead data appears first is provided, and the top data of each page and the top of user data are made inconsistent. , Making analysis more difficult.

【0110】また本発明ではページ内のオーバーヘッド
データを複数の部分にわけて分散配置し、その配置の仕
方は、秘密アルゴリズムニより決定する手段を有してい
る。これにより、オーバーヘッドデータの配置パターン
は無数に考えられるので、解析は非常に難しくなる。
In the present invention, the overhead data in the page is distributed and divided into a plurality of parts, and the arrangement is determined by a secret algorithm. As a result, the arrangement pattern of the overhead data is innumerable, and the analysis becomes very difficult.

【0111】また本発明ではプロセッサーからライトデ
ータをライトバッファーに受信すると同時にECC演算
を行なう手段を有する。これにより、メモリーに書き込
みを行なう時には既にECCデータが計算されているの
で、余分なメモリーの読みだしを行なわずに、任意の位
置にオーバーヘッドデーターを配置する事が出来る。
Further, the present invention has means for performing ECC operation at the same time as receiving write data from the processor to the write buffer. Thus, when writing to the memory, the ECC data has already been calculated, so that the overhead data can be arranged at an arbitrary position without reading the extra memory.

【0112】また本発明では不揮発性メモリーへの書き
込みデータを、ユーザーデータのビットと、オーバーヘ
ッドデータのビットの組み合わせてコード化する事によ
り、メモリーシステム、またはメモリーチップ単位での
高度な秘匿性を得る事が可能となる。
Further, in the present invention, a high degree of confidentiality can be obtained in a memory system or a memory chip unit by coding data to be written into a nonvolatile memory by combining bits of user data and bits of overhead data. Things become possible.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の1実施の形態を示すシステム構成図
(実施例1)。
FIG. 1 is a system configuration diagram showing one embodiment of the present invention (Example 1).

【図2】本発明の1実施の形態を示すシステム構成図
(実施例2)。
FIG. 2 is a system configuration diagram showing one embodiment of the present invention (Example 2).

【図3】本発明の1実施の形態を示すシステム構成図
(実施例3)。
FIG. 3 is a system configuration diagram showing one embodiment of the present invention (Example 3).

【図4】本発明の1実施のメモリー内部のデータフォー
マット(実施例1)。
FIG. 4 is a data format in a memory according to one embodiment of the present invention (Embodiment 1);

【図5】本発明の1実施のメモリー内部のデータフォー
マット(実施例2)。
FIG. 5 is a data format in a memory according to one embodiment of the present invention (Example 2).

【図6】本発明の1実施のメモリー内部のデータフォー
マット(実施例3)。
FIG. 6 shows a data format in a memory according to one embodiment of the present invention (third embodiment).

【図7】ECC生成フローチャート(メモリーへの書き
込み時)。
FIG. 7 is an ECC generation flowchart (when writing to a memory).

【図8】ECC生成フローチャート(メモリーから読み
だし時)。
FIG. 8 is an ECC generation flowchart (when reading from a memory).

【図9】先頭セクターの電源立ち上げ直後の読みだしフ
ローチャート。
FIG. 9 is a reading flowchart immediately after power-on of a leading sector.

【図10】先頭セクターの電源立ち上げ直後の読みだし
フローチャート。
FIG. 10 is a reading flowchart immediately after power-on of a leading sector.

【図11】メモリーへの書き込みフローチャート。FIG. 11 is a flowchart for writing to a memory.

【図12】メモリーへの書き込みフローチャート(自動
的にオーバーヘッドデータを混入)。
FIG. 12 is a flowchart of writing to a memory (overhead data is automatically mixed in).

【図13】Flashメモリーからの読みだしフローチ
ャート。
FIG. 13 is a flowchart of reading from a Flash memory.

【図14】Flashメモリーからの読みだしフローチ
ャート(自動的にオーバーヘッドデータを分離)。
FIG. 14 is a flowchart of reading from a Flash memory (overhead data is automatically separated).

【図15】メモリーシステム処理全体の流れのフローチ
ャート。
FIG. 15 is a flowchart of the overall flow of a memory system process.

【図16】従来の方法によるメモリー内部のデーターフ
ォーマット。
FIG. 16 shows a data format in a memory according to a conventional method.

【図17】本発明の1実施のオーバーヘッドデータのア
ドレス検索方法の説明図。
FIG. 17 is an explanatory diagram of an overhead data address search method according to one embodiment of the present invention.

【図18】本発明の1実施のオーバーヘッドデータのア
ドレス決定方法のフローチャート。
FIG. 18 is a flowchart of an overhead data address determining method according to one embodiment of the present invention;

【図19】本発明の1実施のコード変換部の詳細な構成
図。
FIG. 19 is a detailed configuration diagram of a code conversion unit according to one embodiment of the present invention.

【図20】本発明の1実施のコード変換例のコード表。FIG. 20 is a code table of a code conversion example according to one embodiment of the present invention;

【図22】本発明の1実施の秘密アルゴリズム(4
a)。
FIG. 22 shows a secret algorithm (4) according to an embodiment of the present invention.
a).

【図23】本発明の1実施の秘密アルゴリズムのハード
構成図(4a)。
FIG. 23 is a hardware configuration diagram (4a) of a secret algorithm according to one embodiment of the present invention;

【図24】本発明の1実施の秘密アルゴリズム(4
b)。
FIG. 24 shows a secret algorithm (4) according to an embodiment of the present invention.
b).

【図25】本発明の1実施の秘密アルゴリズム(4
c)。
FIG. 25 shows a secret algorithm (4) according to an embodiment of the present invention.
c).

【図26】本発明の1実施の秘密アルゴリズム(D)。FIG. 26 shows a secret algorithm (D) according to one embodiment of the present invention.

【符号の説明】[Explanation of symbols]

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コード変換テーブル
1, 10, 20, 300: Interface with processor 2, 11, 21, 301: Read / write buffer 12, 22, 302: One-chip CPU 4a, 13a, 23a: Secret algorithm A 4b , 13b, 23b... Secret algorithm B 5, 16, 24, 303 ECC circuit 6, 18, 31, 307 Flash memory interface 19, 32, 308 Flash memory 14, 25 Random number generation circuit 15, 26 Head pattern detection circuit 17, Scrambler / Descrambler 23c: Secret algorithm C 27: Management data buffer 28: Overhead data mixing timing generation circuit 29: Selector for selecting read / write data 40, 50, 60 Flash memory One block 41, 51, the first page 52 in the 611 block 52, the next page 53, the first page in the 621 block The last page 54 located at the last address 54, the top position 55 of the overhead data, the overhead data of the next page Head position 56, 66, 67, 68 overhead data 47, 48, 57, 59, user data 65 head data overhead pattern 200 management data dedicated section 201 data section 202, entire flash memory 304 management data buffer 305 overhead data Selector 306 Code conversion unit 312 Temporary code register 313 Reverse conversion table 314 Code conversion table

─────────────────────────────────────────────────────
────────────────────────────────────────────────── ───

【手続補正書】[Procedure amendment]

【提出日】平成10年3月13日[Submission date] March 13, 1998

【手続補正1】[Procedure amendment 1]

【補正対象書類名】明細書[Document name to be amended] Statement

【補正対象項目名】図面の簡単な説明[Correction target item name] Brief description of drawings

【補正方法】変更[Correction method] Change

【補正内容】[Correction contents]

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明の1実施の形態を示すシステム構成図
(実施例1)。
FIG. 1 is a system configuration diagram showing one embodiment of the present invention (Example 1).

【図2】本発明の1実施の形態を示すシステム構成図
(実施例2)。
FIG. 2 is a system configuration diagram showing one embodiment of the present invention (Example 2).

【図3】本発明の1実施の形態を示すシステム構成図
(実施例3)。
FIG. 3 is a system configuration diagram showing one embodiment of the present invention (Example 3).

【図4】本発明の1実施のメモリー内部のデータフォー
マット(実施例1)。
FIG. 4 is a data format in a memory according to one embodiment of the present invention (Embodiment 1);

【図5】本発明の1実施のメモリー内部のデータフォー
マット(実施例2)。
FIG. 5 is a data format in a memory according to one embodiment of the present invention (Example 2).

【図6】本発明の1実施のメモリー内部のデータフォー
マット(実施例3)。
FIG. 6 shows a data format in a memory according to one embodiment of the present invention (third embodiment).

【図7】ECC生成フローチャート(メモリーへの書き
込み時)。
FIG. 7 is an ECC generation flowchart (when writing to a memory).

【図8】ECC生成フローチャート(メモリーから読み
だし時)。
FIG. 8 is an ECC generation flowchart (when reading from a memory).

【図9】先頭セクターの電源立ち上げ直後の読みだしフ
ローチャート。
FIG. 9 is a reading flowchart immediately after power-on of a leading sector.

【図10】先頭セクターの電源立ち上げ直後の読みだし
フローチャート。
FIG. 10 is a reading flowchart immediately after power-on of a leading sector.

【図11】メモリーへの書き込みフローチャート。FIG. 11 is a flowchart for writing to a memory.

【図12】メモリーへの書き込みフローチャート(自動
的にオーバーヘッドデータを混入)。
FIG. 12 is a flowchart of writing to a memory (overhead data is automatically mixed in).

【図13】Flashメモリーからの読みだしフローチ
ャート。
FIG. 13 is a flowchart of reading from a Flash memory.

【図14】Flashメモリーからの読みだしフローチ
ャート(自動的にオーバーヘッドデータを分離)。
FIG. 14 is a flowchart of reading from a Flash memory (overhead data is automatically separated).

【図15】メモリーシステム処理全体の流れのフローチ
ャート。
FIG. 15 is a flowchart of the overall flow of a memory system process.

【図16】従来の方法によるメモリー内部のデーターフ
ォーマット。
FIG. 16 shows a data format in a memory according to a conventional method.

【図17】本発明の1実施のオーバーヘッドデータのア
ドレス検索方法の説明図。
FIG. 17 is an explanatory diagram of an overhead data address search method according to one embodiment of the present invention.

【図18】本発明の1実施のオーバーヘッドデータのア
ドレス決定方法のフローチャート。
FIG. 18 is a flowchart of an overhead data address determining method according to one embodiment of the present invention;

【図19】本発明の1実施のコード変換部の詳細な構成
図。
FIG. 19 is a detailed configuration diagram of a code conversion unit according to one embodiment of the present invention.

【図20】本発明の1実施のコード変換例のコード表。FIG. 20 is a code table of a code conversion example according to one embodiment of the present invention;

【図21】本発明の1実施の形態を示すシステム構成図
(実施例5)。
FIG. 21 is a system configuration diagram showing one embodiment of the present invention (Example 5).

【図22】本発明の1実施の秘密アルゴリズム(4
a)。
FIG. 22 shows a secret algorithm (4) according to an embodiment of the present invention.
a).

【図23】本発明の1実施の秘密アルゴリズムのハード
構成図(4a)。
FIG. 23 is a hardware configuration diagram (4a) of a secret algorithm according to one embodiment of the present invention;

【図24】本発明の1実施の秘密アルゴリズム(4
b)。
FIG. 24 shows a secret algorithm (4) according to an embodiment of the present invention.
b).

【図25】本発明の1実施の秘密アルゴリズム(4
c)。
FIG. 25 shows a secret algorithm (4) according to an embodiment of the present invention.
c).

【図26】本発明の1実施の秘密アルゴリズム(D)。FIG. 26 shows a secret algorithm (D) according to one embodiment of the present invention.

【符号の説明】 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コード変換テーブル
[Description of Signs] 1, 10, 20, 300: Interface with Processor 2, 11, 21, 301: Read / Write Buffer 12, 22, 302: One-chip CPU 4a, 13a, 23a,. Secret algorithm A 4b, 13b, 23b Secret algorithm B 5, 16, 24, 303 ECC circuit 6, 18, 31, 307 Interface with Flash memory 19, 32, 308 Flash memory 14, 25 Random number generation circuit 15, 26 Top Pattern detection circuit 17, Scrambler / Descrambler 23c ... Secret algorithm C 27 ... Management data buffer 28 ... Overhead data mixing timing generation circuit 29 ... Selector for selecting read / write data 40, 50, 60Fl 1 block of sh memory 41, 51, the first page in 611 block 52, the next page of the top in 621 block 53, 63 The last page located at the last address 54, the top position of overhead data 55, the next page Head data 56, 66, 67, 68 overhead data 47, 48, 57, 59, user data 65 overhead data head pattern 200 management data dedicated section 201 data section 202, entire flash memory 304 management data buffer 305 Overhead data selector 306 Code conversion unit 312 Temporary code register 313 Reverse conversion table 314 Code conversion table

Claims (9)

【特許請求の範囲】[Claims] 【請求項1】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記不揮発性フローティングゲ
ートメモリーアレーはブロックに分割され、前記ブロッ
ク内のメモリーアレーは同時に消去が可能で有り、前記
ブロックは、前記プロセッサーからの転送されるデータ
の1単位数に対応したメモリー容量を持つページに分割
され、ユーザーデーターとオーバーヘッドデーターが同
一の前記ページに書き込まれ、前記プロセッサーからの
1単位数の書き込みデーターを受信するために前記メモ
リーシステムはライトバッファーを有している、コンピ
ューターシステムにおいて、前記メモリーシステムが電
源立ち上げ後、各ブロックにおいて、最初に読み出すペ
ージP1内で、最初に前記オーバーヘッドデータが現れ
るアドレスA1を前記ブロックのアドレスから秘密アル
ゴリズムにより決定する手段を有する事を特徴とする、
前記コンピューターシステムの操作方法。
1. A system comprising a processor and a memory system,
The memory system includes a non-volatile floating gate memory array, the non-volatile floating gate memory array is divided into blocks, the memory arrays in the blocks can be erased simultaneously, and the blocks are transferred from the processor. The memory system is divided into pages having a memory capacity corresponding to one unit of data to be written, and user data and overhead data are written to the same page, and one unit of write data is received from the processor. In a computer system having a write buffer, after the memory system is powered on, in each block, an address A1 at which the overhead data appears first in a page P1 to be read first. Characterized in that it has means for determining by a secret algorithm from the address of the serial block,
An operation method of the computer system.
【請求項2】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記不揮発性フローティングゲ
ートメモリーアレーはブロックに分割され、前記ブロッ
ク内のメモリーアレーは同時に消去が可能で有り、前記
ブロックは、前記プロセッサーからの転送されるデータ
の1単位数に対応したメモリー容量を持つページに分割
され、ユーザーデーターとオーバーヘッドデーターが同
一の前記ページに書き込まれ、前記プロセッサーからの
1単位数の書き込みデーターを受信するために前記メモ
リーシステムはライトバッファーを有している、コンピ
ューターシステムにおいて、前記メモリーシステムが電
源立ち上げ後、各ブロックにおいて、最初に読み出すペ
ージP1内で、最初に前記オーバーヘッドデータが現れ
るアドレスA1の複数の候補を、前記ブロックのアドレ
スから秘密アルゴリズムにより決定し、前記アドレスの
複数の候補から正しいアドレスをError Corr
ectionCheck(以降ECCとする)を用いて
決定する手段を有する事を特徴とする、前記コンピュー
ターシステムの操作方法。
2. A system comprising a processor and a memory system,
The memory system includes a non-volatile floating gate memory array, the non-volatile floating gate memory array is divided into blocks, the memory arrays in the blocks can be erased simultaneously, and the blocks are transferred from the processor. The memory system is divided into pages each having a memory capacity corresponding to one unit of data, and user data and overhead data are written on the same page, and one unit of write data is received from the processor. In a computer system having a write buffer, in the block P1 to be read first in each block after the power of the memory system is turned on, an address A1 where the overhead data appears first is read. The number of candidates determined by a secret algorithm from the address of the block, Error the correct address from a plurality of candidates of the address Corr
The method of operating the computer system, further comprising: means for determining by using an action check (hereinafter, referred to as ECC).
【請求項3】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記不揮発性フローティングゲ
ートメモリーアレーはブロックに分割され、前記ブロッ
ク内のメモリーアレーは同時に消去が可能で有り、前記
ブロックは、前記プロセッサーからの転送されるデータ
の1単位数に対応したメモリー容量を持つページに分割
され、ユーザーデーターとオーバーヘッドデーターが同
一の前記ページに書き込まれ、前記プロセッサーからの
1単位数の書き込みデーターを受信するために前記メモ
リーシステムはライトバッファーを有している、コンピ
ューターシステムにおいて、前記メモリーシステムが電
源立ち上げ後、各ブロックにおいて、最初に読み出すペ
ージP1内で、最初に前記オーバーヘッドデータが現れ
るアドレスA1に前記ブロックのアドレスから秘密アル
ゴリズムにより決定される特殊なパターンを書き込んで
おき、前記パターンを検知する事により前記アドレスA
1を決定する手段を有する事を特徴とする、前記コンピ
ューターシステムの操作方法。
3. A system comprising a processor and a memory system,
The memory system includes a non-volatile floating gate memory array, the non-volatile floating gate memory array is divided into blocks, the memory arrays in the blocks can be erased simultaneously, and the blocks are transferred from the processor. The memory system is divided into pages having a memory capacity corresponding to one unit of data to be written, and user data and overhead data are written to the same page, and one unit of write data is received from the processor. In a computer system having a write buffer, after the power of the memory system is turned on, in each block, at the address A1 where the overhead data appears first in the page P1 to be read first. The address of the serial block previously written a special pattern determined by a secret algorithm, the address A by detecting the pattern
1. A method for operating the computer system, comprising:
【請求項4】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記メモリーアレイは、前記プ
ロセッサーからの転送されるデータの1単位数に対応し
たメモリー容量を持つページに分割され、前記プロセッ
サーからの1単位数の書き込みデーターを受信するため
に前記メモリーシステムはライトバッファーを有してい
る、コンピューターシステムにおいて、前記メモリーシ
ステムは管理データだけ書き込まれる管理データ専用部
を少なくとも1個所前記メモリーアレー内に有し、前記
メモリーアレーのそれ以外の部分ではユーザーデーター
とオーバーヘッドデーターが同一の前記ページに書き込
まれ、前記メモリーシステムが電源立ち上げ後、最初に
読み出すページP1のアドレスA0と、P1内で最初に
前記オーバーヘッドデータが現れるアドレスA1を前記
管理データ専用部のデータにより決定する手段を有する
事を特徴とする、前記コンピューターシステムの操作方
法。
4. A system comprising a processor and a memory system,
The memory system includes a non-volatile floating gate memory array, wherein the memory array is divided into pages having a memory capacity corresponding to one unit of data transferred from the processor, and one unit of data from the processor is divided into pages. A computer system, wherein the memory system has a write buffer for receiving write data, wherein the memory system has at least one dedicated management data portion in the memory array to which only management data is written; In other parts of the array, user data and overhead data are written to the same page, and after the memory system is powered on, the address A0 of the page P1 to be read first and the overhead in the page P1 first. And wherein the address A1 that data appears to have the means for determining the data of the management data only unit, the operation method of the computer system.
【請求項5】プロセッサーとメモリーシステムを含み、
前記メモリーシステムは不揮発性フローティングゲート
メモリーアレーを含み、前記メモリーアレイは、前記プ
ロセッサーから転送されるデータの1単位数に対応した
メモリー容量を持つページに分割され、前記プロセッサ
ーからの1単位数の書き込みデーターを受信するために
前記メモリーシステムはライトバッファーを有してい
る、コンピューターシステムにおいて、前記メモリーシ
ステムへの書き込み時には、前記ユーザーデータからな
るJビットと、前記オーバーヘッドデータからなるKビ
ットより構成されるJ+Kビットのテンポラリーコード
を作成し、前記テンポラリーコードを、異なったJ+K
ビットのコードにコード変換した後に、前記ページに書
き込み、前記メモリーシステムからの読み出し時には、
前記ページより読み出したデータをJ+Kビットに区切
り、逆変換してJ+Kビットの元データに戻す手段を有
する事を特徴とするコンピューターシステムの操作方
法。
5. A system comprising a processor and a memory system,
The memory system includes a non-volatile floating gate memory array, wherein the memory array is divided into pages having a memory capacity corresponding to one unit of data transferred from the processor, and one unit of data is written from the processor. In order to receive data, the memory system has a write buffer.In a computer system, at the time of writing to the memory system, the memory system is composed of J bits composed of the user data and K bits composed of the overhead data. Create a temporary code of J + K bits and replace the temporary code with a different J + K
After code conversion into bit codes, writing to the page and reading from the memory system,
A method for operating a computer system, comprising: means for dividing data read from the page into J + K bits, performing inverse conversion, and returning the original data to J + K bits.
【請求項6】請求1、2、3、4において、前記ブロッ
ク内の、前記ページP1以外のページで最初にオーバー
ヘッドデータが現れるアドレスA2を、前記ページP1
で最初に前記オーバーヘッドデータが現れるアドレスA
1、または前記ページP1のオーバーヘッドデータを基
に秘密アルゴリズムニより決定する事を特徴とするコン
ピューターシステムの操作方法。
6. An apparatus according to claim 1, wherein an address A2 at which overhead data first appears in a page other than said page P1 in said block is assigned to said page P1.
Address A where the overhead data first appears
1 or a method of operating a computer system, wherein the method is determined by a secret algorithm based on overhead data of the page P1.
【請求項7】請求項1、2、3、4において、ページの
先頭アドレスから、最初にオーバーヘッドデータが現れ
るアドレスまでのデータの順番を逆にする事を特徴とす
るコンピューターシステムの操作方法。
7. A computer system operating method according to claim 1, wherein the order of data from the top address of the page to the address where overhead data appears first is reversed.
【請求項8】請求項1、2、3、4においてページ内の
オーバーヘッドデータを複数の部分にわけて分散配置
し、その配置の仕方は、最初に前記オーバーヘッドデー
タが現れるアドレスA1、または前記ページP1のオー
バーヘッドデータを基に秘密アルゴリズムニより決定す
る事を特徴とするコンピューターシステムの操作方法。
8. The method according to claim 1, wherein the overhead data in the page is distributed and arranged in a plurality of parts, and the layout method is such that the overhead data first appears in the address A1 or the page. A method for operating a computer system, wherein the method is determined by a secret algorithm based on P1 overhead data.
【請求項9】請求項1、2、3、4、5おいて、前記プ
ロセッサーからライトデータを前記ライトバッファーに
受信しながらECC演算を行なう事を特徴とするコンピ
ューターシステムの操作方法。
9. The computer system operation method according to claim 1, wherein an ECC operation is performed while receiving write data from said processor to said write buffer.
JP10014599A 1998-01-27 1998-01-27 Operating method for computer system Withdrawn JPH11212873A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP10014599A JPH11212873A (en) 1998-01-27 1998-01-27 Operating method for computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10014599A JPH11212873A (en) 1998-01-27 1998-01-27 Operating method for computer system

Publications (1)

Publication Number Publication Date
JPH11212873A true JPH11212873A (en) 1999-08-06

Family

ID=11865665

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10014599A Withdrawn JPH11212873A (en) 1998-01-27 1998-01-27 Operating method for computer system

Country Status (1)

Country Link
JP (1) JPH11212873A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203822A (en) * 2005-01-24 2006-08-03 Ntt Data Corp Arithmetic unit and computer program
JP2009245218A (en) * 2008-03-31 2009-10-22 Nec Corp Memory device and memory control method
JP2010517168A (en) * 2007-01-26 2010-05-20 マイクロン テクノロジー, インク. Programming management data for NAND memory
JP5011498B2 (en) * 1999-02-17 2012-08-29 レクサー・メディア・インコーポレイテッド Memory system

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5011498B2 (en) * 1999-02-17 2012-08-29 レクサー・メディア・インコーポレイテッド Memory system
JP2006203822A (en) * 2005-01-24 2006-08-03 Ntt Data Corp Arithmetic unit and computer program
JP2010517168A (en) * 2007-01-26 2010-05-20 マイクロン テクノロジー, インク. Programming management data for NAND memory
US8943387B2 (en) 2007-01-26 2015-01-27 Micron Technology, Inc. Programming management data for a memory
JP2009245218A (en) * 2008-03-31 2009-10-22 Nec Corp Memory device and memory control method

Similar Documents

Publication Publication Date Title
US6769087B2 (en) Data storage device and method for controlling the device
US5734816A (en) Nonvolatile memory with flash erase capability
US6158004A (en) Information storage medium and security method thereof
US8831229B2 (en) Key transport method, memory controller and memory storage apparatus
JP2004139503A (en) Storage device and its control method
US8015416B2 (en) Memory information protection system and methods
CN110781532B (en) Card opening device and method for verifying and enabling data storage device by using card opening device
US8171378B2 (en) Flash memory system having encrypted error correction code and encryption method for flash memory system
JPH0680501B2 (en) Memory addressing error detection circuit
US7657697B2 (en) Method of controlling a semiconductor memory device applied to a memory card
US20070174622A1 (en) Protection of data of a memory associated with a microprocessor
EP0383899B1 (en) Failure detection for partial write operations for memories
JPH11212873A (en) Operating method for computer system
JP2006004367A (en) Memory card and semiconductor device
CN110633225B (en) Apparatus and method for generating entity storage comparison table
JP4582078B2 (en) Memory controller, flash memory system, and flash memory control method
US6754857B2 (en) Method of testing cache memory
JP4692843B2 (en) Memory controller, flash memory system, and flash memory control method
TW575806B (en) A method for enhancing flash memory error correction capability and providing data encryption in the same time
TWI698748B (en) Data storage device, access device and data processing method
US20240111451A1 (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
US20240111670A1 (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
CN1918580A (en) Card and host apparatus
JPS58184656A (en) Program storage system
JP2004118937A (en) Nonvolatile memory and data storage device having the same

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