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
block
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
恒範 木村
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
Application status is Withdrawn legal-status Critical

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.
COPYRIGHT: (C)1999,JPO

Description

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

【0001】 [0001]

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

【0002】 [0002]

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

【0003】 [0003]

【発明が解決しようとする課題】従来の方法ではオーバーヘッドデータは常に各ページの最後部に位置して、ユーザーデータ部とオーバーヘッド部が明確に分割されている。 Overhead data is [Problems that the Invention is to Solve Conventional methods are always located in the last part of each page, the user data portion and an overhead portion are clearly divided.

【0004】これはECCの処理がやりやすく、管理データも簡単に検索できるメリットはある。 [0004] This is easier processing of the ECC, is the benefits of management data can also be easy to find. しかしそのためメモリーの中を直接覗けば簡単に内容が解析されてしまう恐れがある。 However simple content if Nozoke direct in that for memory to lead to be analyzed. このため、高度の機密性を得るには、 Therefore, to obtain a high degree of confidentiality,
複雑で高度な暗号化が必要であった。 Complex and advanced encryption is required. ホストとのi/f i / f of the host
で機密性を持たせれば良いと言う考えもあるが、それでは十分とは言えない。 In there is also thought to say that it is sufficient to have the confidentiality, So it can not be said enough. メモリーチップを外し、単体で解析される恐れがある。 Remove the memory chips, which may be analyzed separately. また例えばSSFDC(Soli In addition, for example SSFDC (Soli
d State Floppy Disk Card d State Floppy Disk Card
Forum)が提唱するカードはFlashメモリーだけの構成なのでこれを使用するシステムが機密性を持たせるには、SSFDCカード内のFlashメモリーに書き込むデーターを暗号化する必要がある。 Card Forum) advocated in a constitution in just Flash memory systems that use this to provide confidentiality, it is necessary to encrypt the data to be written to the Flash memory SSFDC the card. また今後コピープロテクト機能や、部分的に読みだし書き込み禁止等の機能を付加するためには、各ページ単位に格納されている、管理データの秘匿性がさらに重要になる。 Further and future copy protection function, in order to add a function of the write prohibition read partially is stored in each page unit, it becomes more important the confidentiality of the management data. しかしながら従来の方法では高度の機密性を持たせるのには適さなかった。 However not suitable for the conventional method to have a high degree of confidentiality.

【0005】 [0005]

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

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

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

【0008】本発明の請求項4記載のコンピューターシステムの操作方法では、メモリーシステムが電源立ち上げ後、最初に読み出すページP1のアドレスA0と、P [0008] In claim 4, wherein the computer system operation method of the present invention, after the memory system power-up, the address A0 of the page P1 of the first reading, P
1内で最初に前記オーバーヘッドデータが現れるアドレスA1を管理データ専用部のデータにより決定する手段を有する事を特徴とする。 The first thing characterized comprising means for determining by the data of the management overhead data appears address A1 data only part in the 1. この発明によれば簡単な回路を付加する事により、メモリーシステム、またはメモリーチップ単位での高度な秘匿性を得る事が可能となる。 By adding a simple circuit according to the present invention, it becomes possible to obtain a high degree of confidentiality in memory systems or memory chip basis.

【0009】本発明の請求項5記載のコンピューターシステムの操作方法では、前記ユーザーデータからなるJ [0009] In operation method of claim 5 wherein the computer system of the present invention, J consisting of the user data
ビットと、前記オーバーヘッドデータからなるKビットより構成されるJ+Kビットの前記テンポラリーコードを、異なるJ+Kビットのコードに変換した後に、ページに書き込み、ページより読み出したデータはJ+Kビットに区切り、元のJ+Kビットのデータに逆変換する事により、メモリーシステム、またはメモリーチップ単位での高度な秘匿性を得る事が可能となる。 And bits, the temporary code of the J + K bits comprised of K bits consisting of the overhead data, after conversion into code in different J + K bits, writes the page data read out from the page delimiter in J + K bits, original J + K by inversely converted into bit data, it becomes possible to obtain a high degree of confidentiality in memory systems or memory chip basis.

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

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

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

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

【0014】 [0014]

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

【0015】図1のメモリーシステムは、プロセッサーとのインターフェース1、プロセッサーとのデータとの送受の際に使用するリードライトバッファー2、メモリーシステムのコントロールを行なう1チップCPU3、 The memory system of Figure 1, the interface 1 of the processor, read-write buffer 2 for use in the transmission and reception of data between the processor, 1 chip CPU3 performing control memory system,
秘密アルゴリズムA4a、秘密アルゴリズムB4b、F Secret algorithm A4a, secret algorithm B4b, F
lashメモリーのデータの信頼性確保のためのECC ECC for ensuring the reliability of the data of the lash memory
回路5、Flashメモリーとのインターフェース6、 Interface 6 of the circuit 5, Flash memory,
Flashメモリー7からなる。 It consists of Flash memory 7. ここでFlashメモリーとは、一般にATAカード等で広く使用されている、不揮発性フローティングゲートメモリーアレーの1 Here, the Flash memory is generally widely used in ATA card, the first non-volatile floating gate memory array
つである。 One is is.

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

【0017】リードライトバッファー2はプロセッサーからの書き込み時には書き込みデータを一時的に貯え、 [0017] The read-write buffer 2 is temporarily stored the write data at the time of writing from the processor,
プロセッサーの読みだし時にはFlashメモリーからの読みだしデータを貯える。 Store the data read from the Flash memory when reading of the processor. 実際には、リードライトバッファー2は1チップCPU3が直接読み書きする事が出来るRAMの内部に存在する。 In fact, the read-write buffer 2 is present in the interior of the RAM that can be 1 chip CPU3 is written to or read from directly.

【0018】1チップCPU3は内部にプログラムを収めるROMとワーク用のRAMを内蔵する。 [0018] 1 chip CPU3 is a built-in RAM for ROM and work to keep the program internally. さらにプロセッサーとのインターフェース1とリードライトバッファー2間のデーター転送、またはリードライトバッファー2とFlashメモリー7間のデータ転送に利用されるDMAのコントローラーも含む。 Further including DMA controllers utilized data transfer between the interface 1 and the read-write buffer 2 with processor, or data transfer between the read-write buffer 2 and Flash memory 7. 1チップCPU3はプロセッサーからのコマンドの解析、Flashメモリーのリードライトのコントロール、暗号化の処理の1部等を行なう。 1 chip CPU3 performs analysis of commands from the processor, Flash memory read-write control, a portion or the like of the encryption process.

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

【0020】Flashメモリー7は単体または複数のチップからなる。 [0020] Flash memory 7 is made from a single piece or a plurality of chips.

【0021】図4にこの実施例で使用されるFlash [0021] Figure 4 Flash used in this example
メモリー7の内部のデーターフォーマットを示す。 The data is shown format of the internal memory of 7. 図4 Figure 4
は1度に消去の出来る1ブロック40の内部のデータ構成を示す。 Shows the internal data structure of one block 40 which can erase a time. 1ブロック40はN個のページに分割される。 1 block 40 is divided into N pages. 一般的には1ページがプロセッサーからのデータ転送単位の512byteに対応している。 In general, one page corresponds to the 512byte of the data transfer unit from the processor. 41はブロック40の、最初のアドレスに位置する、先頭のページであり、42は次のページであり、43は最後のアドレスに位置する最終のページである。 41 of the block 40, located in the first address, a first page, 42 is the next page, 43 is the final page, located at the end of the address. ページはMByteから構成されている。 Page is composed of MByte. ページ内部にはユーザーデータ4 The internal page user data 4
8、47とオーバーヘッドデーター46がふくまれており、本発明ではこの2つの情報を混在させることに特長がある。 8, 47 and has overhead data 46 is included, in the present invention has a feature that mix the two information. 44はオーバーヘッドデータ46の先頭位置、 44 is the head position of the overhead data 46,
何Byte目か、を示すアドレスである。 What Byte eyes or, which is the address that shows. 45は次ページ42のオーバーヘッドデータの先頭位置を示すアドレスである。 45 is an address indicating the head position of overhead data of the next page 42. これらの位置はページ毎に変化し、そのため管理データーの解析を困難にし、メモリーシステムの秘匿性を高めている。 These positions were changed for each page, making it difficult to analyze the reason management data, to enhance the secrecy of the memory system.

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

【0023】図22に秘密アルゴリズムAの簡単な例を示す。 [0023] shows a simple example of a secret algorithm A in Figure 22. 複数のアドレス候補を作り出すため、Flash In order to create a plurality of address candidates, Flash
ブロックの物理アドレスの下位と定数(0〜3)組み合わせてテーブルによりランダムな値を発生する。 Generating a random value by the table in conjunction lower and constants of the physical address of the block (0-3). さらに簡単な演算によるランダマイズを行なう。 Performing randomized by simpler operations. 書込み時には、POWERon後の書込み回数に従ってアドレスの選択を行なう。 At the time of writing, the selection of address according to the write count after POWERON. さらに図23にはこのアルゴリズムをハードで実現した場合を示す。 Further in FIG. 23 shows a case of realizing the algorithm hard. 通常使用されるCPUの能力を考慮するとこれらの処理はハードで行なう事が望ましいが、図23の様に比較的関単な回路で実現できる。 Considering the ability of the CPU that is normally used these processes are desirably carried out in hardware, it can be realized in a relatively Sekitan circuit as in Figure 23.
(乗算は加算器により実現している)。 (Multiplication is realized by the adder).

【0024】次に、150で読み出したブロックの先頭ページデータより、ブロック管理テーブルを作成し、さらに、以降のページのデータの先頭アドレスを算出するための元データを読みだし、(例えばCPU3の内部R [0024] Next, from the first page data of the block that was read out at 150, to create a block management table, further, read the original data for calculating the start address of the data on the following pages, inside of (for example CPU3 R
AMへ)記憶する処理151を行なう。 AM to) performs processing 151 for storing. 以降のページのデータの先頭アドレスを算出するための前記元データは、ブロックの先頭ページの、データの先頭アドレスでも良いし、ブロックの先頭ページの管理データの1つに含まれていても良い。 The original data for calculating the start address of the data on the following pages, the first page of the block may be the head address of the data, it may be included in one of the management data of the first page of the block. ブロックの先頭ページの、データの先頭アドレスは以降も使用するので、やはり(例えばCPU3の内部RAMへ)記憶しておく。 Of the first page of the block, so to be used after the start address of the data is still (to, for example, CPU3 of internal RAM) stores. ブロック管理テーブルとは、ユーザーデータの、プロセッサーからのコマンドにより示されるアドレス(例えばLogica The block management table, the address indicated in the user data, by a command from the processor (e.g., Logica
l Block Addressまたはヘッド、シリンダー、セクタ番号)と実際のFlashメモリーのブロックアドレスとの対応を示すものである。 l Block Address or head, showing the cylinder, the correspondence between the block address of the actual Flash memory and sector number).

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

【0026】次により詳細な処理の流れに付いて説明する。 [0026] will be described with the flow of the next by detailed processing.

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

【0028】次にSTCDADR0によりデータを読み出す処理109を行なう。 The next is a process 109 of reading data by STCDADR0. この読みだしの手順は他のページの読みだし手順と同じである。 The procedures in this reading is the same as the procedure read of another page. これについては後に詳細を説明する。 This will be described later the detail. 次に読み出したデータのECCが正しいどうかをチェックする。 Of the next read data ECC to check the correct assimilation. もし正しければ先頭アドレスが正しく選択されたことを示すので、ブロックの先頭セクターの読みだし処理を終了する。 It indicates that the start address has been correctly selected If correct, the process is terminated read of the first sector of the block. もし正しくなければ、次のアドレス候STCDADR1よりデータを読み出す処理110を行なう。 If there is no If correct, it performs a process 110 of reading the data from the next address climate STCDADR1. 以下同様にECCが正しくなければ次のアドレス候補を使用する。 If there is no similarly ECC correctly below to use the following address candidate. すべてのアドレス候補で正しくない場合は、そのブロックは何らかの不良となっているので、不良ブロックとして記憶し以降の処理では使用しない。 If incorrect in all addresses candidate, since the block has a some bad, not used in the subsequent processing is stored as a bad block.

【0029】図7に処理152の中に含まれる、セクター書き込みの前半処理である、ECC生成処理をより詳細に示してある。 [0029] included in the process 152 in FIG. 7, it is the first half processing sector write is shown an ECC generating process in more detail. まず、プロセッサーからメモリ-システムへデータを転送する処理100を行なう。 First, from the processor memory - it performs a process 100 for transferring data to the system. データの転送単位は1word毎でも1byte毎でも良い。 Transfer unit of data may be in each 1byte in every 1word. 次にE Then E
CCの演算をこのデータ転送単位毎に行なう。 Performing the calculation of CC for each data transfer unit. 従来のメモリーシステムでは、ECCの演算はデータをFlas In conventional memory systems, FLAS operations of the ECC data
hメモリーに書き込む最中に行なっていた。 It had been carried out in the middle of writing to h memory. 本発明ではユーザーデータ48、47とオーバーヘッドデーター4 User data 48, 47 in the present invention, and overhead data 4
6を混在させて書き込みを行なうため、書き込み最中にはECCの演算ができない。 For 6 mix by writing can not computation of the ECC is during writing. よって、プロセッサーからメモリ-システムへデータ転送の処理100とほぼ同時にE Therefore, the memory from the processor - substantially simultaneously E and processing 100 of a data transfer to the system
CCの演算処理101を行なっている。 And performing arithmetic operation processing 101 of the CC. 次にリードライトバッファー2へデータの書き込み処理102を行なう。 Then writing process 102 of data to the read-write buffer 2. しかしこれらの100、101、102の処理はハード的に、ほぼ同時におこなわれる。 But the processing of these 100, 101 by hardware, are substantially simultaneously performed. 以上の処理をプロセッサーからのデータ転送単位(例えば512Byt Unit of data transfer from the processor to the above process (e.g. 512Byt
e)まで行い、次の処理であるリードライトバッファー2からFlashメモリーへ書き込みへ処理を進める。 Continued until e), the process proceeds from the read-write buffer 2 is the next process to write into the Flash memory.

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

【0031】図24に秘密アルゴリズムBの簡単な実現例をしめす。 [0031] shows the simple implementation of a secret algorithm B in Figure 24. 前記元データはPOWERON後の書込み回数により、ランダムな値が書込まれている。 The original data by writing the number of post-POWERON, a random value is written. 従ってこの値を再びランダマイズするのは、秘密アルゴリズムA Therefore to randomize the values ​​again, a secret algorithm A
が解読された時のためである。 This is because when There have been deciphered. このアルゴリズムでは、 In this algorithm,
前記元データをランダマイズして最初にオーバーヘッドデーターの現れるアドレスを生成している。 And it generates an address that appears first overhead data to randomize the original data.

【0032】次に[セクタのデータの先頭アドレス+リードライトバッファー2の先頭アドレス]をDMAコントローラーのDMAスタートアドレスに設定する処理1 [0032] Next, the process for setting the start address + start address of the read-write buffer 2 of the data of the sector] to the DMA start address of the DMA controller 1
19を行なう。 19 carried out. 次にDMA転送アドレス変化はdecr Then DMA transfer address change is decr
ementに設定する処理120を行なう。 It performs processing 120 for setting the ement. これはページの先頭がユーザーデータの先頭と一致することを避けて、ユーザーデータの前半部のデータの並びを逆にするためである。 This is to avoid that the top of the page coincides with the beginning of the user data, in order to the arrangement of the data of the first half of the user data to the contrary. こうすることにより各ぺージのデータの先頭は予想が困難となる。 The head of data of each page is expected difficult by this.

