JP4742561B2 - 記憶装置、データ処理システムおよびメモリ制御方法 - Google Patents
記憶装置、データ処理システムおよびメモリ制御方法 Download PDFInfo
- Publication number
- JP4742561B2 JP4742561B2 JP2004300018A JP2004300018A JP4742561B2 JP 4742561 B2 JP4742561 B2 JP 4742561B2 JP 2004300018 A JP2004300018 A JP 2004300018A JP 2004300018 A JP2004300018 A JP 2004300018A JP 4742561 B2 JP4742561 B2 JP 4742561B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- memory
- control circuit
- memory units
- write
- 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.)
- Expired - Fee Related
Links
Images
Description
このようなシステムに用いられる半導体記憶装置としては、例えば、複数のフラッシュメモリを並列に接続し、当該複数のフラッシュメモリで電子機器との間の入出力に用いるIO(Input Output)バス(入出力バス)を小規模化の観点から共用するものがある。
当該半導体記憶装置は、読み出し動作において、上記複数のフラッシュメモリの各々において制御回路がメモリ回路に対して異なるタイミングで順に読み出し命令を出力し、当該読み出し命令に応じて異なるタイミングで複数のフラッシュメモリのメモリ回路から読み出されたデータを電子機器にIOバスを介して出力する。
そのため、電子機器から見た半導体記憶装置の読み出し時の応答性が悪いという問題がある。
前記複数のメモリ部に対する複数回の書き込み処理を実行する場合には、各メモリ部におけるレジスタからフラッシュメモリへの最大の書き込み回数に対応する最大書き込み時間を空けて各メモリ部へデータを書込むように複数回の書き込み間隔を制御する。
第1制御回路が、複数のメモリ部に書き込みデータを順番に出力する。
また、各メモリ部は、第1制御回路の書き込みデータをレジスタに記憶し、その後、レジスタからフラッシュメモリに書き込む。
先ず、本実施形態の構成要素と、本発明の構成要素との対応関係を説明する。
メモリカード3が本発明の記憶装置に対応している。
また、コンピュータ2が、本発明のデータ処理装置に対応している。
図5および図7に示すメモリ53_1〜53_8が本発明のメモリに対応し、図7に示すデータレジスタ66が本発明のレジスタに対応し、メモリセルアレイ72が本発明のメモリ領域に対応している。
また、図3、図4、図5および図6に示すバスB_DIOが、本発明の第1の伝送路に対応している。また、図6に示すデータ線L1〜8が、本発明の第2の伝送路に対応している。
また、図3に示す制御回路35が本発明の制御回路に対応している。
また、切換回路IOBが、本発明の切換回路に対応している。
図1に示すように、データ処理システム10は、例えば、コンピュータ2とメモリカード3とを有する。
先ず、データ処理システム10の概要を説明する。
コンピュータ2は、メモリカード3を装着する装着部(スロット)を備え、当該装着部に装着されたメモリカード3に対してデータの書き込みおよび読み出しを行う。
データ処理システム10では、図6〜9を用いて後述するように、メモリ制御回路45_1〜45_8は、読み出しを指示する制御信号CTL1〜8aをメモリ53_1〜53_8に同時に出力する。
また、メモリ制御回路45_1〜45_8は、制御信号CTL1〜8bを図6に示すバッファOB1〜8に出力して、バッファOB1〜8のうち単数のバッファを選択してHigh−Zステートとし、選択していないバッファをnon−High−Zステートとする。
これにより、メモリ53_1〜53_8の間で単数のバスB_DIOを共用する場合であっても、メモリ53_1〜53_8からの読み出しデータをバッファOB1〜8で高速に切り換えて、バスB_DIOに出力することができる。
データ処理システム10では、バスB_DIOを共用するため、当該バスを共用しない場合に比べて、図1に示すインタフェース16のピン数を少なくでき、小規模化を図れる。
また、データ処理システム10では、上述したよう、読み出しを指示する制御信号CTL1〜8aをメモリ53_1〜53_8に同時に出力し、メモリ53_1〜53_8から読み出されたデータがバッファOB1〜8を介してバスB_DIOに出力されるタイミングを、制御信号CTL1〜8bを基にバッファOB1〜8を制御して高速に切り換える。
これにより、データ処理システム10によれば、メモリ53_2〜53_8からの読み出しデータを従来に比べて早いタイミングでバッファOB2〜8の入力端子に入力させることができ、バッファOB1〜8を高速に切り換えることで、コンピュータ2から見たメモリカード3の読み出し動作の応答性を従来に比べて高めることができる。
コンピュータ2は、パーソナルコンピュータ、携帯型オーディオ再生装置、携帯型ビデオ再生装置あるいは携帯電話などである。
信号処理回路11は、クロック信号PCLKに基づいて動作して所定のデータを生成し、これをPCI(Peripheral Component Interconnect)バスを介してリーダ・ライタ13に出力する。
インタフェース14は、メモリカード3を装着する上述した装着部を備えている。
インタフェース14は、コンピュータ2において生成されたクロック信号SCLKと、リーダ・ライタ13から入力したデータWR_DATAとをメモリカード3のインタフェース16に出力する。データWR_DATAは、コンピュータ2がメモリカード3に書き込むデータである。
また、インタフェース14は、インタフェース16から入力したデータRD_DATAをリーダ・ライタ13に出力する。データRD_DATAは、コンピュータ2がメモリカード3から読み出したデータである。
なお、読み出し動作時には、データWD_DATA内に読み出しを示すコマンドCOMMAND[7:0]が含まれる。
図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を有する。
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に出力する。
バス・インタフェース23は、信号処理回路11からPCIバスを介して入力したデータのうち、メモリカード3に対する制御を規定したコマンドCOMMAND[7:0]をCRCCエンコーダ24に出力する。
また、バス・インタフェース23は、信号処理回路11からPCIバスを介して入力したデータのうち、メモリカード3に書き込むデータWDATA[7:0]をECCエンコーダ25に出力する。
また、バス・インタフェース23は、スイッチ26の切り換え信号MODEをスイッチ26に出力する。
ECCエンコーダ25は、バス・インタフェース23から入力したデータWDATA[7:0]にECCコードを付加した書き込みデータENC_DATA[7:0]を生成し、これをスイッチ26に出力する。
8−10エンコード/PS変換回路27は、スイッチ26から入力したデータECC_ENC_DATAに8−10変換を施して直流成分(DC)が除去されたデータに変換した後に、これをパラレル形式からシリアル形式に変換し、同期コードを付加したデータWD_DATAを生成し、これを図1に示すインタフェース14を介してメモリカード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に出力する。
図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に出力する。
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に基づいて動作する。
具体的には、誤り検出回路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に出力する。
具体的には、制御回路35は、コマンドCOMMAND[7:0]が読み出しを示す場合に、コマンドCOMMAND[7:0]を基に生成した制御信号CTL1〜8a,bをメモリ回路36に出力し、それに応じてメモリ回路36内の所定のアドレスからバスB_DIOに読み出されたデータRDATA[7:0]を8−10エンコード/PS変換回路33に出力する。
また、制御回路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内の所定のアドレスに書き込む。
図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のそれぞれに対応して設けられている。
具体的には、デコーダ41は、コマンドCOMMAND[7:0]が読み出しを示す場合に、メモリカード本体17からの読み出し動作が後述するように行われるようにメモリ制御回路45_1〜45_8を制御する。
メモリ制御回路45_1〜45_8は、デコーダ41の制御に従って、それぞれ制御信号CTL1〜8a,bをメモリ回路36に出力する。
また、デコーダ41は、バスB_DIOを介してメモリカード本体17から読み出されたデータRDATA0[7:0]を入出力回路43を介して入力するように、入出力回路43を制御する。
デコーダ41は、メモリカード本体17から読み出されたデータRDATA0[7:0]を、後述するように、ページ単位のデータに並べ替えて読み出しデータRDATA[7:0]を生成し、これを図3に示す8−10エンコード/PS変換回路33に出力する。
そして、デコーダ41が、FIFO回路42および入出力回路43を制御して、メモリ回路36との間に設けられたバスB_DIOを介して、データDIO[7:0]をメモリ回路36に出力する。
また、デコーダ41は、コマンドCOMMAND[7:0]が書き込みを示す場合に、メモリカード本体17における書き込みが後述するように行われるように、メモリ制御回路45_1〜45_8を制御する。
メモリ制御回路45_1〜45_8は、デコーダ41の制御に従って、それぞれ制御信号CTL1a,b〜8a,bをメモリ回路36に出力する。
メモリ回路36は、例えば、フラッシュメモリである。
図5に示すように、メモリ回路36は、例えば、信号線51、切換回路IOB、メモリ53_1〜53_8および信号線55を有する。
信号線51は、図4に示す制御回路35のメモリ制御回路45_1〜45_8からの制御信号CTL1〜8aを、それぞれメモリ53_1〜53_8に出力する。
バッファIBxおよびOBx(xは、1≦x≦8の整数)の各々が3ステート・双方向バッファを構成している。
図6に示すように、バッファIBxの入力端子およびバッファOBxの出力端子は、バスB_DIOに接続されている。
また、バッファIBxの出力端子は、メモリ53_xの入力端子IN1[7:0]に接続されている。
また、バッファOBxの入力端子は、データ線Lxを介して、メモリ53_xの出力端子OUTx[7:0]に接続されている。
バッファOBxは、制御回路35から入力した制御信号CTLxb(xは、1≦x≦8の整数)が第1の論理値(例えば、論理値「1」)を示す場合に、High−Zステートになる。
バッファOBxは、High−Zステートにおいて、上記トランジスタを切断状態にする。
一方、バッファOBxは、制御回路35から入力した制御信号CTLxb(xは、1≦x≦8の整数)が第2の論理値(例えば、論理値「0」)を示す場合に、non−High−Zステートになり、その入力端子の論理レベル(すなわち、メモリ53_xの出力端子OUTx[7:0]の論理レベル)を、その出力端子に生じさせる。すなわち、メモリ53_xの出力端子OUTx[7:0]とバスB_DIOとを接続状態にする。
本実施形態では、制御回路35により、8個のバッファOBxのうち、1つのみがnon−High−Zステートとなり、残りがHigh−Zステートとなるように制御される。
また、メモリ53_1〜53_8は、バスB_DIOを介して、読み出しデータおよび書き込みデータを、制御回路35との間で入出力する。
本実施形態では、メモリ53_1〜53_8の間でバスB_DIOを共用している。
メモリ53_2〜53_8は、それぞれ制御信号CTL2a〜8aを入力する点を除いて、メモリ53_1と同じ構成を有している。
図7に示すように、メモリ53_1は、例えば、制御回路61、アドレスレジスタ63、データレジスタ66、カラムバッファ67、カラムデコーダ68、ローアドレスバッファ69、ローアドレスデコーダ70、センスアンプ71、メモリセルアレイ72、高電圧発生回路73およびステータス生成回路75を有する。
アドレスレジスタ63には、制御回路61によってメモリセルアレイ72内のアクセスされる(読み出しあるいは書き込みが行われる)記憶素子のアドレスデータが設定される。
データレジスタ66は、メモリセルアレイ72に書き込まれるデータ、あるいはメモリセルアレイ72から読み出されたデータが書き込まれる。
メモリセルアレイ72からデータレジスタ66に読み出されたデータは、制御回路61によって、データ線L1を介してバッファOB1の入力端子に出力される。
カラムデコーダ68は、カラムバッファ67から読み出されたデータをデコードしてメモリセルアレイ72内の読み出し対象となるデータ線をアクティブにする。
ローアドレスバッファ69は、アドレスレジスタ63に記憶されたアドレスデータのうち、メモリセルアレイ72のローアドレスを規定するデータがアドレスレジスタ63から読み出される。
ローアドレスデコーダ70は、ローアドレスバッファ69から読み出されたデータをデコードしてメモリセルアレイ72内の読み出し対象となるワード線をアクティブにする。
メモリ53_1では、書き込み動作時に、カラムデコーダ68およびローアドレスデコーダ70によってアクティブにされたデータ線とワード線によって規定される記憶素子に、データレジスタ66に記憶されたデータが書き込まれる。
また、メモリ53_1では、読み出し動作時に、カラムデコーダ68およびローアドレスデコーダ70によってアクティブにされたデータ線とワード線によって規定される記憶素子からデータをセンスアンプ71の作用によりデータレジスタ66に読み出す。
メモリセルアレイ72は、ワード線とデータ線によって規定されるマトリクス状の位置に記憶素子を形成している。
高電圧発生回路73は、ローアドレスデコーダ70、センスアンプ71およびメモリセルアレイ72に駆動用電圧を供給する。
ステータス生成回路75は、制御回路61がデータレジスタ66からメモリセルアレイ72へのデータ書き込み中はBUSYを示し、それ以外の時間帯はREADYを示すステータス信号STATUSを生成し、これを図3に示す制御回路35に出力する。
<読み出し動作>
データ処理システム10は、メモリカード3においてメモリ53_1〜53_8からの読み出し動作を以下に示すように、図6に示すバッファOBx(xは、1≦x≦8の整数)を制御して行う。
当該読み出し動作は、図3に示すメモリカード3の制御回路35、具体的には図4に示すデコーダ41がメモリ53_1〜53_8を制御して行われる。
すなわち、図4に示すメモリ制御回路45_1〜45_8が、デコーダ41の制御に従って、制御信号CTL1a〜8aをそれぞれメモリ53_1〜53_8の図7に示す制御回路61に同時に出力する。
制御信号CTL1a〜8aは、読み出し命令、並びにメモリ53_1〜53_8の読み出し対象となるメモリセルアレイ72内のアドレス等を示している。
図7に示すメモリ53_1〜53_8の制御回路61は、それぞれ制御信号CTL1a〜8aに基づいて、メモリセルアレイ72内の指定されたアドレスからデータレジスタ66にデータの読み出しを同時に開始し、読み出したデータを図6に示すデータ線L1〜8にそれぞれ出力する。
具体的には、メモリ制御回路45_1〜45_8は、各々が同じ時間長を持つ連続した異なる時間帯に順にバッファOB1〜8がnon−High−Zステートとなり、それ以外の時間帯にHigh−Zステートとなるように、バッファOB1〜8に制御信号CTL1b〜8bを出力する。すなわち、メモリ制御回路45_1〜45_8は、バッファOB1〜8のうち単数のバッファを選択してHigh−Zステートとし、選択していないバッファをnon−High−Zステートとする。
これにより、メモリ53_1〜53_8から制御信号CTL1a〜8aに基づいて読み出され、それぞれデータ線L1〜8を介してバッファOB1〜8の入力端子に生じたデータが、バッファOB1〜8がHigh−Zステートとなるタイミング、すなわちバッファOB1〜8の間で異なる時間帯にバスB_DIOに出力される。
本実施形態では、メモリ53_1〜53_8に、それぞれページpage01〜08が記憶されている。本実施形態では、1ページは、例えば、2048バイトのデータである。
図8および図9に示すように、時間帯T01には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs01のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
時間帯T02には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs02のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
時間帯T03には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs03のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
時間帯T04には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs04のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
時間帯T05には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs05のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
時間帯T06には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs06のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
時間帯T07には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs07のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
時間帯T08には、メモリ53_1〜53_8からそれぞれページpage01〜08のアドレスadrs08のデータが、それぞれバッファOB1〜8を介してバスB_DIOに異なるタイミングで読み出される。
データ処理システム10は、メモリカード3においてメモリ53_1〜53_8への書き込み動作をパイプライン処理で行う。
当該パイプライン処理は、図3に示すメモリカード3の制御回路35、具体的には図4に示すデコーダ41がメモリ53_1〜53_8を制御して行われる。
すなわち、図7に示すメモリ53_1〜53_8の制御回路61が、デコーダ41からの制御に従って以下に示すように書き込み動作を行う。
以下、デコーダ41が、1ブロック分の書き込みデータをメモリ53_1〜53_8のメモリセルアレイ72に書き込む処理を説明する。
本実施形態において、1ブロックは複数のページで構成され、例えば、「4」個のページで構成される。
本実施形態では、それぞれのメモリが1ブロックを構成するページの数をBLKとも記す。また、メモリ53_1〜53_8の数をnとも記す。ここで、以下の例では、BLK=4、n=8である。
具体的には、制御回路61は、メモリセルアレイ72内の(BLK*n)個のページに相当する記憶領域に第1の論理値(例えば「1」)を書き込み、これを読み出して検証(ベリファイ)する。そして、当該検証において消去に失敗したと判断すると、消去処理を再び行う。消去に失敗した場合にはステータス生成回路75からデコーダ41に失敗を示すステータス信号STATUSが図4に示すデコーダ41に出力される。一方、消去に成功した場合にはステータス生成回路75からデコーダ41に成功を示すステータス信号STATUSが図4に示すデコーダ41に出力される。
消去処理の繰り返し最大回数は、予め所定の数(例えば「4」)に規定される。
このように、デコーダ41による記憶消去処理に要する時間は消去処理の繰り返し回数に依存し、不確定である。本実施形態では、消去処理が最大回数行われた場合に要する時間を1ブロック最大消去時間TEmaxとして予め規定し、これを記憶消去処理EPに割り当てる。最大消去時間TEmaxは、例えば、4msである。
本実施形態において、当該レジスタ転送処理に要する時間は確定しており、レジスタ転送時間TR(本発明の第1の時間長の時間帯)と記す。
このとき、デコーダ41は、図10に示すように、レジスタ転送時間TRを各々が持つ連続した異なる時間帯にメモリ53_1〜53_8に対してレジスタ転送処理RPを行うように、図4に示すメモリ制御回路45_1〜45_8を制御する。
デコーダ41は、メモリ53_1〜53_8の各々について、メモリセルアレイ72の指定された(1ページ分の記憶素子に対してデータレジスタ66から読み出したデータを書き込み、これを読み出して検証(ベリファイ)する。そして、当該検証において書き込みに失敗したと判断すると、書き込み処理を再び行う。書き込み処理の繰り返し最大回数は、予め(例えば「7」に)規定される。書き込みに失敗した場合にはステータス生成回路75からデコーダ41に失敗を示すステータス信号STATUSが図4に示すデコーダ41に出力される。一方、書き込みに成功した場合にはステータス生成回路75からデコーダ41に成功を示すステータス信号STATUSが図4に示すデコーダ41に出力される。
本実施形態では、デコーダ41によるプログラム処理PPに要する時間は書き込み処理の繰り返し回数に依存し、不確定である。本実施形態では、書き込み処理が最大回数行われた場合に要する時間を、最大プログラム時間TPmaxとして予め規定し、これをプログラム処理PPに割り当てる。最大プログラム時間TPmaxは、例えば、700μsである。
また、上述したように、デコーダ41は、図10に示すように、レジスタ転送時間TRを各々が同じ時間長を持つ連続した異なる時間帯にメモリ53_1〜53_8がレジスタ転送処理RPを行うように、図4に示すメモリ制御回路45_1〜45_8を制御する。
デコーダ41は、例えば、図10に示すように、メモリ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を行う。
すなわち、上述したデコーダ41の制御により、図10に示すように、書き込み動作時に、図5に示すメモリ53_8に対して図3に示す制御回路35から(1/n)ページ分のデータを転送した直後に、制御回路35はメモリ53_1に対して(1/n)ページ分のデータを転送することができ、制御回路35から見ればプログラム処理PPによる待ち時間が生じない。
この場合に、記憶消去処理EPを介してから次に記憶消去処理EPを開始するまでの間に、図3に示す制御回路35から見て1ページ分のデータをメモリ回路36に書き込むことができる時間間隔(以下、最小データ到着間隔とも記す)Taは、下記式(1)のようになる。
Ta=(BLK*(TR*TPmax)+TEmax)/(n*BLK)
…(1)
Ta=(4*(TR*TPmax)+TEmax)/(8*4)
…(2)
この場合、TR=0.1ms、TPmax=0.7ms、TEmax=4msとした場合、最小データ到達時間間隔Taは0.054msとなる。
また、制御回路35からメモリ回路36に対しての書き込みレートRATEは、下記式(3)で規定され、この場合は、300Mbsとなる。
なお、下記式(3)において、PAGEは、1ページのビット量を示している。
RATE=PAGE/Ta
…(3)
以下、データ処理システム10において、コンピュータ2がメモリカード3からデータを読み出す場合の全体動作例を説明する。
図1に示すコンピュータ2の信号処理回路11が所定の処理を行って生成したデータを、PCIバスを介してリーダ・ライタ13に出力する。
リーダ・ライタ13は、信号処理回路11から入力したデータを基に、読み出し示すコマンドENC_CMD[7:0]を含むデータDATAをインタフェース14を介してメモリカード3に出力する。
また、コンピュータ2は、クロック信号SCLKをメモリカード3に出力する。
そして、図3に示すメモリカード本体17において、以下の処理が行われる。
そして、SP変換/8−10デコード回路32が、インタフェース16を介して入力したデータDATAをシリアル形式からパラレル形式に変換した後に、もとの8ビットに変換してデータDATA8[7:0]を生成し、これを誤り検出回路34に出力する。
そして、誤り検出回路34が、SP変換/8−10デコード回路32から入力したデータDATA[7:0]内のコマンドENC_CMD[7:0]をコマンドCOMMAND[7:0]として制御回路35に出力する。
また、メモリ制御回路45_1〜45_8は、制御信号CTL1b〜8bを図6に示すバッファOB1〜8に出力して、バッファOB1〜8のうち単数のバッファを選択してHigh−Zステートとし、選択していないバッファをnon−High−Zステートとする。
これにより、メモリ53_1〜53_8の間で単数のバスB_DIOを共用する場合であっても、メモリ53_1〜53_8からの読み出しデータをバッファOB1〜8で高速に切り換えて、バスB_DIOに出力することができる。
また、データ処理システム10では、バスB_DIOを共用するため、当該バスを共用しない場合に比べて、図1に示すインタフェース16のピン数を少なくでき、小規模化を図れる。
また、データ処理システム10では、上述したよう、読み出しを指示する制御信号CTL1a〜8aをメモリ53_1〜53_8に同時に出力し、メモリ53_1〜53_8から読み出されたデータがバッファOB1〜8を介してバスB_DIOに出力されるタイミングを、制御信号CTL1b〜8bを基にバッファOB1〜8を制御して高速に切り換える。
これにより、データ処理システム10によれば、メモリ53_2〜53_8からの読み出しデータを従来に比べて早いタイミングでバッファOB2〜8の入力端子に入力させることができ、バッファOB1〜8を高速に切り換えることで、コンピュータ2から見たメモリカード3の読み出し動作の応答性を従来に比べて高めることができる。
また、データ処理システム10によれば、図7に示すように、メモリ53_1〜53_8の各々が、レジスタ転送時間TRを各々が持つ連続した異なる時間帯にレジスタ転送処理RPを行い、レジスタ転送処理RP後に直にプログラム処理PPを開始し、最大プログラム時間TPmax経過後に次のレジスタ転送処理RPを行うことで、図3に示す制御回路35から見てメモリ回路36に対する書き込み待ち時間を無くすことができる。
これにより、データ処理システム10によれば、コンピュータ2から見て、メモリカード3の書き込み動作の応答性を従来に比べて高めることができる。
すなわち、従来では、複数のフラッシュメモリの全てについてのレジスタ転送処理を異なる時間帯で実行した後に、当該複数のフラッシュメモリのプログラム処理を同時に開始し、最大プログラム時間経過後にレジスタ転送処理を再び行っていたため、プログラム処理が終了するまで最大プログラム時間の間、電子機器が半導体記憶装置に書き込みデータを転送できない(レジスタ転送処理を行えない)。これに対して、上述したデータ処理システム10は、メモリ53_1〜53_8の各々において、異なる時間帯でレジスタ転送処理RPを実行し、当該レジスタ転送処理終了後に続けてプログラム処理PPを開始する。そして、その後、プログラム処理PPを介した順に異なる時間帯で次のレジスタ転送処理RPを行う。これにより、上述した効果が得られる。
上述した実施形態では、図5に示すように、メモリ回路36が8個のメモリ53_1〜53_8を備えた場合を例示したが、メモリ回路36が備えるメモリの数nは複数であれば特に限定されない。
また、本実施形態では、図8に示すように、バッファOB1〜8をHigh−Zステートにする時間帯を連続した異なる時間帯として規定したが、一部または全部において、不連続の異なる時間帯に設定してもよい。
メモリ53_1〜53_8としてフラッシュメモリを用いた場合に、メモリセルアレイ72には出荷時から欠陥ブロックが存在し、代替ブロックを使うので、図1に示すコンピュータ2(ユーザ)が使用する論理アドレスとメモリセルアレイ72上の物理アドレスとが一致せず、そのアドレスを変換する変換テーブルが必要である。このような変換テーブルを用いたアドレス変換を論理物理アドレス変換などと呼ぶ。図3に示す制御回路35は、当該論理物理アドレス変換を行う。なお、論理物理アドレス変換は、メモリカード3内ではなくコンピュータ2で行ってもよい。
また、メモリセルアレイ72の記憶素子は、書き換えを繰り返すと、その記憶特性が徐々に劣化するので、書き換え回数が有限である。そのために、同じブロックばかりを書き換えないような管理(ウェアレベリング)を行い、均等化させることが必要になる。さらに、読み出し誤りが生じるので、誤り訂正が必要である。図3に示す制御回路35は、このようなウェアレベリング、並びに誤り訂正処理を行う。
すなわち、制御回路35は、高機能の誤り訂正符号を用いて、初期不良のブロック、経時劣化のブロック、読み出し誤り、読み出しや書き込みの時間不足、これらすべてのエラー要因をカバーする誤り訂正符号によって、フラッシュメモリであるメモリ53_1〜53_8に対しての書き込みおよび読み出しの誤りを訂正を行う。
この場合には、メモリセルアレイ72の初期の不良ブロック検出、論物アドレス変換、ウェアレベリング、書き込みと消去のステータス・モニターが不要となるという利点がある。
なお、この手法は、データ処理システム10が例えば、画像データのように単位サイズが大きいデータのみを扱う場合には、高機能の誤り訂正符号が構成しやすいので、特に有効である。
Claims (5)
- データの書き込みに要する時間が書き込み処理の繰り返し回数に依存するフラッシュメモリにデータを記憶する記憶装置であって、
各々が前記フラッシュメモリをデータの記憶領域として有する複数のメモリ部と、
前記複数のメモリ部に対してデータを書き込む第1制御回路と、
前記第1制御回路に対して前記複数のメモリ部を並列に接続し、前記第1制御回路による書き込みデータを前記複数のメモリ部へ並列に入力可能とするバスと、
前記複数のメモリ部の各々に設けられ、前記第1制御回路による書き込みデータが、各々の前記フラッシュメモリに書き込まれる前に書き込まれる複数のレジスタと、
前記複数のメモリ部の各々に設けられ、各々のレジスタに記憶されている前記書き込みデータを、書き込みが成功するように繰り返して前記フラッシュメモリに書き込む複数の第2制御回路と、
前記第1制御回路と前記複数のメモリ部とを接続する前記バス上に設けられ、前記第1制御回路と各メモリ部との間に接続された複数のバッファを有する切替回路と
を有し、
前記第1制御回路は、
前記複数のメモリ部に対する1回の書き込み処理において、前記第1制御回路が出力するデータを前記複数のバッファがメモリ部へ順番に出力するように前記複数のバッファを制御し、
前記複数のメモリ部に対する複数回の書き込み処理を実行する場合には、各メモリ部におけるレジスタからフラッシュメモリへの最大の書き込み回数に対応する最大書き込み時間を空けて各メモリ部へデータを書込むように複数回の書き込み間隔を制御する
記憶装置。 - 前記複数のメモリ部のフラッシュメモリは、
データの消去に要する時間が、消去処理の繰り返し回数に依存し、
前記第1制御回路は、
前記複数のメモリ部に対する複数回の書き込み処理を実行する間に前記複数のフラッシュメモリのデータを消去する場合には、さらに各メモリ部における消去処理の最大回数に対応する最大消去時間を空けて各メモリ部へデータを書込むように複数回の書き込み間隔を制御する
請求項1記載の記憶装置。 - 前記切替回路は、
前記第1制御回路と各メモリ部との間に接続された複数のバッファとして、複数組の3ステートバッファによる双方向のバッファを有し、
前記第1制御回路は、
前記複数のメモリ部からの読み出し処理において、前記複数組の3ステートバッファから前記複数のメモリ部によるデータが順番に入力されるように前記複数組の3ステートバッファを制御する
請求項1または2記載の記憶装置。 - 記憶装置と、
前記記憶装置との間でデータを入出力するデータ処理装置と
を有するデータ処理システムであって、
前記記憶装置は、
データの書き込みに要する時間が書き込み処理の繰り返し回数に依存するフラッシュメモリをデータの記憶領域として有する複数のメモリ部と、
前記データ処理装置から入力されるデータを書き込みデータとして前記複数のメモリ部に対して書き込む第1制御回路と、
前記第1制御回路に対して前記複数のメモリ部を並列に接続し、前記第1制御回路による書き込みデータを前記複数のメモリ部へ並列に入力可能とするバスと、
前記複数のメモリ部の各々に設けられ、前記第1制御回路による書き込みデータが、各々の前記フラッシュメモリに書き込まれる前に書き込まれる複数のレジスタと、
前記複数のメモリ部の各々に設けられ、各々のレジスタに記憶されている前記書き込みデータを、書き込みが成功するように繰り返して前記フラッシュメモリに書き込む複数の第2制御回路と、
前記第1制御回路と前記複数のメモリ部とを接続する前記バス上に設けられ、前記第1制御回路と各メモリ部との間に接続された複数のバッファを有する切替回路と
を有し、
前記第1制御回路は、
前記複数のメモリ部に対する1回の書き込み処理において、前記第1制御回路が出力するデータを前記複数のバッファがメモリ部へ順番に出力するように前記複数のバッファを制御し、
前記複数のメモリ部に対する複数回の書き込み処理を実行する場合には、各メモリ部におけるレジスタからフラッシュメモリへの最大の書き込み回数に対応する最大書き込み時間を空けて各メモリ部へデータを書込むように複数回の書き込み間隔を制御する
データ処理システム。 - データの書き込みに要する時間が書き込み処理の繰り返し回数に依存するフラッシュメモリをデータの記憶領域として有する複数のメモリ部と、
前記複数のメモリ部に対してデータを書き込む第1制御回路と、
前記第1制御回路に対して前記複数のメモリ部を並列に接続し、前記第1制御回路による書き込みデータを前記複数のメモリ部へ並列に入力可能とするバスと、
前記複数のメモリ部の各々に設けられ、前記第1制御回路による書き込みデータが、各々の前記フラッシュメモリに書き込まれる前に書き込まれる複数のレジスタと、
前記複数のメモリ部の各々に設けられ、各々のレジスタに記憶されている前記書き込みデータを、書き込みが成功するように繰り返して前記フラッシュメモリに書き込む複数の第2制御回路と、
前記第1制御回路と前記複数のメモリ部とを接続する前記バス上に設けられ、前記第1制御回路と各メモリ部との間に接続された複数のバッファを有する切替回路と
を有する記憶装置でのメモリ制御方法であって、
前記第1制御回路が、
前記複数のメモリ部に対する1回の書き込み処理において、前記第1制御回路が出力するデータを前記複数のバッファがメモリ部へ順番に出力するように前記複数のバッファを制御し、
前記複数のメモリ部に対する複数回の書き込み処理を実行する場合には、各メモリ部におけるレジスタからフラッシュメモリへの最大の書き込み回数に対応する最大書き込み時間を空けて各メモリ部へデータを書込むように複数回の書き込み間隔を制御する
メモリ制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004300018A JP4742561B2 (ja) | 2004-10-14 | 2004-10-14 | 記憶装置、データ処理システムおよびメモリ制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004300018A JP4742561B2 (ja) | 2004-10-14 | 2004-10-14 | 記憶装置、データ処理システムおよびメモリ制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006113790A JP2006113790A (ja) | 2006-04-27 |
JP4742561B2 true JP4742561B2 (ja) | 2011-08-10 |
Family
ID=36382267
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004300018A Expired - Fee Related JP4742561B2 (ja) | 2004-10-14 | 2004-10-14 | 記憶装置、データ処理システムおよびメモリ制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4742561B2 (ja) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63221491A (ja) * | 1987-03-11 | 1988-09-14 | Victor Co Of Japan Ltd | 画像デ−タ出力装置 |
JPH0360722A (ja) * | 1989-07-28 | 1991-03-15 | Jgc Corp | ↑1↑3c同位体分離法 |
JP2003223792A (ja) * | 2002-01-25 | 2003-08-08 | Hitachi Ltd | 不揮発性メモリ及びメモリカード |
-
2004
- 2004-10-14 JP JP2004300018A patent/JP4742561B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006113790A (ja) | 2006-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4105819B2 (ja) | 記憶装置およびメモリカード | |
TWI509623B (zh) | 用於內建錯誤更正的儲存架構 | |
US7562183B2 (en) | Flash memory system and data writing method thereof | |
JP4901334B2 (ja) | メモリコントローラ | |
US8468417B2 (en) | Data integrity in memory controllers and methods | |
US6608784B2 (en) | Non-volatile semiconductor memory device | |
US7299399B2 (en) | Method and apparatus for parallelly processing data and error correction code in memory | |
CN102110481A (zh) | 具有ecc电路的半导体存储系统及其控制方法 | |
CN107918571B (zh) | 测试储存单元的方法以及使用该方法的装置 | |
KR102282576B1 (ko) | 반도체 장치 및 연속 독출 방법 | |
US20170060676A1 (en) | Memory device that communicates error correction results to a host | |
US20170062077A1 (en) | Memory system including test circuit | |
JP2004071012A5 (ja) | ||
CN112309478A (zh) | 半导体装置及连续读出方法 | |
US20230205461A1 (en) | Apparatus and method for driving redundant array of independent disks (raid) engine | |
JP4742561B2 (ja) | 記憶装置、データ処理システムおよびメモリ制御方法 | |
CN112988449B (zh) | 写入页面群组的数据到闪存模块的装置及方法 | |
JP4742553B2 (ja) | 記憶装置 | |
JP2008102693A (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2006119830A (ja) | 記憶装置、データ処理システムおよび記憶制御方法 | |
JP4692843B2 (ja) | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2006113791A (ja) | 記憶装置、データ処理システムおよび記憶制御方法 | |
TW202143240A (zh) | 半導體儲存裝置以及錯誤檢測糾正相關資訊的讀出方法 | |
JP2015215774A (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
KR20130067721A (ko) | 비휘발성 메모리 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070522 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100914 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20101029 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20110412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110425 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140520 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |