JP2006113791A - Storage device, data processing system and storage control method - Google Patents
Storage device, data processing system and storage control method Download PDFInfo
- Publication number
- JP2006113791A JP2006113791A JP2004300019A JP2004300019A JP2006113791A JP 2006113791 A JP2006113791 A JP 2006113791A JP 2004300019 A JP2004300019 A JP 2004300019A JP 2004300019 A JP2004300019 A JP 2004300019A JP 2006113791 A JP2006113791 A JP 2006113791A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- data
- register
- memories
- processing
- 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.)
- Pending
Links
Images
Abstract
Description
本発明は、レジスタと当該レジスタから読み出されたデータを書き込む記憶領域とを各々が備えた複数のメモリに対して書き込み動作を行う記憶装置、データ処理システムおよび記憶制御方法に関する。 The present invention relates to a storage device, a data processing system, and a storage control method for performing a write operation on a plurality of memories each including a register and a storage area in which data read from the register is written.
例えば、メモリスティック(登録商標)やSD(Secure Digital)メモリカード(登録商標)などの半導体記憶装置を、パーソナルコンピュータや携帯型再生装置などの電子機器に着脱可能に装着し、当該電子機器から当該半導体記憶装置にアクセスを行わせるシステムがある。
このようなシステムに用いられる半導体記憶装置としては、例えば、複数のフラッシュメモリを並列に接続し、当該複数のフラッシュメモリで電子機器との間の入出力に用いるIO(Input Output)バス(入出力バス)を小規模化の観点から共用するものがある。
当該半導体記憶装置は、書き込み動作において、IOバスを介して電子機器から入力したデータをフラッシュメモリ内のレジスタに転送するレジスタ転送処理と、フラッシュメモリ内でレジスタから読み出したデータをメモリセルに書き込むプログラム処理とを行う。
このとき、当該半導体記憶装置では、複数のフラッシュメモリの全てについてのレジスタ転送処理を異なる時間帯で実行した後に、当該複数のフラッシュメモリのプログラム処理を同時に開始し、プログラム処理に要する予め決められた最大時間である最大プログラム時間経過後に、次のレジスタ転送処理を再び行う。
For example, a semiconductor storage device such as a Memory Stick (registered trademark) or an SD (Secure Digital) memory card (registered trademark) is detachably attached to an electronic device such as a personal computer or a portable playback device, and the electronic device There is a system for accessing a semiconductor memory device.
As a semiconductor memory device used in such a system, for example, a plurality of flash memories are connected in parallel, and an IO (Input Output) bus (input / output) is used for input / output between the plurality of flash memories and an electronic device. Some buses are shared from the viewpoint of downsizing.
The semiconductor memory device includes a register transfer process for transferring data input from an electronic device via an IO bus to a register in a flash memory and a program for writing the data read from the register in the flash memory to a memory cell in a write operation. Process.
At this time, in the semiconductor memory device, after executing register transfer processing for all of the plurality of flash memories in different time zones, program processing for the plurality of flash memories is started at the same time, and predetermined processing required for the program processing is determined. After the maximum program time, which is the maximum time, has elapsed, the next register transfer process is performed again.
しかしながら、上述した従来の半導体記憶装置では、複数のフラッシュメモリの全てについてのレジスタ転送処理を異なる時間帯で実行した後に、当該複数のフラッシュメモリのプログラム処理を同時に開始し、最大プログラム時間経過後にレジスタ転送処理を再び行うため、プログラム処理が終了するまで最大プログラム時間の間、電子機器が半導体記憶装置に書き込みデータを転送できない(レジスタ転送処理を行えない)。
これにより、電子機器から見た半導体記憶装置の応答性が悪いという問題がある。
However, in the conventional semiconductor memory device described above, after executing register transfer processing for all of the plurality of flash memories in different time zones, program processing for the plurality of flash memories is started at the same time, and after the maximum program time has elapsed, Since the transfer process is performed again, the electronic device cannot transfer the write data to the semiconductor memory device during the maximum program time until the program process ends (the register transfer process cannot be performed).
As a result, there is a problem that the responsiveness of the semiconductor memory device as viewed from the electronic device is poor.
本発明は上述した従来技術の問題点を解決するために、レジスタから読み出したデータをメモリ領域に書き込む複数のメモリの間で、前記メモリ領域に書き込むデータを外部から入力するインタフェースを共用した場合でも、当該外部から見た書き込み時の応答性に優れた記憶装置、データ処理システムおよび記憶制御方法を提供することを目的とする。 In order to solve the above-described problems of the prior art, the present invention can be used even when an interface for inputting data to be written to the memory area from the outside is shared between a plurality of memories to which data read from the register is written to the memory area. Another object of the present invention is to provide a storage device, a data processing system, and a storage control method that are excellent in responsiveness at the time of writing as viewed from the outside.
上述した従来技術の問題点を解決し、上述した目的を達成するため、第1の観点の発明の記憶装置は、レジスタとメモリ領域とを各々が有する複数のメモリと、データを入力するインタフェースと、前記複数のメモリの各々に対して、前記インタフェースから入力されたデータを当該メモリの前記レジスタに転送するレジスタ転送処理と、前記レジスタから前記データを読み出して前記メモリ領域に書き込むメモリ書き込み処理とを行う制御回路とを有し、前記制御回路は、前記複数のメモリの各々に対して、同じ第1の時間長の連続した異なる時間帯に前記レジスタ転送処理を行い、前記時間帯経過後に続けて前記メモリ書き込み処理を開始し、当該メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて次の前記レジスタ転送処理を行う。 In order to solve the above-described problems of the prior art and achieve the above-described object, a storage device according to a first aspect of the present invention includes a plurality of memories each having a register and a memory area, an interface for inputting data, and , For each of the plurality of memories, register transfer processing for transferring data input from the interface to the register of the memory, and memory writing processing for reading the data from the register and writing to the memory area A control circuit that performs the register transfer process for each of the plurality of memories at different consecutive time periods of the same first time length, and continues after the time period has elapsed. After the memory write process is started and a second time length defined in common for the plurality of memories for the memory write process has elapsed Only by performing the following the register transfer process.
第1の観点の発明の記憶装置の作用は以下のようになる。
制御回路は、前記複数のメモリの各々に対して、同じ第1の時間長の連続した異なる時間帯に前記レジスタ転送処理を行う。
次に、前記制御回路は、前記時間帯経過後に続けて前記メモリ書き込み処理を開始する。
次に、前記制御回路は、前記メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて次の前記レジスタ転送処理を行う。
The operation of the storage device of the first aspect of the invention is as follows.
The control circuit performs the register transfer process for each of the plurality of memories at different consecutive time periods having the same first time length.
Next, the control circuit starts the memory writing process after the elapse of the time period.
Next, the control circuit performs the next register transfer process after a second time length defined in common for the plurality of memories for the memory write process.
第2の観点のデータ処理システムは、記憶装置と、前記記憶装置にデータを書き込むデータ処理装置とを有するデータ処理システムであって、前記記憶装置は、レジスタとメモリ領域とを各々が有する複数のメモリと、前記データ処理装置からデータを入力するインタフェースと、前記複数のメモリの各々に対して、前記インタフェースから入力されたデータを当該メモリの前記レジスタに転送するレジスタ転送処理と、前記レジスタから前記データを読み出して前記メモリ領域に書き込むメモリ書き込み処理とを行う制御回路とを有し、前記制御回路は、前記複数のメモリの各々に対して、同じ第1の時間長の連続した異なる時間帯に前記レジスタ転送処理を行い、前記時間帯経過後に続けて前記メモリ書き込み処理を開始し、当該メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて次の前記レジスタ転送処理を行う。 A data processing system according to a second aspect is a data processing system including a storage device and a data processing device that writes data to the storage device, wherein the storage device includes a plurality of registers and a memory area. A memory, an interface for inputting data from the data processing device, a register transfer process for transferring data input from the interface to the register of the memory for each of the plurality of memories; A control circuit that performs a memory write process that reads data and writes the data to the memory area, and the control circuit performs the same first time length in different time zones for each of the plurality of memories. The register transfer process is performed, and the memory write process is started after the elapse of the time period. Following the second duration after the defined common to the plurality of memory for processing write attempts to: the register transfer process.
第2の観点の発明のデータ処理システムの作用は以下のようになる。
記憶装置の制御回路は、前記複数のメモリの各々に対して、同じ第1の時間長の連続した異なる時間帯にレジスタ転送処理を行う。
次に、前記制御回路は、前記時間帯経過後に続けて前記メモリ書き込み処理を開始する。
次に、前記制御回路は、前記メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて次の前記レジスタ転送処理を行う。
The operation of the data processing system according to the second aspect of the invention is as follows.
The control circuit of the storage device performs a register transfer process for each of the plurality of memories in different time zones having the same first time length.
Next, the control circuit starts the memory writing process after the elapse of the time period.
Next, the control circuit performs the next register transfer process after a second time length defined in common for the plurality of memories for the memory write process.
第3の観点の記憶制御方法は、レジスタとメモリ領域とを各々が有しインタフェースを共用する複数のメモリの各々が、前記インタフェースを介して入力したデータを当該メモリの前記レジスタに転送するレジスタ転送処理と、前記レジスタから前記データを読み出して前記メモリ領域に書き込むメモリ書き込み処理とを行う記憶制御方法であって、前記複数のメモリの各々が、同じ第1の時間長の連続した異なる時間帯に前記レジスタ転送処理を行う第1の工程と、前記複数のメモリの各々が、前記第1の工程で行った前記レジスタ転送処理の前記時間帯経過後に続けて前記メモリ書き込み処理を開始する第2の工程と、前記複数のメモリの各々が、前記第2の工程で介した前記メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて前記レジスタ転送処理を行う第3の工程とを有する。 A storage control method according to a third aspect is a register transfer in which each of a plurality of memories each having a register and a memory area and sharing an interface transfers data input via the interface to the register of the memory. A storage control method for performing a process and a memory write process for reading the data from the register and writing the data to the memory area, wherein each of the plurality of memories has the same first time length in different time zones. A first step of performing the register transfer processing; and a second step in which each of the plurality of memories starts the memory write processing after the time period of the register transfer processing performed in the first step has elapsed. And each of the plurality of memories is commonly used for the plurality of memories for the memory writing process performed in the second step. And a third step of performing the register transfer processed second Followed duration elapses.
本発明によれば、レジスタから読み出したデータをメモリ領域に書き込む複数のメモリの間で、前記メモリ領域に書き込むデータを外部から入力するインタフェースを共用した場合でも、当該外部から見た書き込み時の応答性に優れた記憶装置、データ処理システムおよび記憶制御方法を提供することができる。 According to the present invention, even when a plurality of memories that write data read from a register to a memory area share an interface for inputting data to be written to the memory area from the outside, the response at the time of writing viewed from the outside A storage device, a data processing system, and a storage control method excellent in performance can be provided.
以下、本発明が適用されるデータ処理システムについて図1〜図7を参照して説明する。
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
メモリカード3が本発明の記憶装置に対応している。
また、コンピュータ2が、本発明のデータ処理装置に対応している。
図5および図6に示すメモリ53_1〜53_8が本発明のメモリに対応し、図6に示すデータレジスタ66が本発明のレジスタに対応し、メモリセルアレイ72が本発明のメモリ領域に対応している。
また、図3、図4および図5に示すバスB_DIOが、本発明のインタフェースに対応している。
また、図3に示す制御回路35が本発明の制御回路に対応している。
本実施形態では、メモリの数nが「8」の場合を例示して説明する。
Hereinafter, a data processing system to which the present invention is applied will be described with reference to FIGS.
First, the correspondence between the components of the present embodiment and the components of the present invention will be described.
The
The
The memories 53_1 to 53_8 shown in FIGS. 5 and 6 correspond to the memory of the present invention, the
The bus B_DIO shown in FIGS. 3, 4 and 5 corresponds to the interface of the present invention.
A control circuit 35 shown in FIG. 3 corresponds to the control circuit of the present invention.
In the present embodiment, a case where the number n of memories is “8” will be described as an example.
図1は、データ処理システム10の全体構成図である。
図1に示すように、データ処理システム10は、例えば、コンピュータ2とメモリカード3とを有する。
先ず、データ処理システム10の概要を説明する。
コンピュータ2は、メモリカード3を装着する装着部(スロット)を備え、当該装着部に装着されたメモリカード3に対してデータの書き込みおよび読み出しを行う。
データ処理システム10では、図3および図5を用いて後述するように、制御回路35とメモリ回路36との間のデータ転送に用いるバスB_DIOを、メモリ回路36内のメモリ53_1〜53_8で共用する。そのため、当該バスを共用しない場合に比べて、図1に示すインタフェース16のピン数を少なくでき、小規模化を図れる。
また、データ処理システム10では、図7に示すように、メモリ53_1〜53_8の各々が、レジスタ転送時間TRを各々が持つ連続した異なる時間帯にレジスタ転送処理RPを行い、レジスタ転送処理RP後に直にプログラム処理PPを開始し、最大プログラム時間TPmax経過後に次のレジスタ転送処理RPを行うことで、図3に示す制御回路35から見てメモリ回路36に対する書き込み待ち時間を無くすことができる。
これにより、データ処理システム10によれば、コンピュータ2から見て、メモリカード3の書き込み動作の応答性を従来に比べて高めることができる。
FIG. 1 is an overall configuration diagram of a
As shown in FIG. 1, the
First, the outline of the
The
In the
In the
Thereby, according to the
<コンピュータ2>
コンピュータ2は、パーソナルコンピュータ、携帯型オーディオ再生装置、携帯型ビデオ再生装置あるいは携帯電話などである。
<
The
図1に示すように、コンピュータ2は、例えば、信号処理回路11、リーダ・ライタ13およびインタフェース14を有する。
信号処理回路11は、クロック信号PCLKに基づいて動作して所定のデータを生成し、これをPCI(Peripheral Component Interconnect)バスを介してリーダ・ライタ13に出力する。
インタフェース14は、メモリカード3を装着する上述した装着部を備えている。
インタフェース14は、コンピュータ2において生成されたクロック信号SCLKと、リーダ・ライタ13から入力したデータWR_DATAとをメモリカード3のインタフェース16に出力する。データWR_DATAは、コンピュータ2がメモリカード3に書き込むデータである。
また、インタフェース14は、メモリカード3のインタフェース16から入力したデータRD_DATAをリーダ・ライタ13に出力する。データRD_DATAは、コンピュータ2がメモリカード3から読み出したデータである。
As shown in FIG. 1, the
The
The
The
The
リーダ・ライタ13は、メモリカード本体17に対するデータ書き込みおよびデータ読み出しを制御する。
図2は、図1に示すリーダ・ライタ13の構成図である。
図2に示すように、リーダ・ライタ13は、例えば、SP変換/8−10デコード回路21、ECC(Error Correcting Code)デコーダ22、バス・インタフェース23、CRCC(Cyclic Redundancy Check Code)エンコーダ24、ECCエンコーダ25、スイッチ26および8−10エンコード/PS変換回路27を有する。
The reader /
FIG. 2 is a block diagram of the reader /
As shown in FIG. 2, the reader /
SP変換/8−10デコード回路21は、信号処理回路11から入力したクロック信号PCLK、SCLKに基づいて動作する。
SP変換/8−10デコード回路21は、図1に示すメモリカード3のメモリカード本体17が出力した読み出しデータRD_DATAを、インタフェース16,14を介して入力する。
SP変換/8−10デコード回路21は、入力した読み出しデータRD_DATAを、シリアル形式からパラレル形式に変換後、もとの8ビットに変換し、変換後のデータDATA8[7:0]をECCデコーダ22に出力する。
ECCデコーダ22は、SP変換/8−10デコード回路21から入力したデータDATA8[7:0]にECC処理を施してデータRDATA[7:0]を生成し、これをバス・インタフェース23に出力する。
The SP conversion / 8-10 decode circuit 21 operates based on the clock signals PCLK and SCLK input from the
The SP conversion / 8-10 decoding circuit 21 inputs read data RD_DATA output from the memory card body 17 of the
The SP conversion / 8-10 decode circuit 21 converts the input read data RD_DATA from the serial format to the parallel format, and then converts it into the original 8 bits, and converts the converted data DATA8 [7: 0] to the
The
バス・インタフェース23は、信号処理回路11との間に設けられたPCIバスのインタフェースである。
バス・インタフェース23は、信号処理回路11からPCIバスを介して入力したデータのうち、メモリカード3に対する制御を規定したコマンドCOMMAND[7:0]をCRCCエンコーダ24に出力する。
また、バス・インタフェース23は、信号処理回路11からPCIバスを介して入力したデータのうち、メモリカード3に書き込むデータWDATA[7:0]をECCエンコーダ25に出力する。
また、バス・インタフェース23は、スイッチ26の切り換え信号MODEをスイッチ26に出力する。
The bus interface 23 is a PCI bus interface provided between the
The bus interface 23 outputs, to the
The bus interface 23 outputs data WDATA [7: 0] to be written to the
Further, the bus interface 23 outputs a switching signal MODE of the
CRCCエンコーダ24は、バス・インタフェース23から入力したコマンドCOMMAND[7:0]にCRCCのパリティデータを付加したコマンドENC_CMD[7:0]を生成し、これをスイッチ26に出力する。
ECCエンコーダ25は、バス・インタフェース23から入力したデータWDATA[7:0]にECCコードを付加した書き込みデータENC_DATA[7:0]を生成し、これをスイッチ26に出力する。
The
The
スイッチ26は、CRCCエンコーダ24から入力したコマンドENC_CMD[7:0]と、ECCエンコーダ25から入力した書き込みデータENC_DATA[7:0]とのうち何れかを、バス・インタフェース23から入力した切り換え信号MODを基に選択してデータECC_ENC_DATAとして8−10エンコード/PS変換回路27に出力する。
8−10エンコード/PS変換回路27は、スイッチ26から入力したデータECC_ENC_DATAに8−10変換を施して直流成分(DC)が除去されたデータに変換した後に、これをパラレル形式からシリアル形式に変換し、同期コードを付加したデータWD_DATAを生成し、これを図1に示すインタフェース14を介してメモリカード3に出力する。
The
The 8-10 encoding / PS conversion circuit 27 performs 8-10 conversion on the data ECC_ENC_DATA input from the
<メモリカード3>
メモリカード3は、例えば、メモリスティック(登録商標)やSDメモリカード(登録商標)などである。
図1に示すように、メモリカード3は、インタフェース16およびメモリカード本体17を有する。
インタフェース16は、メモリカード3がコンピュータ2に装着された状態で、コンピュータ2のインタフェース14と接続され、インタフェース14からクロック信号SCLKを入力し、これをメモリカード本体17に出力する。
また、インタフェース16は、コンピュータ2がメモリカード3に対する書き込み動作を行うと、インタフェース14からデータWR_DATAを入力し、これをメモリカード本体17に出力する。
また、インタフェース16は、コンピュータ2がメモリカード3に対する読み出し動作を行うと、メモリカード本体17から入力した読み出しデータRD_DATAをコンピュータ2のインタフェース14に出力する。
<
The
As shown in FIG. 1, the
The
Further, the
Further, the
図3は、図2に示すメモリカード本体17の構成図である。
図3に示すように、メモリカード本体17は、例えば、クロック分周回路31、SP変換/8−10デコード回路32、8−10エンコード/PS変換回路33、誤り検出回路34、制御回路35およびメモリ回路36を有する。
クロック分周回路31は、インタフェース16を介して入力したクロック信号SCLKを分周してクロック信号PCLKを生成し、これをSP変換/8−10デコード回路32、8−10エンコード/PS変換回路33、誤り検出回路34および制御回路35に出力する。
FIG. 3 is a block diagram of the memory card body 17 shown in FIG.
As shown in FIG. 3, the memory card body 17 includes, for example, a clock
The
SP変換/8−10デコード回路32は、インタフェース16を介して入力したデータWR_DATAをシリアル形式からパラレル形式に変換した後に、もとの8ビットに変換してデータDATA8[7:0]を生成し、これを誤り検出回路34に出力する。
SP変換/8−10デコード回路32は、クロック信号SCLK,PCLKに基づいて動作する。
8−10エンコード/PS変換回路33は、制御回路35がメモリ回路36から読み出した読み出しデータRDATA[7:0]を入力し、これに対して8−10変換を施して直流成分(DC)が除去されたデータに変換した後に、これをパラレル形式からシリアル形式に変換し、同期コードを付加したデータRD_DATAを生成し、これをインタフェース16に出力する。
8−10エンコード/PS変換回路33は、クロック信号SCLK,PCLKに基づいて動作する。
The SP conversion / 8-10 decode circuit 32 converts the data WR_DATA input via the
The SP conversion / 8-10 decode circuit 32 operates based on the clock signals SCLK and PCLK.
The 8-10 encode /
The 8-10 encode /
誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]の誤り検出を行い、その結果を制御回路35に出力する。
具体的には、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]がコマンドENC_CMD[7:0]である場合には、それをコマンドCOMMAND[7:0]として制御回路35に出力する。
また、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]が書き込みデータENC_DATA[7:0]である場合には、それを書き込みデータWDATA[7:0]として制御回路35に出力する。
また、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]のECCコードであるデータECC_SYND[7:0]を検出し、これを制御回路35に出力する。
また、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]のCRCCコードであるデータCRCC_SYND[7:0]を検出し、これを制御回路35に出力する。
The error detection circuit 34 detects an error in the data DATA [7: 0] input from the SP conversion / 8-10 decoding circuit 32 and outputs the result to the control circuit 35.
Specifically, when the data DATA [7: 0] input from the SP conversion / 8-10 decode circuit 32 is the command ENC_CMD [7: 0], the error detection circuit 34 converts the data DATA [7: 0] into the command COMMAND [7 : 0] to the control circuit 35.
Further, when the data DATA [7: 0] input from the SP conversion / 8-10 decode circuit 32 is the write data ENC_DATA [7: 0], the error detection circuit 34 writes the write data WDATA [7: 0] to the control circuit 35.
Further, the error detection circuit 34 detects data ECC_SYNC [7: 0], which is an ECC code of the data DATA [7: 0] input from the SP conversion / 8-10 decode circuit 32, and outputs this to the control circuit 35. To do.
Further, the error detection circuit 34 detects data CRCC_SYNC [7: 0], which is a CRCC code of the data DATA [7: 0] input from the SP conversion / 8-10 decoding circuit 32, and outputs this to the control circuit 35. To do.
制御回路35は、誤り検出回路34から入力したコマンドCOMMAND[7:0]に基づいて、メモリ回路36に対する書き込み動作および読み出し動作を行う。
具体的には、制御回路35は、コマンドCOMMAND[7:0]が書き込みを示す場合に、誤り検出回路34から入力した書き込みデータWDATA[7:0]、データECC_SYND[7:0]およびデータCRCC_SYND[7:0]を関連付けてデータDIO[7:0]を生成し、これをメモリ回路36にバスB_DIOを介して出力する。
制御回路35は、コマンドCOMMAND[7:0]が書き込みを示す場合に、所定の規則に従って、データDIO[7:0]をメモリ回路36内の所定のアドレスに書き込む。
また、制御回路35は、コマンドCOMMAND[7:0]が読み出しを示す場合に、コマンドCOMMAND[7:0]を基に特定したメモリ回路36内の所定のアドレスからデータをバスB_DIOを介して読み出し、これをデータRDATA[7:0]として8−10エンコード/PS変換回路33に出力する。
The control circuit 35 performs a write operation and a read operation on the memory circuit 36 based on the command COMMAND [7: 0] input from the error detection circuit 34.
Specifically, when the command COMMAND [7: 0] indicates writing, the control circuit 35 writes the write data WDATA [7: 0], the data ECC_SYNC [7: 0], and the data CRCC_SYNC that are input from the error detection circuit 34. Data [7: 0] is generated in association with [7: 0], and is output to the memory circuit 36 via the bus B_DIO.
When the command COMMAND [7: 0] indicates writing, the control circuit 35 writes the data DIO [7: 0] to a predetermined address in the memory circuit 36 according to a predetermined rule.
Further, when the command COMMAND [7: 0] indicates reading, the control circuit 35 reads data from the predetermined address in the memory circuit 36 specified based on the command COMMAND [7: 0] via the bus B_DIO. This is output to the 8-10 encoding /
図4は、図3に示す制御回路35の構成図である。
図4に示すように、制御回路35は、例えば、デコーダ41、FIFO(First In First Out)回路42、入出力回路43および8個のメモリ制御回路45_1〜45_8を有する。
本実施形態では、後述する図5に示すように、メモリ回路36が8個のメモリ53_1〜53_8を備えている場合を例示し、メモリ制御回路45_1〜45_8はメモリ53_1〜53_8のそれぞれに対応して設けられている。
FIG. 4 is a block diagram of the control circuit 35 shown in FIG.
As shown in FIG. 4, the control circuit 35 includes, for example, a decoder 41, a FIFO (First In First Out)
In the present embodiment, as shown in FIG. 5 to be described later, the case where the memory circuit 36 includes eight memories 53_1 to 53_8 is illustrated, and the memory control circuits 45_1 to 45_8 correspond to the memories 53_1 to 53_8, respectively. Is provided.
デコーダ41は、誤り検出回路34から入力したコマンドCOMMAND[7:0]に基づいて、FIFO回路42、入出力回路43およびメモリ制御回路45_1〜45_8を制御する。
具体的には、デコーダ41は、コマンドCOMMAND[7:0]が書き込みを示す場合に、上述したように生成したデータDIO[7:0]をFIFO回路42に出力する。
そして、デコーダ41が、FIFO回路42および入出力回路43を制御して、メモリ回路36との間に設けられたバスB_DIOを介して、データDIO[7:0]をメモリ回路36に出力する。
また、デコーダ41は、コマンドCOMMAND[7:0]が書き込みを示す場合に、メモリカード本体17における書き込みが後述するように行われるようにメモリ制御回路45_1〜45_8を制御する。
The decoder 41 controls the
Specifically, the decoder 41 outputs the data DIO [7: 0] generated as described above to the
Then, the decoder 41 controls the
In addition, when the command COMMAND [7: 0] indicates writing, the decoder 41 controls the memory control circuits 45_1 to 45_8 so that writing in the memory card body 17 is performed as described later.
デコーダ41は、コマンドCOMMAND[7:0]が読み出しを示す場合に、メモリカード本体17からの読み出し動作を実現するようにメモリ制御回路45_1〜45_8を制御する。
また、デコーダ41は、バスB_DIOを介してメモリカード本体17から読み出されたデータRDATA0[7:0]を入出力回路43を介して入力するように、入出力回路43を制御する。
デコーダ41は、メモリカード本体17から読み出されたデータRDATA0[7:0]を、読み出しデータRDATA[7:0]として図3に示す8−10エンコード/PS変換回路33に出力する。
When the command COMMAND [7: 0] indicates reading, the decoder 41 controls the memory control circuits 45_1 to 45_8 so as to realize a reading operation from the memory card body 17.
In addition, the decoder 41 controls the input / output circuit 43 so that the data RDATA0 [7: 0] read from the memory card body 17 via the bus B_DIO is input via the input / output circuit 43.
The decoder 41 outputs the data RDATA0 [7: 0] read from the memory card body 17 to the 8-10 encode /
図5は、図3に示すメモリ回路36の構成図である。
メモリ回路36は、例えば、フラッシュメモリである。
図5に示すように、メモリ回路36は、例えば、信号線51、メモリ53_1〜53_8および信号線55を有する。
信号線51は、図4に示す制御回路35のメモリ制御回路45_1〜45_8からの制御信号CNL1〜CNL8を、それぞれメモリ53_1〜53_8に出力する。
メモリ53_1〜53_8は、それぞれ信号線51を介して制御信号CNL1〜CNL8を入力し、それぞれ制御信号CNL1〜CNL8に基づいてデータ書き込みおよび読み出しの動作を行う。
また、メモリ53_1〜53_8は、バスB_DIOを介して、読み出しデータおよび書き込みデータを、制御回路35との間で入出力する。
本実施形態では、メモリ53_1〜53_8の間でバスB_DIOを共用している。
FIG. 5 is a configuration diagram of the memory circuit 36 shown in FIG.
The memory circuit 36 is, for example, a flash memory.
As illustrated in FIG. 5, the memory circuit 36 includes, for example, a
The
The memories 53_1 to 53_8 receive the control signals CNL1 to CNL8 through the signal lines 51, respectively, and perform data write and read operations based on the control signals CNL1 to CNL8, respectively.
The memories 53_1 to 53_8 input / output read data and write data to / from the control circuit 35 via the bus B_DIO.
In the present embodiment, the bus B_DIO is shared between the memories 53_1 to 53_8.
図6は、図5に示すメモリ53_1の構成図である。
メモリ53_2〜53_8は、それぞれ制御信号CNL2〜CNL8を入力する点を除いて、メモリ53_1と同じ構成を有している。
図6に示すように、メモリ53_1は、例えば、制御回路61、アドレスレジスタ63、データレジスタ66、カラムバッファ67、カラムデコーダ68、ローアドレスバッファ69、ローアドレスデコーダ70、センスアンプ71、メモリセルアレイ72、高電圧発生回路73およびステータス生成回路75を有する。
FIG. 6 is a configuration diagram of the memory 53_1 shown in FIG.
The memories 53_2 to 53_8 have the same configuration as the memory 53_1 except that the control signals CNL2 to CNL8 are input.
As shown in FIG. 6, the memory 53_1 includes, for example, a
制御回路61は、信号線51を介して図4に示すメモリ制御回路45_1から入力した制御信号CNL1に基づいて、メモリセルアレイ72への書き込みおよび読み出しを制御する。
アドレスレジスタ63には、制御回路61によってメモリセルアレイ72内のアクセスされる(読み出しあるいは書き込みが行われる)記憶素子のアドレスデータが設定される。
データレジスタ66は、メモリセルアレイ72に書き込まれるデータ、あるいはメモリセルアレイ72から読み出されたデータが書き込まれる。
書き込み動作時に、データレジスタ66には図4に示す入出力回路43からバスB_DIOを介して書き込みデータが転送される。
このとき、図4に示すデコーダ41は、同じレジスタ転送時間TRを持つ連続した異なる複数の時間帯が規定され、それぞれ異なる時間帯がメモリ53_1〜53_8に割り当てられ、メモリ53_1〜53_8が自らに割り当てられた時間帯にバスB_DIOを介して書き込みデータが制御回路61からデータレジスタ66に転送されるように制御される。これにより、メモリ53_1〜53_8の間でバスB_DIOを共用できる。
The
The
Data written to the
During the write operation, write data is transferred to the data register 66 from the input / output circuit 43 shown in FIG. 4 via the bus B_DIO.
At this time, the decoder 41 shown in FIG. 4 defines a plurality of consecutive different time zones having the same register transfer time TR, and the different time zones are assigned to the memories 53_1 to 53_8, respectively, and the memories 53_1 to 53_8 are assigned to themselves. Control is performed so that write data is transferred from the
カラムバッファ67は、アドレスレジスタ63に記憶されたアドレスデータのうち、メモリセルアレイ72のカラムアドレスを規定するデータをアドレスレジスタ63から読み出される。
カラムデコーダ68は、カラムバッファ67から読み出されたデータをデコードしてメモリセルアレイ72内の読み出し対象となるデータ線をアクティブにする。
ローアドレスバッファ69は、アドレスレジスタ63に記憶されたアドレスデータのうち、メモリセルアレイ72のローアドレスを規定するデータがアドレスレジスタ63から読み出される。
ローアドレスデコーダ70は、ローアドレスバッファ69から読み出されたデータをデコードしてメモリセルアレイ72内の読み出し対象となるワード線をアクティブにする。
メモリ53_1では、書き込み動作時に、カラムデコーダ68およびローアドレスデコーダ70によってアクティブにされたデータ線とワード線によって規定される記憶素子に、データレジスタ66に記憶されたデータが書き込まれる。
また、メモリ53_1では、読み出し動作時に、カラムデコーダ68およびローアドレスデコーダ70によってアクティブにされたデータ線とワード線によって規定される記憶素子からデータをセンスアンプ71の作用によりデータレジスタ66に読み出す。
The column buffer 67 reads data defining the column address of the
The column decoder 68 decodes the data read from the column buffer 67 and activates the data line to be read in the
The
The
In the memory 53_1, the data stored in the data register 66 is written to the storage element defined by the data line and the word line activated by the column decoder 68 and the
In the memory 53_1, data is read from the storage element defined by the data line and the word line activated by the column decoder 68 and the
センスアンプ71は、読み出し時に、メモリセルアレイ72内のアクティブにされたデータ線とワード線とによって規定される記憶素子の記憶データに応じたワード線の電位を増幅して読み出しデータとしてデータレジスタ66に書き込む。
メモリセルアレイ72は、ワード線とデータ線によって規定されるマトリクス状の位置に記憶素子を形成している。
高電圧発生回路73は、ローアドレスデコーダ70、センスアンプ71およびメモリセルアレイ72に駆動用電圧を供給する。
ステータス生成回路75は、制御回路61がデータレジスタ66からメモリセルアレイ72にデータへの書き込み中にBUSYを示し、それ以外の時間帯にREADYを示すステータス信号STATUSを生成し、これを図3に示す制御回路35に出力する。
At the time of reading, the
The
The high
The
データ処理システム10は、メモリカード3においてメモリ53_1〜53_8への書き込み動作をパイプライン処理で行うことを特徴の一つとしている。
当該パイプライン処理は、図3に示すメモリカード本体17の制御回路35、具体的には図4に示すデコーダ41がメモリ53_1〜53_8を制御して行われる。
すなわち、図6に示すメモリ53_1〜53_8の制御回路61が、デコーダ41からの制御に従って以下に示すように書き込み動作を行う。
以下、デコーダ41が、1ブロック分の書き込みデータをメモリ53_1〜53_8のメモリセルアレイ72に書き込む処理を説明する。
本実施形態において、1ブロックは複数のページで構成され、例えば、「4」個のページで構成される。1ページは、例えば、2048バイトのデータである。
本実施形態では、1ブロックを構成するページの数をBLKとも記す。また、メモリ53_1〜53_8の数をnとも記す。ここで、以下の例では、BLK=4、n=8である。
The
The pipeline processing is performed by controlling the memories 53_1 to 53_8 by the control circuit 35 of the memory card body 17 shown in FIG. 3, specifically, the decoder 41 shown in FIG.
That is, the
Hereinafter, a process in which the decoder 41 writes write data for one block to the
In this embodiment, one block is composed of a plurality of pages, for example, “4” pages. One page is 2048 bytes of data, for example.
In this embodiment, the number of pages constituting one block is also referred to as BLK. The number of memories 53_1 to 53_8 is also denoted as n. Here, in the following example, BLK = 4 and n = 8.
すなわち、メモリ53_1〜53_8の制御回路61の各々が、デコーダ41の制御に基づいて、メモリセルアレイ72内のBLK個のページに相当する記憶領域の記憶消去を行う(記憶消去処理)。これにより、メモリ53_1〜53_8全体で(BLK*n個)の記憶領域の記憶消去が行われる。
具体的には、制御回路61は、メモリセルアレイ72内の(BLK*n)個のページに相当する記憶領域に第1の論理値(例えば「1」)を書き込み、これを読み出して検証(ベリファイ)する。そして、当該検証において消去に失敗したと判断すると、消去処理を再び行う。消去に失敗した場合にはステータス生成回路75からデコーダ41に失敗を示すステータス信号STATUSが図4に示すデコーダ41に出力される。一方、消去に成功した場合にはステータス生成回路75からデコーダ41に成功を示すステータス信号STATUSが図4に示すデコーダ41に出力される。
消去処理の繰り返し最大回数は、予め所定の数(例えば「4」)に規定される。
このように、デコーダ41による記憶消去処理に要する時間は消去処理の繰り返し回数に依存し、不確定である。本実施形態では、消去処理が最大回数行われた場合に要する時間を1ブロック最大消去時間TEmaxとして予め規定し、これを記憶消去処理EPに割り当てる。最大消去時間TEmaxは、例えば、4msである。
That is, each of the
Specifically, the
The maximum number of repetitions of the erasing process is defined in advance as a predetermined number (eg, “4”).
As described above, the time required for the memory erasing process by the decoder 41 depends on the number of times the erasing process is repeated and is uncertain. In the present embodiment, the time required when the erasing process is performed the maximum number of times is defined in advance as the one-block maximum erasing time TEmax, and this is assigned to the memory erasing process EP. The maximum erase time TEmax is, for example, 4 ms.
次に、デコーダ41は、1ページ分の書き込みデータをFIFO回路42、入出力回路43、バスB_DIOおよび制御回路61を介して図6に示すメモリ53_1〜53_8のそれぞれのデータレジスタ66に転送する(レジスタ転送処理)。
本実施形態において、当該レジスタ転送処理に要する時間は確定しており、レジスタ転送時間TR(本発明の第1の時間長の時間帯)と記す。
このとき、デコーダ41は、図7に示すように、レジスタ転送時間TRを各々が持つ連続した異なる時間帯にメモリ53_1〜53_8に対してレジスタ転送処理RPを行うように、図4に示すメモリ制御回路45_1〜45_8を制御する。
Next, the decoder 41 transfers write data for one page to the data registers 66 of the memories 53_1 to 53_8 shown in FIG. 6 via the
In the present embodiment, the time required for the register transfer process is fixed, and is described as a register transfer time TR (a time zone having a first time length according to the present invention).
At this time, as shown in FIG. 7, the decoder 41 performs the memory transfer processing RP shown in FIG. The circuits 45_1 to 45_8 are controlled.
次に、デコーダ41は、メモリ53_1〜53_8を制御してそれぞれの制御回路61が、データレジスタ66から書き込みデータを読み出してメモリセルアレイ72に書き込むように制御する(プログラム処理)。
デコーダ41は、メモリ53_1〜53_8の各々について、メモリセルアレイ72の指定された1ページ分の記憶素子に対してデータレジスタ66から読み出したデータを書き込み、これを読み出して検証(ベリファイ)する。そして、当該検証において書き込みに失敗したと判断すると、書き込み処理を再び行う。書き込み処理の繰り返し最大回数は、予め(例えば「7」に)規定される。書き込みに失敗した場合にはステータス生成回路75からデコーダ41に失敗を示すステータス信号STATUSが図4に示すデコーダ41に出力される。一方、書き込みに成功した場合にはステータス生成回路75からデコーダ41に成功を示すステータス信号STATUSが図4に示すデコーダ41に出力される。
本実施形態では、デコーダ41によるプログラム処理PPに要する時間は書き込み処理の繰り返し回数に依存し、不確定である。本実施形態では、書き込み処理が最大回数行われた場合に要する時間を、最大プログラム時間TPmax(本発明の第2の時間長)として予め規定し、これをプログラム処理PPに割り当てる。最大プログラム時間TPmaxは、例えば、700μsである。
Next, the decoder 41 controls the memories 53_1 to 53_8 so that each
For each of the memories 53_1 to 53_8, the decoder 41 writes the data read from the data register 66 to the designated one page of storage elements in the
In the present embodiment, the time required for the program process PP by the decoder 41 depends on the number of repetitions of the write process and is uncertain. In the present embodiment, the time required when the write process is performed the maximum number of times is defined in advance as the maximum program time TPmax (second time length of the present invention), and this is assigned to the program process PP. The maximum program time TPmax is 700 μs, for example.
このように、図4に示すデコーダ41は、図7に示すように、図6に示すメモリ53_1〜53_8の各々に対して、記憶消去処理に最大消去時間TEmaxを割り当て、レジスタ転送処理にレジスタ転送時間TRを割り当て、プログラム処理に最大プログラム時間TPmaxを割り当てる。
また、上述したように、デコーダ41は、図7に示すように、レジスタ転送時間TRを各々が持つ連続した異なる時間帯にメモリ53_1〜53_8がレジスタ転送処理RPを行うように、図4に示すメモリ制御回路45_1〜45_8を制御する。
デコーダ41は、例えば、図7に示すように、メモリ53_1〜53_8の各々が自らに割り当てられたレジスタ転送時間TR内にレジスタ転送処理RPを行い、その終了後に続けてプログラム処理PPを行うように、メモリ制御回路45_1〜45_8を制御する。
また、デコーダ41は、プログラム処理PPを開始後、最大プログラム時間TPmaxが経過すると、続けて、次のレジスタ転送処理RPを開始するように、メモリ制御回路45_1〜45_8を制御する。
なお、デコーダ41は、4回連続してレジスタ転送処理RP終了後にプログラム処理PPを開始した場合に、4回目のプログラム処理PPを開始してから最大プログラム時間TPmax終了後に、記憶消去処理EPを行う。
As shown in FIG. 7, the decoder 41 shown in FIG. 4 assigns the maximum erase time TEmax to the memory erase process for each of the memories 53_1 to 53_8 shown in FIG. 6, and transfers the register to the register transfer process. The time TR is assigned, and the maximum program time TPmax is assigned to the program processing.
Further, as described above, the decoder 41 is shown in FIG. 4 so that the memories 53_1 to 53_8 perform the register transfer processing RP in different continuous time zones each having the register transfer time TR as shown in FIG. The memory control circuits 45_1 to 45_8 are controlled.
For example, as shown in FIG. 7, each of the memories 53_1 to 53_8 performs the register transfer process RP within the register transfer time TR, and the decoder 41 performs the program process PP after the end, as shown in FIG. The memory control circuits 45_1 to 45_8 are controlled.
In addition, the decoder 41 controls the memory control circuits 45_1 to 45_8 to start the next register transfer process RP when the maximum program time TPmax elapses after the program process PP is started.
When the decoder 41 starts the program process PP after the end of the register transfer process RP four times in succession, the decoder 41 performs the memory erase process EP after the end of the maximum program time TPmax after the start of the fourth program process PP. .
これにより、デコーダ41は、メモリ制御回路45_1〜45_8の間で、記憶制御処理EPとプログラム処理PPとを擬似的にパイプライン処理することができる。
すなわち、上述したデコーダ41の制御により、図7に示すように、書き込み動作時に、図5に示すメモリ53_8に対して図3に示す制御回路35から1ページ分のデータを転送した直後に、制御回路35はメモリ53_1に対して1ページ分のデータを転送することができ、制御回路35から見ればプログラム処理PPによる待ち時間が生じない。
As a result, the decoder 41 can pseudo-pipeline the storage control process EP and the program process PP between the memory control circuits 45_1 to 45_8.
That is, under the control of the decoder 41 described above, as shown in FIG. 7, immediately after transferring one page of data from the control circuit 35 shown in FIG. 3 to the memory 53_8 shown in FIG. The circuit 35 can transfer the data for one page to the memory 53_1. From the viewpoint of the control circuit 35, the waiting time due to the program processing PP does not occur.
以下、記憶消去処理ERの後に、1ブロック分のデータをメモリ回路36に書き込む場合を考える。
この場合に、記憶消去処理EPを介してから次に記憶消去処理EPを開始するまでの間に、図3に示す制御回路35から見て1ページ分のデータをメモリ回路36に書き込むことができる時間間隔(以下、最小データ到着間隔とも記す)Taは、下記式(1)のようになる。
Hereinafter, a case where data for one block is written in the memory circuit 36 after the memory erasing process ER will be considered.
In this case, one page of data can be written in the memory circuit 36 when viewed from the control circuit 35 shown in FIG. The time interval (hereinafter also referred to as the minimum data arrival interval) Ta is expressed by the following equation (1).
[数1]
Ta=(BLK*(TR*TPmax)+TEmax)/(n*BLK)
…(1)
[Equation 1]
Ta = (BLK * (TR * TPmax) + TEmax) / (n * BLK)
... (1)
上述した実施形態では、BLK=4、n=8であるため、上記式(1)に従うと、最小データ到達時間間隔Taは、下記式(2)のようになる。 In the above-described embodiment, since BLK = 4 and n = 8, according to the above formula (1), the minimum data arrival time interval Ta is represented by the following formula (2).
[数2]
Ta=(4*(TR*TPmax)+TEmax)/(8*4)
…(2)
[Equation 2]
Ta = (4 * (TR * TPmax) + TEmax) / (8 * 4)
... (2)
なお、実際のフラッシュメモリでは、BLK=64、N=8となる。これを並列に2つ接続することで、制御回路35から見て、プログラム処理PPによる待ち時間はなくなる。
この場合、TR=0.1ms、TPmax=0.7ms、TEmax=4msとした場合、最小データ到達時間間隔Taは0.054msとなる。
また、制御回路35からメモリ回路36に対しての書き込みレートRATEは、下記式(3)で規定され、この場合は、300Mbsとなる。
なお、下記式(3)において、PAGEは、1ページのビット量を示している。
In an actual flash memory, BLK = 64 and N = 8. By connecting these two in parallel, the waiting time due to the program processing PP is eliminated as seen from the control circuit 35.
In this case, when TR = 0.1 ms, TPmax = 0.7 ms, and TEmax = 4 ms, the minimum data arrival time interval Ta is 0.054 ms.
In addition, the write rate RATE from the control circuit 35 to the memory circuit 36 is defined by the following equation (3), and in this case, is 300 Mbs.
In the following formula (3), PAGE indicates the bit amount of one page.
[数3]
RATE=PAGE/Ta
…(3)
[Equation 3]
RATE = PAGE / Ta
... (3)
また、予め記憶消去処理EPが行われている場合には、最小データ到達時間間隔Taは、レジスタ転送時間TRとなるため、メモリ53_1〜53_8を2並列接続すると、Ta=TR/2=0.05ms、RATE=328Mbsとなる。 Further, when the memory erasing process EP is performed in advance, the minimum data arrival time interval Ta becomes the register transfer time TR. Therefore, when two memories 53_1 to 53_8 are connected in parallel, Ta = TR / 2 = 0. 05 ms, RATE = 328 Mbs.
<データ処理システム10の全体動作例>
以下、データ処理システム10において、コンピュータ2からメモリカード3にデータを書き込む場合の全体動作例を説明する。
図1に示すコンピュータ2の信号処理回路11が所定の処理を行って生成したデータを、PCIバスを介してリーダ・ライタ13に出力する。
リーダ・ライタ13は、信号処理回路11から入力したデータを基に、書き込みを示すコマンドENC_CMD[7:0]と、書き込みデータENC_DATA[7:0]とデータWR_DATAとしてインタフェース14を介してメモリカード3に出力する。
また、コンピュータ2は、クロック信号SCLKをメモリカード3に出力する。
<Example of Overall Operation of
Hereinafter, an example of the overall operation when data is written from the
Data generated by the
Based on the data input from the
Further, the
メモリカード3は、コンピュータ2から入力したデータWR_DATAおよびクロック信号SCLKをインタフェース16で入力し、これをメモリカード本体17に出力する。
そして、図3に示すメモリカード本体17において、以下の処理が行われる。
The
Then, the following processing is performed in the memory card main body 17 shown in FIG.
クロック分周回路31が、インタフェース16を介して入力したクロック信号SCLKを分周してクロック信号PCLKを生成し、これをSP変換/8−10デコード回路32、8−10エンコード/PS変換回路33、誤り検出回路34および制御回路35に出力する。
そして、SP変換/8−10デコード回路32が、インタフェース16を介して入力したデータWR_DATAをシリアル形式からパラレル形式に変換した後に、もとの8ビットに変換してデータDATA8[7:0]を生成し、これを誤り検出回路34に出力する。
そして、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]がコマンドENC_CMD[7:0]である場合には、それをコマンドCOMMAND[7:0]として制御回路35に出力する。
また、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]が書き込みデータENC_DATA[7:0]である場合には、それを書き込みデータWDATA[7:0]として制御回路35に出力する。
また、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]のシンドロームであるデータECC_SYND[7:0]を検出し、これを制御回路35に出力する。
また、誤り検出回路34は、SP変換/8−10デコード回路32から入力したデータDATA[7:0]のシンドロームであるデータCRCC_SYND[7:0]を検出し、これを制御回路35に出力する。
The clock
The SP conversion / 8-10 decode circuit 32 converts the data WR_DATA input via the
When the data DATA [7: 0] input from the SP conversion / 8-10 decode circuit 32 is the command ENC_CMD [7: 0], the error detection circuit 34 converts the data DATA [7: 0] into the command COMMAND [7: 0]. To the control circuit 35.
Further, when the data DATA [7: 0] input from the SP conversion / 8-10 decode circuit 32 is the write data ENC_DATA [7: 0], the error detection circuit 34 writes the write data WDATA [7: 0] to the control circuit 35.
Further, the error detection circuit 34 detects data ECC_SYNC [7: 0], which is a syndrome of the data DATA [7: 0] input from the SP conversion / 8-10 decode circuit 32, and outputs this to the control circuit 35. .
Further, the error detection circuit 34 detects data CRCC_SYNC [7: 0], which is a syndrome of the data DATA [7: 0] input from the SP conversion / 8-10 decoding circuit 32, and outputs this to the control circuit 35. .
そして、制御回路35は、書き込みを示すコマンドCOMMAND[7:0]に従って、図7を用いて前述した動作がメモリ回路36内で行われるように、メモリ回路36を制御する。 Then, the control circuit 35 controls the memory circuit 36 so that the operation described above with reference to FIG. 7 is performed in the memory circuit 36 according to the command COMMAND [7: 0] indicating writing.
以上説明したように、データ処理システム10によれば、図3および図5に示すように、制御回路35とメモリ回路36との間のデータ転送に用いるバスB_DIOを、メモリ回路36内のメモリ53_1〜53_8で共用する。そのため、当該バスを共用しない場合に比べて、図1に示すインタフェース16のピン数を少なくでき、小規模化を図れる。
また、データ処理システム10によれば、図7に示すように、メモリ53_1〜53_8の各々が、レジスタ転送時間TRを各々が持つ連続した異なる時間帯にレジスタ転送処理RPを行い、レジスタ転送処理RP後に直にプログラム処理PPを開始し、最大プログラム時間TPmax経過後に次のレジスタ転送処理RPを行うことで、図3に示す制御回路35から見てメモリ回路36に対する書き込み待ち時間を無くすことができる。
これにより、データ処理システム10によれば、コンピュータ2から見て、メモリカード3の書き込み動作の応答性を従来に比べて高めることができる。
As described above, according to the
In addition, according to the
Thereby, according to the
すなわち、従来では、前述したように、複数のフラッシュメモリの全てについてのレジスタ転送処理を異なる時間帯で実行した後に、当該複数のフラッシュメモリのプログラム処理を同時に開始し、最大プログラム時間経過後にレジスタ転送処理を再び行っていたため、プログラム処理が終了するまで最大プログラム時間の間、電子機器が半導体記憶装置に書き込みデータを転送できない(レジスタ転送処理を行えない)。これに対して、上述したデータ処理システム10は、メモリ53_1〜53_8の各々において、異なる時間帯でレジスタ転送処理RPを実行し、当該レジスタ転送処理終了後に続けてプログラム処理PPを開始する。そして、その後、プログラム処理PPを介した順に異なる時間帯で次のレジスタ転送処理RPを行う。これにより、上述した効果が得られる。
In other words, as described above, after executing register transfer processing for all of the plurality of flash memories in different time zones, program processing for the plurality of flash memories is started simultaneously, and register transfer is performed after the maximum program time has elapsed. Since the process has been performed again, the electronic device cannot transfer the write data to the semiconductor memory device during the maximum program time until the program process is completed (the register transfer process cannot be performed). On the other hand, the
本発明は上述した実施形態には限定されない。
上述した実施形態では、図5に示すように、メモリ回路36が8個のメモリ53_1〜53_8を備えた場合を例示したが、メモリ回路36が備えるメモリの数nは、下記式(4)を満たせば特に限定されない。
The present invention is not limited to the embodiment described above.
In the above-described embodiment, as illustrated in FIG. 5, the case where the memory circuit 36 includes eight memories 53_1 to 53_8 is illustrated. However, the number n of memories included in the memory circuit 36 is expressed by the following equation (4). If it satisfies, it will not be specifically limited.
[数4]
n≧(TR+TPmax)/TR
…(4)
[Equation 4]
n ≧ (TR + TPmax) / TR
(4)
メモリ回路36が備えるメモリの数nを上記式(4)のように規定することで、図3、図4および図5に示すバスB_DIOを当該n個のメモリで共用した場合に、プログラム処理PPを開始するタイミングを全てのメモリについて同じタイミングとする従来の手法に比べて、(n−1)個のメモリにおいて、プログラム処理PPを開始するタイミングを早めることができる。
ここで、「n=(TR+TPmax)/TR」がベストモードであり、「n>(TR+TPmax)/TR」とした場合、バスB_DIOを介したレジスタ転送処理がボトルネックとなり、「n=(TR+TPmax)/TR」の場合とコンピュータ2から見た書き込み時の応答性は同じである。
By defining the number n of memories included in the memory circuit 36 as in the above equation (4), when the bus B_DIO shown in FIGS. 3, 4, and 5 is shared by the n memories, the program processing PP Compared to the conventional method in which the timing of starting the program processing is the same for all the memories, the timing of starting the program processing PP can be advanced in (n−1) memories.
Here, when “n = (TR + TPmax) / TR” is the best mode and “n> (TR + TPmax) / TR”, register transfer processing via the bus B_DIO becomes a bottleneck, and “n = (TR + TPmax) / TR "and the response at the time of writing viewed from the
以下、図3に示すメモリカード本体17の説明を補足する。
メモリ53_1〜53_8としてフラッシュメモリを用いた場合に、メモリセルアレイ72には出荷時から欠陥ブロックが存在し、代替ブロックを使うので、図1に示すコンピュータ2(ユーザ)が使用する論理アドレスとメモリセルアレイ72上の物理アドレスとが一致せず、そのアドレスを変換する変換テーブルが必要である。このような変換テーブルを用いたアドレス変換を論理物理アドレス変換などと呼ぶ。図3に示す制御回路35は、当該論理物理アドレス変換を行う。なお、論理物理アドレス変換は、メモリカード3内ではなくコンピュータ2で行ってもよい。
また、メモリセルアレイ72の記憶素子は、書き換えを繰り返すと、その記憶特性が徐々に劣化するので、書き換え回数が有限である。そのために、同じブロックばかりを書き換えないような管理(ウェア・レベリング)を行い、均等化させることが必要になる。さらに、読み出し誤りが生じるので、誤り訂正が必要である。図3に示す制御回路35は、このようなウェア・レベリング、並びに誤り訂正処理を行う。
Hereinafter, the description of the memory card main body 17 shown in FIG. 3 will be supplemented.
When flash memories are used as the memories 53_1 to 53_8, a defective block exists in the
Further, the memory element of the
制御回路35が行う上記誤り訂正は、例えば、“Simple ECC”と呼ばれる。誤り訂正符号を用い、例えばハミング符号などである。また、制御回路35は、誤り訂正符号として、リードソロモン符号のような、バイト誤りの多重訂正ができる符号を用いてもよい。
すなわち、制御回路35は、高機能の誤り訂正符号を用いて、初期不良のブロック、経時劣化のブロック、読み出し誤り、読み出しや書き込みの時間不足、これらすべてのエラー要因をカバーする誤り訂正符号によって、フラッシュメモリであるメモリ53_1〜53_8に対しての書き込みおよび読み出しの誤りを訂正する。
この場合には、メモリセルアレイ72の初期の不良ブロック検出、論物アドレス変換、ウェア・レベリング、書き込みと消去のステータス・モニターが不要となるという利点がある。
なお、この手法は、データ処理システム10が例えば、画像データのように単位サイズが大きいデータのみを扱う場合には、高機能の誤り訂正符号が構成しやすいので、特に有効である。
The error correction performed by the control circuit 35 is called “Simple ECC”, for example. An error correction code is used, for example, a Hamming code. Further, the control circuit 35 may use a code capable of multiple correction of byte errors, such as a Reed-Solomon code, as the error correction code.
That is, the control circuit 35 uses an error correction code that covers all of these error factors, using an advanced error correction code, an initial failure block, a block that deteriorates with time, a read error, a lack of time for reading and writing, Errors in writing and reading to the memories 53_1 to 53_8 which are flash memories are corrected.
In this case, there is an advantage that initial defective block detection of the
Note that this method is particularly effective when the
本発明は、レジスタと当該レジスタから読み出されたデータを書き込む記憶領域とを各々が備えた複数のメモリに対して書き込み動作を行うシステムに適用可能である。 The present invention can be applied to a system that performs a write operation on a plurality of memories each including a register and a storage area in which data read from the register is written.
2…コンピュータ、3…メモリカード、11…信号処理回路、13…リーダ・ライタ、14…インタフェース、16…インタフェース、17…メモリカード本体、21…SP変換/8−10デコード回路、22…ECCデコーダ、23…バス・インタフェース、24…CRCCエンコーダ、25…ECCエンコーダ、26…スイッチ、27…8−10エンコード/PS変換回路、31…クロック分周回路、32…SP変換/8−10デコード回路、33…8−10エンコード/PS変換回路、34…誤り検出回路、35…制御回路、36…メモリ回路、41…デコーダ、42…FIFO回路、43…入出力回路、45_1〜45_8…メモリ制御回路、51…信号線、53_1〜53_8…メモリ、55…信号線、61…制御回路、63…アドレスレジスタ、66…データレジスタ、67…カラムバッファ、68…カラムデコーダ、69…ローアドレスバッファ、70…ローアドレスデコーダ、71…センスアンプ、72…メモリセルアレイ、73…高電圧発生回路、75…ステータス生成回路、B_DIO…バス
DESCRIPTION OF
Claims (6)
データを入力するインタフェースと、
前記複数のメモリの各々に対して、前記インタフェースから入力されたデータを当該メモリの前記レジスタに転送するレジスタ転送処理と、前記レジスタから前記データを読み出して前記メモリ領域に書き込むメモリ書き込み処理とを行う制御回路と
を有し、
前記制御回路は、前記複数のメモリの各々に対して、同じ第1の時間長の連続した異なる時間帯に前記レジスタ転送処理を行い、前記時間帯経過後に続けて前記メモリ書き込み処理を開始し、当該メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて次の前記レジスタ転送処理を行う
記憶装置。 A plurality of memories each having a register and a memory area;
An interface for entering data;
For each of the plurality of memories, register transfer processing for transferring data input from the interface to the register of the memory and memory writing processing for reading the data from the register and writing to the memory area Control circuit and
The control circuit, for each of the plurality of memories, performs the register transfer processing in consecutive different time zones of the same first time length, and starts the memory write processing after the time zone has elapsed, A storage device that performs the next register transfer process after a second time length defined in common for the plurality of memories for the memory write process.
前記第2の時間長は、前記メモリ書き込み処理に予め割り当てられている最大時間長であり、
前記複数のメモリの数nは、前記第1の時間長と前記第2の時間長との和を前記第1の時間長で除算した値以上の整数である
請求項1に記載の記憶装置。 The control circuit writes the data read from the register to the memory area, reads the written data from the memory area, compares the data read from the register with the data read from the memory area, and When the writing to the memory area is inappropriate, the memory reading process is performed by writing the data read from the register to the memory area again,
The second time length is a maximum time length pre-assigned to the memory writing process,
The storage device according to claim 1, wherein the number n of the plurality of memories is an integer equal to or greater than a value obtained by dividing the sum of the first time length and the second time length by the first time length.
予め決められた数の複数のページについて前記メモリに対する前記レジスタ転送処理および前記メモリ書き込み処理を行い、前記複数のページの最後のページの前記メモリ書き込み処理に割り当てた前記第2の時間長経過後に続けて、前記複数のメモリの前記メモリ領域の記憶消去処理を合計で前記複数のページ分行い、当該記憶消去処理に予め割り当てた第3の時間経過後に前記レジスタ転送処理を開始する
請求項1に記載の記憶装置。 The control circuit transfers a predetermined page of data to the register of the memory in one register transfer process,
The register transfer process and the memory write process for the memory for a predetermined number of pages are performed, and continued after the second time length allocated to the memory write process of the last page of the plurality of pages The memory erase processing of the memory area of the plurality of memories is performed for the plurality of pages in total, and the register transfer processing is started after a third time allocated in advance to the memory erase processing. Storage device.
請求項1に記載の記憶装置。 The storage device according to claim 1, wherein the interface inputs the data to be written to the plurality of memories.
前記記憶装置にデータを書き込むデータ処理装置と
を有するデータ処理システムであって、
前記記憶装置は、
レジスタとメモリ領域とを各々が有する複数のメモリと、
前記データ処理装置からデータを入力するインタフェースと、
前記複数のメモリの各々に対して、前記インタフェースから入力されたデータを当該メモリの前記レジスタに転送するレジスタ転送処理と、前記レジスタから前記データを読み出して前記メモリ領域に書き込むメモリ書き込み処理とを行う制御回路と
を有し、
前記制御回路は、前記複数のメモリの各々に対して、同じ第1の時間長の連続した異なる時間帯に前記レジスタ転送処理を行い、前記時間帯経過後に続けて前記メモリ書き込み処理を開始し、当該メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて次の前記レジスタ転送処理を行う
データ処理システム。 A storage device;
A data processing system having a data processing device for writing data to the storage device,
The storage device
A plurality of memories each having a register and a memory area;
An interface for inputting data from the data processing device;
For each of the plurality of memories, register transfer processing for transferring data input from the interface to the register of the memory and memory writing processing for reading the data from the register and writing to the memory area Control circuit and
The control circuit, for each of the plurality of memories, performs the register transfer processing in consecutive different time zones of the same first time length, and starts the memory write processing after the time zone has elapsed, A data processing system for performing the next register transfer process after a second time length defined in common for the plurality of memories for the memory write process.
前記複数のメモリの各々が、同じ第1の時間長の連続した異なる時間帯に前記レジスタ転送処理を行う第1の工程と、
前記複数のメモリの各々が、前記第1の工程で行った前記レジスタ転送処理の前記時間帯経過後に続けて前記メモリ書き込み処理を開始する第2の工程と、
前記複数のメモリの各々が、前記第2の工程で介した前記メモリ書き込み処理のために前記複数のメモリに共通して規定した第2の時間長経過後に続けて前記レジスタ転送処理を行う第3の工程と
を有する記憶制御方法。
Each of a plurality of memories each having a register and a memory area and sharing an interface transfers a data input via the interface to the register of the memory, and reads the data from the register And a memory control method for performing a memory write process for writing to the memory area,
A first step in which each of the plurality of memories performs the register transfer processing in consecutive different time zones of the same first time length;
A second step in which each of the plurality of memories starts the memory write processing after the time period of the register transfer processing performed in the first step has elapsed;
Each of the plurality of memories performs the register transfer process after the elapse of a second time length defined in common for the plurality of memories for the memory writing process in the second step. A memory control method comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004300019A JP2006113791A (en) | 2004-10-14 | 2004-10-14 | Storage device, data processing system and storage control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004300019A JP2006113791A (en) | 2004-10-14 | 2004-10-14 | Storage device, data processing system and storage control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006113791A true JP2006113791A (en) | 2006-04-27 |
Family
ID=36382268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004300019A Pending JP2006113791A (en) | 2004-10-14 | 2004-10-14 | Storage device, data processing system and storage control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006113791A (en) |
-
2004
- 2004-10-14 JP JP2004300019A patent/JP2006113791A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4901334B2 (en) | Memory controller | |
JP4734033B2 (en) | Storage device | |
JP4105819B2 (en) | Storage device and memory card | |
JP5166074B2 (en) | Semiconductor memory device, control method thereof, and error correction system | |
JP5686516B2 (en) | Programming management data for NAND memory | |
TWI509623B (en) | Storage scheme for built-in ecc operations | |
TWI478171B (en) | Nonvolatile memory system | |
US20150220386A1 (en) | Data integrity in memory controllers and methods | |
US20120042225A1 (en) | Data storage with an outer block code and a stream-based inner code | |
TWI446350B (en) | Method for reducing uncorrectable errors, and associated memory device and controller thereof | |
KR102571747B1 (en) | Data storage device and operating method thereof | |
JP4908083B2 (en) | Memory controller | |
KR20140131261A (en) | Method for reading data from block of flash memory and associated memory device | |
CN107918571B (en) | Method for testing storage unit and device using same | |
KR102282576B1 (en) | Semiconductor apparatus and continuous read method | |
JP2004071012A5 (en) | ||
US7689895B2 (en) | On-the fly error checking and correction CODEC system and method for supporting non-volatile memory | |
JP2009282923A (en) | Semiconductor storage device and nonvolatile memory | |
JP4819843B2 (en) | ECC code generation method for memory device | |
TWI467590B (en) | Data processing method, memory controller, and memory storage device | |
TWI536749B (en) | Decoding method, memory storage device and memory controlling circuit unit | |
TW202207230A (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
JP2006221334A (en) | Memory controller, flash memory system, and control method for flash memory | |
US20230205461A1 (en) | Apparatus and method for driving redundant array of independent disks (raid) engine | |
CN112988449B (en) | Device and method for writing page group data into flash memory module |