[go: up one dir, main page]

JP2005173860A - Data storage device, method for processing stored data, and computer program - Google Patents

Data storage device, method for processing stored data, and computer program Download PDF

Info

Publication number
JP2005173860A
JP2005173860A JP2003411317A JP2003411317A JP2005173860A JP 2005173860 A JP2005173860 A JP 2005173860A JP 2003411317 A JP2003411317 A JP 2003411317A JP 2003411317 A JP2003411317 A JP 2003411317A JP 2005173860 A JP2005173860 A JP 2005173860A
Authority
JP
Japan
Prior art keywords
data
error correction
correction code
processing
bit
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
JP2003411317A
Other languages
Japanese (ja)
Other versions
JP2005173860A5 (en
Inventor
Hiromi Nobukata
浩美 信方
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2003411317A priority Critical patent/JP2005173860A/en
Publication of JP2005173860A publication Critical patent/JP2005173860A/en
Publication of JP2005173860A5 publication Critical patent/JP2005173860A5/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

【課題】 昇圧回路の負荷を減少させてメモリに対するECC負荷データ書き込みおよび読み出しを実現する装置、方法を提供する。
【解決手段】 エラー訂正コードおよびエラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、エラー訂正コードおよびエラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行してメモリに書き込む構成とした。データの読み出し時には、メモリに対する書き込みデータが反転されたデータであるか否かを付加ビットデータに基づいて判断し、反転しているデータである場合は、再反転処理を実行し、オリジナルデータに戻して出力する。
【選択図】 図9
PROBLEM TO BE SOLVED: To provide an apparatus and method for realizing ECC load data writing and reading with respect to a memory by reducing a load of a booster circuit.
An error correction code and a ratio of bit values [0] or [1] occupying all constituent bits of error correction code generation unit data are calculated, and a data pattern with low power consumption in data storage processing is an error correction code. In addition, when it is determined that the data is the inverted data of the error correction code generation unit data, the bit value inversion process is executed and written to the memory. At the time of data reading, it is determined based on the additional bit data whether or not the data written to the memory is inverted data. If the data is inverted, re-inversion processing is executed to restore the original data. Output.
[Selection] Figure 9

Description

本発明は、データ記憶装置、および記憶データ処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、半導体メモリに対するエラー訂正コードを付加したデータ書き込み処理を行なう構成において、バイアス電圧の印加要求数を削減することを可能として、昇圧回路の負荷削減を可能としたデータ記憶装置、および記憶データ処理方法、並びにコンピュータ・プログラムに関する。   The present invention relates to a data storage device, a stored data processing method, and a computer program. More specifically, in a configuration for performing data writing processing with an error correction code added to a semiconductor memory, a data storage device capable of reducing the number of bias voltage application requests and reducing the load on the booster circuit, and The present invention relates to a stored data processing method and a computer program.

データ書き換え可能な半導体記憶素子としての不揮発性メモリとしてEEPROM(Electrically Erasable and Programmable Read Only Memory)が知られている。EEPROMは、例えばセキュリティ用途に使われる携帯機器やICカードに搭載するメモリとして利用される。   An EEPROM (Electrically Erasable and Programmable Read Only Memory) is known as a non-volatile memory as a data storage rewritable semiconductor memory element. The EEPROM is used as a memory mounted on, for example, a portable device or an IC card used for security purposes.

例えば暗号処理、認証処理等を実行する機能を持つ携帯機器やICカードには、ホスト機器とデータを安全にやり取りするために、暗号化・復号化を行なうための暗号エンジンまたはCPUにより制御される暗号化・復号化のプログラムが搭載される。さらに、データの暗号化・復号化を行なう鍵データや、ID情報、その他の重要なデータを格納するため、データ書き換え可能な不揮発性メモリが搭載され、多くの場合、この不揮発性メモリとしてEEPROMが使われる。   For example, a portable device or IC card having a function of executing encryption processing, authentication processing, etc. is controlled by a cryptographic engine or CPU for performing encryption / decryption in order to exchange data with the host device safely. An encryption / decryption program is installed. Furthermore, in order to store key data for encrypting / decrypting data, ID information, and other important data, a data rewritable nonvolatile memory is mounted. In many cases, an EEPROM is used as the nonvolatile memory. used.

EEPROMとしては、フローティングゲートを持つFLOTOX(Floating Gate with Tunnel Oxide)構成が知られており、さらに、微細化に適したNAND型フラッシュと同じ処理でEEPROMを実現した構成が知られている。このようなEEPROM構成は、例えば、特許文献1に記載されている。   As an EEPROM, a FLOTOX (Floating Gate with Tunnel Oxide) configuration having a floating gate is known, and a configuration in which an EEPROM is realized by the same processing as a NAND flash suitable for miniaturization is known. Such an EEPROM configuration is described in Patent Document 1, for example.

EEPROMには、例えば、半導体記憶素子を構成するメモリトランジスタのフローティングゲートとドレイン拡散層との間に高電界を印加して、FN(Fowler-Nordheim)トンネリング現象によってフローティングゲートから電荷(電子)を放出させてデータ書き込みを行なう構成としたものがある。   In an EEPROM, for example, a high electric field is applied between the floating gate and drain diffusion layer of a memory transistor constituting a semiconductor memory element, and charges (electrons) are released from the floating gate by FN (Fowler-Nordheim) tunneling phenomenon. There is a configuration in which data is written.

FN(Fowler-Nordheim)トンネリング現象によって、フローティングゲートから電荷(電子)を注入・放出させる構成を持つEEPROMは、FN(Fowler-Nordheim)トンネル現象を用いて消去・書込を行なうため、データの書き換え時に高電圧をゲートやドレインに印加することが必要となる。   An EEPROM having a structure in which charges (electrons) are injected / released from a floating gate by FN (Fowler-Nordheim) tunneling phenomenon is erased / written by using FN (Fowler-Nordheim) tunnel phenomenon. Sometimes it is necessary to apply a high voltage to the gate or drain.

FLOTOXタイプのEEPROMの構成例を図1に示す。図1に示すEEPROMは、ソース106、ドレイン107、およびコントロールゲート101、セレクトゲート103に適切なバイアス、すなわちV,V,VCG,VSGを印加することによってフローティングゲート102の電荷蓄積状態を変化させて、データの書き換えを行なう。 A structural example of a FLOTOX type EEPROM is shown in FIG. The EEPROM shown in FIG. 1 has a charge accumulation state of the floating gate 102 by applying appropriate biases, that is, V S , V D , V CG , V SG to the source 106, the drain 107, the control gate 101, and the select gate 103. Change data to rewrite data.

図1に示すFLOTOXタイプのEEPROMは、n+ドレイン105とフローティングゲート(FG)102の間にトンネル酸化膜104を配置し、このトンネル酸化膜103に電界を発生させてn拡散層105とフローティングゲート(FG)102の間で電子を移動させて、フローティングゲート102の電荷蓄積状態を変化させて、データの書き換えを行なう。トンネル酸化膜104に流れる電流は、FN(Fowler-Nordheim)トンネル現象により生じるFNトンネル電流である。 In the FLOTOX type EEPROM shown in FIG. 1, a tunnel oxide film 104 is disposed between an n + drain 105 and a floating gate (FG) 102, and an electric field is generated in the tunnel oxide film 103 to cause an n + diffusion layer 105 and a floating gate. Data is rewritten by moving electrons between (FG) 102 and changing the charge accumulation state of floating gate 102. The current flowing through the tunnel oxide film 104 is an FN tunnel current generated by an FN (Fowler-Nordheim) tunnel phenomenon.

例えば、
(a)フローティングゲート(FG)102に電子が注入されている状態(メモリトランジスタ(Memory Tr)の閾値は正)を消去状態[データ"1"]
(b)フローティングゲート(FG)102から電子が過剰に引き抜かれている状態(メモリトランジスタ(Memory Tr)の閾値は負)を書き込み状態[データ"0"]
と定義する場合のデータ書き込み時のバイアス条件を図2に示す。
データ書き込み、消去、および読み出し処理、各々の処理におけるバイアス条件を図3に示す。
For example,
(A) An erase state [data “1”] in a state where electrons are injected into the floating gate (FG) 102 (the threshold value of the memory transistor (Memory Tr) is positive)
(B) Write state [data “0”] in a state where electrons are excessively extracted from the floating gate (FG) 102 (the threshold value of the memory transistor (Memory Tr) is negative).
FIG. 2 shows a bias condition at the time of data writing when defined as
FIG. 3 shows bias conditions in the data writing, erasing, and reading processes, and the respective processes.

図2に示すように、データの書き込み時には、選択したページのワード線(VCG)に0Vを印加し、データ"1"を書き込むセルのビット線(V)には0V、データ"0"を書き込むセルのビット線(V)には例えば18Vを印加する。 As shown in FIG. 2, when data is written, 0 V is applied to the word line (V CG ) of the selected page, 0 V is applied to the bit line (V D ) of the cell in which data “1” is written, and data “0”. For example, 18 V is applied to the bit line (V D ) of the cell in which the data is written.

なお、データ書き換え処理を行なう際には、書き換え対象の領域を一旦消去(データを"1"に設定)した後に、書き込みデータに応じて各ビット線にバイアスを与えて書き込みを行なう。   When performing the data rewriting process, the area to be rewritten is once erased (data is set to “1”), and then writing is performed by applying a bias to each bit line according to the write data.

書き込みデータが"1"の場合、ゲート101とドレイン105,107は同電位であるため、トンネル酸化膜104には電界は発生せず、フローティングゲート(FG)102の電荷は消去状態(データ"1")のまま保持される。一方、書込データが"0"の場合、ドレイン105−ゲート101間に高電界が発生し、この電解によりフローティングゲート(FG)102からドレイン105へ電子が引き抜かれる。データ"0"書き込み後のフローティングゲート(FG)102の閾値は負になる。   When the write data is “1”, since the gate 101 and the drains 105 and 107 are at the same potential, no electric field is generated in the tunnel oxide film 104 and the charge of the floating gate (FG) 102 is erased (data “1”). ") Is retained. On the other hand, when the write data is “0”, a high electric field is generated between the drain 105 and the gate 101, and electrons are extracted from the floating gate (FG) 102 to the drain 105 by this electrolysis. The threshold value of the floating gate (FG) 102 after the data “0” is written becomes negative.

スマートカード(Smart Card)等のカード用途のメモリである場合、データ書き込み単位は例えば1〜64バイトや1〜128バイト等複数バイト並列書込をサポートする仕様のものが多いが、この様な仕様では、データ書き込み時にビット線を書き込み電位に充電する昇圧回路は、最も負荷の大きい状態、すなわち全セルの書込データが"0"の場合でも、全ビット線を所定時間内に書込電位(例えば18V)に充電する能力を持つことが要求される。   In the case of a memory for card use such as a smart card (Smart Card), the data writing unit has many specifications that support multi-byte parallel writing such as 1 to 64 bytes or 1 to 128 bytes, for example. Then, the booster circuit that charges the bit lines to the write potential at the time of data writing has the highest potential, that is, even when the write data of all the cells is “0”, For example, it is required to have the ability to charge to 18V).

しかしながら、EEPROMを搭載した携帯機器やICカードに供給される電源電圧は2.5Vや1.8Vと低電圧化の傾向にある。特に非接触タイプのICカードでは、ICカードに搭載したアンテナで受けた電磁波に基づいて発生した電力を整流・定電圧化してICを動作させる構成としたものも利用されている。このような構成を持つデバイスでは、使用できる電流値に制限があり、これらの電源から昇圧電圧を発生させるためには、昇圧回路の回路規模を大きくしなければならないという問題が発生する。   However, power supply voltages supplied to portable devices and IC cards equipped with an EEPROM tend to be as low as 2.5V or 1.8V. In particular, non-contact type IC cards are also used in which the IC is operated by rectifying and constant-voltage power generated based on electromagnetic waves received by an antenna mounted on the IC card. In a device having such a configuration, the current value that can be used is limited, and in order to generate a boosted voltage from these power supplies, a problem arises that the circuit scale of the booster circuit must be increased.

さらに、セキュリティ用途のデバイスに搭載したEEPROMは、データの信頼性を高めるためにエラー訂正コードとしてのECC(Error Correct Code)回路を搭載する場合が多く、このECCデータを格納するセルもEEPROMに付加することが必要となり、このECCデータ格納セルに対応するビット線も負荷の対象となる。この結果、昇圧回路の規模はさらに大きくすることが必要となる。   Furthermore, in many cases, an EEPROM mounted on a device for security use is equipped with an ECC (Error Correct Code) circuit as an error correction code in order to increase data reliability, and a cell for storing the ECC data is also added to the EEPROM. Therefore, the bit line corresponding to the ECC data storage cell is also subject to load. As a result, it is necessary to further increase the scale of the booster circuit.