【0033】次にセクタのデータの先頭アドレスまでリードライトバッファー2のデータを転送する処理121 The next transfer start address data of the read write buffer 2 to the data of the sector processing 121
を行なう。 It is carried out. 次にオーバーヘッドデーターを転送する処理122を行なう。 Then it performs processing 122 for transferring the overhead data. この実施例ではこのように各ページのオーバーヘッドデーターは一個所にまとまって格納されている。 In this embodiment the overhead data of each page as this is stored collectively in one place. 次に残りのユーザーデータを転送する処理12 Then processing transfers the remaining user data 12
3を実行する。 3 to run. 残りのユーザーデータはユーザーデータの前半部と同様にデーターの並びを逆にしても良いがそのままでも良い。 The rest of the user data may be a sequence of data in the same way as the first half of the user data in the reverse may be as it is.

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

【0035】図8にセクター読みだし時の、ECC生成処理をより詳細に示してある。 [0035] when reading sector in FIG. 8, there is shown a ECC generation process in more detail. まず、読み出されるデータがユーザーデータかオーバーヘッドデータかを選択するハードウエア(またはソフトウエア)の設定の処理1 First, the processing of the hardware (or software) configuration in which data to be read out to select whether user data or overhead data 1
03を実行する。 03 to run. これは実際には前述の図13の処理と同時におこなわれ、容易にソフトで設定することが出来る。 This is actually done at the same time as the process described above in FIG. 13, it can easily be set by software. 次にハードウエアはユーザーデータに設定されていればデータをリードライトバッファー2に格納する処理104を行い、オーバーヘッドデーターが設定されていれば、データーをオーバーヘッド領域に転送する処理1 Then hardware performs a process 104 for storing the data in the read-write buffer 2 if set in the user data, if the overhead data is set, the process to transfer the data to the overhead area 1
05を行なう。 05 carried out. 105では、より詳細には管理データーは管理データ領域へ、ECCデーターはECC領域(R In 105, more specifically to the management data management data area, ECC data is ECC area (R
AMの1部またはレジスター)に転送される。 It is transferred to a portion or register) of AM. ECCの演算は104の処理の時のみ実行される。 ECC computation is performed only when the process 104. 104、10 104,10
5の処理はハードで行なうことが妥当であるが、ソフトでの処理も可能である。 Treatment of 5 is reasonable to carry out hard, but can also process in software.

