JP2011248682A - メモリデバイス - Google Patents
メモリデバイス Download PDFInfo
- Publication number
- JP2011248682A JP2011248682A JP2010121959A JP2010121959A JP2011248682A JP 2011248682 A JP2011248682 A JP 2011248682A JP 2010121959 A JP2010121959 A JP 2010121959A JP 2010121959 A JP2010121959 A JP 2010121959A JP 2011248682 A JP2011248682 A JP 2011248682A
- Authority
- JP
- Japan
- Prior art keywords
- data
- command
- memory
- unit
- semiconductor memory
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7209—Validity control, e.g. using flags, time stamps or sequence numbers
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
【課題】高速動作が可能なメモリデバイスを提供する。
【解決手段】メモリデバイスは、半導体メモリと、半導体メモリを制御するコントローラとを含んでいる。コントローラは、第1コマンド発行部と、第2コマンド発行部と、エラー訂正部と、制御部と、を含んでいる。第1コマンド発行部は、半導体メモリに読み出しコマンドを発行する。第2コマンド発行部は、半導体メモリに第1コマンド発行部と独立して半導体メモリからのデータの読み出しを伴わない処理を指示するコマンドを発行可能に構成されている。エラー訂正部は、半導体メモリから供給されたデータに含まれるエラーを訂正する。制御部は、エラー訂正部、および第1、第2コマンド発行部を制御する。
【選択図】 図6
【解決手段】メモリデバイスは、半導体メモリと、半導体メモリを制御するコントローラとを含んでいる。コントローラは、第1コマンド発行部と、第2コマンド発行部と、エラー訂正部と、制御部と、を含んでいる。第1コマンド発行部は、半導体メモリに読み出しコマンドを発行する。第2コマンド発行部は、半導体メモリに第1コマンド発行部と独立して半導体メモリからのデータの読み出しを伴わない処理を指示するコマンドを発行可能に構成されている。エラー訂正部は、半導体メモリから供給されたデータに含まれるエラーを訂正する。制御部は、エラー訂正部、および第1、第2コマンド発行部を制御する。
【選択図】 図6
Description
本発明の実施形態はメモリデバイスに関する。
現在、音楽データや映像データの記録メディアとして、フラッシュメモリ等の不揮発性半導体メモリを用いたメモリデバイスが使われている。メモリデバイスは、多くの場合、メモリを制御するためのコントローラを内蔵している。コントローラは、このようなメモリデバイスを挿入されるホストのファイルシステムと、半導体メモリの仲立ちを行なう。その目的の1つは、例えば、ホストのファイルシステムからの要求を半導体メモリの特性に合わせて変換することである。
メモリデバイスに使用されるフラッシュメモリの代表例としては、NAND型フラッシュメモリが挙げられる。NAND型フラッシュメモリは、データを上書きすることができない。このため、メモリデバイスがファイルシステムから上書きの要求を受け取ると、コントローラは、NAND型フラッシュメモリの特性に合わせた命令をNAND型フラッシュメモリに送出して、この上書き要求をメモリデバイスにおいて間接的に遂行する。
メモリデバイスには、より多くの記憶容量とメモリデバイスの動作の高速化が求められている。メモリデバイスの大容量化を実現するために、フラッシュメモリの大容量化が進行している。フラッシュメモリの大容量化の実現の手段として、フラッシュメモリのセル当たりの面積の微細化や、1セルに格納される情報の多ビット化が知られている。しかしながら、1セルに複数ビットを記憶させる技術は高度かつ複雑であり、処理に多くの時間を要する傾向がある。このことは、メモリデバイスの大容量を実現できたとしても高速動作の要請に反する。
高速動作が可能なメモリデバイスを提供しようとするものである。
実施形態の一態様によるメモリデバイスは、半導体メモリと、前記半導体メモリを制御するコントローラであって、前記半導体メモリに読み出しコマンドを発行する第1コマンド発行部と、前記半導体メモリに前記第1コマンド発行部と独立して前記半導体メモリからのデータの読み出しを伴わない処理を指示する第1コマンドを発行可能に構成されている第2コマンド発行部と、前記半導体メモリから供給されたデータに含まれるエラーを訂正するエラー訂正部と、前記エラー訂正部と前記第1コマンド発行部と前記第2コマンド発行部とを制御する制御部と、を含んだコントローラと、を具備することを特徴とする。
実施形態の説明に先立ち、図1および図2を参照して、参考例について説明する。図1は、メモリデバイスの参考例の一部を示すブロック図である。また、図1は、メモリデバイス中のデータのコピーの際に授受されるコマンドおよびデータを示している。図1に示すように、メモリデバイス101は、コントローラ102およびNAND型フラッシュメモリ103を有する。コントローラ102は、システム制御部111、コマンド発行部112、ECC処理部113を含んでいる。システム制御部111は、コントローラ102の動作を司り、図1の例では、コマンド発行部112、ECC(error correction code)処理部113を制御する。
コントローラ102は、フラッシュメモリ103内のある記憶領域中のデータを別の記憶領域中へとコピーするために、図1、図2にも示されているように以下の動作を行なう。図2は、図1のメモリデバイスにおけるコピー動作を、各工程の実行主体に分けて時系列に沿って示している。
まず、システム制御部111は、コマンド発行部112に読み出しコマンドの発行を命じる。読み出しコマンドは、コピー対象のデータのアドレスを指定している。コマンド発行部112は、このような読み出しコマンドをメモリ103に供給する(ステップS101、時刻T101)。
メモリ103は、読み出しコマンドを受け取ると、読み出し対象のデータを出力する(ステップS102、時刻T102)。出力されたデータは、ECC処理部113によって受け取られる。ECC処理部113は、データの一時的な記憶領域を有しており、供給されたデータを一時的に保持する。また、ECC処理部113は、システム制御部111の指示に従って、保持されているデータに対して所定のデータ処理を行なう(ステップS103、時刻T103)。このデータ処理には、データに含まれるエラーの検出および(または)訂正が含まれる。より具体的には、例えば、ECC処理部113は、データに含まれているECCを用いてデータ中のエラーを検出および(または)訂正する(ECCデコード)。次いで、ECC処理部113は、エラー訂正されたデータに再度ECCを付加する(ECCエンコード)。
ECCエンコードが終了すると、システム制御部111は、ECCエンコード終了の旨の通知をECC処理部113から受け取る。通知を受け取ると、システム制御部111は、コマンド発行部112に書き込みコマンドの発行を命じ、コマンド発行部112は書き込みコマンドをフラッシュメモリ103に供給する(ステップS104、時刻T104)。次いで、システム制御部111は、ECC処理部113に命じて、再エンコードされたデータをフラッシュメモリ103に供給させる(ステップS105、時刻T105)。フラッシュメモリ103は、この供給されたデータを指定された記憶領域(コピー先の記憶領域)に書き込む。
図2から分かるように、コピー動作に含まれる各ステップは、シリアルに実行される。すなわち、読み出しコマンドの供給、データの読み出し、データ処理、書き込みコマンドの供給、データの書き込みの順で行なわれ、各ステップは重なり合わない。その理由の1つは、コントローラの動作をなるべく簡略化して、コントローラの設計を簡素化することである。すなわち、各ステップが直列的に重なり合わずに行なわれれば、コントローラの設計は、複数のステップが重なり合うことを許容する場合よりも簡単である。このため、システム制御部111を制御するプログラムは、システム制御部111に、コピー動作を構成する各ステップを直列的且つ重なり合わないように行なわせるように構成されている。
しかしながら、データ処理(ステップS103)に要する時間が長くなってきているという現象が生じている。その理由の1つは、フラッシュメモリの多値化、すなわち1つのメモリセルが2ビット以上のデータを記憶可能になったことに関連する。1メモリセルによる多ビットのデータの記憶を実現するには、2つ以上の閾値の任意の1つをメモリセルに持たせる必要があり、その結果、制御が複雑になる。すると、データの信頼性を確保するための技術が一層複雑になり、そのような技術にはECCによるエラーの訂正が含まれる。このため、エラー訂正の能力の増大とともに、ステップS103のようなデータ処理の時間が増大する。
ECC処理の実行中は、図2からも明らかなように、メモリ103は何も動作を行なっていない。このため、このECC処理に要する時間の間、メモリ103をレディー状態に維持しておくことは、メモリデバイス101の使用の観点から効率的ではない。そこで、このような時間を有効活用できれば、メモリカードのさらに有効的な活用が可能となる。
以下に、このような知見に基づいて構成された実施形態について図面を参照して説明する。なお、以下の説明において、略同一の機能及び構成を有する構成要素については、同一符号を付し、重複説明は必要な場合にのみ行う。
各機能ブロックは、ハードウェア、コンピュータソフトウェアのいずれかまたは両者を組み合わせたものとして実現することができる。このため、各ブロックがこれらのいずれでもあることが明確となるように、概してそれらの機能の観点から以下に説明する。このような機能が、ハードウェアとして実行されるか、またはソフトウェアとして実行されるかは、具体的な実施態様またはシステム全体に課される設計制約等に依存する。当業者は、具体的な実施態様ごとに、種々の方法でこれらの機能を実現し得るが、いずれの実現の手法も実施形態の範疇に含まれる。
なお、以下、実施形態に係るメモリデバイスの一例としてメモリカード、特にSDカードを用いて説明を行う。しかしながら、以下に説明するようなメモリと、このメモリを制御するコントローラを有するあらゆる記憶装置が実施形態の範疇に含まれる。そのような記憶装置には、例えばSSD(solid state drive)や組込型のメモリデバイスを搭載したPC(personal computer)、携帯電子機器等も含まれ得る。
(第1実施形態)
図3〜図6を参照して、第1実施形態に係るメモリカードの構成について説明する。図3は、第1実施形態に係るメモリカード2およびホスト装置1の主要な機能ブロックを例示している。ホスト装置(以下、ホストと称する)1は、ソフトウェア11、ファイルシステム12、SDインターフェース13等を含んでいる。ソフトウェア11、ファイルシステム12、SDインターフェース13は、MPU(micro processing unit)、およびROM(read only memory)および(または)RAM(random access memory)上のプログラムにより実現されてもよい。
図3〜図6を参照して、第1実施形態に係るメモリカードの構成について説明する。図3は、第1実施形態に係るメモリカード2およびホスト装置1の主要な機能ブロックを例示している。ホスト装置(以下、ホストと称する)1は、ソフトウェア11、ファイルシステム12、SDインターフェース13等を含んでいる。ソフトウェア11、ファイルシステム12、SDインターフェース13は、MPU(micro processing unit)、およびROM(read only memory)および(または)RAM(random access memory)上のプログラムにより実現されてもよい。
MPUは、ホスト1全体の動作を司る。ホスト1が電源供給を受けた際にRAMに格納されているファームウェア(制御プログラム(命令))がRAM上に読み出される。そして、MPUは、このファームウェア(命令)に従って所定の処理を実行する。ソフトウェア11およびファイルシステム12は、例えばROMやRAM上に位置し、MPUに所定の処理を実行させるための命令を含んだプログラムを含んでいる。SDインターフェース13は、ホスト1とメモリカード2との間のインターフェースを取るのに必要なハードウェア、ソフトウェアからなる。ホスト1は、SDインターフェース13を介してメモリデバイス2と通信を行う。SDインターフェース13は、ホスト1とメモリデバイス2とが通信するのに必要な様々な取り決めを規定し、後述のメモリデバイス2のSDインターフェース41と相互に認識可能な各種のコマンドの組を備えている。また、SDインターフェース13は、SDインターフェース31と接続可能なハードウェア上の構成(ピンの配置、数等)も含む。
メモリデバイス2は、NAND型フラッシュメモリ(以下、単にメモリと称する)21、およびメモリ21を制御するためのコントローラ22を有する。メモリデバイス2は、ホスト1に接続されたとき、およびオフ状態のホスト1に挿入された状態でホスト1がオンされたときに電源供給を受けて初期化動作を行った後、ホスト1からのアクセスに応じた処理を行う。
メモリ21は、データを不揮発に記憶し、複数のメモリセルからなるページと呼ばれる単位でデータの書き込みおよび読み出しを行い、例えばNAND型フラッシュメモリからなる。各ページには、固有の物理アドレスが割り当てられている。また、メモリ21は、複数のページからなる物理ブロック(消去ブロック)と呼ばれる単位でデータの消去を行う。
コントローラ22は、メモリ21によるデータの記憶状態を管理する。記憶状態の管理とは、どの物理アドレスのページ(または物理ブロック)が、どの論理アドレスのデータを保持しているかの関係、およびどの物理アドレスのページ(または物理ブロック)が消去状態(何も書き込まれていない、または無効なデータを保持している状態)であるかを管理することを含んでいる。
コントローラ22は、SDインターフェース31、MPU32、ROM33、RAM34、NANDインターフェース35を含んでいる。
SDインターフェース31は、メモリデバイス2とホスト1との間のインターフェースを取るのに必要なハードウェア、ソフトウェアからなり、SDインターフェース13と同様に、両者の通信を可能とする取り決めを規定し、各種のコマンドの組を備え、ハードウェア上の構成(ピンの配置、数等)も含む。メモリデバイス2(コントローラ22)は、SDインターフェース31を介してとホスト1と通信を行う。
MPU32は、メモリデバイス2の全体の動作を司る。メモリデバイス2が電源供給を受けた際にROM33に格納されているファームウェア(制御プログラム(命令))がRAM34上に読み出される。そして、MPU32は、このファームウェア(命令)に従って所定の処理を実行する。MPU32は、制御プログラムに従って各種のテーブルをRAM34上で作成したり、ホスト1から受けたコマンドに従ってメモリ21に対する所定の処理を実行したりする。
ROM33は、MPU32により制御される制御プログラムなどを格納する。RAM34は、MPU32の作業エリアとして使用され、制御プログラムや各種のテーブルを一時的に記憶する。このようなテーブルとして、ファイルシステム12によってデータに割り当てられた論理アドレスを有するデータを格納しているページの物理アドレスの変換テーブル(論物テーブル)が含まれる。NANDインターフェース35は、コントローラ22とメモリ21との間のインターフェース処理を行う。
図4は、メモリ21のメモリ空間の構成を例示している。図4に示すように、メモリ21は、通常のメモリ領域41とページバッファ42とを有する。メモリ領域41は、複数の物理ブロックBLKを含んでいる。各物理ブロックBLKは、複数のページPGから構成される。各ページPGは、直列接続された複数のメモリセルトランジスタが格納するビットの列から構成される。
各メモリセルは、いわゆる積層ゲート構造のMOSFET(metal oxide semiconductor field effect transistor)からなる。各セルトランジスタは、浮遊ゲート電極に蓄えられる電子の数に応じて閾値電圧が変化し、この閾値電圧の違いに応じた情報を記憶する。
メモリ21は、1つのセルトランジスタが2つ以上の閾値電圧の異なる状態を取り得る、つまりメモリセルが多値(多ビット)を記憶できるように、構成されている。1つのトランジスタが保持可能なデータのビット数は2以上である。
同じ行に属するセルトランジスタの制御ゲート電極は、同じワード線と接続される。同じ列に属し且つ直列接続されたセルトランジスタの両端には選択ゲートトランジスタが設けられる。一方の選択ゲートトランジスタは、ビット線と接続される。データの書き込みおよび読み出しは直列接続されたセルトランジスタの集合毎に行われ、このセルトランジスタの集合からなる記憶領域が1つのページに対応する。各ページPGは、例えば2112Bを有しており、各ブロックBLKは例えば128ページからなる。データの消去はブロックBLK単位で行われる。
次に、図5を参照してNANDインターフェース35について説明する。図5は、NANDインターフェース35の詳細を示すブロック図である。NANDインターフェース35は、システム制御部41、コマンド発行部42、ECC処理部43を含んでいる。これらのブロックは、上記のように、ハードウェアのみ、またはソフトウェアのみ、またはこれらの組合せとして実現され得る。より具体的な例としては、各ブロックは、ハードウェアとして、MPU32とROM33とRAM34とによって実現され、ROM33および(または)RAM34上のプログラムによって制御されるMPU32の動作によって実現される。
システム制御部41は、NANDインターフェース35の動作を司る。コマンド発行部42は、システム制御部41の指示に従ってメモリ21が認識可能な各種のコマンドをメモリ21に供給する。このようなコマンドは、例えばROM33中に格納されており、一般的な書き込みコマンド、読み出しコマンド、消去コマンド、コピーコマンド等を含んでいる。システム制御部41は、ECC管理部41aを含んでいる。ECC管理部41aは、ECC処理部43の動作を管理する。
コマンド発行部42は、第1コマンド発行部42a、第2コマンド発行部群42bを含んでいる。第2コマンド発行群は、1つまたは複数の第2コマンド発行部からなる。第1コマンド発行部42aと第2コマンド発行部群42bとは、相互に独立しており、相互に制約を受けることなくシステム制御部41の指示に従ってコマンドを発行することができるように構成されている。第1コマンド発行部42aおよび第2コマンド発行部群42bは、コマンド発行部42が実行可能な各種のコマンドを発行可能である。また、第2コマンド発行部同士も、相互に独立しており、相互に制約を受けることなくシステム制御部41の指示に従ってコマンドを発行することができるように構成されている。第2コマンド発行部群42bのうちの各第2コマンド発行部同士の特徴は同じである。したがって、以下の説明では、単に第2コマンド発行部42bという記載を用い、この記載は、「第2コマンド発行部群のうちの任意の1つ」を意味するものとする。
ECC処理部43は、システム制御部41の指示に従って、供給されたデータを一時的に保持し、保持されているデータに所定の処理を行なう。このようなデータ処理には、ECCを用いてデータに対してエラーの検出および(または)訂正(ECCデコード)、およびエラー訂正されたデータへのECCの付加等が含まれる。
次に、図6、図7を参照して、第1実施形態に係るメモリデバイスの動作について説明する。図6は、第1実施形態に係るメモリデバイスの一動作時のデータの授受の様子を概略的に示している。図7は、第1実施形態に係るメモリデバイスの一動作を、各工程の実行主体ごとに時系列に沿って示している。
メモリデバイス2は、少なくとも2種類のコピー動作を実行可能に構成されている。1つ目のコピー動作は、メモリ21からコントローラ22へのデータの読み出しと、コントローラ22内でのデータ処理と、コントローラ22からメモリ21へのデータの書き込みと、を含んでいる。このコピー動作は、システム制御部41により制御され、後述の別のコピー動作と区別するために、単にコピー動作または通常コピー動作と称する。
通常コピー動作は、一例として、複数ビットのデータを記憶しているセルトランジスタ中のデータを、1ビットのデータを記憶するセルトランジスタへとコピーすることを目的に行われる。多ビットのデータの記憶を実現するには、2つ以上の閾値の任意の1つをメモリセルに持たせる必要があり、その結果、制御が複雑になる。このような制御は高度な制御を含んでいるので、データの信頼性を確保するため、読み出された複数ビットデータに対してエラー訂正を行なうことが好ましい。このため、通常コピー動作には、ECCを用いたエラー訂正が含まれている。記憶装置によっては、読み出された複数ビットのデータ(コピーのために読み出されたデータも含む)に対しては原則エラー訂正を行なうことになっていることがある。通常コピー動作は、例えば、いわゆる引越し書き込みを行なう際に用いられ得る。引越し書き込みとは、NAND型フラッシュメモリは上書きを行なえない故に必要な処理である。引越し書き込みでは、ブロックに格納されているデータの一部のみを書き換える要求に対して、書き換えられる新データが消去済みの新ブロックに書き込まれ、旧データ(新データに書き換えられるデータ)を含んでいる旧ブロックから、書き換えられないデータが新ブロックにコピーされる。
2つ目のコピー動作は、メモリ21のあるページ(またはブロック)中に格納されているデータの別のページ(またはブロック)へのコピーを含んでいる。この2つ目のコピー動作は、メモリ21によってサポートされており、コマンド発行部42から発行されたコマンドによって実行されることが可能である。2つ目のコピー動作を、ダイレクトコピー動作と称し、ダイレクトコピー動作の実行を命じるコマンドをダイレクトコピーコマンドと称する。
ダイレクトコピー動作は、一例として、1ビットデータを記憶している複数のセルトランジスタ中のデータを、複数ビットデータとして1つのセルトランジスタへとコピーすることを目的に行なわれる。1ビットデータは複数ビットのデータよりも高い信頼性で書き込みおよび読み出しされることが可能であるので、このようなコピーを、エラー訂正を経ずに実行しても信頼性を確保できる。記憶装置によっては、複数ビットのデータの書き込みが可能であっても、複数ビットデータの書き込みが、まずデータが1ビットデータとして書き込まれて、しかる後に、1ビットデータが複数ビットデータとしてコピーされることによって、実行されることになっていることがある。このような場合、ダイレクトコピーコマンドが用いられ得る。
図6、図7に示すように、メモリデバイス2は、時刻T1からT8にわたって通常コピー動作を実行する。より具体的には、メモリデバイス2は、あるブロックBLK3中のデータを別のブロックBLK0にコピーすることを予定している。上記の例に従えば、ブロックBLK3中の各セルトランジスタは複数ビットデータを格納しており、ブロックBLK0中のセルトランジスタは1ビットデータを記憶することになる。通常コピー動作を行なうために、システム制御部41は、第1コマンド発行部42aに、読み出しコマンドを発行することを命じる。読み出しコマンドは、コピー対象のデータのアドレスを指定している。第1コマンド発行部42aは、このような読み出しコマンドをメモリ21に供給する(ステップS1、時刻T1)。コピー対象のデータは、一例に従えば、1セルトランジスタ当たり複数ビットのデータであり得る。
メモリ21は、読み出しコマンドを受け取ると、読み出し対象のデータを出力する(ステップS2、時刻T2)。出力されたデータは、ECC処理部43によって受け取られ、時刻T3において、メモリ21からECC処理部43へのコピー対象データの転送が終了する。
コピー対象のデータの転送が終了すると、ECC処理部43は、ECC処理部43において保持されているデータに対して所定のデータ処理を開始する(ステップS3、時刻T3)。このデータ処理には、データに含まれるエラーの検出および(または)訂正が含まれる。より具体的には、例えば、ECC処理部43は、データに含まれているECCを用いてデータ中のエラーを検出および(または)訂正する(ECCデコード)。次いで、ECC処理部6は、エラー訂正されたデータに再度ECCを付加する(ECCエンコード)。このデータ処理は、時刻T6まで継続している。
また、時刻T3におけるコピー対象のデータの転送の終了時に、ECC管理部41aは、ECC処理部43からの通知等によって、このデータ転送の終了を認識する。この時点で、メモリ21はレディー状態に入り、時刻T3以降、通常コピーの実行に必要な一連の処理の実行はECC処理部43が担う。このため、メモリ21は、ECC処理部43はデータ処理中故にECC処理部43へのデータの出力を伴わない処理である限り、処理を実行可能である。そこで、システム制御部41は、ECC処理部43でのデータ処理と並行して、ダイレクトコピー動作を実行する。この実行のために、システム制御部41は、第2コマンド発行部42bに、ダイレクトコピーコマンドを発行することを命じる(ステップS4)。ダイレクトコピーコマンドは、コピー対象のデータのアドレス、コピー対象のデータの新たな格納先のアドレスを指定している。このように、コマンド発行部42は、ECC処理部43と並行に動作可能に構成されている。また、システム制御部41は、通常コピー動作の実行中に、メモリ21からのデータの読み出しを伴わない別の処理、例えばダイレクトコピー動作と、を並行して管理および制御できるように構成されている。すなわち、このような並行の処理が可能なように、システム制御部41を制御するプログラム(ファームウェア)が構成されている。また、コマンド発行部42が、2つのコマンド発行部42a、42bを含んでいるので、一方のコマンド発行部42aが関与する処理(例えば通常データ処理)の完了前に、他方のコマンド発行部42bを介して別の処理を命じるコマンドが発行されることが可能になっている。換言すれば、一方のコマンド発行部42aが関与する処理をECC処理部43が実行中に、他方のコマンド発行部42bが動作可能になっている。
メモリ21は、ダイレクトコピーコマンドを受け取ると、ダイレクトコピー動作を行なう(ステップS5、時刻T4)。より具体的には、メモリ21は、指定された記憶領域(例えばブロックBLK1)中のデータを内蔵のバッファに一時的に格納し、格納されたデータを別の記憶領域(例えばブロックBLK2)に書き込む。このコピーは、一例としては、1セルトランジスタ当たり1ビットのデータを、1セルトランジスタ当たり複数ビットのデータとして書き込むことを含み得る。ダイレクトコピー動作は、時刻T5において終了する。このように、時刻T4〜T5の間、メモリ31とECC処理部43は並行して動作している。
次いで、ECC処理部43によるデータ処理が完了する(時刻T6)。データ処理が完了すると、システム制御部41は、ECC処理部43からの通知等によって、このデータ処理の終了を認識する。すると、システム制御部41はコマンド発行部42に書き込みコマンドの発行を命じ、コマンド発行部42は書き込みコマンドを発行する(ステップS6、時刻T6)。この書き込みコマンドの発行は、第1コマンド発行部42aおよび第2コマンド発行部群42bのうちの任意のものによって行なわれてもよい。例えば、通常コピーに関与する一連のコマンドの発行を一貫して第1コマンド発行部42aが担うようにし、第1コマンド発行部42aが当該書き込みコマンドを発行するようにすることが可能である。
次いで、システム制御部41は、ECC処理部43に、再エンコードされたデータをメモリ21に供給することを命じる。ECC処理部43は、この再エンコードされたデータをメモリ21に供給する。次いで、メモリ21は、供給されたデータを、指定された書き込み領域(例えばブロックBLK0)に書き込む(ステップS7、時刻T7)。
このように、第1コマンド発行部42aは、特にメモリ21からのデータの読み出しを伴うコマンドを発行する役割を担う。一方、第2コマンド発行部42bは、特にメモリ21からのデータの読み出しを伴わないコマンドを発行する役割を担う。メモリ21からのデータの読み出しを同時に複数行なうことはできないので、第1コマンド発行部42aは1つで足りる。一方、ECC処理部43での処理中にメモリ21がデータの出力を伴わない複数の処理を同時に行なうことが可能な場合がある。そのため、複数の第2コマンド発行部42bが設けられ、データの出力を伴わない複数の処理を同時に行なうことが可能である。
また、メモリデバイス2は、当然ながら、従来のような、データ処理を伴う処理と並行して別の処理が許可されない制御を行なうことが可能である。このような並行処理が不能なモードと、並行処理(図6、図7のような処理)が可能なモードとが、コントローラ22の処理に応じて選択可能に、コントローラ22が構成されていてもよい。
以上説明したように、第1実施形態に係る記憶装置によれば、システム制御部41およびコマンド発行部42が、ECC処理部43による処理と、メモリ21からのデータの読み出しを伴わない別の処理、例えばダイレクトコピー動作と、を並行して行なえるように構成されている。このため、ECC処理部43による処理を含んでいる通常コピー動作の開始後でECC処理部43によるデータ処理の実行中に、メモリ21からのデータの読み出しを伴わない処理を実行できる。よって、ECC処理部43による処理の時間を有効活用してメモリ21からのデータの読み出しを伴わない処理を行なうことによって、高速な処理が可能な記憶装置を実現できる。より具体的な例としては、通常コピーに含まれるECC処理部による処理の間にダイレクトコピー動作を実行することによって、高速な処理が可能な記憶装置を実現できる。この利点は、例えばシステム制御部がホストからの命令を直ぐに実行せずにバッファ等に貯めておいて、後にこれらの命令をまとめて行なう場合等に、特に有効である。
(第2実施形態)
第1実施形態では、通常コピー動作と並行して実行され得る処理として、ダイレクトコピー動作について説明した。しかし、別の、データの読み出しを伴わない処理、例えば消去動作が行なわれることが可能である。
第1実施形態では、通常コピー動作と並行して実行され得る処理として、ダイレクトコピー動作について説明した。しかし、別の、データの読み出しを伴わない処理、例えば消去動作が行なわれることが可能である。
図8は、第2実施形態に係るメモリデバイスの一動作を、各工程の実行主体ごとに時系列に沿って示している。図8は、第1実施形態(図7)と、ダイレクトコピーコマンドおよびダイレクトコピー動作が、消去コマンドおよび消去動作に、それぞれ置換されている点のみ異なる。その他の構成および特徴については、第1実施形態と全て同じである。
図8に示すように、時刻T3における読み出し対象のデータの転送の終了時に、ECC管理部41aは、ECC処理部43からの通知等によって、このデータ転送の終了を認識する。この時点で、メモリ21はレディー状態に入り、時刻T3以降、通常コピーの実行に必要な一連の処理の実行はECC処理部43が担う。このため、メモリ21は、ECC処理部43はデータ処理中故にECC処理部43へのデータの出力を伴わない処理である限り、処理を実行可能である。そこで、システム制御部41は、時刻T3において、第2コマンド発行部群42bに消去コマンドを発行することを命じる(ステップS11)。メモリ21は、この消去コマンドを受け取ると、消去対象のデータを時刻T4から時刻T5にわたって消去する(ステップS12)。
第2実施形態によれば、第1実施形態と同様に、システム制御部41およびコマンド発行部42が、通常コピー動作と、メモリ21からのデータの読み出しを伴わない別の処理、例えば消去動作と、を並行して行なえるように構成されている。このため、第1実施形態と同じ利点を実現できる。
(第3実施形態)
第1実施形態では、2つの処理のうちの最初に開始される処理がメモリ21からの読み出しとメモリ21への書き込みを伴った通常コピー動作である例に関する。これに対して、第3実施形態では、2つの処理のうちの最初に開始される処理がメモリ21からの読み出し動作のみである例に関する。
第1実施形態では、2つの処理のうちの最初に開始される処理がメモリ21からの読み出しとメモリ21への書き込みを伴った通常コピー動作である例に関する。これに対して、第3実施形態では、2つの処理のうちの最初に開始される処理がメモリ21からの読み出し動作のみである例に関する。
図9は、第3実施形態に係るメモリデバイスの一動作を、各工程の実行主体ごとに時系列に沿って示している。図9は、第1実施形態(図7)と、ステップS6、S7の書き込みに代えてデータ出力が行なわれる点で異なる。その他の構成および特徴については、第1実施形態と全て同じである。
図9に示すように、時刻T3における読み出し対象のデータの転送の終了時に、ECC管理部41aは、ECC処理部43からの通知等によって、このデータ転送の終了を認識する。この時点で、メモリ21はレディー状態に入り、時刻T3以降、通常コピーの実行に必要な一連の処理の実行はECC処理部43が担う。このため、メモリ21は、ECC処理部43はデータ処理中故にECC処理部43へのデータの出力を伴わない処理である限り、処理を実行可能である。そこで、システム制御部41は、時刻T3において、例えば第1実施形態のようにダイレクトコピーコマンドを発行したり、第2実施形態のように消去コマンドを発行したりする。メモリ21は、消去対象のデータを時刻T4から時刻T5にわたってダイレクトコピーしたり消去したりする。
次いで、時刻T6において、ECC処理部43によるデータ処理が完了すると、ECC処理部43は、システム制御部41の指示によりデータを出力する(ステップS21)。この出力されたデータは、SDインターフェース31を介してホスト1に出力される。
第3実施形態によれば、第1実施形態と同様に、システム制御部41およびコマンド発行部42が、通常コピー動作と、メモリ21からのデータの読み出しを伴わない別の処理、例えば消去動作と、を並行して行なえるように構成されている。このため、第1実施形態と同じ利点を実現できる。
その他、各実施形態は、上記のものに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で、種々に変形することが可能である。さらに、上記実施形態には種々の段階が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の実施形態が抽出され得る。例えば、上記各実施形態に示される全構成要件から幾つかの構成要件が削除されても、この構成要件が削除された構成が実施形態として抽出され得る。
1…ホスト、2…メモリデバイス、11…ソフトウェア、12…ファイルシステム、13…SDインターフェース、21…メモリ、22…コントローラ、31…SDインターフェース、32…MPU、33…ROM、34…RAM、35…NANDインターフェース、
41…システム制御部、42、42a、42b…コマンド発行部、43…ECC処理部。
41…システム制御部、42、42a、42b…コマンド発行部、43…ECC処理部。
Claims (5)
- 半導体メモリと、
前記半導体メモリを制御するコントローラであって、前記半導体メモリに読み出しコマンドを発行する第1コマンド発行部と、前記半導体メモリに前記第1コマンド発行部と独立して前記半導体メモリからのデータの読み出しを伴わない処理を指示する第1コマンドを発行可能に構成されている第2コマンド発行部と、前記半導体メモリから供給されたデータに含まれるエラーを訂正するエラー訂正部と、前記エラー訂正部と前記第1コマンド発行部と前記第2コマンド発行部とを制御する制御部と、を含んだコントローラと、
を具備することを特徴とするメモリデバイス。 - 前記第2コマンド発行部が、前記読み出しコマンドの発行後で前記エラー訂正部での処理開始後に前記第1コマンドを発行可能に構成されている、
ことを特徴とする、請求項1に記載のメモリデバイス。 - 前記制御部が、前記エラー訂正部での処理終了後に、前記半導体メモリに前記エラー訂正部からのデータを前記半導体メモリに書き込むための書き込みコマンドを前記第1コマンド発行部または前記第2コマンド発行部に発行させるように構成されている、
ことを特徴とする、請求項2に記載のメモリデバイス。 - 前記第1コマンドが、前記半導体メモリ中でデータを前記半導体メモリ外に読み出すことなくコピーすることを指示するコマンド、または前記半導体メモリ中のデータ消去を指示する消去コマンドを含む、
ことを特徴とする、請求項3に記載のメモリデバイス。 - 前記読み出しコマンドおよび前記書き込みコマンドが、前記半導体メモリ中のデータをコピーするための処理の一部を構成する、
ことを特徴とする、請求項4に記載のメモリデバイス。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010121959A JP2011248682A (ja) | 2010-05-27 | 2010-05-27 | メモリデバイス |
US13/021,243 US8886989B2 (en) | 2010-05-27 | 2011-02-04 | Memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010121959A JP2011248682A (ja) | 2010-05-27 | 2010-05-27 | メモリデバイス |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011248682A true JP2011248682A (ja) | 2011-12-08 |
Family
ID=45023147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010121959A Withdrawn JP2011248682A (ja) | 2010-05-27 | 2010-05-27 | メモリデバイス |
Country Status (2)
Country | Link |
---|---|
US (1) | US8886989B2 (ja) |
JP (1) | JP2011248682A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10096366B2 (en) | 2016-01-28 | 2018-10-09 | Toshiba Memory Corporation | Memory system including multi-plane flash memory and controller |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7447078B2 (en) | 2005-04-01 | 2008-11-04 | Sandisk Corporation | Method for non-volatile memory with background data latch caching during read operations |
JP2010049780A (ja) * | 2008-07-25 | 2010-03-04 | Panasonic Corp | Ecc回路、半導体記憶装置、メモリシステム |
US9753847B2 (en) * | 2009-10-27 | 2017-09-05 | Western Digital Technologies, Inc. | Non-volatile semiconductor memory segregating sequential, random, and system data to reduce garbage collection for page based mapping |
-
2010
- 2010-05-27 JP JP2010121959A patent/JP2011248682A/ja not_active Withdrawn
-
2011
- 2011-02-04 US US13/021,243 patent/US8886989B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8886989B2 (en) | 2014-11-11 |
US20110296235A1 (en) | 2011-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100626393B1 (ko) | 불휘발성 메모리 장치 및 그것의 멀티-페이지 카피백 방법 | |
JP3892851B2 (ja) | メモリカード及び半導体装置 | |
JP5612514B2 (ja) | 不揮発性メモリコントローラ及び不揮発性記憶装置 | |
JP5677336B2 (ja) | メモリ・デバイス | |
JP2008198310A (ja) | ビットエラーの修復方法および情報処理装置 | |
WO2007000862A1 (ja) | メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びデータ書き込み方法 | |
JP5166118B2 (ja) | 半導体メモリの制御方法 | |
US8819332B2 (en) | Nonvolatile storage device performing periodic error correction during successive page copy operations | |
JP4843222B2 (ja) | 半導体記憶装置の制御方法、メモリカード、及びホスト機器 | |
JP2009048680A (ja) | 記憶装置 | |
JP2020086739A (ja) | メモリコントローラ及びこれを備えるフラッシュメモリシステム | |
JPWO2007105688A1 (ja) | メモリコントローラ、不揮発性記憶装置、及び不揮発性記憶システム | |
US7719893B2 (en) | Nonvolatile memory and apparatus and method for deciding data validity for the same | |
US8085593B2 (en) | Method of inputting address in nonvolatile memory device and method of operating the nonvolatile memory device | |
JP2010128697A (ja) | メモリシステム | |
JP2011248682A (ja) | メモリデバイス | |
US11221945B2 (en) | Semiconductor memory device | |
JP2005292925A (ja) | メモリコントローラ、フラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
US20140281226A1 (en) | Memory card and host device | |
JP2014006811A (ja) | 不揮発性半導体記憶装置 | |
JP4304167B2 (ja) | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 | |
JP4282410B2 (ja) | フラッシュメモリの制御回路、並びに、この制御回路を備えるメモリコントローラ及びフラッシュメモリシステム | |
JP3977859B2 (ja) | 不揮発性半導体メモリ装置及びその制御方法 | |
JP4366283B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム | |
JP4050250B2 (ja) | 不揮発性半導体メモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20130806 |