また、データ書き込みタイミングの制御を行なって、書き込み処理を行なうデバイスでは、制御タイミングに応じた書き込みを行なうことが要請され、制御タイミングに間に合うように多くのビット線を規定時間内に充電することが必要となる。その結果、昇圧回路の能力の高いものが要求され、デバイスのサイズの小型化に反して、昇圧回路の規模の大型化、高性能化が求められるという問題が発生している。   In addition, devices that perform data write timing control and write processing are required to perform writing according to the control timing, and many bit lines can be charged within a specified time in time for the control timing. Necessary. As a result, a high booster circuit capability is required, and there is a problem that the booster circuit is required to be increased in size and performance, contrary to the reduction in device size.

エラー訂正コードとしてのECC回路を搭載したメモリデバイス構成例を図4に示す。図4は、FLOTOXタイプのEEPROM構成を示す。データ記憶領域201には、データおよびエラー訂正コードとしてのECCが格納される。ECCコードは、所定のECC算出単位、例えば16ビットデータ単位に算出され、16ビットデータに対して5ビットのECCビット(例えばハミングコード(Hamming Code))が設定されて格納されることになる。   FIG. 4 shows a memory device configuration example equipped with an ECC circuit as an error correction code. FIG. 4 shows a FLOTOX type EEPROM configuration. The data storage area 201 stores data and ECC as an error correction code. The ECC code is calculated in a predetermined ECC calculation unit, for example, a 16-bit data unit, and a 5-bit ECC bit (for example, a Hamming Code) is set and stored for the 16-bit data.

データ書き込み時には、データ書き込み制御信号(XRD)203の制御に基づいて、データバス202から書き込みデータが入力され、書き込みデータは、メモリバス211を介してデータ記憶領域201に格納されるとともに、メモリバス211を介してECC回路205にデータが入力され、書き込みデータに基づくECCビットが算出されて、生成されたECCビットがECCバス212を介してデータ記憶領域201に格納される。   At the time of data writing, write data is input from the data bus 202 based on the control of the data write control signal (XRD) 203, the write data is stored in the data storage area 201 via the memory bus 211, and Data is input to the ECC circuit 205 via 211, ECC bits based on the write data are calculated, and the generated ECC bits are stored in the data storage area 201 via the ECC bus 212.

データの読み出し時には、データ読み出し制御信号(XRD)204の制御に基づいて、データ記憶領域201からデータおよびECCビットが読み出され、メモリバス211、ECCバス212を介してECC回路205においてECCビットに基づくエラー訂正処理が実行された後、訂正されたデータがデータバス202に出力される。ECC回路205におけるエラー訂正は、例えばシンドローム(Syndrome)算出処理に基づいて実行される。   At the time of reading data, data and ECC bits are read from the data storage area 201 based on the control of the data read control signal (XRD) 204, and the ECC bits are converted into ECC bits by the ECC circuit 205 via the memory bus 211 and the ECC bus 212. After the error correction process is executed, the corrected data is output to the data bus 202. Error correction in the ECC circuit 205 is executed based on, for example, syndrome calculation processing.

ECC演算単位を16ビットデータとし、ECCとしてハミングコード(Hamming Code)を採用した場合の書き込みデータの生成例を図5を参照して説明する。   A generation example of write data when the ECC calculation unit is 16-bit data and a Hamming Code is used as the ECC will be described with reference to FIG.

図5に示すように、書き込みデータは、X〜X15の16ビットデータであり、この16ビットデータX〜X15に対して、図5に示すECCビットC〜Cが生成される。図5(a)に示す○印を付したビットの排他論理和(XOR)演算を、図5(b)に示す計算式に基づいて実行し、ECCビットとしてのハミングコード(Hamming Code)C〜Cが算出される。 As shown in FIG. 5, the write data is 16-bit data X 0 to X 15, with respect to the 16-bit data X 0 to X 15, ECC bits C 0 -C 4 shown in FIG. 5 is generated The The exclusive OR (XOR) operation of the bits marked with ○ shown in FIG. 5A is executed based on the calculation formula shown in FIG. 5B, and a Hamming code C 0 as an ECC bit is executed. ~C 4 is calculated.

この結果、データ記憶領域には、書き込みデータは、X〜X15の16ビットデータと、ECCビットC〜Cの5ビットデータを書き込むことが必要となる。 As a result, it is necessary to write 16-bit data of X 0 to X 15 and 5-bit data of ECC bits C 0 to C 4 in the data storage area.

前述したFLOTOXタイプのEEPROMにデータ書き込みを行なう場合、データ"1"を書き込むセルのビット線(V)には0V、データ"0"を書き込むセルのビット線(V)には例えば18Vを印加することが必要となる。X〜X15の16ビットデータと、ECCビットC〜Cの5ビット、計21ビットに含まれる0の数は、確率的な平均してとしては、21/2≒11であり、デバイスにおいて実行される書き込み処理の半数の処理においては、11〜21のゼロ書き込みが発生することになり、昇圧回路の負担は過大なものとなってしまう。昇圧回路は、書込データにかかわらず仕様を満たす能力のものを設計する必要があるため、全てのビット線に書込電圧を印加する場合で仕様を満たす能力を持たせる必要があり、回路規模が大きくなってしまう。 When data is written to the FLOTOX type EEPROM described above, 0V is applied to the bit line (V D ) of the cell to which data “1” is written, and 18 V is applied to the bit line (V D ) of the cell to which the data “0” is written. It is necessary to apply. The number of 0s included in the total of 21 bits, that is, 16 bits data of X 0 to X 15 and 5 bits of ECC bits C 0 to C 4 is 21 / 2≈11 as a stochastic average, In half of the write processes executed in the device, zero write of 11 to 21 occurs, and the burden on the booster circuit becomes excessive. Since it is necessary to design a booster circuit that has the ability to satisfy the specifications regardless of the write data, it is necessary to have the ability to satisfy the specifications when the write voltage is applied to all the bit lines. Will become bigger.

暗号処理鍵や、IDデータなど、エラー発生の許容されないデータを格納するデバイスにおいては、ECC等のエラー訂正コードは必須であり、この結果、正確なデータ書き込み処理を行なうため、昇圧回路の能力の優れたものが要求され、携帯機器やICカード等のデバイスのサイズの小型化に反して、昇圧回路の規模を大きくしなければならないという問題が顕著となってきている。
特開2000−149581号公報
An error correction code such as ECC is indispensable for a device that stores data that is not allowed to generate an error, such as an encryption processing key and ID data. As a result, in order to perform an accurate data write process, the capability of the booster circuit An excellent one is required, and the problem that the scale of the booster circuit has to be increased has become conspicuous against the downsizing of devices such as portable devices and IC cards.
JP 2000-149581 A

本発明は、上記問題点に鑑みてなされたものであり、半導体メモリ素子としてのEEPROMにおけるエラー訂正コードを付加したデータ書き込み処理が必要な構成において、データ処理時に充電するビット線の本数を削減することを可能とし、昇圧回路の負荷を小さくして、昇圧回路での消費電流の削減を可能とし、昇圧回路の回路規模の小型化を可能としたデータ記憶装置、および記憶データ処理方法、並びにコンピュータ・プログラムを提供することを目的とする。   The present invention has been made in view of the above problems, and reduces the number of bit lines to be charged at the time of data processing in a configuration that requires data writing processing to which an error correction code is added in an EEPROM as a semiconductor memory device. Data storage device, stored data processing method, and computer capable of reducing the load on the booster circuit, reducing current consumption in the booster circuit, and reducing the circuit scale of the booster circuit・ The purpose is to provide a program.

さらに、本発明は、半導体メモリ素子としてのEEPROMにおけるエラー訂正コードを付加したデータ書き込み処理が必要な構成において、ビット線充電の時間を削減し、結果的にデータ書き込み時間を削減することを可能とし、またデータ読み出しにおいても正確なデータ読み出しを可能としたデータ記憶装置、および記憶データ処理方法、並びにコンピュータ・プログラムを提供することを目的とする。   Furthermore, the present invention makes it possible to reduce the bit line charging time and consequently the data writing time in a configuration that requires data writing processing with an error correction code added to an EEPROM as a semiconductor memory device. Another object of the present invention is to provide a data storage device, a stored data processing method, and a computer program that enable accurate data reading in data reading.

本発明の第1の側面は、
データ記憶装置であり、
データ記憶領域と、
前記データ記憶領域に記憶する記憶対象データを所定のデータ長とした単位長データに付加データを追加設定したエラー訂正コード生成単位データに対するエラー訂正コードの生成処理を実行するエラー訂正コード処理手段と、
前記エラー訂正コード処理手段の生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定手段と、
前記ビット値判定手段の判定結果に基づいて、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行する書き込みデータ反転制御手段と、
を有することを特徴とするデータ記憶装置にある。
The first aspect of the present invention is:
A data storage device,
A data storage area;
Error correction code processing means for executing error correction code generation processing for error correction code generation unit data in which additional data is additionally set to unit length data in which the storage target data stored in the data storage area has a predetermined data length;
The ratio of the error correction code generated by the error correction code processing means and the bit value [0] or [1] in all the constituent bits of the error correction code generation unit data is calculated, and the data with low power consumption in the data storage processing Bit value determination means for determining whether a pattern is the error correction code and inverted data of the error correction code generation unit data;
Bit value inversion processing when it is determined that the data pattern with low power consumption in the data storage processing is the inverted data of the error correction code and the error correction code generation unit data based on the determination result of the bit value determination means Write data inversion control means for executing
The data storage device is characterized by comprising:

さらに、本発明のデータ記憶装置の一実施態様において、前記付加データは、前記単位長データに対して設定される1ビットデータであり、予め定められたビット値を持つデータであることを特徴とする。   Furthermore, in one embodiment of the data storage device of the present invention, the additional data is 1-bit data set for the unit length data, and is data having a predetermined bit value. To do.

さらに、本発明のデータ記憶装置の一実施態様において、前記エラー訂正コードは、エラーの発生ビット位置が特定可能なハミングコードであることを特徴とする。   Furthermore, in one embodiment of the data storage device of the present invention, the error correction code is a Hamming code that can specify an error occurrence bit position.

さらに、本発明のデータ記憶装置の一実施態様において、前記エラー訂正コード処理手段は、前記データ記憶領域からの読み出しデータのエラー訂正処理、および前記読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行する構成を有し、前記データ記憶装置は、さらに、前記エラー訂正コード処理手段において、前記読み出しデータがオリジナルデータの反転データであると判定された場合に、該読み出しデータの反転処理を実行する読み出しデータ反転制御手段と、を有することを特徴とする。   Furthermore, in an embodiment of the data storage device of the present invention, the error correction code processing means performs error correction processing of read data from the data storage area, and whether or not the read data is inverted data of original data. The data storage device further performs inversion of the read data when the error correction code processing means determines that the read data is inverted data of the original data. Read data inversion control means for executing processing.

さらに、本発明のデータ記憶装置の一実施態様において、前記エラー訂正コード処理手段は、前記データ記憶領域からの読み出しデータについてのシンドローム算出処理を実行し、算出したシンドロームに基づくエラー訂正処理を実行する構成であることを特徴とする。   Furthermore, in an embodiment of the data storage device of the present invention, the error correction code processing means executes a syndrome calculation process for read data from the data storage area, and executes an error correction process based on the calculated syndrome. It is the structure.

さらに、本発明のデータ記憶装置の一実施態様において、前記エラー訂正コード処理手段は、前記読み出しデータに含まれる付加データのビット値に基づいて、該読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行する構成であることを特徴とする。   Furthermore, in one embodiment of the data storage device of the present invention, the error correction code processing means determines whether the read data is inverted data of the original data based on the bit value of the additional data included in the read data. It is the structure which performs such a determination process, It is characterized by the above-mentioned.

さらに、本発明のデータ記憶装置の一実施態様において、前記データ記憶領域は、フローティングゲートを持つFLOTOX(Floating Gate with Tunnel Oxide)構成を有することを特徴とする。   Furthermore, in one embodiment of the data storage device of the present invention, the data storage area has a FLOTOX (Floating Gate with Tunnel Oxide) configuration having a floating gate.