【0036】ユーザーデータがセクター単位(512B The user data sector unit (512B
yte)になったところで読みだしを終了し、ECCのチェックを行なう。 Exit read where became yte), perform the ECC check. ECCが正しい時には次の処理(プロセッサーへのデータ転送)に進み、正しくない時にはエラー訂正等のエラー処理を行なう。 Proceed to the next processing when ECC is correct (data transfer to the processor), performs the error processing such as error correction when incorrect.

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

【0038】図2のメモリーシステムは、プロセッサーとのインターフェース10、プロセッサーとのデータとの送受の際に使用するリードライトバッファー11、メモリーシステムのコントロールを行なう1チップCPU The memory system of Figure 2, one-chip CPU to perform interface 10 with processor, read-write buffer 11 for use in the transmission and reception of data between the processor, the control of the memory system
12、秘密アルゴリズムA13a、秘密アルゴリズムB 12, secret algorithm A13a, secret algorithm B
13b、Flashメモリーのデータの信頼性確保のためのECC回路16、Flashメモリーとのインターフェース18、Flashメモリー19,Flashメモリーの読み出し書き込みデータをScramble、 13b, Flash ECC circuit 16 for ensuring the reliability of the data memory, Flash memory and interface 18, Flash memory 19, Flash memory read write data Scramble,
DescrambleするScrambler/Des Descramble to Scrambler / Des
crambler17、ブロックの先頭ページのデーターの先頭を書き込みまたは読み出しする時に使用する、 crambler17, to use when top writing or reading the data of the first page of the block,
乱数発生回路14、先頭パターン検出回路15、からなる。 Random number generation circuit 14, the head pattern detection circuit 15, composed of.

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

