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 PDFInfo
- 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
Links
Images
Classifications
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy 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
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に適切なバイアス、すなわちVS,VD,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
図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
例えば、
(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"を書き込むセルのビット線(VD)には0V、データ"0"を書き込むセルのビット線(VD)には例えば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
スマートカード(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
データ書き込み時には、データ書き込み制御信号(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
データの読み出し時には、データ読み出し制御信号(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
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に示すように、書き込みデータは、X0〜X15の16ビットデータであり、この16ビットデータX0〜X15に対して、図5に示すECCビットC0〜C4が生成される。図5(a)に示す○印を付したビットの排他論理和(XOR)演算を、図5(b)に示す計算式に基づいて実行し、ECCビットとしてのハミングコード(Hamming Code)C0〜C4が算出される。
As shown in FIG. 5, the write data is 16-
この結果、データ記憶領域には、書き込みデータは、X0〜X15の16ビットデータと、ECCビットC0〜C4の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"を書き込むセルのビット線(VD)には0V、データ"0"を書き込むセルのビット線(VD)には例えば18Vを印加することが必要となる。X0〜X15の16ビットデータと、ECCビットC0〜C4の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カード等のデバイスのサイズの小型化に反して、昇圧回路の規模を大きくしなければならないという問題が顕著となってきている。
本発明は、上記問題点に鑑みてなされたものであり、半導体メモリ素子としての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
本発明の構成では、例えば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
データの読み出し時には、データ記憶領域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
なお、データの書き込み処理および読み出し処理におけるデータの転送タイミングや、処理タイミングは、図示しない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
まず、図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演算単位としてのX0〜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
ただし、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ビット、すなわち、C0〜C4をECC演算単位としてのX0〜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)C0〜C4は下式(式1)に基づいて算出する。
図6に示すECCブロック350は、データバス302から書き込みデータを入力し、データをECC算出単位としての16ビットデータに区切り、16ビットデータに対して1ビットの付加データビットX16を設定した後、上記式に従って、X0〜X15の16ビット実データと、付加データX16の計17ビットデータに基づく5ビットのECCビットを算出する。
ECC block 350 shown in FIG. 6, after enter the write data from the
図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
図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
ステップ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
ステップS103において、データバス302から入力したX0〜X15の16ビット実データと、1ビット付加データX16の計17ビットデータに対するECC、すなわち、ハミングコードの算出処理を実行する。このECCビット算出処理は、上述の式(式1)に基づいて実行する。
In step S103, it executes a 16-bit
次に、ステップS104において、X0〜X15の16ビット実データと、1ビット付加データX16の計17ビットデータと、これらのデータに基づいて生成したエラー訂正コードの構成ビット、すなわち、ECCビットC0〜C4の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において、X0〜X15の16ビット実データと、X16の1ビット付加データと、ECCビットC0〜C4の5ビットの総計22ビットの構成ビット中、ビット値[0]の数が半数を超える(ビット0の数≧12)と判定した場合は、ステップS106に進み、ビット値[0]の数が半数を超えない(ビット0の数<12)と判定した場合は、ステップS107に進む。
In step S105, the 16-bit
22ビットの構成ビット中、ビット値[0]の数が半数を超える(ビット0の数≧12)と判定した場合は、ステップS106に進み、ステップS106では、X0〜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
なお、反転データとは、本来のビット値が[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].
このように、反転したX0〜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
図7(a)に示すECC演算例の場合、ECCビットC0〜C4の各演算に用いられているデータ(排他論理和演算の対象としてX0〜X15およびX16から選択されたデータ)の個数は全て奇数個となっている。複数データの排他論理和(Exclusive-OR)演算は、全ての演算対象データの加算後の最下位ビットと等しくなるため、X0〜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は、X0〜X16の反転データに基づく排他論理和演算を実行することなく、反転する前のオリジナルデータによる排他論理和演算結果を反転させた値を、X0〜X16の反転データに基づく排他論理和演算結果としてのECCビットC0〜C4として設定することができる。
Therefore, the
すなわち、22ビットの構成ビット中、ビット値[0]の数が半数を超える(ビット0の数≧12)と判定した場合は、ステップS106において、X0〜X15の16ビット実データと、X16の1ビット付加データの反転データを生成し、オリジナルビットに基づいて生成済みのECCビットC0〜C4を反転し、これをX0〜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
一方、ステップS105において、X0〜X15の16ビット実データと、X16の1ビット付加データと、ECCビットC0〜C4の5ビットの総計22ビットの構成ビット中、ビット値[0]の数が半数を超えない(ビット0の数<12)と判定した場合は、ステップS107に進み、反転処理を実行することなく、X0〜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
この処理により、データ記憶領域301に格納するデータの[0]となるビット値の数を削減して格納することが可能となる。
By this processing, it is possible to reduce the number of bit values that are [0] of data stored in the
先に、図1〜図3を参照して説明したように、FLOTOXタイプのEEPROMにデータ書き込みを行なう場合、データ"1"を書き込むセルのビット線(VD)には0V、データ"0"を書き込むセルのビット線(VD)には例えば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.
上述した本発明のデータ格納処理に従えば、X0〜X15の16ビット実データと、X16の1ビット付加データと、ECCビットC0〜C4の5ビット、計22ビットに含まれる0の数が半数より大の場合は、X0〜X15の16ビット実データと、X16の1ビット付加データの反転データを書き込みデータとし、22ビットに含まれる0の数が半数以下の場合は、X0〜X15の16ビット実データと、X16の1ビット付加データの構成データそのものを書き込みデータとして設定したので、データ書き込み処理におけるビット[0]の書き込みを減少させることができ、データ"0"を書き込むセルのビット線(VD)に供給することが必要となる印加電圧(例えば18V)の総量を削減することが可能となる。
According to the data storing process of the present invention described above, include a 16-bit
結果として、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
図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
ECC処理実行部356は、エラー訂正コード(ECC)処理手段であり、ECC演算単位毎に付加データビットを付加する処理を実行するとともに、エラー訂正コードとしてのECCビットを算出する。この算出処理は、上述した(式1)に従って実行(図7参照)する。
The ECC
ECC処理実行部356において生成したECCビットC0〜C4と、ECC演算単位としての16ビット入力データX0〜X15と、1ビット付加データX16は、反転制御器357に出力され、かつ、0データのカウントを実行するカウンタ354に出力される。
The ECC bits C 0 to C 4 generated by the ECC
カウンタ354と比較器353は、エラー訂正コード処理手段としてのECC処理実行部356の生成したエラー訂正コードおよびエラー訂正コード生成単位データの全構成ビットに占めるビット値[0]または[1]の割合を算出し、データ記憶処理における電力消費の少ないデータパターンが、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの反転データであるか否かを判定するビット値判定処理を実行する。このように、カウンタ354と比較器353はビット値判定手段として機能する。
The
カウンタ354は、ECC処理実行部356において生成したECCビットC0〜C4と、ECC演算単位としての16ビット入力データX0〜X15と、1ビット付加データX16の総計22ビット中に含まれるビット値[0]の数をカウントする。
The
カウンタ354におけるカウント値、すなわち、22ビット中に含まれるビット値[0]の数[A]が比較器353に入力される。比較器353は、さらに、ECC演算単位としての実データおよび付加データのビット値「0」の数と、ECCデータのビット数の半数の値[B]を入力し、22ビット中に含まれるビット値[0]の数[A]と[B]の大小の比較を実行する。
The count value in the
A>Bの場合は、反転制御器357に対して反転処理を実行させる動作制御信号を出力し、ECC演算単位としての16ビット入力データX0〜X15と、1ビット付加データX16の反転信号と、ECC処理実行部356において生成したECCビットC0〜C4の反転信号を生成して、これを書き込みデータとして出力し、メモリに対する書き込み制御信号XRD358の制御の下にこれらの反転データの書き込み処理を実行する。
In the case of A> B, an operation control signal for causing the
A≦Bの場合は、反転制御器357に対して反転処理の実行を行わず、入力値を反転することなく、ECC演算単位としての16ビット入力データX0〜X15と、1ビット付加データX16と、ECC処理実行部356において生成したECCビットC0〜C4をそのまま書き込みデータとして、出力し、メモリに対する書き込み制御信号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
このように、反転制御器357は、データ記憶領域に対するデータ記憶処理における電力消費の少ないデータパターンが、エラー訂正コード(ECC)およびECC生成単位データの反転データであると判定した場合にビット値反転処理を実行する。
As described above, when the
すなわち、カウンタ354と比較器353によって構成されるビット値判定手段の判定結果に基づいて反転制御器357に制御信号が出力され、データ記憶領域に対するデータ記憶処理における電力消費の少ないデータパターンが、反転制御器357において生成されてメモリに対する格納データとして出力される。
That is, a control signal is output to the
データの読み出し時には、データ読み出し制御信号(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
さらに、読み出しデータが反転データである場合は、ECC処理実行部356は、反転制御器355に反転処理を実行させる制御信号を出力し、エラー訂正後のデータの反転処理を実行させ、その結果データをデータ読み出し信号XRD352の制御の下にデータバスに出力する。読み出しデータが反転データでない場合は、ECC処理実行部356は、反転制御器355に反転処理を実行させる制御信号を出力することなく、エラー訂正後のデータをデータ読み出し信号XRD352の制御の下にデータバスに出力する。
Further, when the read data is inverted data, the ECC
メモリからのデータ読み出しおよびエラー訂正処理および反転制御処理について図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
まず、図10を参照して、ECC処理実行部356において実行するエラービット検出のためのシンドローム算出処理の詳細について説明する。図10(a)は、ECC演算単位としてのX0'〜X15'の16ビット実データと、1ビット付加データX16'の、5ビットのECCビットC0'〜C4 '、計22ビットデータに対するシンドロームS0〜S4算出処理構成を示している。なお、各ビットデータに[']を付加して示してあるのは、エラービットである場合があり、必ずしも書き込みデータと一致しないことを意味するものである。
First, the details of the syndrome calculation process for error bit detection executed by the ECC
図9に示すECC処理実行部356は、メモリ領域からX0'〜X15'の16ビット実データと、1ビット付加データX16'、ECCビットC0'〜C4 '、計22ビットデータを入力し、シンドロームS0〜S4を算出する。なお、読み出しデータは反転データである場合もある。
The ECC
シンドロームS0〜S4算出処理は、図10(a)に示す○印を付したビットの排他論理和(XOR)演算処理として実行する処理である。シンドロームS0〜S4算出処理の計算式を、図10(b)および以下の式(式2)に示す。
ECC処理実行部356は、上記のシンドローム算出を実行し、シンドロームS0〜S4算出値に基づいて、X0'〜X15'の16ビット実データと、1ビット付加データX16'の、5ビットのECCビットC0'〜C4 '、計22ビットデータのエラーが含まれるか否か、エラーが含まれる場合は、そのエラーの発生ビットが、
a)X0'〜X15'の16ビット実データ、
b)1ビット付加データX16'、
c)5ビットのECCビットC0'〜C4'、
のいずれであるかを判別する。
これらの判別処理は、シンドロームS0〜S4算出値に基づいて実行することができる。
The ECC
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
(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
(1-2) When the additional bit is not inverted, that is, when X 16 ′ = 1, the output data from the ECC
(2)ECCビットC0'〜C4'にエラーが発生している場合
(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
(2-2) When the additional bit is not inverted, that is, when X 16 ′ = 1, the output data from the ECC
(3)X0'〜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
(3-2) When the additional bit is not inverted, that is, when X 16 ′ = 1, the ECC
(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
(4-2) When the additional bit after error correction is not inverted, that is, when X 16 ′ = 1, the output data from the ECC
このように、ECC処理実行部356は、付加ビットの値に基づいて、データのメモリに対する書き込み時にビット値の反転を行なったか否かを判定し、ビット値の反転を伴うデータ書き込み処理を実行した場合に限り、反転制御器355に対してデータ反転処理を実行させて、反転データ、すなわち、オリジナルのデータを出力することができる。
As described above, the ECC
次に、図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において、メモリ領域から読み取られたデータ(X0'〜X15'の16ビット実データと、1ビット付加データX16')はメモリバスを介してECC処理実行部356に入力され、ECCビット(C0'〜C4')は、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
ステップS202において、ECC処理実行部356は、入力したデータ(X0'〜X15'の16ビット実データと、1ビット付加データX16')、ECCビット(C0'〜C4')に基づいて、シンドロームS0〜S4算出処理を実行する。この算出処理は、前述の(式2)に基づいて実行される。
In step S202, the ECC
ステップS203において算出したシンドロームS0〜S4に基づいて、エラーの有無を判定する。エラーなしの場合は、ステップS204に進み、付加ビットが反転しているか否か、すなわち、X16'=0、またはX16'=1かを判定する。
Based on the
付加ビットが反転している場合、すなわち、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
付加ビットが反転していない場合、すなわち、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
ステップ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
付加ビットの値が反転していない場合、すなわち、正しい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
以上の処理により、エラー訂正およびデータ反転が確実に実行され、オリジナルの書き込み処理データと等しいデータが、読み出しデータとしてデータバスに出力される。 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.
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)
204 Data read control signal (XRD)
205
352 Data read control signal (XRD)
353
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に記載のデータ記憶装置。 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.
ビット値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.
前記データ記憶領域からの読み出しデータのエラー訂正処理を実行するエラー訂正ステップと、
前記読み出しデータがオリジナルデータの反転データであるか否かの判定処理を実行する読み出しデータ判定ステップと、
前記読み出しデータがオリジナルデータの反転データであると判定された場合に、該読み出しデータの反転処理を実行する読み出しデータ反転制御ステップと、
を有することを特徴とする請求項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.
前記ビット値判定ステップは、前記エラー訂正コードおよび前記エラー訂正コード生成単位データの全構成ビットに占めるビット値[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:
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)
| 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 |
-
2003
- 2003-12-10 JP JP2003411317A patent/JP2005173860A/en not_active Withdrawn
Cited By (13)
| 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 |