さらに、本発明のデータ記憶装置の一実施態様において、前記データ記憶領域は、ビット値0の格納セルに対してバイアス電圧の印加処理を行なう構成であり、前記ビット値判定手段は、前記エラー訂正コード処理手段の生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]の割合を算出し、ビット値[0]の割合が少ないデータパターンが前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定する処理を実行する構成であり、前記書き込みデータ反転制御手段は、ビット値[0]の割合が少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データである場合に反転処理を実行する構成であることを特徴とする。   Furthermore, in an embodiment of the data storage device of the present invention, the data storage area is configured to apply a bias voltage to a storage cell having a bit value of 0, and the bit value determination means includes the error correction unit. The error correction code generated by the code processing means and the ratio of the bit value [0] occupying all the constituent bits of the error correction code generation unit data are calculated, and the data pattern having a small ratio of the bit value [0] is the error correction code. And a process for determining whether the data is inverted data of the error correction code generation unit data, and the write data inversion control means has a data pattern with a small percentage of bit value [0] as the error data. In the configuration that executes the reversal processing when the correction code and the error correction code generation unit data are inverted data And wherein the Rukoto.

さらに、本発明の第2の側面は、
記憶データ処理方法であり、
データ記憶領域に記憶する記憶対象データを所定のデータ長とした単位長データに付加データを追加設定したエラー訂正コード生成単位データに対するエラー訂正コードの生成処理を実行するエラー訂正コード生成処理ステップと、
前記エラー訂正コード生成処理ステップにおいて生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定ステップと、
前記ビット値判定ステップにおける判定結果に基づいて、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行する書き込みデータ反転制御ステップと、
を有することを特徴とする記憶データ処理方法にある。
Furthermore, the second aspect of the present invention provides
Stored data processing method,
An error correction code generation processing step for executing error correction code generation processing for error correction code generation unit data in which additional data is additionally set to unit length data in which the data to be stored is a predetermined data length stored in the data storage area;
The error correction code generated in the error correction code generation processing step and the ratio of the bit value [0] or [1] to all the constituent bits of the error correction code generation unit data are calculated to reduce power consumption in the data storage process. A bit value determination step for determining whether a data pattern is inverted data of the error correction code and the error correction code generation unit data;
Bit value inversion processing when it is determined that the data pattern with low power consumption in the data storage processing is the inverted data of the error correction code and the error correction code generation unit data based on the determination result in the bit value determination step A write data inversion control step for executing
A stored data processing method characterized by comprising:

さらに、本発明の記憶データ処理方法の一実施態様において、前記付加データは、前記単位長データに対して設定される1ビットデータであり、予め定められたビット値を持つデータであることを特徴とする。   Furthermore, in one embodiment of the stored data processing method of the present invention, the additional data is 1-bit data set for the unit length data and is data having a predetermined bit value. And

さらに、本発明の記憶データ処理方法の一実施態様において、前記エラー訂正コードは、エラーの発生ビット位置が特定可能なハミングコードであることを特徴とする。   Furthermore, in an embodiment of the stored data processing method of the present invention, the error correction code is a Hamming code that can specify an error occurrence bit position.

さらに、本発明の記憶データ処理方法の一実施態様において、前記記憶データ処理方法は、さらに、前記データ記憶領域からの読み出しデータのエラー訂正処理を実行するエラー訂正ステップと、前記読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行する読み出しデータ判定ステップと、前記読み出しデータがオリジナルデータの反転データであると判定された場合に、該読み出しデータの反転処理を実行する読み出しデータ反転制御ステップと、を有することを特徴とする。   Furthermore, in an embodiment of the storage data processing method of the present invention, the storage data processing method further includes an error correction step of executing an error correction process of read data from the data storage area, and the read data is original data. A read data determination step for executing a determination process for determining whether the read data is inverted data, and a read data inversion for executing a read data inversion process when the read data is determined to be inverted data of the original data And a control step.

さらに、本発明の記憶データ処理方法の一実施態様において、前記エラー訂正ステップは、前記データ記憶領域からの読み出しデータについてのシンドローム算出処理を実行し、算出したシンドロームに基づくエラー訂正処理を実行するステップであることを特徴とする。   Furthermore, in one embodiment of the stored data processing method of the present invention, the error correcting step includes a step of executing a syndrome calculating process for read data from the data storage area and executing an error correcting process based on the calculated syndrome It is characterized by being.

さらに、本発明の記憶データ処理方法の一実施態様において、前記読み出しデータ判定ステップは、前記読み出しデータに含まれる付加データのビット値に基づいて、該読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行するステップであることを特徴とする。   Furthermore, in one embodiment of the stored data processing method of the present invention, the read data determination step determines whether the read data is inverted data of the original data based on a bit value of additional data included in the read data. It is the step which performs the determination process.

さらに、本発明の記憶データ処理方法の一実施態様において、前記データ記憶領域は、フローティングゲートを持つFLOTOX(Floating Gate with Tunnel Oxide)構成であり、ビット値0の格納セルに対してバイアス電圧の印加処理を行なう構成を有し、前記ビット値判定ステップは、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]の割合を算出し、ビット値[0]の割合が少ないデータパターンが前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定する処理を実行し、前記書き込みデータ反転制御ステップは、ビット値[0]の割合が少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データである場合に反転処理を実行することを特徴とする。   Furthermore, in one embodiment of the stored data processing method of the present invention, the data storage area has a FLOTOX (Floating Gate with Tunnel Oxide) configuration having a floating gate, and a bias voltage is applied to a storage cell having a bit value of 0. The bit value determining step calculates a ratio of the bit value [0] occupying all the constituent bits of the error correction code and the error correction code generation unit data, and the bit value [0] A process of determining whether or not a data pattern with a small ratio is the inverted data of the error correction code and the error correction code generation unit data is executed, and the write data inversion control step has a ratio of the bit value [0]. A small data pattern includes the error correction code and the inverted data of the error correction code generation unit data. And executes the inversion process if it is.

さらに、本発明の第3の側面は、
メモリに対するデータ記憶処理を実行するコンピュータ・プログラムであり、
データ記憶領域に記憶する記憶対象データを所定のデータ長とした単位長データに付加データを追加設定したエラー訂正コード生成単位データに対するエラー訂正コードの生成処理を実行するエラー訂正コード生成処理ステップと、
前記エラー訂正コード生成処理ステップにおいて生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定ステップと、
前記ビット値判定ステップにおける判定結果に基づいて、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行する書き込みデータ反転制御ステップと、
を有することを特徴とするコンピュータ・プログラムにある。
Furthermore, the third aspect of the present invention provides
A computer program for executing data storage processing for memory,
An error correction code generation processing step for executing error correction code generation processing for error correction code generation unit data in which additional data is additionally set to unit length data in which the data to be stored is a predetermined data length stored in the data storage area;
The error correction code generated in the error correction code generation processing step and the ratio of the bit value [0] or [1] to all the constituent bits of the error correction code generation unit data are calculated to reduce power consumption in the data storage process. A bit value determination step for determining whether a data pattern is inverted data of the error correction code and the error correction code generation unit data;
Bit value inversion processing when it is determined that the data pattern with low power consumption in the data storage processing is the inverted data of the error correction code and the error correction code generation unit data based on the determination result in the bit value determination step A write data inversion control step for executing
There is a computer program characterized by comprising:

なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。   The computer program of the present invention is, for example, a storage medium or communication medium provided in a computer-readable format to a computer system capable of executing various program codes, such as a CD, FD, or MO. It is a computer program that can be provided by a recording medium or a communication medium such as a network. By providing such a program in a computer-readable format, processing corresponding to the program is realized on the computer system.

本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Other objects, features, and advantages of the present invention will become apparent from a more detailed description based on embodiments of the present invention described later and the accompanying drawings. In this specification, the system is a logical set configuration of a plurality of devices, and is not limited to one in which the devices of each configuration are in the same casing.

本発明の構成によれば、エラー訂正コードおよびエラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、エラー訂正コードおよびエラー訂正コード生成単位データの反転データであるか否かを判定し、電力消費の少ないデータパターンが、反転データである場合にビット値反転処理を実行してメモリに書き込む構成としたので、昇圧電圧に基づいて充電する必要のあるビット線本数を半減させることが可能となり、昇圧回路及び消費電流を小さくすることが可能となりまた高速なデータ書き込み処理が可能となる。   According to the configuration of the present invention, the ratio of the bit value [0] or [1] occupying all the constituent bits of the error correction code and the error correction code generation unit data is calculated, and a data pattern with low power consumption in the data storage processing is obtained. Determining whether or not the error correction code and the error correction code generation unit data are inverted data, and when the data pattern with low power consumption is the inverted data, the bit value inversion processing is executed and written to the memory Therefore, the number of bit lines that need to be charged based on the boosted voltage can be halved, the booster circuit and current consumption can be reduced, and high-speed data writing processing can be performed.

また、本発明の構成によれば、データの読み出し時には、メモリに対する書き込みデータが反転されたデータであるか否かを付加ビットデータに基づいて判断し、反転しているデータである場合は、再反転処理を実行し、オリジナルデータに戻して出力する構成であるので、正常なデータ読み出しが可能となる。   Further, according to the configuration of the present invention, when reading data, it is determined based on the additional bit data whether the write data to the memory is inverted data. Since the reversal process is executed and the data is returned to the original data and output, normal data can be read out.

以下、本発明のデータ記憶装置、および記憶データ処理方法、並びにコンピュータ・プログラムの詳細について説明する。   Details of the data storage device, the stored data processing method, and the computer program of the present invention will be described below.

図6を参照して、本発明に係るデータ記憶装置の構成を説明する。本発明に係るデータ記憶装置は、メモリに対する書き込みデータに対してエラー訂正コードとしてのECCを設定し、メモリからの読み出しデータに対してECCに基づくエラー訂正処理を実行するECC(Error Correct Code)回路を搭載している。   The configuration of the data storage device according to the present invention will be described with reference to FIG. The data storage device according to the present invention sets an ECC as an error correction code for write data to a memory and executes an error correction process based on the ECC for read data from the memory. It is equipped with.

図6の装置構成において、データ記憶領域301は、FLOTOXタイプのEEPROM構成を有する。データ記憶領域301には、データおよびエラー訂正コードとしてのECCが格納される。ECCコードは、所定のECC算出単位に対して算出される。   In the device configuration of FIG. 6, the data storage area 301 has a FLOTOX type EEPROM configuration. The data storage area 301 stores data and ECC as an error correction code. The ECC code is calculated for a predetermined ECC calculation unit.

本発明の構成では、例えば16ビット実データに対して1ビットの付加データを追加設定し、計17ビットデータをエラー訂正コード生成単位データとして設定し、この単位データに対して、5ビットのECCデータ、例えば、ハミングコード(Hamming Code)を付与する。このECCデータの生成処理についての詳細は後述する。   In the configuration of the present invention, for example, 1-bit additional data is additionally set for 16-bit actual data, and a total of 17-bit data is set as error correction code generation unit data. Data, for example, a Hamming Code is given. Details of the ECC data generation processing will be described later.

データ書き込み時には、ECCブロック350にデータバス302から書き込みデータが入力され、ECCブロック350において、書き込みデータに対する付加データの設定およびECCデータの算出、付与が実行され、その後メモリバス311を介してデータ記憶領域301のデータ(Data)格納領域に、実データと付加データが格納されるとともに、ECCビットがECCバス312を介してデータ記憶領域301に格納される。   At the time of data writing, write data is input to the ECC block 350 from the data bus 302, setting of additional data for the write data and calculation and addition of ECC data are executed in the ECC block 350, and then data is stored via the memory bus 311. Actual data and additional data are stored in the data (Data) storage area of the area 301, and ECC bits are stored in the data storage area 301 via the ECC bus 312.

データの読み出し時には、データ記憶領域301から実データと付加データおよびECCビットが読み出され、メモリバス311、ECCバス312を介してECCブロック350に入力され、ECCブロック350においてECCビットに基づくエラー訂正処理が実行された後、訂正されたデータがデータバス302に出力される。ECCブロック350におけるエラー訂正は、例えばシンドローム(Syndrome)算出処理に基づいて実行される。この処理の詳細については、後述する。   When data is read, actual data, additional data, and ECC bits are read from the data storage area 301 and input to the ECC block 350 via the memory bus 311 and the ECC bus 312, and error correction based on the ECC bits is performed in the ECC block 350. After the processing is executed, the corrected data is output to the data bus 302. The error correction in the ECC block 350 is executed based on, for example, a syndrome calculation process. Details of this processing will be described later.

なお、データの書き込み処理および読み出し処理におけるデータの転送タイミングや、処理タイミングは、図示しないCPU等の制御部から出力される制御信号によって制御され、例えば予めプログラミングされた処理プログラムに従った処理として実行されるものである。   The data transfer timing and processing timing in the data writing process and reading process are controlled by a control signal output from a control unit such as a CPU (not shown), and executed as a process according to a preprogrammed processing program, for example. It is what is done.

本発明のデータ記憶装置におけるECCブロック350において実行するエラー訂正コード(ECC)設定処理の詳細について、図7および図8を参照して説明する。図7は、ECCブロック350において実行するエラー訂正コード(ECC)の算出において実行するハミングコード算出処理の詳細を説明する図であり、図8は、本発明のデータ記憶装置のECCブロック350において実行するエラー訂正コード(ECC)設定処理およびデータ記憶領域301に対するデータおよびECCビットの書き込み処理のシーケンスを説明するフローチャートである。   Details of the error correction code (ECC) setting process executed in the ECC block 350 in the data storage device of the present invention will be described with reference to FIGS. FIG. 7 is a diagram for explaining the details of the Hamming code calculation process executed in the error correction code (ECC) calculation executed in the ECC block 350, and FIG. 8 is executed in the ECC block 350 of the data storage device of the present invention. 6 is a flowchart for explaining a sequence of error correction code (ECC) setting processing and data and ECC bit writing processing to the data storage area 301.

まず、図7を参照して、本発明のデータ記憶装置のECCブロック350において実行するエラー訂正コード(ECC)算出処理の詳細について説明する。ここでは、一実施例として、ECC演算単位を、実データ16ビットと1ビットの付加データの計17ビットデータとし、ECCとしてハミングコードを採用した場合のエラー訂正コード(ECC)設定例を説明する。   First, the details of the error correction code (ECC) calculation process executed in the ECC block 350 of the data storage device of the present invention will be described with reference to FIG. Here, as an embodiment, an example of setting an error correction code (ECC) when the ECC calculation unit is 17 bits of data including 16 bits of actual data and 1 bit of additional data and a Hamming code is adopted as the ECC will be described. .

図7(a)は、ECC演算単位としてのX〜X15の16ビット実データと、1ビット付加データX16の計17ビットデータに対するECC、すなわち、ハミングコードの算出処理構成を示している。図6に示すECCブロック350は、データバス302から書き込みデータを入力し、データをECC算出単位としての16ビットデータに区切り、16ビットデータに対して1ビットの付加データビットX16を設定する。付加データビットX16は、予め定められた値、例えばビット値[1]に設定する。 FIG. 7A shows an ECC, that is, a Hamming code calculation processing configuration for a total of 17-bit data of 16-bit actual data of X 0 to X 15 and 1-bit additional data X 16 as an ECC calculation unit. . ECC block 350 shown in FIG. 6 receives the write data from the data bus 302 divides the data into 16-bit data as ECC calculation unit sets the 1-bit additional data bits X 16 relative to 16-bit data. Additional data bit X 16 is a predetermined value is set to, for example, a bit value [1].

ただし、ECCに基づいてエラー訂正処理を実行する際に、付加データビットX16に対して設定された正常値が[0]であるか[1]であるかが判別可能であればよく、付加データビットX16として、ビット値[1]または[0]のいずれを規定値とするかは任意である。 However, often when performing error correction processing on the basis of the ECC, if possible determine the normal value set for additional data bit X 16 is [0] is either [1], added as data bits X 16, or a specified value of any bit values [1] or [0] it is optional.

ここでは、付加データビットX16を規定ビット値[1]に設定した例を説明する。ECCビットは計5ビット、すなわち、C〜CをECC演算単位としてのX〜X15の16ビット実データと、1ビット付加データX16の計17ビットデータに基づいて算出する。 Here, a description will be given of an example of setting the specified bit values [1] additional data bits X 16. The ECC bits are calculated based on a total of 5 bits, that is, based on a total of 17-bit data of X 0 to X 15 16-bit actual data and 1-bit additional data X 16 using C 0 to C 4 as ECC calculation units.

図7(a)に示す○印を付したビットの排他論理和(XOR)演算を、図7(b)および以下に示す。ECCビットとしてのハミングコード(Hamming Code)C〜Cは下式(式1)に基づいて算出する。

Figure 2005173860
The exclusive OR (XOR) operation of the bits marked with ◯ shown in FIG. 7A is shown in FIG. 7B and below. Hamming codes C 0 to C 4 as ECC bits are calculated based on the following equation (Equation 1).
Figure 2005173860

図6に示すECCブロック350は、データバス302から書き込みデータを入力し、データをECC算出単位としての16ビットデータに区切り、16ビットデータに対して1ビットの付加データビットX16を設定した後、上記式に従って、X〜X15の16ビット実データと、付加データX16の計17ビットデータに基づく5ビットのECCビットを算出する。 ECC block 350 shown in FIG. 6, after enter the write data from the data bus 302 divides the data into 16-bit data as ECC calculation unit, and sets the 1-bit additional data bits X 16 relative to 16-bit data In accordance with the above equation, 5-bit ECC bits are calculated based on 16-bit actual data of X 0 to X 15 and 17-bit data in total of additional data X 16 .

図6に示すECCブロック350において、上述の付加ビット設定、およびECCビット算出処理を実行した後、実データと付加データは、メモリバス311を介してデータ記憶領域301のデータ(Data)格納領域に格納される。ECCビットは、ECCバス312を介してデータ記憶領域301のECC格納領域に格納される。   In the ECC block 350 shown in FIG. 6, after executing the above-described additional bit setting and ECC bit calculation processing, the actual data and the additional data are stored in the data (Data) storage area of the data storage area 301 via the memory bus 311. Stored. The ECC bit is stored in the ECC storage area of the data storage area 301 via the ECC bus 312.

図8のフローに従って、本発明のデータ記憶装置のECCブロック350において実行するエラー訂正コード(ECC)設定処理およびデータ記憶領域301に対するデータおよびECCビットの書き込み処理のシーケンスを説明する。   The sequence of error correction code (ECC) setting processing executed in the ECC block 350 of the data storage device of the present invention and data and ECC bit writing processing to the data storage area 301 will be described according to the flow of FIG.

ステップS101において、図6に示すECCブロック350は、データバス302から書き込みデータを入力し、データをECC算出単位としての16ビットデータに区切り、ステップS102において、16ビットデータに対して1ビットの付加データビットX16を設定する。付加データビットX16は、上述したように、予め定められた値、例えばビット値[1]とする。 In step S101, the ECC block 350 shown in FIG. 6 inputs write data from the data bus 302, divides the data into 16-bit data as an ECC calculation unit, and adds 1 bit to the 16-bit data in step S102. setting the data bits X 16. Additional data bits X 16, as described above, a predetermined value, for example, the bit value [1].

ステップS103において、データバス302から入力したX〜X15の16ビット実データと、1ビット付加データX16の計17ビットデータに対するECC、すなわち、ハミングコードの算出処理を実行する。このECCビット算出処理は、上述の式(式1)に基づいて実行する。 In step S103, it executes a 16-bit real data X 0 to X 15 input from the data bus 302, ECC for a total of 17-bit data of 1-bit additional data X 16, i.e., the process of calculating the Hamming code. This ECC bit calculation processing is executed based on the above equation (Equation 1).

次に、ステップS104において、X〜X15の16ビット実データと、1ビット付加データX16の計17ビットデータと、これらのデータに基づいて生成したエラー訂正コードの構成ビット、すなわち、ECCビットC〜Cの5ビットの総計22ビットのビット値[0]の数をカウントする。 Next, in step S104, 16-bit actual data of X 0 to X 15 and 1-bit additional data X 16 in total 17-bit data, and constituent bits of an error correction code generated based on these data, that is, ECC A total of 22 bits of bit value [0] of 5 bits of bits C 0 to C 4 is counted.

ステップS105において、X〜X15の16ビット実データと、X16の1ビット付加データと、ECCビットC〜Cの5ビットの総計22ビットの構成ビット中、ビット値[0]の数が半数を超える(ビット0の数≧12)と判定した場合は、ステップS106に進み、ビット値[0]の数が半数を超えない(ビット0の数<12)と判定した場合は、ステップS107に進む。 In step S105, the 16-bit real data X 0 to X 15, and 1-bit additional data X 16, during configuration bits five bits of total 22 bits of ECC bits C 0 -C 4, bit values of [0] If it is determined that the number exceeds half (number of bits 0 ≧ 12), the process proceeds to step S106, and if it is determined that the number of bit values [0] does not exceed half (number of bits 0 <12), Proceed to step S107.

22ビットの構成ビット中、ビット値[0]の数が半数を超える(ビット0の数≧12)と判定した場合は、ステップS106に進み、ステップS106では、X〜X15の16ビット実データと、X16の1ビット付加データの反転データを生成し、反転データに基づくECCビットを生成し、これらのデータをメモリ領域に書き込むデータとして出力する。すなわち、データおよびECCデータの反転した値が対応するアドレスの書込ラッチに格納され、メモリセルに書き込まれる。 During configuration bits 22 bits, if the number of bit values [0] is determined to more than half (number ≧ 12 bit 0), the process proceeds to step S106, in step S106, 16-bit real X 0 to X 15 and data to generate inverted data of 1 bit additional data X 16, it generates ECC bits based on inverted data, and outputs it as data write these data in the memory area. That is, the inverted value of the data and ECC data is stored in the write latch at the corresponding address and written into the memory cell.

なお、反転データとは、本来のビット値が[0]の場合、これを[1]とし、本来のビット値が[1]の場合、これを[0]としたデータである。   Note that the inverted data is data in which when the original bit value is [0], this is [1], and when the original bit value is [1], this is [0].

このように、反転したX〜X15の16ビット実データと、X16の1ビット付加データをメモリバス311に出力し、データ記憶領域301のデータ(Data)格納領域に格納し、反転データに基づくECCビットをECCバス312に出力し、メモリ領域のECC格納領域に格納する。 In this way, the inverted 16-bit actual data of X 0 to X 15 and the 1-bit additional data of X 16 are output to the memory bus 311, stored in the data (Data) storage area of the data storage area 301, and the inverted data Are output to the ECC bus 312 and stored in the ECC storage area of the memory area.

図7(a)に示すECC演算例の場合、ECCビットC〜Cの各演算に用いられているデータ(排他論理和演算の対象としてX〜X15およびX16から選択されたデータ)の個数は全て奇数個となっている。複数データの排他論理和(Exclusive-OR)演算は、全ての演算対象データの加算後の最下位ビットと等しくなるため、X〜X16の反転データに基づく排他論理和演算結果は、反転する前のオリジナルデータによる排他論理和演算結果を反転させた値と等しくなる。 In the case of the ECC calculation example shown in FIG. 7A, data used for each calculation of the ECC bits C 0 to C 4 (data selected from X 0 to X 15 and X 16 as the target of the exclusive OR operation) ) Are all odd numbers. Exclusive OR of the plurality data (Exclusive-OR) operation, to become equal to the least significant bit after the addition of all of the data to be processed, based on the inverted data exclusive logical OR operation result of X 0 to X 16 is inverted It becomes equal to the value obtained by inverting the exclusive OR operation result of the previous original data.

従って、ECCブロック350は、X〜X16の反転データに基づく排他論理和演算を実行することなく、反転する前のオリジナルデータによる排他論理和演算結果を反転させた値を、X〜X16の反転データに基づく排他論理和演算結果としてのECCビットC〜Cとして設定することができる。 Therefore, the ECC block 350 does not execute the exclusive OR operation based on the inverted data of X 0 to X 16 , but converts the value obtained by inverting the exclusive OR operation result of the original data before the inversion to X 0 to X It can be set as ECC bits C 0 to C 4 as the exclusive OR operation result based on 16 inverted data.

すなわち、22ビットの構成ビット中、ビット値[0]の数が半数を超える(ビット0の数≧12)と判定した場合は、ステップS106において、X〜X15の16ビット実データと、X16の1ビット付加データの反転データを生成し、オリジナルビットに基づいて生成済みのECCビットC〜Cを反転し、これをX〜X15の16ビット実データと、X16の1ビット付加データの反転データに基づくECCビットとして各バス311,312に出力し、データ記憶領域301に格納する。 That is, if it is determined that the number of bit values [0] exceeds half of the 22-bit configuration bits (number of bits 0 ≧ 12), in step S106, 16-bit actual data of X 0 to X 15 ; generates inverted data of 1 bit additional data X 16, the generated ECC bits C 0 -C 4 the reversed based on the original bits, which a 16-bit real data X 0 to X 15, the X 16 The ECC bits based on the inverted data of the 1-bit additional data are output to the buses 311 and 312 and stored in the data storage area 301.