【0040】図5にこの実施例で使用されるFlash [0040] Flash used in this embodiment in FIG. 5
メモリー19の内部のデーターフォーマットを示す。 The data is shown format of the internal memory of 19. 図5は1度に消去の出来る1ブロック50の内部のデータ構成を示す。 Figure 5 shows the internal data structure of one block 50 which can erase a time. 1ブロック50の内部の物理的構成は1ブロック40と同じである。 Internal physical structure of one block 50 is the same as one block 40. 51はブロック50の、最初のアドレスに位置する、先頭のページであり、52は次のページであり、53は最後のアドレスのに位置する最終のページである。 51 of the block 50, located in the first address, a first page, 52 is the next page, 53 is the final page, located in the end of the address. ページはMByteから構成されている。 Page is composed of MByte. ページ内部にはユーザーデータ59、57とオーバーヘッドデーター56と、その一部である先頭パターン58がふくまれており、本発明ではユーザーデータ5 The internal page and user data 59,57 and overhead data 56, and the top pattern 58 is included which is a part of the user data 5 in the present invention
9、57とオーバーヘッドデーターの2つの情報を混在させることに特長がある。 It has an advantage to mix the two pieces of information 9,57 and overhead data. 54はオーバーヘッドデータ46の先頭位置が何Byte目か、を示すアドレスである。 54 is an address indicating the leading position is what Byte eyes of the overhead data 46. 55は次ページ52のオーバーヘッドデータの先頭位置を示すアドレスである。 55 is an address indicating the head position of overhead data of the next page 52. これらの位置はページ毎に変化し、そのため管理データーの解析を困難にし、メモリーシステムの秘匿性を高めている。 These positions were changed for each page, making it difficult to analyze the reason management data, to enhance the secrecy of the memory system.

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

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

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

【0044】次により詳細な処理の流れに付いて説明する。 [0044] will be described with the flow of the next by detailed processing.

【0045】図10には処理150の中でのブロックの先頭セクターの読みだし手順を、より詳細に示してある。 [0045] FIG. 10 the procedure read of the first sector of the block of in the processing 150, is shown in more detail. まず、Flashメモリーのアドレスから、秘密アルゴリズムA13aによりデータの先頭パターンを算出する処理112を実行する。 First, the address of the Flash memory, executes a process 112 for calculating a first pattern data by a secret algorithm A13a. 次にFlashメモリーより1wordもしくは1byteずつ読みだしDesc Then read from Flash memory by 1word or 1byte Desc
rambleを行い、前述先頭パターンとの一致を調べる1連の処理113、114、115を行なう。 Performed ramble, performs processing 113, 114 and 115 of a series of testing for a match between the aforementioned first pattern. このパターンのサーチは先頭パターン検出回路15により行なう。 Search pattern is performed by the top pattern detection circuit 15. パターンが一致すると1ページ分のデータを読み出す処理116を行なう。 If the pattern matches it performs a process 116 for reading data of one page. 通常先頭パターンはページの先頭にはないので、先頭パターンからページの最後まで読んだ後にまた先頭から先頭パターンまでを読み出す事になる。 Because usually top pattern is not at the top of the page, it will be read to the beginning pattern from or head after reading the last page of the document from the beginning pattern. 次に1ページ分のデータのECCを調べ先頭パターンが正しい事の確認を行なう。 Then perform a confirmation of that top pattern is correct examine the ECC of the data of one page. ブロックの最初のセクターの、データの先頭位置はランダムに決められるので、解析が困難である。 The first sector of the block, the head position of the data is randomly determined, the analysis is difficult. またパターンもブロック毎に変化する。 The pattern also changes for each block.

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

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

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

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

【0050】パターンを書き込む。 [0050] writing the pattern.

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

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

【0053】ECC生成処理(図7、図8)、Flas [0053] ECC generation processing (FIGS. 7 and 8), Flas
hメモリーへの書き込み処理(図11)、Flashメモリーからの読みだし処理(図13)に関しては実施例1とほぼ同じである。 h write process to the memory (11), is substantially the same as Example 1 for readout process from the Flash memory (FIG. 13).

【0054】Flashメモリーに書き込む際には秘匿性を向上させるためScrambleを行ない、従って読み出す際にはDescrambleするところが、以上の処理に関して唯一異なる点である。 [0054] When writing to Flash memory performs Scramble for improving confidentiality, when reading is therefore where the Descramble is the only difference with respect to the above process.

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

【0056】図3のメモリーシステムは、プロセッサーとのインターフェース20、プロセッサーとのデータとの送受の際に使用するリードライトバッファー21、メモリーシステムのコントロールを行なう1チップCPU [0056] Memory system of FIG. 3, 1-chip CPU to perform interface 20 with processor, read-write buffer 21 for use in the transmission and reception of data between the processor, the control of the memory system
22、秘密アルゴリズムA23a、秘密アルゴリズムB 22, secret algorithm A23a, secret algorithm B
23b、秘密アルゴリズムC23c、Flashメモリーのデータの信頼性確保のためのECC回路24、Fl 23b, secret algorithm C23c, ECC circuit 24, Fl for ensuring the reliability of the data of Flash memory
ashメモリーとのインターフェース31、Flash Interface 31, Flash of the ash memory
メモリー32、Flashメモリーの読み出し書き込みデータをScramble、DescrambleするScrambler/Descrambler30,ブロックの先頭ページのデーターの先頭を書き込みまたは読み出しする時に使用する、乱数発生回路25、先頭パターン検出回路26、一時的にページの管理データを貯える管理データバッファー27、メモリーのリードライトデータを選択するセレクター29、オーバーヘッドデータ混入タイミング発生回路28からなる。 Memory 32, Flash memory Scramble read write data, Descramble to Scrambler / Descrambler30, used when the head writes or reads the data of the first page of the block, the random number generating circuit 25, the head pattern detection circuit 26, temporarily pages management data buffer 27 to store the management data, the selector 29 for selecting a memory read write data, consisting of overhead data incorporated timing generation circuit 28.

【0057】20、21,22,23a,23b、2 [0057] 20,21,22,23a, 23b, 2
4,25,26,30,31,32はそれぞれ図2の1 4,25,26,30,31,32 is, respectively, in FIG 2 1
0、11、12、13a、13b、16、14、15、 0,11,12,13a, 13b, 16,14,15,
17、18、19と同様である。 17, 18 and 19 are the same as those.

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

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

【0060】64はオーバーヘッドデータ66の先頭位置が何Byte目かを示すアドレスである。 [0060] 64 is the address that the head position of the overhead data 66 indicate what Byte eyes. 64aは次ページ62のオーバーヘッドデータの先頭位置を示すアドレスである。 64a is an address indicating the top position of the overhead data of the next page 62. これらの位置はページ毎に変化し、そのため管理データーの解析を困難にし、メモリーシステムの秘匿性を高めている。 These positions were changed for each page, making it difficult to analyze the reason management data, to enhance the secrecy of the memory system.

