(57)【要約】【課題】高速動作が可能なメモリデバイスを提供する。【解決手段】メモリデバイスは、半導体メモリと、半導体メモリを制御するコントローラとを含んでいる。コントローラは、第１コマンド発行部と、第２コマンド発行部と、エラー訂正部と、制御部と、を含んでいる。第１コマンド発行部は、半導体メモリに読み出しコマンドを発行する。第２コマンド発行部は、半導体メモリに第１コマンド発行部と独立して半導体メモリからのデータの読み出しを伴わない処理を指示するコマンドを発行可能に構成されている。エラー訂正部は、半導体メモリから供給されたデータに含まれるエラーを訂正する。制御部は、エラー訂正部、および第１、第２コマンド発行部を制御する。【選択図】      図６
2011248682.tif 000002
【特許請求の範囲】
【請求項１】
半導体メモリと、
前記半導体メモリを制御するコントローラであって、前記半導体メモリに読み出しコマンドを発行する第１コマンド発行部と、前記半導体メモリに前記第１コマンド発行部と独立して前記半導体メモリからのデータの読み出しを伴わない処理を指示する第１コマンドを発行可能に構成されている第２コマンド発行部と、前記半導体メモリから供給されたデータに含まれるエラーを訂正するエラー訂正部と、前記エラー訂正部と前記第１コマンド発行部と前記第２コマンド発行部とを制御する制御部と、を含んだコントローラと、
を具備することを特徴とするメモリデバイス。
【請求項２】
前記第２コマンド発行部が、前記読み出しコマンドの発行後で前記エラー訂正部での処理開始後に前記第１コマンドを発行可能に構成されている、
ことを特徴とする、請求項１に記載のメモリデバイス。
【請求項３】
前記制御部が、前記エラー訂正部での処理終了後に、前記半導体メモリに前記エラー訂正部からのデータを前記半導体メモリに書き込むための書き込みコマンドを前記第１コマンド発行部または前記第２コマンド発行部に発行させるように構成されている、
ことを特徴とする、請求項２に記載のメモリデバイス。
【請求項４】
前記第１コマンドが、前記半導体メモリ中でデータを前記半導体メモリ外に読み出すことなくコピーすることを指示するコマンド、または前記半導体メモリ中のデータ消去を指示する消去コマンドを含む、
ことを特徴とする、請求項３に記載のメモリデバイス。
【請求項５】
前記読み出しコマンドおよび前記書き込みコマンドが、前記半導体メモリ中のデータをコピーするための処理の一部を構成する、
ことを特徴とする、請求項４に記載のメモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態はメモリデバイスに関する。
【背景技術】
【０００２】
現在、音楽データや映像データの記録メディアとして、フラッシュメモリ等の不揮発性半導体メモリを用いたメモリデバイスが使われている。メモリデバイスは、多くの場合、メモリを制御するためのコントローラを内蔵している。コントローラは、このようなメモリデバイスを挿入されるホストのファイルシステムと、半導体メモリの仲立ちを行なう。その目的の１つは、例えば、ホストのファイルシステムからの要求を半導体メモリの特性に合わせて変換することである。
【０００３】
メモリデバイスに使用されるフラッシュメモリの代表例としては、ＮＡＮＤ型フラッシュメモリが挙げられる。ＮＡＮＤ型フラッシュメモリは、データを上書きすることができない。このため、メモリデバイスがファイルシステムから上書きの要求を受け取ると、コントローラは、ＮＡＮＤ型フラッシュメモリの特性に合わせた命令をＮＡＮＤ型フラッシュメモリに送出して、この上書き要求をメモリデバイスにおいて間接的に遂行する。
【０００４】
メモリデバイスには、より多くの記憶容量とメモリデバイスの動作の高速化が求められている。メモリデバイスの大容量化を実現するために、フラッシュメモリの大容量化が進行している。フラッシュメモリの大容量化の実現の手段として、フラッシュメモリのセル当たりの面積の微細化や、１セルに格納される情報の多ビット化が知られている。しかしながら、１セルに複数ビットを記憶させる技術は高度かつ複雑であり、処理に多くの時間を要する傾向がある。このことは、メモリデバイスの大容量を実現できたとしても高速動作の要請に反する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表2009-536424号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
高速動作が可能なメモリデバイスを提供しようとするものである。
【課題を解決するための手段】
【０００７】
実施形態の一態様によるメモリデバイスは、半導体メモリと、前記半導体メモリを制御するコントローラであって、前記半導体メモリに読み出しコマンドを発行する第１コマンド発行部と、前記半導体メモリに前記第１コマンド発行部と独立して前記半導体メモリからのデータの読み出しを伴わない処理を指示する第１コマンドを発行可能に構成されている第２コマンド発行部と、前記半導体メモリから供給されたデータに含まれるエラーを訂正するエラー訂正部と、前記エラー訂正部と前記第１コマンド発行部と前記第２コマンド発行部とを制御する制御部と、を含んだコントローラと、を具備することを特徴とする。
【図面の簡単な説明】
【０００８】
【図１】メモリデバイスの参考例の一部を示すブロック図。
【図２】図１のメモリデバイスにおけるコピー動作を示す図。
【図３】第１実施形態に係るメモリカードおよびホストの主要な機能ブロックを例示する図。
【図４】メモリのメモリ空間の構成を例示する図。
【図５】ＮＡＮＤインターフェースの詳細を示すブロック図。
【図６】第１実施形態に係るメモリカードの一動作時のデータの授受の様子を概略的に示す図。
【図７】第１実施形態に係るメモリカードの一動作を、各工程の実行主体ごとに時系列に沿って示す図。
【図８】第２実施形態に係るメモリカードの一動作を、各工程の実行主体ごとに時系列に沿って示す図。
【図９】第２実施形態に係るメモリカードの一動作を、各工程の実行主体ごとに時系列に沿って示す図。
【発明を実施するための形態】
【０００９】
実施形態の説明に先立ち、図１および図２を参照して、参考例について説明する。図１は、メモリデバイスの参考例の一部を示すブロック図である。また、図１は、メモリデバイス中のデータのコピーの際に授受されるコマンドおよびデータを示している。図１に示すように、メモリデバイス１０１は、コントローラ１０２およびＮＡＮＤ型フラッシュメモリ１０３を有する。コントローラ１０２は、システム制御部１１１、コマンド発行部１１２、ＥＣＣ処理部１１３を含んでいる。システム制御部１１１は、コントローラ１０２の動作を司り、図１の例では、コマンド発行部１１２、ＥＣＣ（error correction code）処理部１１３を制御する。
【００１０】
コントローラ１０２は、フラッシュメモリ１０３内のある記憶領域中のデータを別の記憶領域中へとコピーするために、図１、図２にも示されているように以下の動作を行なう。図２は、図１のメモリデバイスにおけるコピー動作を、各工程の実行主体に分けて時系列に沿って示している。
【００１１】
まず、システム制御部１１１は、コマンド発行部１１２に読み出しコマンドの発行を命じる。読み出しコマンドは、コピー対象のデータのアドレスを指定している。コマンド発行部１１２は、このような読み出しコマンドをメモリ１０３に供給する（ステップＳ１０１、時刻Ｔ１０１）。
【００１２】
メモリ１０３は、読み出しコマンドを受け取ると、読み出し対象のデータを出力する（ステップＳ１０２、時刻Ｔ１０２）。出力されたデータは、ＥＣＣ処理部１１３によって受け取られる。ＥＣＣ処理部１１３は、データの一時的な記憶領域を有しており、供給されたデータを一時的に保持する。また、ＥＣＣ処理部１１３は、システム制御部１１１の指示に従って、保持されているデータに対して所定のデータ処理を行なう（ステップＳ１０３、時刻Ｔ１０３）。このデータ処理には、データに含まれるエラーの検出および（または）訂正が含まれる。より具体的には、例えば、ＥＣＣ処理部１１３は、データに含まれているＥＣＣを用いてデータ中のエラーを検出および（または）訂正する（ＥＣＣデコード）。次いで、ＥＣＣ処理部１１３は、エラー訂正されたデータに再度ＥＣＣを付加する（ＥＣＣエンコード）。
【００１３】
ＥＣＣエンコードが終了すると、システム制御部１１１は、ＥＣＣエンコード終了の旨の通知をＥＣＣ処理部１１３から受け取る。通知を受け取ると、システム制御部１１１は、コマンド発行部１１２に書き込みコマンドの発行を命じ、コマンド発行部１１２は書き込みコマンドをフラッシュメモリ１０３に供給する（ステップＳ１０４、時刻Ｔ１０４）。次いで、システム制御部１１１は、ＥＣＣ処理部１１３に命じて、再エンコードされたデータをフラッシュメモリ１０３に供給させる（ステップＳ１０５、時刻Ｔ１０５）。フラッシュメモリ１０３は、この供給されたデータを指定された記憶領域（コピー先の記憶領域）に書き込む。
【００１４】
図２から分かるように、コピー動作に含まれる各ステップは、シリアルに実行される。すなわち、読み出しコマンドの供給、データの読み出し、データ処理、書き込みコマンドの供給、データの書き込みの順で行なわれ、各ステップは重なり合わない。その理由の１つは、コントローラの動作をなるべく簡略化して、コントローラの設計を簡素化することである。すなわち、各ステップが直列的に重なり合わずに行なわれれば、コントローラの設計は、複数のステップが重なり合うことを許容する場合よりも簡単である。このため、システム制御部１１１を制御するプログラムは、システム制御部１１１に、コピー動作を構成する各ステップを直列的且つ重なり合わないように行なわせるように構成されている。
【００１５】
しかしながら、データ処理（ステップＳ１０３）に要する時間が長くなってきているという現象が生じている。その理由の１つは、フラッシュメモリの多値化、すなわち１つのメモリセルが２ビット以上のデータを記憶可能になったことに関連する。１メモリセルによる多ビットのデータの記憶を実現するには、２つ以上の閾値の任意の１つをメモリセルに持たせる必要があり、その結果、制御が複雑になる。すると、データの信頼性を確保するための技術が一層複雑になり、そのような技術にはＥＣＣによるエラーの訂正が含まれる。このため、エラー訂正の能力の増大とともに、ステップＳ１０３のようなデータ処理の時間が増大する。
【００１６】
ＥＣＣ処理の実行中は、図２からも明らかなように、メモリ１０３は何も動作を行なっていない。このため、このＥＣＣ処理に要する時間の間、メモリ１０３をレディー状態に維持しておくことは、メモリデバイス１０１の使用の観点から効率的ではない。そこで、このような時間を有効活用できれば、メモリカードのさらに有効的な活用が可能となる。
【００１７】
以下に、このような知見に基づいて構成された実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
【００１８】
各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約等に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も実施形態の範疇に含まれる。
【００１９】
なお、以下、実施形態に係るメモリデバイスの一例としてメモリカード、特にＳＤカードを用いて説明を行う。しかしながら、以下に説明するようなメモリと、このメモリを制御するコントローラを有するあらゆる記憶装置が実施形態の範疇に含まれる。そのような記憶装置には、例えばＳＳＤ（solid state drive）や組込型のメモリデバイスを搭載したＰＣ（personal computer）、携帯電子機器等も含まれ得る。
【００２０】
（第１実施形態）
図３〜図６を参照して、第１実施形態に係るメモリカードの構成について説明する。図３は、第１実施形態に係るメモリカード２およびホスト装置１の主要な機能ブロックを例示している。ホスト装置（以下、ホストと称する）１は、ソフトウェア１１、ファイルシステム１２、ＳＤインターフェース１３等を含んでいる。ソフトウェア１１、ファイルシステム１２、ＳＤインターフェース１３は、ＭＰＵ（micro processing unit）、およびＲＯＭ（read only memory）および（または）ＲＡＭ（random access memory）上のプログラムにより実現されてもよい。
【００２１】
ＭＰＵは、ホスト１全体の動作を司る。ホスト１が電源供給を受けた際にＲＡＭに格納されているファームウェア（制御プログラム（命令））がＲＡＭ上に読み出される。そして、ＭＰＵは、このファームウェア（命令）に従って所定の処理を実行する。ソフトウェア１１およびファイルシステム１２は、例えばＲＯＭやＲＡＭ上に位置し、ＭＰＵに所定の処理を実行させるための命令を含んだプログラムを含んでいる。ＳＤインターフェース１３は、ホスト１とメモリカード２との間のインターフェースを取るのに必要なハードウェア、ソフトウェアからなる。ホスト１は、ＳＤインターフェース１３を介してメモリデバイス２と通信を行う。ＳＤインターフェース１３は、ホスト１とメモリデバイス２とが通信するのに必要な様々な取り決めを規定し、後述のメモリデバイス２のＳＤインターフェース４１と相互に認識可能な各種のコマンドの組を備えている。また、ＳＤインターフェース１３は、ＳＤインターフェース３１と接続可能なハードウェア上の構成（ピンの配置、数等）も含む。
【００２２】
メモリデバイス２は、ＮＡＮＤ型フラッシュメモリ（以下、単にメモリと称する）２１、およびメモリ２１を制御するためのコントローラ２２を有する。メモリデバイス２は、ホスト１に接続されたとき、およびオフ状態のホスト１に挿入された状態でホスト１がオンされたときに電源供給を受けて初期化動作を行った後、ホスト１からのアクセスに応じた処理を行う。
【００２３】
メモリ２１は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行い、例えばＮＡＮＤ型フラッシュメモリからなる。各ページには、固有の物理アドレスが割り当てられている。また、メモリ２１は、複数のページからなる物理ブロック（消去ブロック）と呼ばれる単位でデータの消去を行う。
【００２４】
コントローラ２２は、メモリ２１によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ（または物理ブロック）が、どの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ（または物理ブロック）が消去状態（何も書き込まれていない、または無効なデータを保持している状態）であるかを管理することを含んでいる。
【００２５】
コントローラ２２は、ＳＤインターフェース３１、ＭＰＵ３２、ＲＯＭ３３、ＲＡＭ３４、ＮＡＮＤインターフェース３５を含んでいる。
【００２６】
ＳＤインターフェース３１は、メモリデバイス２とホスト１との間のインターフェースを取るのに必要なハードウェア、ソフトウェアからなり、ＳＤインターフェース１３と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成（ピンの配置、数等）も含む。メモリデバイス２（コントローラ２２）は、ＳＤインターフェース３１を介してとホスト１と通信を行う。
【００２７】
ＭＰＵ３２は、メモリデバイス２の全体の動作を司る。メモリデバイス２が電源供給を受けた際にＲＯＭ３３に格納されているファームウェア（制御プログラム（命令））がＲＡＭ３４上に読み出される。そして、ＭＰＵ３２は、このファームウェア（命令）に従って所定の処理を実行する。ＭＰＵ３２は、制御プログラムに従って各種のテーブルをＲＡＭ３４上で作成したり、ホスト１から受けたコマンドに従ってメモリ２１に対する所定の処理を実行したりする。
【００２８】
ＲＯＭ３３は、ＭＰＵ３２により制御される制御プログラムなどを格納する。ＲＡＭ３４は、ＭＰＵ３２の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム１２によってデータに割り当てられた論理アドレスを有するデータを格納しているページの物理アドレスの変換テーブル（論物テーブル）が含まれる。ＮＡＮＤインターフェース３５は、コントローラ２２とメモリ２１との間のインターフェース処理を行う。
【００２９】
図４は、メモリ２１のメモリ空間の構成を例示している。図４に示すように、メモリ２１は、通常のメモリ領域４１とページバッファ４２とを有する。メモリ領域４１は、複数の物理ブロックＢＬＫを含んでいる。各物理ブロックＢＬＫは、複数のページＰＧから構成される。各ページＰＧは、直列接続された複数のメモリセルトランジスタが格納するビットの列から構成される。
【００３０】
各メモリセルは、いわゆる積層ゲート構造のＭＯＳＦＥＴ（metal oxide semiconductor field effect transistor）からなる。各セルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。
【００３１】
メモリ２１は、１つのセルトランジスタが２つ以上の閾値電圧の異なる状態を取り得る、つまりメモリセルが多値（多ビット）を記憶できるように、構成されている。１つのトランジスタが保持可能なデータのビット数は２以上である。
【００３２】
同じ行に属するセルトランジスタの制御ゲート電極は、同じワード線と接続される。同じ列に属し且つ直列接続されたセルトランジスタの両端には選択ゲートトランジスタが設けられる。一方の選択ゲートトランジスタは、ビット線と接続される。データの書き込みおよび読み出しは直列接続されたセルトランジスタの集合毎に行われ、このセルトランジスタの集合からなる記憶領域が１つのページに対応する。各ページＰＧは、例えば２１１２Ｂを有しており、各ブロックＢＬＫは例えば１２８ページからなる。データの消去はブロックＢＬＫ単位で行われる。
【００３３】
次に、図５を参照してＮＡＮＤインターフェース３５について説明する。図５は、ＮＡＮＤインターフェース３５の詳細を示すブロック図である。ＮＡＮＤインターフェース３５は、システム制御部４１、コマンド発行部４２、ＥＣＣ処理部４３を含んでいる。これらのブロックは、上記のように、ハードウェアのみ、またはソフトウェアのみ、またはこれらの組合せとして実現され得る。より具体的な例としては、各ブロックは、ハードウェアとして、ＭＰＵ３２とＲＯＭ３３とＲＡＭ３４とによって実現され、ＲＯＭ３３および（または）ＲＡＭ３４上のプログラムによって制御されるＭＰＵ３２の動作によって実現される。
【００３４】
システム制御部４１は、ＮＡＮＤインターフェース３５の動作を司る。コマンド発行部４２は、システム制御部４１の指示に従ってメモリ２１が認識可能な各種のコマンドをメモリ２１に供給する。このようなコマンドは、例えばＲＯＭ３３中に格納されており、一般的な書き込みコマンド、読み出しコマンド、消去コマンド、コピーコマンド等を含んでいる。システム制御部４１は、ＥＣＣ管理部４１ａを含んでいる。ＥＣＣ管理部４１ａは、ＥＣＣ処理部４３の動作を管理する。
【００３５】
コマンド発行部４２は、第１コマンド発行部４２ａ、第２コマンド発行部群４２ｂを含んでいる。第２コマンド発行群は、１つまたは複数の第２コマンド発行部からなる。第１コマンド発行部４２ａと第２コマンド発行部群４２ｂとは、相互に独立しており、相互に制約を受けることなくシステム制御部４１の指示に従ってコマンドを発行することができるように構成されている。第１コマンド発行部４２ａおよび第２コマンド発行部群４２ｂは、コマンド発行部４２が実行可能な各種のコマンドを発行可能である。また、第２コマンド発行部同士も、相互に独立しており、相互に制約を受けることなくシステム制御部４１の指示に従ってコマンドを発行することができるように構成されている。第２コマンド発行部群４２ｂのうちの各第２コマンド発行部同士の特徴は同じである。したがって、以下の説明では、単に第２コマンド発行部４２ｂという記載を用い、この記載は、「第２コマンド発行部群のうちの任意の１つ」を意味するものとする。
【００３６】
ＥＣＣ処理部４３は、システム制御部４１の指示に従って、供給されたデータを一時的に保持し、保持されているデータに所定の処理を行なう。このようなデータ処理には、ＥＣＣを用いてデータに対してエラーの検出および（または）訂正（ＥＣＣデコード）、およびエラー訂正されたデータへのＥＣＣの付加等が含まれる。
【００３７】
次に、図６、図７を参照して、第１実施形態に係るメモリデバイスの動作について説明する。図６は、第１実施形態に係るメモリデバイスの一動作時のデータの授受の様子を概略的に示している。図７は、第１実施形態に係るメモリデバイスの一動作を、各工程の実行主体ごとに時系列に沿って示している。
【００３８】
メモリデバイス２は、少なくとも２種類のコピー動作を実行可能に構成されている。１つ目のコピー動作は、メモリ２１からコントローラ２２へのデータの読み出しと、コントローラ２２内でのデータ処理と、コントローラ２２からメモリ２１へのデータの書き込みと、を含んでいる。このコピー動作は、システム制御部４１により制御され、後述の別のコピー動作と区別するために、単にコピー動作または通常コピー動作と称する。
【００３９】
通常コピー動作は、一例として、複数ビットのデータを記憶しているセルトランジスタ中のデータを、１ビットのデータを記憶するセルトランジスタへとコピーすることを目的に行われる。多ビットのデータの記憶を実現するには、２つ以上の閾値の任意の１つをメモリセルに持たせる必要があり、その結果、制御が複雑になる。このような制御は高度な制御を含んでいるので、データの信頼性を確保するため、読み出された複数ビットデータに対してエラー訂正を行なうことが好ましい。このため、通常コピー動作には、ＥＣＣを用いたエラー訂正が含まれている。記憶装置によっては、読み出された複数ビットのデータ（コピーのために読み出されたデータも含む）に対しては原則エラー訂正を行なうことになっていることがある。通常コピー動作は、例えば、いわゆる引越し書き込みを行なう際に用いられ得る。引越し書き込みとは、ＮＡＮＤ型フラッシュメモリは上書きを行なえない故に必要な処理である。引越し書き込みでは、ブロックに格納されているデータの一部のみを書き換える要求に対して、書き換えられる新データが消去済みの新ブロックに書き込まれ、旧データ（新データに書き換えられるデータ）を含んでいる旧ブロックから、書き換えられないデータが新ブロックにコピーされる。
【００４０】
２つ目のコピー動作は、メモリ２１のあるページ（またはブロック）中に格納されているデータの別のページ（またはブロック）へのコピーを含んでいる。この２つ目のコピー動作は、メモリ２１によってサポートされており、コマンド発行部４２から発行されたコマンドによって実行されることが可能である。２つ目のコピー動作を、ダイレクトコピー動作と称し、ダイレクトコピー動作の実行を命じるコマンドをダイレクトコピーコマンドと称する。
【００４１】
ダイレクトコピー動作は、一例として、１ビットデータを記憶している複数のセルトランジスタ中のデータを、複数ビットデータとして１つのセルトランジスタへとコピーすることを目的に行なわれる。１ビットデータは複数ビットのデータよりも高い信頼性で書き込みおよび読み出しされることが可能であるので、このようなコピーを、エラー訂正を経ずに実行しても信頼性を確保できる。記憶装置によっては、複数ビットのデータの書き込みが可能であっても、複数ビットデータの書き込みが、まずデータが１ビットデータとして書き込まれて、しかる後に、１ビットデータが複数ビットデータとしてコピーされることによって、実行されることになっていることがある。このような場合、ダイレクトコピーコマンドが用いられ得る。
【００４２】
図６、図７に示すように、メモリデバイス２は、時刻Ｔ１からＴ８にわたって通常コピー動作を実行する。より具体的には、メモリデバイス２は、あるブロックＢＬＫ３中のデータを別のブロックＢＬＫ０にコピーすることを予定している。上記の例に従えば、ブロックＢＬＫ３中の各セルトランジスタは複数ビットデータを格納しており、ブロックＢＬＫ０中のセルトランジスタは１ビットデータを記憶することになる。通常コピー動作を行なうために、システム制御部４１は、第１コマンド発行部４２ａに、読み出しコマンドを発行することを命じる。読み出しコマンドは、コピー対象のデータのアドレスを指定している。第１コマンド発行部４２ａは、このような読み出しコマンドをメモリ２１に供給する（ステップＳ１、時刻Ｔ１）。コピー対象のデータは、一例に従えば、１セルトランジスタ当たり複数ビットのデータであり得る。
【００４３】
メモリ２１は、読み出しコマンドを受け取ると、読み出し対象のデータを出力する（ステップＳ２、時刻Ｔ２）。出力されたデータは、ＥＣＣ処理部４３によって受け取られ、時刻Ｔ３において、メモリ２１からＥＣＣ処理部４３へのコピー対象データの転送が終了する。
【００４４】
コピー対象のデータの転送が終了すると、ＥＣＣ処理部４３は、ＥＣＣ処理部４３において保持されているデータに対して所定のデータ処理を開始する（ステップＳ３、時刻Ｔ３）。このデータ処理には、データに含まれるエラーの検出および（または）訂正が含まれる。より具体的には、例えば、ＥＣＣ処理部４３は、データに含まれているＥＣＣを用いてデータ中のエラーを検出および（または）訂正する（ＥＣＣデコード）。次いで、ＥＣＣ処理部６は、エラー訂正されたデータに再度ＥＣＣを付加する（ＥＣＣエンコード）。このデータ処理は、時刻Ｔ６まで継続している。
【００４５】
また、時刻Ｔ３におけるコピー対象のデータの転送の終了時に、ＥＣＣ管理部４１ａは、ＥＣＣ処理部４３からの通知等によって、このデータ転送の終了を認識する。この時点で、メモリ２１はレディー状態に入り、時刻Ｔ３以降、通常コピーの実行に必要な一連の処理の実行はＥＣＣ処理部４３が担う。このため、メモリ２１は、ＥＣＣ処理部４３はデータ処理中故にＥＣＣ処理部４３へのデータの出力を伴わない処理である限り、処理を実行可能である。そこで、システム制御部４１は、ＥＣＣ処理部４３でのデータ処理と並行して、ダイレクトコピー動作を実行する。この実行のために、システム制御部４１は、第２コマンド発行部４２ｂに、ダイレクトコピーコマンドを発行することを命じる（ステップＳ４）。ダイレクトコピーコマンドは、コピー対象のデータのアドレス、コピー対象のデータの新たな格納先のアドレスを指定している。このように、コマンド発行部４２は、ＥＣＣ処理部４３と並行に動作可能に構成されている。また、システム制御部４１は、通常コピー動作の実行中に、メモリ２１からのデータの読み出しを伴わない別の処理、例えばダイレクトコピー動作と、を並行して管理および制御できるように構成されている。すなわち、このような並行の処理が可能なように、システム制御部４１を制御するプログラム（ファームウェア）が構成されている。また、コマンド発行部４２が、２つのコマンド発行部４２ａ、４２ｂを含んでいるので、一方のコマンド発行部４２ａが関与する処理（例えば通常データ処理）の完了前に、他方のコマンド発行部４２ｂを介して別の処理を命じるコマンドが発行されることが可能になっている。換言すれば、一方のコマンド発行部４２ａが関与する処理をＥＣＣ処理部４３が実行中に、他方のコマンド発行部４２ｂが動作可能になっている。
【００４６】
メモリ２１は、ダイレクトコピーコマンドを受け取ると、ダイレクトコピー動作を行なう（ステップＳ５、時刻Ｔ４）。より具体的には、メモリ２１は、指定された記憶領域（例えばブロックＢＬＫ１）中のデータを内蔵のバッファに一時的に格納し、格納されたデータを別の記憶領域（例えばブロックＢＬＫ２）に書き込む。このコピーは、一例としては、１セルトランジスタ当たり１ビットのデータを、１セルトランジスタ当たり複数ビットのデータとして書き込むことを含み得る。ダイレクトコピー動作は、時刻Ｔ５において終了する。このように、時刻Ｔ４〜Ｔ５の間、メモリ３１とＥＣＣ処理部４３は並行して動作している。
【００４７】
次いで、ＥＣＣ処理部４３によるデータ処理が完了する（時刻Ｔ６）。データ処理が完了すると、システム制御部４１は、ＥＣＣ処理部４３からの通知等によって、このデータ処理の終了を認識する。すると、システム制御部４１はコマンド発行部４２に書き込みコマンドの発行を命じ、コマンド発行部４２は書き込みコマンドを発行する（ステップＳ６、時刻Ｔ６）。この書き込みコマンドの発行は、第１コマンド発行部４２ａおよび第２コマンド発行部群４２ｂのうちの任意のものによって行なわれてもよい。例えば、通常コピーに関与する一連のコマンドの発行を一貫して第１コマンド発行部４２ａが担うようにし、第１コマンド発行部４２ａが当該書き込みコマンドを発行するようにすることが可能である。
【００４８】
次いで、システム制御部４１は、ＥＣＣ処理部４３に、再エンコードされたデータをメモリ２１に供給することを命じる。ＥＣＣ処理部４３は、この再エンコードされたデータをメモリ２１に供給する。次いで、メモリ２１は、供給されたデータを、指定された書き込み領域（例えばブロックＢＬＫ０）に書き込む（ステップＳ７、時刻Ｔ７）。
【００４９】
このように、第１コマンド発行部４２ａは、特にメモリ２１からのデータの読み出しを伴うコマンドを発行する役割を担う。一方、第２コマンド発行部４２ｂは、特にメモリ２１からのデータの読み出しを伴わないコマンドを発行する役割を担う。メモリ２１からのデータの読み出しを同時に複数行なうことはできないので、第１コマンド発行部４２ａは１つで足りる。一方、ＥＣＣ処理部４３での処理中にメモリ２１がデータの出力を伴わない複数の処理を同時に行なうことが可能な場合がある。そのため、複数の第２コマンド発行部４２ｂが設けられ、データの出力を伴わない複数の処理を同時に行なうことが可能である。
【００５０】
また、メモリデバイス２は、当然ながら、従来のような、データ処理を伴う処理と並行して別の処理が許可されない制御を行なうことが可能である。このような並行処理が不能なモードと、並行処理（図６、図７のような処理）が可能なモードとが、コントローラ２２の処理に応じて選択可能に、コントローラ２２が構成されていてもよい。
【００５１】
以上説明したように、第１実施形態に係る記憶装置によれば、システム制御部４１およびコマンド発行部４２が、ＥＣＣ処理部４３による処理と、メモリ２１からのデータの読み出しを伴わない別の処理、例えばダイレクトコピー動作と、を並行して行なえるように構成されている。このため、ＥＣＣ処理部４３による処理を含んでいる通常コピー動作の開始後でＥＣＣ処理部４３によるデータ処理の実行中に、メモリ２１からのデータの読み出しを伴わない処理を実行できる。よって、ＥＣＣ処理部４３による処理の時間を有効活用してメモリ２１からのデータの読み出しを伴わない処理を行なうことによって、高速な処理が可能な記憶装置を実現できる。より具体的な例としては、通常コピーに含まれるＥＣＣ処理部による処理の間にダイレクトコピー動作を実行することによって、高速な処理が可能な記憶装置を実現できる。この利点は、例えばシステム制御部がホストからの命令を直ぐに実行せずにバッファ等に貯めておいて、後にこれらの命令をまとめて行なう場合等に、特に有効である。
【００５２】
（第２実施形態）
第１実施形態では、通常コピー動作と並行して実行され得る処理として、ダイレクトコピー動作について説明した。しかし、別の、データの読み出しを伴わない処理、例えば消去動作が行なわれることが可能である。
【００５３】
図８は、第２実施形態に係るメモリデバイスの一動作を、各工程の実行主体ごとに時系列に沿って示している。図８は、第１実施形態（図７）と、ダイレクトコピーコマンドおよびダイレクトコピー動作が、消去コマンドおよび消去動作に、それぞれ置換されている点のみ異なる。その他の構成および特徴については、第１実施形態と全て同じである。
【００５４】
図８に示すように、時刻Ｔ３における読み出し対象のデータの転送の終了時に、ＥＣＣ管理部４１ａは、ＥＣＣ処理部４３からの通知等によって、このデータ転送の終了を認識する。この時点で、メモリ２１はレディー状態に入り、時刻Ｔ３以降、通常コピーの実行に必要な一連の処理の実行はＥＣＣ処理部４３が担う。このため、メモリ２１は、ＥＣＣ処理部４３はデータ処理中故にＥＣＣ処理部４３へのデータの出力を伴わない処理である限り、処理を実行可能である。そこで、システム制御部４１は、時刻Ｔ３において、第２コマンド発行部群４２ｂに消去コマンドを発行することを命じる（ステップＳ１１）。メモリ２１は、この消去コマンドを受け取ると、消去対象のデータを時刻Ｔ４から時刻Ｔ５にわたって消去する（ステップＳ１２）。
【００５５】
第２実施形態によれば、第１実施形態と同様に、システム制御部４１およびコマンド発行部４２が、通常コピー動作と、メモリ２１からのデータの読み出しを伴わない別の処理、例えば消去動作と、を並行して行なえるように構成されている。このため、第１実施形態と同じ利点を実現できる。
【００５６】
（第３実施形態）
第１実施形態では、２つの処理のうちの最初に開始される処理がメモリ２１からの読み出しとメモリ２１への書き込みを伴った通常コピー動作である例に関する。これに対して、第３実施形態では、２つの処理のうちの最初に開始される処理がメモリ２１からの読み出し動作のみである例に関する。
【００５７】
図９は、第３実施形態に係るメモリデバイスの一動作を、各工程の実行主体ごとに時系列に沿って示している。図９は、第１実施形態（図７）と、ステップＳ６、Ｓ７の書き込みに代えてデータ出力が行なわれる点で異なる。その他の構成および特徴については、第１実施形態と全て同じである。
【００５８】
図９に示すように、時刻Ｔ３における読み出し対象のデータの転送の終了時に、ＥＣＣ管理部４１ａは、ＥＣＣ処理部４３からの通知等によって、このデータ転送の終了を認識する。この時点で、メモリ２１はレディー状態に入り、時刻Ｔ３以降、通常コピーの実行に必要な一連の処理の実行はＥＣＣ処理部４３が担う。このため、メモリ２１は、ＥＣＣ処理部４３はデータ処理中故にＥＣＣ処理部４３へのデータの出力を伴わない処理である限り、処理を実行可能である。そこで、システム制御部４１は、時刻Ｔ３において、例えば第１実施形態のようにダイレクトコピーコマンドを発行したり、第２実施形態のように消去コマンドを発行したりする。メモリ２１は、消去対象のデータを時刻Ｔ４から時刻Ｔ５にわたってダイレクトコピーしたり消去したりする。
【００５９】
次いで、時刻Ｔ６において、ＥＣＣ処理部４３によるデータ処理が完了すると、ＥＣＣ処理部４３は、システム制御部４１の指示によりデータを出力する（ステップＳ２１）。この出力されたデータは、ＳＤインターフェース３１を介してホスト１に出力される。
【００６０】
第３実施形態によれば、第１実施形態と同様に、システム制御部４１およびコマンド発行部４２が、通常コピー動作と、メモリ２１からのデータの読み出しを伴わない別の処理、例えば消去動作と、を並行して行なえるように構成されている。このため、第１実施形態と同じ利点を実現できる。
【００６１】
その他、各実施形態は、上記のものに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の実施形態が抽出され得る。例えば、上記各実施形態に示される全構成要件から幾つかの構成要件が削除されても、この構成要件が削除された構成が実施形態として抽出され得る。
【符号の説明】
【００６２】
１…ホスト、２…メモリデバイス、１１…ソフトウェア、１２…ファイルシステム、１３…ＳＤインターフェース、２１…メモリ、２２…コントローラ、３１…ＳＤインターフェース、３２…ＭＰＵ、３３…ＲＯＭ、３４…ＲＡＭ、３５…ＮＡＮＤインターフェース、
４１…システム制御部、４２、４２ａ、４２ｂ…コマンド発行部、４３…ＥＣＣ処理部。
【図１】
2011248682.tif 000003
【図２】
2011248682.tif 000004
【図３】
2011248682.tif 000005
【図４】
2011248682.tif 000006
【図５】
2011248682.tif 000007
【図６】
2011248682.tif 000008
【図７】
2011248682.tif 000009
【図８】
2011248682.tif 000010
【図９】
2011248682.tif 000011