一方、ステップS105において、X〜X15の16ビット実データと、X16の1ビット付加データと、ECCビットC〜Cの5ビットの総計22ビットの構成ビット中、ビット値[0]の数が半数を超えない(ビット0の数<12)と判定した場合は、ステップS107に進み、反転処理を実行することなく、X〜X15の16ビット実データと、X16の1ビット付加データ、およびこれらのデータに基づくECCビットを各バス311,312に出力し、データ記憶領域301に格納する。すなわち、データおよびECCデータの反転されない値が対応するアドレスの書込ラッチに格納され、メモリセルに書き込まれる。 On the other hand, in step S105, X 0 and 16-bit real data to X 15, and 1-bit additional data X 16, during configuration bits five bits of total 22 bits of ECC bits C 0 -C 4, bit values [0 the number of] does not exceed half if it is determined that (the number of bits 0 <12), the process proceeds to step S107, without executing a reversal process, and 16-bit real data X 0 to X 15, the X 16 1-bit additional data and ECC bits based on these data are output to each of the buses 311 and 312 and stored in the data storage area 301. That is, the data and the non-inverted value of the ECC data are stored in the write latch of the corresponding address and written into the memory cell.

この処理により、データ記憶領域301に格納するデータの[0]となるビット値の数を削減して格納することが可能となる。   By this processing, it is possible to reduce the number of bit values that are [0] of data stored in the data storage area 301 and store them.

先に、図1〜図3を参照して説明したように、FLOTOXタイプのEEPROMにデータ書き込みを行なう場合、データ"1"を書き込むセルのビット線(V)には0V、データ"0"を書き込むセルのビット線(V)には例えば18Vを印加することが必要となる。 As described above with reference to FIGS. 1 to 3, when data is written to a FLOTOX type EEPROM, the bit line (V D ) of the cell in which data “1” is written has 0 V and data “0”. It is necessary to apply, for example, 18V to the bit line (V D ) of the cell to which is written.

上述した本発明のデータ格納処理に従えば、X〜X15の16ビット実データと、X16の1ビット付加データと、ECCビットC〜Cの5ビット、計22ビットに含まれる0の数が半数より大の場合は、X〜X15の16ビット実データと、X16の1ビット付加データの反転データを書き込みデータとし、22ビットに含まれる0の数が半数以下の場合は、X〜X15の16ビット実データと、X16の1ビット付加データの構成データそのものを書き込みデータとして設定したので、データ書き込み処理におけるビット[0]の書き込みを減少させることができ、データ"0"を書き込むセルのビット線(V)に供給することが必要となる印加電圧(例えば18V)の総量を削減することが可能となる。 According to the data storing process of the present invention described above, include a 16-bit real data X 0 to X 15, and 1-bit additional data X 16, 5-bit ECC bits C 0 -C 4, a total of 22 bits If the number of 0 is greater than half, the 16-bit actual data of X 0 to X 15 and the inverted data of 1-bit additional data of X 16 are used as write data, and the number of 0 included in 22 bits is less than half. In this case, since the 16-bit actual data of X 0 to X 15 and the configuration data itself of 1-bit additional data of X 16 are set as the write data, writing of bit [0] in the data write process can be reduced. Therefore, it is possible to reduce the total amount of applied voltage (for example, 18 V) that needs to be supplied to the bit line (V D ) of the cell in which data “0” is written.

結果として、FLOTOXタイプのEEPROMに対するデータ書き込み処理を実行するデバイスに搭載する昇圧回路の負担を減少することが可能となり、昇圧回路の小型化、デバイスのコストダウンが実現される。さらに、充電の必要なビット線、すなわちビット値[0]を格納するセルに対応するビット線数が削減されるので、ビット線充電に要する時間の削減が可能となり、結果的にデータ書き込み時間の削減が達成され、高速データ書き込みが実現される。   As a result, it is possible to reduce the burden on the booster circuit mounted on the device that executes the data writing process to the FLOTOX type EEPROM, and the booster circuit can be downsized and the cost of the device can be reduced. Further, since the number of bit lines corresponding to the bit lines that need to be charged, that is, the cells storing the bit value [0], is reduced, the time required for charging the bit lines can be reduced, resulting in a reduction in data write time. Reduction is achieved and high speed data writing is realized.

暗号処理鍵や、IDデータなど、エラー発生の許容されないデータを格納するデバイスにおいては、ECC等のエラー訂正コードは必須であり、従来構成においては、正確なデータ書き込み処理を行なうため、昇圧回路の能力の優れたものが要求され、昇圧回路の規模を大きくしなければならないという問題が発生していたが、上述した本発明の処理を実行することにより、[0]の書き込みを必要とするセル数が削減できるので、昇圧回路の小型化、デバイスのコストダウンが実現され、携帯機器やICカード等のデバイスのサイズの小型化に適応する小型の昇圧回路によって、データ書き込みが可能となる。   An error correction code such as ECC is indispensable for a device that stores data that does not allow error occurrence, such as an encryption processing key and ID data. In the conventional configuration, in order to perform an accurate data writing process, A cell having a high capability is required, and the scale of the booster circuit has to be increased. However, by executing the above-described processing of the present invention, a cell that requires [0] writing is required. Since the number can be reduced, the booster circuit can be reduced in size and the cost of the device can be reduced, and data can be written by a small booster circuit adapted to the reduction in the size of devices such as portable devices and IC cards.

次に、図9を参照して、図8のフローに従った処理を実行するECCブロック350の詳細構成について説明する。   Next, a detailed configuration of the ECC block 350 that executes processing according to the flow of FIG. 8 will be described with reference to FIG.

ECCブロック350は、図に示すように、メモリに対する書き込みデータの入力、あるいはメモリから読み出したデータを出力するデータバスとメモリに接続されたメモリバスおよびECCバスとの間に位置し、メモリに対する書き込みデータに対してECCデータを生成する。さらに、先に図7、図8を参照して説明したように、ビット値[0]の数をカウントし、カウント値に基づいて反転データの生成、反転データに基づくECCビットの生成を行なう。   As shown in the figure, the ECC block 350 is located between a data bus for inputting write data to the memory or outputting data read from the memory, a memory bus connected to the memory, and an ECC bus, and writing to the memory. ECC data is generated for the data. Further, as described above with reference to FIGS. 7 and 8, the number of bit values [0] is counted, and inverted data is generated based on the count value, and ECC bits are generated based on the inverted data.

図9を参照して、ECCブロック350の構成および処理の詳細について説明する。まず、データ書き込み時の処理について説明する。データ書き込み制御信号(XRD)351の制御に基づいて、データバスから書き込みデータが入力し、ECC処理実行部356に入力される。   Details of the configuration and processing of the ECC block 350 will be described with reference to FIG. First, processing at the time of data writing will be described. Based on the control of the data write control signal (XRD) 351, write data is input from the data bus and input to the ECC processing execution unit 356.

ECC処理実行部356は、エラー訂正コード(ECC)処理手段であり、ECC演算単位毎に付加データビットを付加する処理を実行するとともに、エラー訂正コードとしてのECCビットを算出する。この算出処理は、上述した(式1)に従って実行(図7参照)する。   The ECC process execution unit 356 is an error correction code (ECC) processing unit, executes a process of adding additional data bits for each ECC calculation unit, and calculates an ECC bit as an error correction code. This calculation process is executed according to (Equation 1) described above (see FIG. 7).

ECC処理実行部356において生成したECCビットC〜Cと、ECC演算単位としての16ビット入力データX〜X15と、1ビット付加データX16は、反転制御器357に出力され、かつ、0データのカウントを実行するカウンタ354に出力される。 The ECC bits C 0 to C 4 generated by the ECC processing execution unit 356, 16-bit input data X 0 to X 15 as ECC calculation units, and 1-bit additional data X 16 are output to the inversion controller 357, and , 0 is output to the counter 354 that executes counting of data.

カウンタ354と比較器353は、エラー訂正コード処理手段としてのECC処理実行部356の生成したエラー訂正コードおよびエラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定処理を実行する。このように、カウンタ354と比較器353はビット値判定手段として機能する。   The counter 354 and the comparator 353 are the error correction code generated by the ECC processing execution unit 356 as the error correction code processing means and the ratio of the bit value [0] or [1] to all the constituent bits of the error correction code generation unit data. And a bit value determination process for determining whether or not the data pattern with low power consumption in the data storage process is the inverted data of the error correction code and the error correction code generation unit data. Thus, the counter 354 and the comparator 353 function as a bit value determination unit.

カウンタ354は、ECC処理実行部356において生成したECCビットC〜Cと、ECC演算単位としての16ビット入力データX〜X15と、1ビット付加データX16の総計22ビット中に含まれるビット値[0]の数をカウントする。 The counter 354 is included in a total of 22 bits of the ECC bits C 0 to C 4 generated by the ECC processing execution unit 356, 16-bit input data X 0 to X 15 as ECC calculation units, and 1-bit additional data X 16 The number of bit values [0] to be counted is counted.

カウンタ354におけるカウント値、すなわち、22ビット中に含まれるビット値[0]の数[A]が比較器353に入力される。比較器353は、さらに、ECC演算単位としての実データおよび付加データのビット値「0」の数と、ECCデータのビット数の半数の値[B]を入力し、22ビット中に含まれるビット値[0]の数[A]と[B]の大小の比較を実行する。   The count value in the counter 354, that is, the number [A] of bit values [0] included in 22 bits is input to the comparator 353. Further, the comparator 353 inputs the number of bit values “0” of the actual data and the additional data as the ECC calculation unit and the value [B] which is a half of the number of bits of the ECC data, and is included in the 22 bits. The number [A] of the value [0] [A] and [B] are compared in magnitude.

A>Bの場合は、反転制御器357に対して反転処理を実行させる動作制御信号を出力し、ECC演算単位としての16ビット入力データX〜X15と、1ビット付加データX16の反転信号と、ECC処理実行部356において生成したECCビットC〜Cの反転信号を生成して、これを書き込みデータとして出力し、メモリに対する書き込み制御信号XRD358の制御の下にこれらの反転データの書き込み処理を実行する。 In the case of A> B, an operation control signal for causing the inversion controller 357 to execute the inversion process is output, and the 16-bit input data X 0 to X 15 as the ECC calculation unit and the inversion of the 1-bit additional data X 16 are output. The signal and an inverted signal of the ECC bits C 0 to C 4 generated by the ECC processing execution unit 356 are generated and output as write data. Under the control of the write control signal XRD 358 for the memory, the inverted data Execute the write process.

A≦Bの場合は、反転制御器357に対して反転処理の実行を行わず、入力値を反転することなく、ECC演算単位としての16ビット入力データX〜X15と、1ビット付加データX16と、ECC処理実行部356において生成したECCビットC〜Cをそのまま書き込みデータとして、出力し、メモリに対する書き込み制御信号XRD358の制御の下にこれらのデータの書き込み処理を実行する。 In the case of A ≦ B, 16-bit input data X 0 to X 15 as ECC calculation units and 1-bit additional data are not performed without performing inversion processing on the inversion controller 357 and without inverting the input value. X 16 and the ECC bits C 0 to C 4 generated in the ECC processing execution unit 356 are output as write data as they are, and write processing of these data is executed under the control of the write control signal XRD 358 for the memory.

このように、反転制御器357は、データ記憶領域に対するデータ記憶処理における電力消費の少ないデータパターンが、エラー訂正コード(ECC)およびECC生成単位データの反転データであると判定した場合にビット値反転処理を実行する。   As described above, when the inversion controller 357 determines that the data pattern with low power consumption in the data storage processing for the data storage area is the error correction code (ECC) and the inverted data of the ECC generation unit data, the bit value inversion is performed. Execute the process.

すなわち、カウンタ354と比較器353によって構成されるビット値判定手段の判定結果に基づいて反転制御器357に制御信号が出力され、データ記憶領域に対するデータ記憶処理における電力消費の少ないデータパターンが、反転制御器357において生成されてメモリに対する格納データとして出力される。   That is, a control signal is output to the inversion controller 357 based on the determination result of the bit value determination means configured by the counter 354 and the comparator 353, and the data pattern with low power consumption in the data storage processing for the data storage area is inverted. The data is generated by the controller 357 and output as data stored in the memory.

データの読み出し時には、データ読み出し制御信号(XRD)359の制御に基づいて、データ記憶領域から実データと付加データおよびECCビットが読み出され、ECC処理実行部356において、ECCビットに基づくエラー検出、訂正処理が実行される。なお、上述したように、本発明の処理おいては、書き込みデータが反転されている場合があり、データ読み出しの場合は、ECC処理実行部356において、読み出しデータが反転データであるか否かを判定し、判定に従ったエラー訂正処理を実行する。   When data is read, actual data, additional data, and ECC bits are read from the data storage area based on the control of the data read control signal (XRD) 359, and the ECC processing execution unit 356 detects errors based on the ECC bits. Correction processing is executed. As described above, in the processing of the present invention, the write data may be inverted, and in the case of data reading, the ECC processing execution unit 356 determines whether the read data is inverted data. Determine and execute error correction processing according to the determination.