【0061】(実施例3の動作)図15にメモリーシステムの処理の全体の流れの概要が示されているが、図1 [0061] Although overview of the overall process flow of the memory system in FIG. 15 (Operation Example 3) is shown, FIG. 1
5に関しては実施例3は実施例2と何ら変わりはないので説明を省く。 Example respect 5 3 not described since any change is not as in Example 2.

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

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

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

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

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

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

【0068】処理130:31の書き込みデーターはS [0068] processing 130: 31 of the write data is S
crambleされる。 It is cramble.

【0069】この処理はScrambler/Desc [0069] This process is Scrambler / Desc
rambler30により行われる。 It is carried out by rambler30.

【0070】以上の処理は1BYTEもしくは1ワードずつ行なうので処理スピードを考慮するとハードウエアで行なうのが望ましいがソフトでも処理は可能である。 [0070] The above processing processes even it is desirable soft carried out at 1BYTE or one word by consideration of hardware processing speed is performed is possible.

【0071】以上の処理を1ページ分(例えば528B [0071] The above process for one page (for example 528B
yte)行ない、1セクタの書き込み処理を終了する。 yte) there is no line, to end the writing process of one sector.

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

【0073】処理142:31の読みだしデーターはD [0073] processing 142: 31 data read of the D
escrambleされる。 It is escramble.

【0074】この処理はScrambler/Desc [0074] This process is Scrambler / Desc
rambler30により行われる。 It is carried out by rambler30.

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

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

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

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

【0079】以上の処理は1BYTEもしくは1ワードずつ行なうので処理スピードを考慮するとハードウエアで行なうのが望ましいがソフトでも処理は可能である。 [0079] The above processing processes even it is desirable soft carried out at 1BYTE or one word by consideration of hardware processing speed is performed is possible.

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

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

【0082】図17は請求項4記載の発明に関わるモリーシステム例のFlashメモリー内部の構成と、オーバーヘッドデータのアドレス検索方法を図示したものである。 [0082] Figure 17 is an illustration of the structure of the Flash memory inside Molly example system relating to the fourth aspect of the present invention, the address search method of overhead data. まずFlashメモリーの全体202は管理データ専用部200とデータ部201に分割される。 First the whole 202 of the Flash memory is divided into the management data exclusive portion 200 and a data section 201. 201 201
はページ毎に分割された形でユーザーデータとオーバーヘッドデータが収められている。 It is housed user data and overhead data in a form that has been divided for each page. また管理データ専用部200内には、電源投入後最初にオーバーヘッドデーターを読みだしに行くページの物理アドレス(チップn In addition to the administrative data-only section 200, the physical address of the page to go to read the overhead data first time after the power is turned on (chip n
o. o. 、ブロックno. , Block no. 、ページno. , Page no. からなる)とそのページ内のデータが対応するLBA(Logical Consisting essentially of) and the LBA data in the page corresponding to (Logical
Block Address)が記録されている。 Block Address) is recorded.

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

【0084】最初に読み出すページ203の物理アドレスとLBAを管理データ専用部200より読み出す。 [0084] First read read from the management data-only section 200 of the physical address and the LBA of page 203.

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

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

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

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

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

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

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

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

【0093】また管理データ専用部200のデータも書き換えが必要であるが、最初に読み出すページ203が書き換えられる時だけなので非常に頻度が少なく、負荷としては小さい。 [0093] Although data is needed also rewriting the management data only section 200, very frequently less because only when a page 203 initially read is rewritten, is small as a load.

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

【0095】図21のメモリーシステムは、プロセッサーとのインターフェース300、プロセッサーとのデータとの送受の際に使用するリードライトバッファー30 [0095] Memory system 21, the read-write buffer 30 to be used when transmitting and receiving the data between the interface 300, the processor and the processor
1、メモリーシステムのコントロールを行なう1チップCPU302、Flashメモリーのデータの信頼性確保のためのECC回路303、Flashメモリーとのインターフェース307、Flashメモリー308, 1, interface 307 between the ECC circuit 303, Flash memory ensure reliability of the one-chip CPU 302, Flash memory data to be control of the memory system, Flash memory 308,
一時的にページの管理データを貯える管理データバッファー304、ECCデータと管理データのいずれかをオーバーヘッドデータとして入出力するセレクター30 Selector 30 to output one of the temporary management data buffer 304 to store the management data of the page, ECC data and management data as the overhead data
5、Flashへの書き込みと読み出し時にデーターをコード変換またはコード逆変換するコード変換部306 5, the code conversion unit 306 for transcoding or encoding inverse transform the data when writing to and reading from the Flash
からなる。 Consisting of.

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

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

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

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

【0100】(実施例5の動作)1ページ分のFlas [0100] (Operation of Example 5) of one page Flas
hへの書き込みの動作は以下のようである。 The operation of writing to the h is as follows.

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

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

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

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

【0105】このようにECCはコード変換したデータに対して行なっている。 [0105] ECC Thus is made to the code conversion data. 従ってコード変換によりデーターのエラーが拡大してしまう場合などはECCの効果が減少してしまう。 Therefore a case where the transcoding error of the data thus enlarged the effect of ECC is reduced. これを避けるためにはより強力なEC More powerful EC in order to avoid this
Cを採用する方法がある。 There is a method to adopt C. 例えばリードソロモンによる方法のようにバーストエラーに対して強いECCを使用する方法である。 For example, a method of using a strong ECC against burst errors as the method according to the Reed-Solomon. またエラーの拡大が押さえられる、特殊なコード変換を使用する方法がある。 The expansion of the error is pressed, there is a method to use a special code conversion. 図20に非常に簡単な例を示す。 It shows a very simple example in Figure 20.

【0106】この変換例ではビット32が1の時はビット31−0を反転させる。 [0106] When bits 32 is 1 in this conversion example inverts the bits 31-0. よってビット31−0はエラーが発生してもそのエラーのビット数はコード変換後も同じである。 Thus bits 31-0 is the number of bits of the error if an error occurs is the same after code conversion. しかしビット32にエラーが発生した場合はエラーが拡大する。 However, if an error occurs in the bit 32 to expand the error. 図20の400のデータのビット32が1にエラーすると401になる。 Bit 32 of the data 400 in FIG. 20 is 401 when an error in one. 従ってテンポラリーコードレジスタのデータ403が402になってしまうので、何と31ビットのエラーに拡大してしまう。 Thus the data 403 of the temporary code register becomes 402, thereby expanding the what 31-bit errors.
しかしこのような極端な場合は通常のエラーと区別できる。 However, if such an extreme can be distinguished from ordinary errors. つまり極端にエラーが多い場合は反転の条件が間違っている事を推測してデータを反転しないでECCを調べる。 That is, if there are many errors are extremely examine the ECC is not inverted data to guess that the reversal of the conditions is wrong. そしてエラーが充分に少なければその時のエラー数が実際のエラーと判明する。 And if is sufficiently fewer errors number of errors at that time to find the actual error. このようにして、データを調べる事によって正しいエラー訂正が可能となる。 In this way, data can correct error correction by examining.

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