さらに、読み出しデータが反転データである場合は、ECC処理実行部356は、反転制御器355に反転処理を実行させる制御信号を出力し、エラー訂正後のデータの反転処理を実行させ、その結果データをデータ読み出し信号XRD352の制御の下にデータバスに出力する。読み出しデータが反転データでない場合は、ECC処理実行部356は、反転制御器355に反転処理を実行させる制御信号を出力することなく、エラー訂正後のデータをデータ読み出し信号XRD352の制御の下にデータバスに出力する。   Further, when the read data is inverted data, the ECC processing execution unit 356 outputs a control signal for causing the inversion controller 355 to execute the inversion processing, and causes the inversion processing of the data after error correction to be performed. Are output to the data bus under the control of the data read signal XRD352. When the read data is not inverted data, the ECC process execution unit 356 outputs the data after error correction under the control of the data read signal XRD 352 without outputting a control signal for causing the inversion controller 355 to execute the inversion process. Output to the bus.

メモリからのデータ読み出しおよびエラー訂正処理および反転制御処理について図10および図11を参照して説明する。   Data reading from the memory, error correction processing, and inversion control processing will be described with reference to FIGS.

図10は、ECC処理実行部356において実行するエラービット検出のためのシンドローム(Syndrome)算出処理の詳細を説明する図である。図11は、データ読み出し時に実行するエラー訂正処理および反転制御処理の処理シーケンスを示すフローチャートである。   FIG. 10 is a diagram for explaining the details of the syndrome calculation process for error bit detection executed by the ECC process execution unit 356. FIG. 11 is a flowchart showing a processing sequence of error correction processing and inversion control processing executed when reading data.

まず、図10を参照して、ECC処理実行部356において実行するエラービット検出のためのシンドローム算出処理の詳細について説明する。図10(a)は、ECC演算単位としてのX'〜X15'の16ビット実データと、1ビット付加データX16'の、5ビットのECCビットC'〜C '、計22ビットデータに対するシンドロームS〜S算出処理構成を示している。なお、各ビットデータに[']を付加して示してあるのは、エラービットである場合があり、必ずしも書き込みデータと一致しないことを意味するものである。 First, the details of the syndrome calculation process for error bit detection executed by the ECC process execution unit 356 will be described with reference to FIG. FIG. 10A shows a total of 22 16-bit actual data of X 0 ′ to X 15 ′ as ECC operation units and 5-bit ECC bits C 0 ′ to C 4 ′ of 1-bit additional data X 16 ′. A syndrome S 0 to S 4 calculation processing configuration for bit data is shown. It should be noted that what is indicated by adding ['] to each bit data means that it may be an error bit and does not necessarily match the write data.

図9に示すECC処理実行部356は、メモリ領域からX'〜X15'の16ビット実データと、1ビット付加データX16'、ECCビットC'〜C '、計22ビットデータを入力し、シンドロームS〜Sを算出する。なお、読み出しデータは反転データである場合もある。 The ECC processing execution unit 356 shown in FIG. 9 has 16 bits of actual data X 0 ′ to X 15 ′, 1 bit additional data X 16 ′, and ECC bits C 0 ′ to C 4 ′ from the memory area, for a total of 22 bits. enter the calculated syndromes S 0 to S 4. Note that the read data may be inverted data.

シンドロームS〜S算出処理は、図10(a)に示す○印を付したビットの排他論理和(XOR)演算処理として実行する処理である。シンドロームS〜S算出処理の計算式を、図10(b)および以下の式(式2)に示す。

Figure 2005173860
The syndrome S 0 to S 4 calculation process is a process executed as an exclusive OR (XOR) operation process of bits marked with “◯” shown in FIG. The calculation formulas for calculating the syndromes S 0 to S 4 are shown in FIG. 10B and the following formula (Formula 2).
Figure 2005173860

ECC処理実行部356は、上記のシンドローム算出を実行し、シンドロームS〜S算出値に基づいて、X'〜X15'の16ビット実データと、1ビット付加データX16'の、5ビットのECCビットC'〜C '、計22ビットデータのエラーが含まれるか否か、エラーが含まれる場合は、そのエラーの発生ビットが、
a)X'〜X15'の16ビット実データ、
b)1ビット付加データX16'、
c)5ビットのECCビットC'〜C'、
のいずれであるかを判別する。
これらの判別処理は、シンドロームS〜S算出値に基づいて実行することができる。
The ECC processing execution unit 356 executes the above-described syndrome calculation, and based on the calculated values of the syndromes S 0 to S 4 , the 16-bit actual data of X 0 ′ to X 15 ′ and the 1-bit additional data X 16 ′ 5 bits ECC bits C 0 ′ to C 4 ′, whether or not 22 bits of data error are included, and if an error is included, the error occurrence bit is
a) 16-bit actual data of X 0 ′ to X 15 ′,
b) 1-bit additional data X 16 ',
c) 5 ECC bits C 0 ′ to C 4 ′,
It is determined whether it is.
These discrimination processing can be performed based on the syndrome S 0 to S 4 calculated value.

データ読み出しに際してECC処理実行部356および反転制御器355は、エラーの有無およびエラーの発生ビット位置に基づいて異なる処理を実行することになる。各態様に応じた処理をまとめると以下のようになる。   When reading data, the ECC process execution unit 356 and the inversion controller 355 execute different processes based on the presence / absence of an error and the bit position of the error. The processing according to each aspect is summarized as follows.

(1)エラーが発生していない場合
(1−1)付加ビットが反転している場合、すなわち、X16'=0の場合
ECC処理実行部356からの出力データを反転制御器355において反転させて出力する。
(1−2)付加ビットが反転していない場合、すなわち、X16'=1の場合
ECC処理実行部356からの出力データを反転制御器355において反転させることなくそのまま出力する。
(1) When no error has occurred (1-1) When the additional bit is inverted, that is, when X 16 ′ = 0, the output data from the ECC processing execution unit 356 is inverted by the inversion controller 355. Output.
(1-2) When the additional bit is not inverted, that is, when X 16 ′ = 1, the output data from the ECC processing execution unit 356 is output as it is without being inverted by the inversion controller 355.

(2)ECCビットC'〜C'にエラーが発生している場合
(2−1)付加ビットが反転している場合、すなわち、X16'=0の場合
ECC処理実行部356からの出力データを反転制御器355において反転させて出力する。
(2−2)付加ビットが反転していない場合、すなわち、X16'=1の場合
ECC処理実行部356からの出力データを反転制御器355において反転させることなくそのまま出力する。
(2) When an error occurs in the ECC bits C 0 ′ to C 4 ′ (2-1) When the additional bit is inverted, that is, when X 16 ′ = 0, the ECC processing execution unit 356 The output data is inverted by the inversion controller 355 and output.
(2-2) When the additional bit is not inverted, that is, when X 16 ′ = 1, the output data from the ECC processing execution unit 356 is output as it is without being inverted by the inversion controller 355.

(3)X'〜X15'の16ビット実データにエラーが発生している場合
(3−1)付加ビットが反転している場合、すなわち、X16'=0の場合
ECC処理実行部356においてエラービットの訂正処理を実行し、訂正後の出力データを反転制御器355において反転させて出力する。
(3−2)付加ビットが反転していない場合、すなわち、X16'=1の場合
ECC処理実行部356においてエラービットの訂正処理を実行し、訂正後の出力データを反転制御器355において反転させることなくそのまま出力する。
(3) When an error occurs in the 16-bit actual data of X 0 ′ to X 15 ′ (3-1) When the additional bit is inverted, that is, when X 16 ′ = 0, ECC processing execution unit In 356, error bit correction processing is executed, and the corrected output data is inverted by the inversion controller 355 and output.
(3-2) When the additional bit is not inverted, that is, when X 16 ′ = 1, the ECC bit execution unit 356 executes error bit correction processing, and the inverted output data is inverted by the inversion controller 355. It outputs as it is without making it.

(4)X16'の付加データにエラーが発生している場合
(4−1)エラー訂正後の付加ビットが反転している場合、すなわち、X16'=0の場合
ECC処理実行部356からの出力データを反転制御器355において反転させて出力する。
(4−2)エラー訂正後の付加ビットが反転していない場合、すなわち、X16'=1の場合
ECC処理実行部356からの出力データを反転制御器355において反転させることなくそのまま出力する。
(4) When an error occurs in the additional data of X 16 ′ (4-1) When the additional bit after error correction is inverted, that is, when X 16 ′ = 0, the ECC processing execution unit 356 Is inverted by the inversion controller 355 and output.
(4-2) When the additional bit after error correction is not inverted, that is, when X 16 ′ = 1, the output data from the ECC processing execution unit 356 is output as it is without being inverted by the inversion controller 355.

このように、ECC処理実行部356は、付加ビットの値に基づいて、データのメモリに対する書き込み時にビット値の反転を行なったか否かを判定し、ビット値の反転を伴うデータ書き込み処理を実行した場合に限り、反転制御器355に対してデータ反転処理を実行させて、反転データ、すなわち、オリジナルのデータを出力することができる。   As described above, the ECC processing execution unit 356 determines whether or not the bit value is inverted when writing the data to the memory based on the value of the additional bit, and executes the data writing process involving the inversion of the bit value. Only in some cases, it is possible to cause the inversion controller 355 to execute data inversion processing and output inverted data, that is, original data.

次に、図11を参照して、データ読み出し時に実行するエラー訂正処理および反転制御処理の処理シーケンスについて説明する。   Next, a processing sequence of error correction processing and inversion control processing executed when reading data will be described with reference to FIG.

ステップS201において、メモリ領域から読み取られたデータ(X'〜X15'の16ビット実データと、1ビット付加データX16')はメモリバスを介してECC処理実行部356に入力され、ECCビット(C'〜C')は、ECCバスを介して、ECC処理実行部356に入力される。 In step S201, the data read from the memory area (16-bit actual data of X 0 ′ to X 15 ′ and 1-bit additional data X 16 ′) is input to the ECC processing execution unit 356 via the memory bus. The bits (C 0 ′ to C 4 ′) are input to the ECC processing execution unit 356 via the ECC bus.

ステップS202において、ECC処理実行部356は、入力したデータ(X'〜X15'の16ビット実データと、1ビット付加データX16')、ECCビット(C'〜C')に基づいて、シンドロームS〜S算出処理を実行する。この算出処理は、前述の(式2)に基づいて実行される。 In step S202, the ECC processing execution unit 356 converts the input data (16-bit actual data of X 0 ′ to X 15 ′ and 1-bit additional data X 16 ′) and ECC bits (C 0 ′ to C 4 ′). Based on this, the syndromes S 0 to S 4 calculation processing is executed. This calculation process is executed based on the above-described (Formula 2).

ステップS203において算出したシンドロームS〜Sに基づいて、エラーの有無を判定する。エラーなしの場合は、ステップS204に進み、付加ビットが反転しているか否か、すなわち、X16'=0、またはX16'=1かを判定する。 Based on the syndrome S 0 to S 4 calculated in step S203, it determines the presence or absence of error. If there is no error, the process advances to step S204 to determine whether or not the additional bit is inverted, that is, whether X 16 ′ = 0 or X 16 ′ = 1.

付加ビットが反転している場合、すなわち、X16'=0の場合は、ステップS206に進み、ECC処理実行部356からの出力データを反転制御器355において反転させて出力する。 When the additional bit is inverted, that is, when X 16 ′ = 0, the process proceeds to step S206, and the output data from the ECC processing execution unit 356 is inverted by the inversion controller 355 and output.

付加ビットが反転していない場合、すなわち、X16'=1の場合は、ステップS205に進み、ECC処理実行部356からの出力データを反転制御器355において反転させることなくそのまま出力する。 When the additional bit is not inverted, that is, when X 16 ′ = 1, the process proceeds to step S205, and the output data from the ECC processing execution unit 356 is output as it is without being inverted by the inversion controller 355.

ステップS203の判定において、エラーが含まれると判定した場合は、ステップS207に進み、エラーの訂正を行なってステップS204に進む。   If it is determined in step S203 that an error is included, the process proceeds to step S207, the error is corrected, and the process proceeds to step S204.

ステップS204において、訂正後のデータのうち、正しいX16'の値に基づいて以下の処理を実行する。 In step S204, the following processing is executed based on the correct X 16 ′ value in the corrected data.

付加ビットの値が反転している場合、すなわち、正しいX16'の値=0の場合は、ステップS206に進み、ECC処理実行部356においてエラー訂正処理を行い、エラー訂正後の出力データを反転制御器355において反転して出力する。 If the value of the additional bit is inverted, that is, if the correct value of X 16 ′ = 0, the process proceeds to step S206, where error correction processing is performed in the ECC processing execution unit 356, and the output data after error correction is inverted. Inverted by the controller 355 and output.

付加ビットの値が反転していない場合、すなわち、正しいX16'の値=1の場合は、ステップS205に進み、ECC処理実行部356においてエラー訂正処理を行い、エラー訂正後の出力データを反転制御器355において反転させることなくそのまま出力する。 If the value of the additional bit is not inverted, that is, if the correct value of X 16 ′ = 1, the process proceeds to step S205, where error correction processing is performed in the ECC processing execution unit 356, and the output data after error correction is inverted. The controller 355 outputs the signal as it is without being inverted.

以上の処理により、エラー訂正およびデータ反転が確実に実行され、オリジナルの書き込み処理データと等しいデータが、読み出しデータとしてデータバスに出力される。   Through the above processing, error correction and data inversion are executed reliably, and data equal to the original write processing data is output to the data bus as read data.

以上説明してきた本発明のデータ書き込み方式および読み出し方式によって、メモリに対する書き込み処理単位当たりのビット値[0]の書込み数は書き込み単位の総ビット数のほぼ半分以下に抑えられ、データ書き込み処理時に、昇圧電圧に基づいて充電する必要のあるビット線本数を半減させることが可能となり、昇圧回路及び消費電流を小さくすることが可能となりまた高速なデータ書き込み処理が可能となる。   According to the data writing method and the reading method of the present invention described above, the number of writes of the bit value [0] per write processing unit to the memory is suppressed to almost half or less of the total number of bits of the write unit. The number of bit lines that need to be charged based on the boosted voltage can be halved, the booster circuit and current consumption can be reduced, and high-speed data write processing is possible.

またデータの読み出し時には、メモリに対する書き込みデータが反転されたデータであるか否かを付加ビットデータに基づいて判断し、反転しているデータである場合は、再反転処理を実行し、オリジナルデータに戻して出力する構成であるので、正常なデータ読み出しが可能となる。   When reading data, it is determined based on the additional bit data whether the write data to the memory is inverted data. If the data is inverted, re-inversion processing is performed to obtain original data. Since the data is returned and output, normal data reading can be performed.

以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。   The present invention has been described in detail above with reference to specific embodiments. However, it is obvious that those skilled in the art can make modifications and substitutions of the embodiments without departing from the gist of the present invention. In other words, the present invention has been disclosed in the form of exemplification, and should not be interpreted in a limited manner. In order to determine the gist of the present invention, the claims section described at the beginning should be considered.

なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。   The series of processes described in the specification can be executed by hardware, software, or a combined configuration of both. When executing processing by software, the program recording the processing sequence is installed in a memory in a computer incorporated in dedicated hardware and executed, or the program is executed on a general-purpose computer capable of executing various processing. It can be installed and run.

例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。   For example, the program can be recorded in advance on a hard disk or ROM (Read Only Memory) as a recording medium. Alternatively, the program is temporarily or permanently stored on a removable recording medium such as a flexible disk, a CD-ROM (Compact Disc Read Only Memory), an MO (Magneto optical) disk, a DVD (Digital Versatile Disc), a magnetic disk, or a semiconductor memory. It can be stored (recorded). Such a removable recording medium can be provided as so-called package software.

なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。   The program is installed on the computer from the removable recording medium as described above, or is wirelessly transferred from the download site to the computer, or is wired to the computer via a network such as a LAN (Local Area Network) or the Internet. The computer can receive the program transferred in this manner and install it on a recording medium such as a built-in hard disk.

なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。   Note that the various processes described in the specification are not only executed in time series according to the description, but may be executed in parallel or individually according to the processing capability of the apparatus that executes the processes or as necessary. Further, in this specification, the system is a logical set configuration of a plurality of devices, and the devices of each configuration are not limited to being in the same casing.

上述したように、本発明は、エラー訂正コードおよびエラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、エラー訂正コードおよびエラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行してメモリに書き込む構成としたので、昇圧電圧に基づいて充電する必要のあるビット線本数を半減させることが可能となり、昇圧回路及び消費電流を小さくすることが可能となりまた高速なデータ書き込み処理が可能となる。従って、携帯機器やICカード等のデバイスのサイズの小型化に適応する小型の昇圧回路によって、データ書き込みが可能となり、携帯機器やICカードにおいて適用可能である。   As described above, the present invention calculates the ratio of the bit value [0] or [1] to all the constituent bits of the error correction code and the error correction code generation unit data, and the data pattern with low power consumption in the data storage processing Is a bit line that needs to be charged based on the boost voltage because the bit value inversion process is executed and the data is written to the memory when it is determined that the data is the inverted data of the error correction code and the error correction code generation unit data. The number can be halved, the booster circuit and current consumption can be reduced, and high-speed data write processing can be performed. Therefore, data can be written by a small booster circuit adapted to miniaturization of devices such as portable devices and IC cards, and can be applied to portable devices and IC cards.

また、本発明の構成によれば、データの読み出し時には、メモリに対する書き込みデータが反転されたデータであるか否かを付加ビットデータに基づいて判断し、反転しているデータである場合は、再反転処理を実行し、オリジナルデータに戻して出力する構成であるので、正常なデータ読み出しが可能となる。従って、携帯機器やICカード等のデバイスのサイズの小型化に適応する小型の昇圧回路によって、データ書き込みが可能となり、本発明は、携帯機器やICカードにおいて適用可能である。   Further, according to the configuration of the present invention, when reading data, it is determined based on the additional bit data whether the write data to the memory is inverted data. Since the reversal process is executed and the data is returned to the original data and output, normal data can be read out. Therefore, data can be written by a small booster circuit adapted to miniaturization of devices such as portable devices and IC cards, and the present invention can be applied to portable devices and IC cards.

FLOTOXタイプのEEPROMの構成を示す図である。It is a figure which shows the structure of EEPROM of a FLOTOX type. FLOTOXタイプのEEPROMにおけるデータ書き込み時のバイアス電圧の設定例を示す図である。It is a figure which shows the example of a setting of the bias voltage at the time of the data writing in a FLOTOX type EEPROM. FLOTOXタイプのEEPROMにおけるデータ書き込み時その他の処理実行時のバイアス電圧の設定例を示す図である。It is a figure which shows the example of a setting of the bias voltage at the time of the data execution in the FLOTOX type EEPROM at the time of data writing. FLOTOXタイプのEEPROM構成の詳細を示す図である。It is a figure which shows the detail of a EEPROM structure of a FLOTOX type. ECCの算出処理を説明する図である。It is a figure explaining the calculation process of ECC. 本発明に係るデータ記憶装置、すなわち、エラー訂正コードとしてのECC(Error Correct Code)回路を搭載したデータ記憶装置のデバイス構成を示す図である。It is a figure which shows the device structure of the data storage device which concerns on this invention, ie, the data storage device carrying the ECC (Error Correct Code) circuit as an error correction code. 本発明に係るデータ記憶装置におけるECCの算出処理を説明する図である。It is a figure explaining the calculation process of ECC in the data storage device concerning the present invention. 本発明に係るデータ記憶装置におけるECCの算出処理およびデータ書き込み処理シーケンスを説明するフローチャートである。4 is a flowchart illustrating an ECC calculation process and a data write process sequence in the data storage device according to the present invention. 本発明に係るデータ記憶装置におけるECCブロックの詳細構成を示す図である。It is a figure which shows the detailed structure of the ECC block in the data storage device which concerns on this invention. 本発明に係るデータ記憶装置におけるデータ読み出し時のシンドローム算出処理を説明する図である。It is a figure explaining the syndrome calculation process at the time of the data reading in the data storage device which concerns on this invention. 本発明に係るデータ記憶装置におけるシンドローム算出処理およびデータ反転処理を含むデータ読み出し処理シーケンスを説明するフローチャートである。It is a flowchart explaining the data read-out process sequence containing the syndrome calculation process and data inversion process in the data storage device which concerns on this invention.

符号の説明Explanation of symbols

101 コントロールゲート
102 フローティングゲート
103 セレクトゲート
104 トンネル酸化膜
105 ドレイン
106 ソース
107 ドレイン
201 データ記憶領域
202 データバス
203 データ書き込み制御信号(XRD)
204 データ読み出し制御信号(XRD)
205 ECC回路
211 メモリバス
212 ECCバス
301 データ記憶領域
302 データバス
311 メモリバス
312 ECCバス
350 ECCブロック
351 データ書き込み制御信号(XRD)
352 データ読み出し制御信号(XRD)
353 比較器
354 カウンタ
355 反転制御器
356 ECC処理実行部
357 反転制御器
358 データ書き込み制御信号(XRD)
359 データ読み出し制御信号(XRD)
101 Control Gate 102 Floating Gate 103 Select Gate 104 Tunnel Oxide Film 105 Drain 106 Source 107 Drain 201 Data Storage Area 202 Data Bus 203 Data Write Control Signal (XRD)
204 Data read control signal (XRD)
205 ECC circuit 211 Memory bus 212 ECC bus 301 Data storage area 302 Data bus 311 Memory bus 312 ECC bus 350 ECC block 351 Data write control signal (XRD)
352 Data read control signal (XRD)
353 Comparator 354 Counter 355 Inversion controller 356 ECC processing execution unit 357 Inversion controller 358 Data write control signal (XRD)
359 Data read control signal (XRD)

Claims (16)

データ記憶装置であり、
データ記憶領域と、
前記データ記憶領域に記憶する記憶対象データを所定のデータ長とした単位長データに付加データを追加設定したエラー訂正コード生成単位データに対するエラー訂正コードの生成処理を実行するエラー訂正コード処理手段と、
前記エラー訂正コード処理手段の生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定手段と、
前記ビット値判定手段の判定結果に基づいて、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行する書き込みデータ反転制御手段と、
を有することを特徴とするデータ記憶装置。
A data storage device,
A data storage area;
Error correction code processing means for executing error correction code generation processing for error correction code generation unit data in which additional data is additionally set to unit length data in which the storage target data stored in the data storage area has a predetermined data length;
The ratio of the error correction code generated by the error correction code processing means and the bit value [0] or [1] in all the constituent bits of the error correction code generation unit data is calculated, and the data with low power consumption in the data storage processing Bit value determination means for determining whether a pattern is the error correction code and inverted data of the error correction code generation unit data;
Bit value inversion processing when it is determined that the data pattern with low power consumption in the data storage processing is the inverted data of the error correction code and the error correction code generation unit data based on the determination result of the bit value determination means Write data inversion control means for executing
A data storage device comprising:
前記付加データは、前記単位長データに対して設定される1ビットデータであり、予め定められたビット値を持つデータであることを特徴とする請求項1に記載のデータ記憶装置。   The data storage device according to claim 1, wherein the additional data is 1-bit data set for the unit length data, and is data having a predetermined bit value. 前記エラー訂正コードは、エラーの発生ビット位置が特定可能なハミングコードであることを特徴とする請求項1に記載のデータ記憶装置。   The data storage device according to claim 1, wherein the error correction code is a Hamming code capable of specifying an error occurrence bit position. 前記エラー訂正コード処理手段は、
前記データ記憶領域からの読み出しデータのエラー訂正処理、および前記読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行する構成を有し、
前記データ記憶装置は、さらに、
前記エラー訂正コード処理手段において、前記読み出しデータがオリジナルデータの反転データであると判定された場合に、該読み出しデータの反転処理を実行する読み出しデータ反転制御手段と、
を有することを特徴とする請求項1に記載のデータ記憶装置。
The error correction code processing means includes
An error correction process for read data from the data storage area, and a determination process for determining whether the read data is inverted data of the original data;
The data storage device further includes:
In the error correction code processing means, when it is determined that the read data is the inverted data of the original data, a read data inversion control means for executing an inversion process of the read data;
The data storage device according to claim 1, comprising:
前記エラー訂正コード処理手段は、
前記データ記憶領域からの読み出しデータについてのシンドローム算出処理を実行し、算出したシンドロームに基づくエラー訂正処理を実行する構成であることを特徴とする請求項4に記載のデータ記憶装置。
The error correction code processing means includes
5. The data storage device according to claim 4, wherein a syndrome calculation process is performed on read data from the data storage area, and an error correction process based on the calculated syndrome is executed.
前記エラー訂正コード処理手段は、
前記読み出しデータに含まれる付加データのビット値に基づいて、該読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行する構成であることを特徴とする請求項4に記載のデータ記憶装置。
The error correction code processing means includes
5. The data according to claim 4, wherein a determination process is performed to determine whether or not the read data is inverted data of the original data based on a bit value of additional data included in the read data. Storage device.
前記データ記憶領域は、フローティングゲートを持つFLOTOX(Floating Gate with Tunnel Oxide)構成を有することを特徴とする請求項1に記載のデータ記憶装置。   2. The data storage device according to claim 1, wherein the data storage area has a FLOTOX (Floating Gate with Tunnel Oxide) configuration having a floating gate. 前記データ記憶領域は、
ビット値0の格納セルに対してバイアス電圧の印加処理を行なう構成であり、
前記ビット値判定手段は、前記エラー訂正コード処理手段の生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]の割合を算出し、ビット値[0]の割合が少ないデータパターンが前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定する処理を実行する構成であり、
前記書き込みデータ反転制御手段は、ビット値[0]の割合が少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データである場合に反転処理を実行する構成であることを特徴とする請求項1に記載のデータ記憶装置。
The data storage area is
A configuration in which a bias voltage is applied to a storage cell having a bit value of 0,
The bit value determining means calculates a ratio of the error correction code generated by the error correction code processing means and the bit value [0] occupying all the constituent bits of the error correction code generation unit data. It is a configuration that executes a process of determining whether or not a data pattern with a small ratio is the inverted data of the error correction code and the error correction code generation unit data,
The write data inversion control means is configured to execute inversion processing when a data pattern with a small bit value [0] ratio is inversion data of the error correction code and the error correction code generation unit data. The data storage device according to claim 1, wherein:
記憶データ処理方法であり、
データ記憶領域に記憶する記憶対象データを所定のデータ長とした単位長データに付加データを追加設定したエラー訂正コード生成単位データに対するエラー訂正コードの生成処理を実行するエラー訂正コード生成処理ステップと、
前記エラー訂正コード生成処理ステップにおいて生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定ステップと、
前記ビット値判定ステップにおける判定結果に基づいて、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行する書き込みデータ反転制御ステップと、
を有することを特徴とする記憶データ処理方法。
Stored data processing method,
An error correction code generation processing step for executing error correction code generation processing for error correction code generation unit data in which additional data is additionally set to unit length data in which the data to be stored is a predetermined data length stored in the data storage area;
The error correction code generated in the error correction code generation processing step and the ratio of the bit value [0] or [1] to all the constituent bits of the error correction code generation unit data are calculated to reduce power consumption in the data storage process. A bit value determination step for determining whether a data pattern is inverted data of the error correction code and the error correction code generation unit data;
Bit value inversion processing when it is determined that the data pattern with low power consumption in the data storage processing is the inverted data of the error correction code and the error correction code generation unit data based on the determination result in the bit value determination step A write data inversion control step for executing
And a stored data processing method.
前記付加データは、前記単位長データに対して設定される1ビットデータであり、予め定められたビット値を持つデータであることを特徴とする請求項9に記載の記憶データ処理方法。   10. The stored data processing method according to claim 9, wherein the additional data is 1-bit data set for the unit length data, and is data having a predetermined bit value. 前記エラー訂正コードは、エラーの発生ビット位置が特定可能なハミングコードであることを特徴とする請求項9に記載の記憶データ処理方法。   10. The stored data processing method according to claim 9, wherein the error correction code is a Hamming code capable of specifying an error occurrence bit position. 前記記憶データ処理方法は、さらに、
前記データ記憶領域からの読み出しデータのエラー訂正処理を実行するエラー訂正ステップと、
前記読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行する読み出しデータ判定ステップと、
前記読み出しデータがオリジナルデータの反転データであると判定された場合に、該読み出しデータの反転処理を実行する読み出しデータ反転制御ステップと、
を有することを特徴とする請求項9に記載の記憶データ処理方法。
The stored data processing method further includes:
An error correction step of performing error correction processing of read data from the data storage area;
A read data determination step for performing a process of determining whether the read data is inverted data of the original data;
When it is determined that the read data is the inverted data of the original data, a read data inversion control step for executing an inversion process of the read data;
10. The stored data processing method according to claim 9, further comprising:
前記エラー訂正ステップは、
前記データ記憶領域からの読み出しデータについてのシンドローム算出処理を実行し、算出したシンドロームに基づくエラー訂正処理を実行するステップであることを特徴とする請求項12に記載の記憶データ処理方法。
The error correction step includes
13. The stored data processing method according to claim 12, wherein the stored data processing method is a step of executing a syndrome calculation process for read data from the data storage area and executing an error correction process based on the calculated syndrome.
前記読み出しデータ判定ステップは、
前記読み出しデータに含まれる付加データのビット値に基づいて、該読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行するステップであることを特徴とする請求項12に記載の記憶データ処理方法。
The read data determination step includes
13. The storage according to claim 12, wherein the step of determining whether or not the read data is inverted data of the original data based on a bit value of the additional data included in the read data. Data processing method.
前記データ記憶領域は、フローティングゲートを持つFLOTOX(Floating Gate with Tunnel Oxide)構成であり、ビット値0の格納セルに対してバイアス電圧の印加処理を行なう構成を有し、
前記ビット値判定ステップは、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]の割合を算出し、ビット値[0]の割合が少ないデータパターンが前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定する処理を実行し、
前記書き込みデータ反転制御ステップは、ビット値[0]の割合が少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データである場合に反転処理を実行することを特徴とする請求項9に記載の記憶データ処理方法。
The data storage area is a FLOTOX (Floating Gate with Tunnel Oxide) configuration having a floating gate, and has a configuration for applying a bias voltage to a storage cell having a bit value of 0,
The bit value determination step calculates a ratio of the bit value [0] to all the constituent bits of the error correction code and the error correction code generation unit data, and a data pattern having a small ratio of the bit value [0] indicates the error Executing a process for determining whether the correction code and the inverted data of the error correction code generation unit data;
The write data inversion control step performs an inversion process when a data pattern having a small bit value [0] ratio is inversion data of the error correction code and the error correction code generation unit data. The stored data processing method according to claim 9.
メモリに対するデータ記憶処理を実行するコンピュータ・プログラムであり、
データ記憶領域に記憶する記憶対象データを所定のデータ長とした単位長データに付加データを追加設定したエラー訂正コード生成単位データに対するエラー訂正コードの生成処理を実行するエラー訂正コード生成処理ステップと、
前記エラー訂正コード生成処理ステップにおいて生成したエラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定ステップと、
前記ビット値判定ステップにおける判定結果に基づいて、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであると判定した場合にビット値反転処理を実行する書き込みデータ反転制御ステップと、
を有することを特徴とするコンピュータ・プログラム。
A computer program for executing data storage processing for memory,
An error correction code generation processing step for executing error correction code generation processing for error correction code generation unit data in which additional data is additionally set to unit length data in which the data to be stored is a predetermined data length stored in the data storage area;
The error correction code generated in the error correction code generation processing step and the ratio of the bit value [0] or [1] to all the constituent bits of the error correction code generation unit data are calculated to reduce power consumption in the data storage process. A bit value determination step for determining whether a data pattern is inverted data of the error correction code and the error correction code generation unit data;
Bit value inversion processing when it is determined that the data pattern with low power consumption in the data storage processing is the inverted data of the error correction code and the error correction code generation unit data based on the determination result in the bit value determination step A write data inversion control step for executing
A computer program characterized by comprising:
JP2003411317A 2003-12-10 2003-12-10 Data storage device, method for processing stored data, and computer program Withdrawn JP2005173860A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003411317A JP2005173860A (en) 2003-12-10 2003-12-10 Data storage device, method for processing stored data, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003411317A JP2005173860A (en) 2003-12-10 2003-12-10 Data storage device, method for processing stored data, and computer program