【0108】 [0108]

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

【0109】また本発明ではページの先頭アドレスから、最初にオーバーヘッドデータが現れるアドレスまでのデータの順番を逆にする手段を備え、各ページの先頭のデータとユーザーデーターの先頭を不一致にする事により、より解析を困難にする。 [0109] Also from the start address of the page in the present invention, by initially equipped with a means to reverse the order of the data of up to address the overhead data appears, to head the mismatch of the beginning of the data and user data of each page , making it difficult to more analysis.

【0110】また本発明ではページ内のオーバーヘッドデータを複数の部分にわけて分散配置し、その配置の仕方は、秘密アルゴリズムニより決定する手段を有している。 [0110] The overhead data in the present invention page dispersing arranged divided into a plurality of parts, how the arrangement includes means for determining from the secret algorithm two. これにより、オーバーヘッドデータの配置パターンは無数に考えられるので、解析は非常に難しくなる。 Thus, since the arrangement pattern of the overhead data are countless considered, the analysis is very difficult.

【0111】また本発明ではプロセッサーからライトデータをライトバッファーに受信すると同時にECC演算を行なう手段を有する。 [0111] In the present invention comprises means for simultaneously ECC operation receives the write data in the write buffer from the processor. これにより、メモリーに書き込みを行なう時には既にECCデータが計算されているので、余分なメモリーの読みだしを行なわずに、任意の位置にオーバーヘッドデーターを配置する事が出来る。 Thus, since the already computed ECC data when writing to memory, without reading of the extra memory, it is possible to place the overhead data at an arbitrary position.

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

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

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

【図2】本発明の1実施の形態を示すシステム構成図(実施例2)。 [Figure 2] system block diagram illustrating one embodiment of the present invention (Example 2).

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

【図4】本発明の1実施のメモリー内部のデータフォーマット(実施例1)。 [4] 1 exemplary memory internal data format of the present invention (Example 1).

【図5】本発明の1実施のメモリー内部のデータフォーマット(実施例2)。 [5] 1 exemplary memory internal data format of the present invention (Example 2).

【図6】本発明の1実施のメモリー内部のデータフォーマット(実施例3)。 [6] 1 exemplary memory internal data format of the present invention (Example 3).

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

【図8】ECC生成フローチャート(メモリーから読みだし時)。 [8] ECC generation flow chart (when read from memory).

【図9】先頭セクターの電源立ち上げ直後の読みだしフローチャート。 [9] top flowchart read immediately after power-up of the sector.

【図10】先頭セクターの電源立ち上げ直後の読みだしフローチャート。 FIG. 10 is a top flow chart read immediately after power-up of the sector.

【図11】メモリーへの書き込みフローチャート。 [11] writing flow chart to memory.

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

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

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

【図15】メモリーシステム処理全体の流れのフローチャート。 [15] Memory system processing flow chart of the overall flow.

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

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

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

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

【図20】本発明の1実施のコード変換例のコード表。 1 code table code conversion example of embodiment of Figure 20 the present invention.

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

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

【図24】本発明の1実施の秘密アルゴリズム(4 The secret algorithm of one embodiment of Figure 24 the present invention (4
b)。 b).

【図25】本発明の1実施の秘密アルゴリズム(4 The secret algorithm of one embodiment of Figure 25 the present invention (4
c)。 c).

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

【符号の説明】 DESCRIPTION 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,10,20,300 interface 2,11,21,301 with ... processors ... read write buffer 12,22,302 ... 1-chip CPU 4a, 13a, 23a ··· secret algorithm A 4b , 13b, 23b · · · secret algorithm B 5,16,24,303ECC circuit 6,18,31,307Flash interface 19,32,308Flash memory 14, 25 random number generating circuit of the memory 15, 26 leading pattern detection circuit 17, Scrambler / Descrambler 23c ... secret algorithm C 27 ... control data buffer 28 ... overhead data incorporated timing generation circuit 29 ... selector 40,50,60Flash memory for selecting the read write data 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 block 41,51,611 last page 54 located at the head of the next page 53, 63 the last address in the first page 52,621 blocks in the block, the head position of the overhead data 55, the overhead data of the next page head position 56,66,67,68 overhead data 47,48,57,59, user data 65 of the overhead data head pattern 200 managing data only 201 data unit 202, Flash entire 304 management data buffer 305 of the overhead data memory selector 306 code conversion unit 312 temporary code register 313 inverse conversion table 314 code conversion table

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

【手続補正書】 [Procedure amendment]

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

【手続補正1】 [Amendment 1]

【補正対象書類名】明細書 [Correction target document name] specification

【補正対象項目名】図面の簡単な説明 A brief description of the correction target item name] drawings

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

【補正内容】 [Correction contents]

【図面の簡単な説明】 BRIEF DESCRIPTION OF THE DRAWINGS

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

【図2】本発明の1実施の形態を示すシステム構成図(実施例2)。 [Figure 2] system block diagram illustrating one embodiment of the present invention (Example 2).

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

【図4】本発明の1実施のメモリー内部のデータフォーマット(実施例1)。 [4] 1 exemplary memory internal data format of the present invention (Example 1).

【図5】本発明の1実施のメモリー内部のデータフォーマット(実施例2)。 [5] 1 exemplary memory internal data format of the present invention (Example 2).

【図6】本発明の1実施のメモリー内部のデータフォーマット(実施例3)。 [6] 1 exemplary memory internal data format of the present invention (Example 3).

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

【図8】ECC生成フローチャート(メモリーから読みだし時)。 [8] ECC generation flow chart (when read from memory).

【図9】先頭セクターの電源立ち上げ直後の読みだしフローチャート。 [9] top flowchart read immediately after power-up of the sector.

【図10】先頭セクターの電源立ち上げ直後の読みだしフローチャート。 FIG. 10 is a top flow chart read immediately after power-up of the sector.

【図11】メモリーへの書き込みフローチャート。 [11] writing flow chart to memory.

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

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

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

【図15】メモリーシステム処理全体の流れのフローチャート。 [15] Memory system processing flow chart of the overall flow.

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

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

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

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

【図20】本発明の1実施のコード変換例のコード表。 1 code table code conversion example of embodiment of Figure 20 the present invention.

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

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

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

【図24】本発明の1実施の秘密アルゴリズム(4 The secret algorithm of one embodiment of Figure 24 the present invention (4
b)。 b).

【図25】本発明の1実施の秘密アルゴリズム(4 The secret algorithm of one embodiment of Figure 25 the present invention (4
c)。 c).