Publications (2)

Publication Number Publication Date
JP2005173860A true JP2005173860A (en) 2005-06-30
JP2005173860A5 JP2005173860A5 (en) 2007-01-25

Family

ID=34732089

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003411317A Withdrawn JP2005173860A (en) 2003-12-10 2003-12-10 Data storage device, method for processing stored data, and computer program

Country Status (1)

Country Link
JP (1) JP2005173860A (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092163A (en) * 2004-09-22 2006-04-06 Sony Corp Storage device
JP2010522374A (en) * 2007-03-20 2010-07-01 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ECC implementation in non-ECC components
JP2010527094A (en) * 2007-05-14 2010-08-05 サムスン エレクトロニクス カンパニー リミテッド Data reading apparatus and method
JP2010218447A (en) * 2009-03-18 2010-09-30 Renesas Electronics Corp Data processor
JP2011233207A (en) * 2010-04-28 2011-11-17 Univ Of Tokyo Data input/output control device and semiconductor memory system
KR101394356B1 (en) * 2011-04-27 2014-06-03 한양대학교 산학협력단 Apparatus and method for managing flash memory by recognizing write data pattern
JP2015210533A (en) * 2014-04-23 2015-11-24 ルネサスエレクトロニクス株式会社 Data bus driving circuit, semiconductor device and semiconductor memory device having the same
JPWO2016063592A1 (en) * 2014-10-24 2017-08-03 ソニー株式会社 Memory controller, memory system, and control method of memory controller
JP2018010663A (en) * 2017-08-25 2018-01-18 ルネサスエレクトロニクス株式会社 Module and system

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092163A (en) * 2004-09-22 2006-04-06 Sony Corp Storage device
JP2010522374A (en) * 2007-03-20 2010-07-01 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド ECC implementation in non-ECC components
JP2010527094A (en) * 2007-05-14 2010-08-05 サムスン エレクトロニクス カンパニー リミテッド Data reading apparatus and method
JP2010218447A (en) * 2009-03-18 2010-09-30 Renesas Electronics Corp Data processor
JP2011233207A (en) * 2010-04-28 2011-11-17 Univ Of Tokyo Data input/output control device and semiconductor memory system
KR101394356B1 (en) * 2011-04-27 2014-06-03 한양대학교 산학협력단 Apparatus and method for managing flash memory by recognizing write data pattern
JP2015210533A (en) * 2014-04-23 2015-11-24 ルネサスエレクトロニクス株式会社 Data bus driving circuit, semiconductor device and semiconductor memory device having the same
US9740656B2 (en) 2014-04-23 2017-08-22 Renesas Electronics Corporation Data bus driving circuit, and semiconductor device and semiconductor memory device including the same
US10140241B2 (en) 2014-04-23 2018-11-27 Renesas Electronics Corporation Data bus driving circuit, and semiconductor device and semiconductor memory device including the same
JPWO2016063592A1 (en) * 2014-10-24 2017-08-03 ソニー株式会社 Memory controller, memory system, and control method of memory controller
CN107077430A (en) * 2014-10-24 2017-08-18 索尼公司 Memory Controller, accumulator system and Memory Controller control method
CN107077430B (en) * 2014-10-24 2020-06-30 索尼公司 Memory controller, memory system, and memory controller control method
JP2018010663A (en) * 2017-08-25 2018-01-18 ルネサスエレクトロニクス株式会社 Module and system

Similar Documents

Publication Publication Date Title
JP5132268B2 (en) Data erasing method of NAND flash memory device
US7796429B2 (en) Memory controller controlling semiconductor storage device and semiconductor device
TWI474325B (en) Semiconductor memory device
KR100870392B1 (en) System and Data Storage Methods
EP2840610B1 (en) Data processing method, flash memory and terminal
US8503236B2 (en) Nonvolatile memory device, methods of programming the nonvolatile memory device and memory system including the nonvolatile memory device
US8386868B2 (en) Using programming-time information to support error correction
US20110066899A1 (en) Nonvolatile memory system and related method of performing erase refresh operation
US20110085657A1 (en) Data Encryption to Provide Data Security and Memory Cell Bit Wear Leveling
KR100873825B1 (en) Multibit Programming Device and Method of Nonvolatile Memory
JP2011508358A (en) Flash memory device for leveling wear level at bit level and flash memory programming method
US8788740B2 (en) Data commit on multicycle pass complete without error
JP2011107851A (en) Memory system
KR20100010664A (en) Memory device and method of programming data in memory device
JP2007310964A (en) NAND flash memory device and memory device
US8589756B2 (en) Semiconductor memory device, semiconductor memory system, and erasure correction method
WO2024082466A1 (en) Memory system and operation method therefor, memory controller, and memory
JP2005173860A (en) Data storage device, method for processing stored data, and computer program
US20140040537A1 (en) Storage medium using nonvolatile semiconductor storage device, and data terminal including the same
CN111383697B (en) Bit scanning method for partial page programming, partial page programming method, and non-volatile memory
WO2009139115A1 (en) Semiconductor recording device
US20120166716A1 (en) Methods, storage devices, and systems for promoting the endurance of non-volatile solid-state memory components
US20250103206A1 (en) Bit error management in memory devices
US11347479B2 (en) Memory system
US8924819B2 (en) Memory device and operation method thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061201

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20061201

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20080225