【図26】本発明の1実施の秘密アルゴリズム(D)。 The secret algorithm of one embodiment of Figure 26 the present invention (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、60Fl [EXPLANATION OF SYMBOLS] 1,10,20,300 interface 2,11,21,301 with ... processors ... read write buffer 12,22,302 ... 1-chip CPU 4a, 13a, 23a ·· - secret algorithm a 4b, 13b, 23b ··· secret algorithm B 5,16,24,303ECC circuit 6,18,31,307Flash interface 19,32,308Flash memory 14, 25 random number generating circuit 15, 26 the head of the memory pattern detecting circuit 17, Scrambler / Descrambler 23c ··· secret algorithm C 27 ... control data buffer 28 ... overhead data incorporated timing generation circuit 29 ... selector for selecting the read write data 40,50,60Fl shメモリーの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コード変換テーブル Last page 54 located at the head of the next page 53, 63 the last address of the first page 52,621 blocks of one block 41,51,611 block of sh memory, the head position of the overhead data 55, next page head position 56,66,67,68 overhead data 47,48,57,59 of overhead data, the head of the user data 65 overhead data pattern 200 managing data only 201 data unit 202, Flash entire 304 management data buffer 305 of the memory selector 306 code conversion unit overhead data 312 temporary code register 313 inverse conversion table 314 code conversion table

Claims (9)

    【特許請求の範囲】 [The claims]
  1. 【請求項1】プロセッサーとメモリーシステムを含み、 Includes 1. A processor and memory system,
    前記メモリーシステムは不揮発性フローティングゲートメモリーアレーを含み、前記不揮発性フローティングゲートメモリーアレーはブロックに分割され、前記ブロック内のメモリーアレーは同時に消去が可能で有り、前記ブロックは、前記プロセッサーからの転送されるデータの1単位数に対応したメモリー容量を持つページに分割され、ユーザーデーターとオーバーヘッドデーターが同一の前記ページに書き込まれ、前記プロセッサーからの1単位数の書き込みデーターを受信するために前記メモリーシステムはライトバッファーを有している、コンピューターシステムにおいて、前記メモリーシステムが電源立ち上げ後、各ブロックにおいて、最初に読み出すページP1内で、最初に前記オーバーヘッドデータが現れるアドレスA1を It said memory system includes a non-volatile floating gate memory array, wherein the non-volatile floating gate memory array is divided into blocks, a memory array in the block is there can be simultaneously erased, the block is transferred from the processor that is divided into pages with a memory capacity corresponding to the number of one unit of data, user data and overhead data are written to the same of the page, the memory system to receive one unit number of write data from the processor in it are computer systems having a write buffer, after the memory system power-up, in each block, the first to read the page within P1, the address A1 of the first to the overhead data appears 記ブロックのアドレスから秘密アルゴリズムにより決定する手段を有する事を特徴とする、 Characterized in that it has means for determining by a secret algorithm from the address of the serial block,
    前記コンピューターシステムの操作方法。 Method of operation of the computer system.
  2. 【請求項2】プロセッサーとメモリーシステムを含み、 Include wherein the processor and memory system,
    前記メモリーシステムは不揮発性フローティングゲートメモリーアレーを含み、前記不揮発性フローティングゲートメモリーアレーはブロックに分割され、前記ブロック内のメモリーアレーは同時に消去が可能で有り、前記ブロックは、前記プロセッサーからの転送されるデータの1単位数に対応したメモリー容量を持つページに分割され、ユーザーデーターとオーバーヘッドデーターが同一の前記ページに書き込まれ、前記プロセッサーからの1単位数の書き込みデーターを受信するために前記メモリーシステムはライトバッファーを有している、コンピューターシステムにおいて、前記メモリーシステムが電源立ち上げ後、各ブロックにおいて、最初に読み出すページP1内で、最初に前記オーバーヘッドデータが現れるアドレスA1の It said memory system includes a non-volatile floating gate memory array, wherein the non-volatile floating gate memory array is divided into blocks, a memory array in the block is there can be simultaneously erased, the block is transferred from the processor that is divided into pages with a memory capacity corresponding to the number of one unit of data, user data and overhead data are written to the same of the page, the memory system to receive one unit number of write data from the processor in it are computer systems having a write buffer, after the memory system power-up, in each block, the first to read the page within P1, first the overhead data appears in the address A1 数の候補を、前記ブロックのアドレスから秘密アルゴリズムにより決定し、前記アドレスの複数の候補から正しいアドレスをError Corr 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
    ectionCheck(以降ECCとする)を用いて決定する手段を有する事を特徴とする、前記コンピューターシステムの操作方法。 Characterized in that it has a means for determining using EctionCheck (hereinafter the ECC), the operation method of the computer system.
  3. 【請求項3】プロセッサーとメモリーシステムを含み、 Include wherein the processor and memory system,
    前記メモリーシステムは不揮発性フローティングゲートメモリーアレーを含み、前記不揮発性フローティングゲートメモリーアレーはブロックに分割され、前記ブロック内のメモリーアレーは同時に消去が可能で有り、前記ブロックは、前記プロセッサーからの転送されるデータの1単位数に対応したメモリー容量を持つページに分割され、ユーザーデーターとオーバーヘッドデーターが同一の前記ページに書き込まれ、前記プロセッサーからの1単位数の書き込みデーターを受信するために前記メモリーシステムはライトバッファーを有している、コンピューターシステムにおいて、前記メモリーシステムが電源立ち上げ後、各ブロックにおいて、最初に読み出すページP1内で、最初に前記オーバーヘッドデータが現れるアドレスA1に It said memory system includes a non-volatile floating gate memory array, wherein the non-volatile floating gate memory array is divided into blocks, a memory array in the block is there can be simultaneously erased, the block is transferred from the processor that is divided into pages with a memory capacity corresponding to the number of one unit of data, user data and overhead data are written to the same of the page, the memory system to receive one unit number of write data from the processor in it are computer systems having a write buffer, after the memory system power-up, in each block, the first to read the page within P1, the address A1 of the first to the overhead data appears 記ブロックのアドレスから秘密アルゴリズムにより決定される特殊なパターンを書き込んでおき、前記パターンを検知する事により前記アドレスA The address of the serial block previously written a special pattern determined by a secret algorithm, the address A by detecting the pattern
    1を決定する手段を有する事を特徴とする、前記コンピューターシステムの操作方法。 Characterized in that it has a means for determining one, operating method of the computer system.
  4. 【請求項4】プロセッサーとメモリーシステムを含み、 Include wherein the processor and memory system,
    前記メモリーシステムは不揮発性フローティングゲートメモリーアレーを含み、前記メモリーアレイは、前記プロセッサーからの転送されるデータの1単位数に対応したメモリー容量を持つページに分割され、前記プロセッサーからの1単位数の書き込みデーターを受信するために前記メモリーシステムはライトバッファーを有している、コンピューターシステムにおいて、前記メモリーシステムは管理データだけ書き込まれる管理データ専用部を少なくとも1個所前記メモリーアレー内に有し、前記メモリーアレーのそれ以外の部分ではユーザーデーターとオーバーヘッドデーターが同一の前記ページに書き込まれ、前記メモリーシステムが電源立ち上げ後、最初に読み出すページP1のアドレスA0と、P1内で最初に前記オーバーヘッ Wherein the memory system is nonvolatile floating gate memory array, said memory array is divided into pages with a memory capacity corresponding to the number of one unit of data transferred from the processor, the number of one unit from the processor It said memory system for receiving write data has a write buffer, in a computer system, said memory system includes a management data-only portion to be written only management data included in at least one position wherein the in-memory array, said memory in other portions of the array user data and overhead data are written to the same of the page, the back the memory system power-up, the address A0 of the page P1 initially read, the first in the P1 overhead データが現れるアドレスA1を前記管理データ専用部のデータにより決定する手段を有する事を特徴とする、前記コンピューターシステムの操作方法。 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. 【請求項5】プロセッサーとメモリーシステムを含み、 Includes 5. processor and memory system,
    前記メモリーシステムは不揮発性フローティングゲートメモリーアレーを含み、前記メモリーアレイは、前記プロセッサーから転送されるデータの1単位数に対応したメモリー容量を持つページに分割され、前記プロセッサーからの1単位数の書き込みデーターを受信するために前記メモリーシステムはライトバッファーを有している、コンピューターシステムにおいて、前記メモリーシステムへの書き込み時には、前記ユーザーデータからなるJビットと、前記オーバーヘッドデータからなるKビットより構成されるJ+Kビットのテンポラリーコードを作成し、前記テンポラリーコードを、異なったJ+K Wherein the memory system is nonvolatile floating gate memory array, said memory array is divided into pages with a memory capacity corresponding to the number of one unit of data transferred from the processor, the writing of the number of one unit from the processor said memory system for receiving data has a write buffer, in a computer system, wherein when writing to memory systems, and J bits consisting of the user data, comprised of K bits consisting of the overhead data create a temporary code J + K bits, the temporary code, different J + K
    ビットのコードにコード変換した後に、前記ページに書き込み、前記メモリーシステムからの読み出し時には、 After transcoding bit code, write in the page, at the time of reading from said memory system,
    前記ページより読み出したデータをJ+Kビットに区切り、逆変換してJ+Kビットの元データに戻す手段を有する事を特徴とするコンピューターシステムの操作方法。 The data read out from the page break in J + K bits, the operation method of a computer system characterized in that it has a means for returning to the original data of the J + K bits and inverse transform.
  6. 【請求項6】請求1、2、3、4において、前記ブロック内の、前記ページP1以外のページで最初にオーバーヘッドデータが現れるアドレスA2を、前記ページP1 6. The claims 1,2,3,4, in the block, the first address A2 overhead data appears in the page P1 other pages, the page P1
    で最初に前記オーバーヘッドデータが現れるアドレスA First the address overhead data appears A in
    1、または前記ページP1のオーバーヘッドデータを基に秘密アルゴリズムニより決定する事を特徴とするコンピューターシステムの操作方法。 1 or method of operating a computer system characterized in that determining from the secret algorithm two based on the overhead data of the page P1,.
  7. 【請求項7】請求項1、2、3、4において、ページの先頭アドレスから、最初にオーバーヘッドデータが現れるアドレスまでのデータの順番を逆にする事を特徴とするコンピューターシステムの操作方法。 7. The method of claim 1, 2, 3, 4, from the starting address of the page, the operation method of a computer system, characterized in that the order of the data of the first to address the overhead data appears reversed.
  8. 【請求項8】請求項1、2、3、4においてページ内のオーバーヘッドデータを複数の部分にわけて分散配置し、その配置の仕方は、最初に前記オーバーヘッドデータが現れるアドレスA1、または前記ページP1のオーバーヘッドデータを基に秘密アルゴリズムニより決定する事を特徴とするコンピューターシステムの操作方法。 8. Distributed arranged divided overhead data in the page into a plurality of parts according to claim 1, 2, 3, 4, manner of arrangement, first the address A1 overhead data appears or the page, method of operating a computer system, characterized in that to determine from the secret algorithm two on the basis of the P1 overhead data.
  9. 【請求項9】請求項1、2、3、4、5おいて、前記プロセッサーからライトデータを前記ライトバッファーに受信しながらECC演算を行なう事を特徴とするコンピューターシステムの操作方法。 9. The method of claim 1, 2, 3, 4 Oite method of operating a computer system, characterized in that performing the ECC calculation while receiving the write data in the write buffer from the processor.
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 the Nand memory
JP5011498B2 (en) * 1999-02-17 2012-08-29 レクサー・メディア・インコーポレイテッドLexar Media,Inc 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 レクサー・メディア・インコーポレイテッドLexar Media,Inc 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 the 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
US5488702A (en) Data block check sequence generation and validation in a file cache system
KR101155697B1 (en) Data whitening for writing and reading data to and from a non-volatile memory
US6158004A (en) Information storage medium and security method thereof
JP2745949B2 (en) Data processor for performing static and dynamic masking operand information simultaneously and independently
US6170039B1 (en) Memory controller for interchanging memory against memory error in interleave memory system
US8443263B2 (en) Method and controller for performing a copy-back operation
CN101449234B (en) Data storage device and data storage method
JP4527640B2 (en) Data reading device
KR100918707B1 (en) Flash memory-based memory system
CN1551244B (en) Non-volatile memory with error correction for page copy operation and method thereof
US5734816A (en) Nonvolatile memory with flash erase capability
JP4404625B2 (en) Information processing apparatus and rom imager for the apparatus
US5386469A (en) Firmware encryption for microprocessor/microcomputer
US20080320209A1 (en) High Performance and Endurance Non-volatile Memory Based Storage Systems
EP2306321A1 (en) Increasing memory performance in flash memory devices by performing simultaneous write operation to multiple devices
KR100531192B1 (en) Non-volatile memory control method
JP5032027B2 (en) Semiconductor disk controller
KR100272938B1 (en) Semiconductor device and computer system
JP2601979B2 (en) Method of operating a data transfer control device and a computer system
US20110041005A1 (en) Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
KR100884096B1 (en) Memory transaction burst operation and memory components supporting temporally multiplexed error correction coding
US20110040924A1 (en) Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US20110041039A1 (en) Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US5825878A (en) Secure memory management unit for microprocessor
US8954751B2 (en) Secure memory control parameters in table look aside buffer data fields and support memory array

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20050405