JP2011118922A - 半導体記憶装置の読出し・書き込み方法 - Google Patents
半導体記憶装置の読出し・書き込み方法 Download PDFInfo
- Publication number
- JP2011118922A JP2011118922A JP2011027055A JP2011027055A JP2011118922A JP 2011118922 A JP2011118922 A JP 2011118922A JP 2011027055 A JP2011027055 A JP 2011027055A JP 2011027055 A JP2011027055 A JP 2011027055A JP 2011118922 A JP2011118922 A JP 2011118922A
- Authority
- JP
- Japan
- Prior art keywords
- data
- transfer
- sector
- host terminal
- buffer
- 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
【課題】各バッファRAMのサイズを1セクタサイズ相当に低減し、製造コストが安価で、高速転送が可能であるとともに、書き込み・読出しの高速処理が可能な半導体記憶装置を提供する。
【解決手段】フラッシュメモリ(2)の1ブロックの容量サイズは外部ホストの処理単位である1セクタサイズの複数倍であり、外部ホストとフラッシュメモリ(2)間のデータ転送を媒介する第1及び第2のバッファRAMは、各々がフラッシュメモリ(2)の1セクタサイズに相当する容量を有し、外部ホストとバッファRAM間のデータ転送、フラッシュメモリとバッファRAM間のデータ転送は、それぞれ第1及び第2のバッファRAMのうち別々のバッファRAMを交互に選択して、バッファRAMと外部ホスト間でのデータ授受と、バッファRAMとフラッシュメモリ間でのデータ授受を同時並列的に行う。
【選択図】図1
【解決手段】フラッシュメモリ(2)の1ブロックの容量サイズは外部ホストの処理単位である1セクタサイズの複数倍であり、外部ホストとフラッシュメモリ(2)間のデータ転送を媒介する第1及び第2のバッファRAMは、各々がフラッシュメモリ(2)の1セクタサイズに相当する容量を有し、外部ホストとバッファRAM間のデータ転送、フラッシュメモリとバッファRAM間のデータ転送は、それぞれ第1及び第2のバッファRAMのうち別々のバッファRAMを交互に選択して、バッファRAMと外部ホスト間でのデータ授受と、バッファRAMとフラッシュメモリ間でのデータ授受を同時並列的に行う。
【選択図】図1
Description
本発明は半導体記憶装置に関し、特に、ブロック単位でリード・ライト・イレースされるフラッシュメモリを用いた半導体ディスク装置などの大容量半導体記憶装置に関し、不揮発性半導体メモリとして大容量メモリを用いて高性能でかつ製造コストの低減を実現した半導体記憶装置に関する。
従来、不揮発性半導体メモリとして、例えば、三菱電機(株)製の M5M29F25611VP や日立製作所(株)製の HN29W25611 などが使用され、これらは2kバイトのブロック単位でリード、ライト処理を行うフラッシュメモリである。このフラッシュメモリを搭載した半導体記憶装置の場合、ホスト端末とのデータ転送とフラッシュメモリとのデータ転送を並列処理させるために、フラッシュメモリは、図7に示すように、各2kバイトのブロックを複数枚有し、2個のバッファRAM(R1,R2)は各々1ブロックの容量サイズを有するものであった。
このように、図7に示す従来の半導体記憶装置では、各バッファRAMの容量は1ブロックの容量サイズに相当、即ち、1セクタサイズの複数倍(例えば4セクタサイズ相当)であった。
ホスト端末機とバッファRAM間のデータ転送、フラッシュメモリとバッファRAM間のデータ転送は、2つのバッファRAM(R1,R2)のうちそれぞれ別々のバッファRAMを選択して行い、一方のバッファRAM(例えばR1)がホスト端末機とデータ送受信を行っている際には、もう一方のバッファRAM(例えばR2)はフラッシュメモリとの間でデータ送受信を行うように構成されていた。
ここで、バッファRAMとホスト端末機間およびバッファRAMとフラッシュメモリ間でのデータ転送は、1ブロック相当の複数セクタ分のデータを一括してデータ転送を行うように構成され、フラッシュメモリに対するコマンドはブロック(4セクタ)単位で実施されている。
図7(a)はフラッシュメモリからホスト端末への従来のデータ読出し動作を示す模式図であり、図7(b)はホスト端末からフラッシュメモリへのデータ書き込み動作を示す模式図であり、フラッシュメモリは1ブロックサイズが2kバイト(4セクタサイズ)で構成された場合を示している。
図7(a)に示すフラッシュメモリからのデータ読出し動作において、破線矢印で示すデータ転送は、フラッシュメモリから1ブロックのデータが予めバッファRAM(R1)に格納され、次に実線矢印で示した2つのデータ転送を同時に行うことを示している。即ち、バッファRAM(R1)に先に格納されたデータをバッファRAM(R1)から読み出してホストに転送すると同時的に、フラッシュメモリから次のブロックのデータを読み出してもう一方のバッファRAM(R2)に転送し格納する。
同様に、図7(b)に示すホスト端末からフラッシュメモリへのデータ書き込み動作において、破線矢印で示すデータ転送は、ホストから1ブロックに対するデータが予めバッファRAM(R1)に格納され、次に実線矢印で示した2つのデータ転送を同時に行うことを示している。即ち、バッファRAM(R1)に先に格納されたデータを読み出してフラッシュメモリに転送するのと同時的に、ホスト端末から次のブロックに対するデータをバッファRAM(R2)に転送し格納する。
また、特開昭64−74649号公報(特許文献1)では、磁気ディスク装置において、各々複数セクタ分の容量を持った2個のバッファメモリを有し、1セクタ分のデータを読み出して格納し、そのデータを転送している間に、他方のバッファメモリに別の1セクタ分のデータを読み出して格納する技術が開示されている。ここで、各々複数セクタ分の容量を持った2個のバッファメモリを備えることは、転送データの履歴を残すことにより、故障解析を容易にするためである。
このように、従来技術では各バッファRAMが複数セクタ分の容量を持った構成であるので、バッファメモリの容量が大きくなり、将来、フラッシュメモリの大容量化がさらに進み、ブロックサイズが例えば4kバイト、8kバイト等と大きくなった場合、従来の技術構成ではバッファRAMも同様に大きく構成しなければならない。このため、コントローラ等を含む装置全体のコストも高くなることは避けられなかった。
また、バッファサイズが小さいままで、そのバッファサイズ毎にリードコマンドやライトコマンドを実行すると、コマンド実行のオーバーヘッドが余分に加わるため効率が悪くなり、ホスト端末側から見た書き込み・読出し速度が遅くなるという課題があった。
本発明は、上記課題を解決するためになされたもので、各バッファRAMのサイズを1セクタサイズ相当に低減し、製造コストが安価で、高速転送が可能であるとともに、書き込み・読出しの高速処理が可能な半導体記憶装置及びその読出し・書き込み方法を提供することを目的とする。
また、本発明の他の目的は、上記性能を有するとともに、誤り訂正によりデータの信頼性向上が図れる半導体記憶装置を提供することを目的とする。
上記目的を達成するために、本発明による半導体記憶装置は、システムバスを介して外部ホスト端末とデータ転送可能に接続され、
複数個のブロック構成を有する不揮発性半導体メモリであって、各ブロック単位で読出し・書き込みのコマンドが実行処理され、1ブロックの容量サイズは外部ホスト端末がデータ読出し・書き込み単位とする1セクタサイズの複数倍である不揮発性半導体メモリと、
上記外部ホスト端末と上記不揮発性半導体メモリ間のデータ転送を媒介する2個のバッファメモリであって、各々が上記不揮発性半導体メモリの1セクタサイズに相当する容量を有する第1及び第2のバッファメモリと、
上記外部ホスト端末と上記バッファメモリ間のデータ転送および上記不揮発性半導体メモリと上記バッファメモリ間のデータ転送は、それぞれ上記第1及び第2のバッファメモリのうち別々のバッファメモリを選択し、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うように制御する制御手段とを有することを特徴とする。
複数個のブロック構成を有する不揮発性半導体メモリであって、各ブロック単位で読出し・書き込みのコマンドが実行処理され、1ブロックの容量サイズは外部ホスト端末がデータ読出し・書き込み単位とする1セクタサイズの複数倍である不揮発性半導体メモリと、
上記外部ホスト端末と上記不揮発性半導体メモリ間のデータ転送を媒介する2個のバッファメモリであって、各々が上記不揮発性半導体メモリの1セクタサイズに相当する容量を有する第1及び第2のバッファメモリと、
上記外部ホスト端末と上記バッファメモリ間のデータ転送および上記不揮発性半導体メモリと上記バッファメモリ間のデータ転送は、それぞれ上記第1及び第2のバッファメモリのうち別々のバッファメモリを選択し、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うように制御する制御手段とを有することを特徴とする。
上記制御手段は、外部ホスト端末からのデータ読出し・書き込みの要求に応答して、前記不揮発性半導体メモリのブロックに対する読出し・書き込みのコマンドを印加し、順次セクタデータ毎に前記バッファメモリを介して外部ホスト端末と前記不揮発性半導体メモリ間のデータの授受を行う。
また、上記制御手段は、1つのセクタデータの転送後は次のセクタデータの転送が継続できるように前記不揮発性半導体メモリへの制御レベルを保持し、データ転送の同時並列処理を行う。
上記構成により、バッファメモリの容量を小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホスト端末からみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となり、処理時間の短縮を図ることができる。
本発明の他の態様による半導体記憶装置は、上記不揮発性半導体メモリに格納されたデータの誤りを訂正制御する誤り訂正手段を更に有し、誤り訂正のための冗長データは各セクタデータ毎にセクタデータの直後に格納することもできる。
上記誤り訂正手段は、前記不揮発性半導体メモリからバッファメモリへのデータ読出しの際には、これと同時並行して上記誤り訂正手段にセクタデータと冗長データが転送され、訂正可能な誤りが検出された場合には前記バッファメモリ上のデータを訂正し、該バッファメモリから上記不揮発性半導体メモリへの書き込みの際には、これと同時並行して上記誤り訂正手段にセクタデータを転送して冗長データを生成し、生成された冗長データを上記不揮発性半導体メモリに転送することもできる。
上記誤り訂正手段は、前記不揮発性半導体メモリからバッファメモリへのデータ読出しの際には、これと同時並行して上記誤り訂正手段にセクタデータと冗長データが転送され、訂正可能な誤りが検出された場合には前記バッファメモリ上のデータを訂正し、該バッファメモリから上記不揮発性半導体メモリへの書き込みの際には、これと同時並行して上記誤り訂正手段にセクタデータを転送して冗長データを生成し、生成された冗長データを上記不揮発性半導体メモリに転送することもできる。
これにより、データの誤りを訂正制御手段が付加されたことにより、前述の効果に加えて、データの信頼性を向上させることができる。
更に、本発明による不揮発性半導体メモリのデータ読出し方法は、
読出し制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
最初のセクタデータを読出してバッファメモリに格納し、ホスト端末への読出し転送を行う工程と、
転送セクタ数を1減算カウントした後、バッファRAMからホスト端末へのデータ転送中か転送完了しているかを判定する工程と、
ホスト端末へのデータ転送完了時に、ホスト端末へのデータ転送要求を発行し、バッファメモリからホスト端末へのデータ転送を開始する工程と、
処理されるべき転送セクタ数が0か否か判定する工程、とを有し、
転送セクタ数が0の場合は、ブロック処理を完了し、転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、対象セクタ番号を1だけインクレメントして次のセクタからの読出しを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする。
読出し制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
最初のセクタデータを読出してバッファメモリに格納し、ホスト端末への読出し転送を行う工程と、
転送セクタ数を1減算カウントした後、バッファRAMからホスト端末へのデータ転送中か転送完了しているかを判定する工程と、
ホスト端末へのデータ転送完了時に、ホスト端末へのデータ転送要求を発行し、バッファメモリからホスト端末へのデータ転送を開始する工程と、
処理されるべき転送セクタ数が0か否か判定する工程、とを有し、
転送セクタ数が0の場合は、ブロック処理を完了し、転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、対象セクタ番号を1だけインクレメントして次のセクタからの読出しを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする。
また、本発明による不揮発性半導体メモリへのデータ書き込み方法は、
書き込み制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
ホストからのデータ転送要求を発行し、バッファメモリへのデータ転送を開始する工程と、
フラッシュメモリのプログラム完了時に、ライトコマンド・ブロックアドレス印加処理を行う工程と、
ホスト端末からのデータ転送完了を待って、転送セクタ数を1減算カウントした後、処理されるべき転送セクタ数が0か否か判定する工程と、を有し、
転送セクタ数が0の場合は、ライトセクタ書き込み転送処理した後、ブロック処理を完了し、
転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、ホスト端末からのデータ転送要求を発行し、バッファメモリへのデータ転送を開始し、ライトセクタ書き込み転送を行い、対象セクタ番号を1だけインクレメントして次のセクタへの書き込みを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする。
書き込み制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
ホストからのデータ転送要求を発行し、バッファメモリへのデータ転送を開始する工程と、
フラッシュメモリのプログラム完了時に、ライトコマンド・ブロックアドレス印加処理を行う工程と、
ホスト端末からのデータ転送完了を待って、転送セクタ数を1減算カウントした後、処理されるべき転送セクタ数が0か否か判定する工程と、を有し、
転送セクタ数が0の場合は、ライトセクタ書き込み転送処理した後、ブロック処理を完了し、
転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、ホスト端末からのデータ転送要求を発行し、バッファメモリへのデータ転送を開始し、ライトセクタ書き込み転送を行い、対象セクタ番号を1だけインクレメントして次のセクタへの書き込みを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする。
上記不揮発性半導体メモリのデータ読出し・書き込み方法によれば、バッファメモリの容量を小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホスト端末からみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となり、処理時間の短縮を図ることができる。
以上のように、本発明によれば、バッファRAMの容量を小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホストからみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となる。さらに、上記効果を損なうことなく、誤り訂正によりデータの信頼性向上が図れる。
(実施例1)
図1乃至図5を用いて本発明の第1の実施例について説明する。なお、各図において共通する要素には同一の符号を付し、重複する説明については省略している。
図1乃至図5を用いて本発明の第1の実施例について説明する。なお、各図において共通する要素には同一の符号を付し、重複する説明については省略している。
図1は、本発明による不揮発性半導体メモリを用いて構成された半導体記憶装置の1実施例のブロック構成を示す。同図において、半導体記憶装置は、制御信号生成手段としての機能を有する制御信号生成シーケンサ(SEQ)1と、複数のブロック階層構造を有するフラッシュメモリ2と、2つのバッファRAM(R1,R2)と、双方向バッファ3と、4つのセレクタ(S1,S2,S3,S4)とを備える。バッファRAM(R1,R2)は、それぞれホスト端末機からのデータの読出し・書き込みができるように、データバスによってセレクタ(S1,S2,S3)を介してホストインターフェース部4と接続されている。同様に、バッファRAM(R1,R2)は、フラッシュメモリ2に対するデータの読出し・書き込みができるように、データバスによってセレクタ(S2,S3,S4)および双方向バッファ3を介してフラッシュメモリ2と接続され、各セレクタによって接続されるデータバスが選択される。
ここで、制御信号生成シーケンサ(SEQ)1は、各種のデータ転送を実施するために適切なタイミングで各ブロックに対して制御信号を与え、各セレクタの切替制御、バッファRAM(R1,R2)への制御信号、ブロックアドレス、フラッシュメモリ2への制御信号は全て制御信号生成シーケンサ(SEQ)1によって生成される(図3を用いて後述する)。
図1に示す半導体記憶装置では、フラッシュメモリのリード、ライト、イレース処理はブロック単位で行われ、この1ブロックの容量サイズはホスト端末機が処理単位とする1セクタサイズの整数倍であり、本実施例では1ブロックサイズが4セクタサイズである構成例を示している。
本発明では、ホスト端末機とフラッシュメモリ間のデータ転送を媒介するために設けられた2つのバッファRAM(R1,R2)としては、各々の記憶容量がホスト端末機の処理単位である1セクタサイズと同じ容量サイズのものが使用される。そのため、ホスト端末機とバッファRAM間のデータ転送、フラッシュメモリとバッファRAM間のデータ転送は、2つのバッファRAM(R1,R2)のうちそれぞれ別々のバッファRAMを選択して行い、一方のバッファRAM(例えばR1)がホスト端末機とデータの送受信を行っている際には、もう一方のバッファRAM(例えばR2)はフラッシュメモリとのデータ送受信を行うように構成されている。
ホスト端末機からの読出し・書き込みの要求に応答して、制御信号生成シーケンサ(SEQ)1は、フラッシュメモリのアドレス指定されたブロックに対するリードコマンド・ライトコマンドを印加し、順次セクタ単位毎にバッファRAMを介してホスト端末機とフラッシュメモリ間のデータの授受を行い、これをブロック単位毎に繰り返してリードコマンド・ライトコマンドを実行する。ここで、1つのセクタデータの転送後は次のセクタデータの転送が継続できるようにフラッシュメモリへの制御信号はそのレベルが保持される。
図2(a)はフラッシュメモリからホスト端末へのデータ読出し動作を示す模式図であり、図2(b)はホスト端末からフラッシュメモリへのデータ書き込み動作を示す模式図であり、フラッシュメモリは1ブロックサイズが2kバイト(4セクタサイズ)で構成された場合を示している。
図2(a)に示すフラッシュメモリからのデータ読出し動作において、破線矢印で示すデータ転送Dtr1は、フラッシュメモリから例えばセクタ1のデータが前段階の処理ステップで予めバッファRAM(R1)に格納されていることを示している。次に実線矢印で示した2つのデータ転送Dtr2とDtr3 を同時に行う。即ち、バッファRAM(R1)に先に格納されたセクタ1のデータをバッファRAM(R1)から読み出してホストに転送する(Dtr3)と同時的に、フラッシュメモリから次のセクタ2のデータを読み出してもう一方のバッファRAM(R2)に転送(Dtr2)し格納する。バッファRAM(R2)に格納されたセクタ2のデータを読み出してホストに転送するときは、それと同時に、フラッシュメモリから次のセクタ3のデータを読み出してもう一方のバッファRAM(R1)に転送し格納する。
同様に、図2(b)に示すホストからフラッシュメモリへのデータ書き込み動作において、破線矢印で示すデータ転送Dtw1は、ホスト端末から例えばセクタ1に対するデータが予めバッファRAM(R1)に格納されていることを示している。次に実線矢印で示した2つのデータ転送Dtw2とDtw3 を同時に行う。即ち、バッファRAM(R1)に先に格納されたセクタ1に対するデータを読み出してフラッシュメモリに転送する(Dtw3)と同時的に、ホスト端末から次のセクタ2に対するデータをバッファRAM(R2)に転送(Dtw2)し格納する。
図3(a)はフラッシュメモリからのデータ読出し動作における制御信号生成シーケンサ(SEQ)1からの制御信号のタイミング波形図を示し、図3(b)はフラッシュメモリへのデータ書き込み動作における制御信号のタイミング波形図を示す。
フラッシュメモリに対するコマンドはブロック(4セクタ)単位で実施されるため、各コマンドの実施は、コマンド・ブロックアドレス印加ステップ(read open, write open)と、セクタ転送(読出し・書き込み)ステップ(read sector, write sector)と、ブロック処理完了ステップ(read close, write close)とに分けて制御する。各ステップ完了後はそのままの制御信号レベルを保持するので、次のステップまで時間間隔があってもそのままフラッシュメモリに対するコマンドを継続することができる。
図3(a)に示すデータ読出し動作における制御タイミングにおいて、/CEはチップイネーブル入力を示し、/CEの立ち上がりでスタンバイ状態に戻る。コマンド・アドレス印加によってチップイネーブル状態が開始され、ブロック処理完了ステップ(read close)までレベル保持される。同図において、上付線を付した信号/CE,/WE,/OEはLOWアクティブ信号であることを示し、tAはアクセス時間を示している。/OEはアウトプットイネーブル信号を示し、/OE=Lレベルの間フラッシュメモリからデータが出力され、コマンド入力前は/OE=Hレベル(出力ディスエーブル)状態から開始されている。
コマンド・アドレス印加によって制御イネーブル状態となると、バッファRAMへのライトイネーブル信号/WEは初期化され、フラッシュメモリから1セクタ分のデータを予め一方のバッファRAM(R1)に格納し(WE0)、次に所定時間後に、このバッファRAM(R1)に格納されたセクタのデータを読み出してホストに転送する(OE0)。これと同時的に、フラッシュメモリから次のセクタのデータを読み出してもう一方のバッファRAM(R2)に転送し格納する(WE1)。1セクタ分のデータ転送が終了すると処理は次のセクタに移行し、読出し転送セクタを順次セクタ0からセクタ4までセクタ単位毎に指定(SC)することにより、2つのバッファRAMを介してホスト端末機とフラッシュメモリ間のデータの授受を行い、これをブロック単位毎に繰り返してリードコマンドを実行する。ここで、SCは各セクタ毎の転送データ量を計数し転送セクタを取得するシリアルクロック入力信号を示し、リードデータはSCの立ち上がりでラッチされる。
図3(b)に示すデータ書き込み動作における制御タイミングについても、図3(a)に示す制御タイミングとほぼ同様であり、常時/OE=Hレベルの間出力ディスエーブル状態となる。write close時の“確認”は、フラッシュメモリへの書込みを行うに当たって確認コマンドを入れることを示している。その他の動作については図3(a)と同様であるので、ここではその説明は省略する。
図4は本実施例の半導体記憶装置の読出し動作についての内部動作のフローチャートを示す。先ず、ステップ#401では、読出し制御の初期化によって開始ブロックアドレス(BA)と開始セクタ番号(i)と転送セクタ数(SC)が取得される。ステップ#402でリードコマンド・ブロックアドレス印加(read open)処理がおこなわれた後、ステップ#403でリードセクタ転送(読出し)(read sector)に移行し、最初のセクタデータの読出し、バッファRAMへの格納およびホスト端末への転送が行われる。ステップ#404で転送セクタ数(SC)が1減算カウントされた後、ステップ#405でバッファRAMからホスト端末へのデータ転送中か転送完了しているかが判定される。ホスト端末へのデータ転送中の場合は、転送完了を待って(ステップ#406)、転送完了の場合は、ステップ#407でホスト端末へのデータ転送要求を発行し、バッファRAMからホストへのデータ転送が開始される(ステップ#408)。
次にステップ#409で、転送セクタ数(SC)が0(未転送セクタなし)か否か(未転送セクタ有り)が判定され、未転送セクタなしの場合(SC=0)は、ブロック処理完了ステップ(read close) #410に移行する。未転送セクタ有りの場合(SC>0)は、ステップ#411でバッファRAMの切り替えが行われ、対象セクタ番号を1だけインクレメントして次のセクタからの読出しに移行する(ステップ#412)。
ステップ#413で対象セクタ番号(i)が上限値か否か判定され、上限値以下の場合はステップ#403の処理工程にもどり、上限値より大の場合は、ブロック処理完了ステップ(read close)#414での処理の後、ステップ#415でブロックアドレス(BA)を次のブロックに移行して対象セクタ番号(i)をi=0に設定し、再びステップ#402からの処理工程を繰り返す。
ここで、本実施例ではセクタ番号(i)の上限値を4(セクタ)としているが、本発明はこれに限定されるものではなく、1ブロックのセクタサイズは任意である。
図5は本実施例の半導体記憶装置の書き込み動作についての内部動作のフローチャートを示す。図4の読出し動作の場合と同様に、先ず、ステップ#501では、書き込み制御の初期化によって開始ブロックアドレス(BA)と開始セクタ番号(i)と転送セクタ数(SC)が取得される。次に、ステップ#502でホストからのデータ転送要求を発行し、バッファRAMへのデータ転送が開始される(ステップ#503)。ステップ#504でフラッシュメモリのプログラム完了待ちを行った後、ステップ#505でライトコマンド・ブロックアドレス印加(write open)処理が行われる。
ホスト端末からのデータ転送完了を待って(ステップ#506)、ステップ#507で転送セクタ数(SC)が1減算カウントされた後、ステップ#508で、転送セクタ数(SC)が0(未転送セクタなし)か否(未転送セクタ有り)か判定される。未転送セクタなしの場合(SC=0)は、ステップ#509のライトセクタ転送(書き込み)(write sector)に移行し、ブロック処理完了ステップ(write close) #510を経て、ステップ#511でフラッシュメモリのプログラム完了待ちを行った後終了する。
未転送セクタ有りの場合(SC>0)は、ステップ#512でバッファRAMの切り替えが行われ、ステップ#513でホストからのデータ転送要求を発行し、バッファRAMへのデータ転送が開始される(ステップ#514)。次に、ステップ#515でライトセクタ転送(書き込み)(write sector)処理を行い、対象セクタ番号を1だけインクレメントして次のセクタへの書き込みに移行する(ステップ#516)。
ステップ#517で対象セクタ番号(i)が上限値か否か判定され、上限値以下の場合はステップ#506の処理工程にもどり、上限値より大の場合は、ブロック処理完了ステップ(write close)#518での処理の後、ステップ#519でブロックアドレス(BA)を次のブロックに移行して対象セクタ番号(i)をi=0に設定し、再びステップ#504からの処理工程を繰り返す。
本実施例によれば、バッファRAMの容量を従来技術の複数セクタ分相当と比べて顕著に小さくできるので、低コストでの製造が可能となり、転送の並列処理ができるので、ホストからみて高速な転送が実現できる。また、フラッシュメモリに対してブロック単位で処理を行うので、高速な書き込み・読出しが可能となる。
(実施例2)
図6を用いて本発明の第2の実施例について説明する。図1に示す実施例1の構成と異なるところは、本実施例2では誤り訂正制御手段(ECC)5を追加したことである。図6に示すように、セレクタS4と双方向バッファ3との間に誤り訂正制御手段(ECC)5を介在接続させることにより、フラッシュメモリ2からバッファRAM(R1,R2)へのデータ読出しの際に、これと並行して誤り訂正制御手段(ECC)5にセクタデータと誤り訂正用の冗長データが転送され、訂正可能な誤りが検出された場合にバッファRAM上のデータを訂正しておくようにする。
図6を用いて本発明の第2の実施例について説明する。図1に示す実施例1の構成と異なるところは、本実施例2では誤り訂正制御手段(ECC)5を追加したことである。図6に示すように、セレクタS4と双方向バッファ3との間に誤り訂正制御手段(ECC)5を介在接続させることにより、フラッシュメモリ2からバッファRAM(R1,R2)へのデータ読出しの際に、これと並行して誤り訂正制御手段(ECC)5にセクタデータと誤り訂正用の冗長データが転送され、訂正可能な誤りが検出された場合にバッファRAM上のデータを訂正しておくようにする。
バッファRAMからフラッシュメモリへのデータ書き込みの際には、これと並行して誤り訂正制御手段(ECC)5にセクタデータを転送して冗長データを生成し、生成された冗長データをフラッシュメモリ2に転送する。誤り訂正のための冗長データは各セクタデータ毎にセクタデータの直後に格納するように構成される。なお、上記以外の要素については実施例1と共通するので、その説明についてはここでは省略する。
上記構成により、実施例1で得られる効果のほかに、誤り訂正により処理データの信頼性向上が図れるといった効果が得られる。
1 制御信号生成シーケンサ
2 フラッシュメモリ
3 双方向バッファ
4 ホストインターフェース
R1,R2 バッファRAM
S1〜S4 セレクタ
5 ECC回路
2 フラッシュメモリ
3 双方向バッファ
4 ホストインターフェース
R1,R2 バッファRAM
S1〜S4 セレクタ
5 ECC回路
Claims (2)
- システムバス上に接続された2個のバッファメモリを介して外部ホスト端末とデータ転送可能に接続された不揮発性半導体メモリのデータ読出し方法であって、
読出し制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
最初のセクタデータを読出してバッファメモリに格納し、ホスト端末への読出し転送を行う工程と、
転送セクタ数を1減算カウントした後、バッファメモリからホスト端末へのデータ転送中か転送完了しているかを判定する工程と、
ホスト端末へのデータ転送完了時に、ホスト端末へのデータ転送要求を発行し、バッファメモリからホスト端末へのデータ転送を開始する工程と、
処理されるべき転送セクタ数が0か否か判定する工程、とを有し、
転送セクタ数が0の場合は、ブロック処理を完了し、転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、対象セクタ番号を1だけインクレメントして次のセクタからの読出しを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする不揮発性半導体メモリのデータ読出し方法。 - システムバス上に接続された2個のバッファメモリを介して外部ホスト端末とデータ転送可能に接続された不揮発性半導体メモリへのデータ書き込み方法であって、
書き込み制御の初期化によって開始ブロックアドレスと開始セクタ番号と転送セクタ数を取得する工程と、
ホストからのデータ転送要求を発行し、バッファメモリへのデータ転送を開始する工程と、
フラッシュメモリのプログラム完了時に、ライトコマンド・ブロックアドレス印加処理を行う工程と、
ホスト端末からのデータ転送完了を待って、転送セクタ数を1減算カウントした後、処理されるべき転送セクタ数が0か否か判定する工程と、を有し、
転送セクタ数が0の場合は、ライトセクタ書き込み転送処理した後、ブロック処理を完了し、
転送セクタ数が0より大の場合は、バッファメモリの切り替えを行い、ホスト端末からのデータ転送要求を発行し、バッファメモリへのデータ転送を開始し、ライトセクタ書き込み転送を行い、対象セクタ番号を1だけインクレメントして次のセクタへの書き込みを行い、一方のバッファメモリが外部ホスト端末との間で1セクタ分のデータの授受を行っている際には、もう一方のバッファメモリは不揮発性半導体メモリとの間で別の1セクタ分のデータの授受を行うことを特徴とする不揮発性半導体メモリへのデータ書き込み方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011027055A JP2011118922A (ja) | 2011-02-10 | 2011-02-10 | 半導体記憶装置の読出し・書き込み方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011027055A JP2011118922A (ja) | 2011-02-10 | 2011-02-10 | 半導体記憶装置の読出し・書き込み方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001084921A Division JP4711531B2 (ja) | 2001-03-23 | 2001-03-23 | 半導体記憶装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011118922A true JP2011118922A (ja) | 2011-06-16 |
Family
ID=44284093
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011027055A Pending JP2011118922A (ja) | 2011-02-10 | 2011-02-10 | 半導体記憶装置の読出し・書き込み方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011118922A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013068105A (ja) * | 2011-09-21 | 2013-04-18 | Hitachi Automotive Systems Ltd | 自動車用電子制御装置 |
JP2013182456A (ja) * | 2012-03-02 | 2013-09-12 | Hitachi Automotive Systems Ltd | 自動車用電子制御装置 |
JP2014207010A (ja) * | 2014-07-15 | 2014-10-30 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
CN118426711A (zh) * | 2024-07-05 | 2024-08-02 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175311A (ja) * | 1997-12-05 | 1999-07-02 | Tdk Corp | フラッシュメモリシステム |
-
2011
- 2011-02-10 JP JP2011027055A patent/JP2011118922A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11175311A (ja) * | 1997-12-05 | 1999-07-02 | Tdk Corp | フラッシュメモリシステム |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013068105A (ja) * | 2011-09-21 | 2013-04-18 | Hitachi Automotive Systems Ltd | 自動車用電子制御装置 |
CN103176906A (zh) * | 2011-09-21 | 2013-06-26 | 日立汽车系统株式会社 | 汽车用电子控制装置及数据的写入方法 |
CN103176906B (zh) * | 2011-09-21 | 2018-10-02 | 日立汽车系统株式会社 | 汽车用电子控制装置及数据的写入方法 |
US10353594B2 (en) | 2011-09-21 | 2019-07-16 | Hitachi Automotive Systems, Ltd. | Electronic control unit for vehicle and method of writing data |
US11360698B2 (en) | 2011-09-21 | 2022-06-14 | Hitachi Astemo, Ltd. | Electronic control unit for vehicle and method of writing data |
JP2013182456A (ja) * | 2012-03-02 | 2013-09-12 | Hitachi Automotive Systems Ltd | 自動車用電子制御装置 |
JP2014207010A (ja) * | 2014-07-15 | 2014-10-30 | 日立オートモティブシステムズ株式会社 | 自動車用電子制御装置 |
CN118426711A (zh) * | 2024-07-05 | 2024-08-02 | 合肥康芯威存储技术有限公司 | 一种存储设备及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4711531B2 (ja) | 半導体記憶装置 | |
US7941586B2 (en) | Flash memory device and memory system controlling a copy-back program operation in hardware | |
US8332569B2 (en) | Nonvolatile memory system using data interleaving scheme | |
US8606988B2 (en) | Flash memory control circuit for interleavingly transmitting data into flash memories, flash memory storage system thereof, and data transfer method thereof | |
US8862963B2 (en) | Nonvolatile memory, memory controller, nonvolatile memory accessing method, and program | |
JP5354404B2 (ja) | コマンドの変更 | |
KR101626084B1 (ko) | 멀티 칩 메모리 시스템 및 그것의 데이터 전송 방법 | |
US6721820B2 (en) | Method for improving performance of a flash-based storage system using specialized flash controllers | |
EP1850348B1 (en) | Method and device for writing to a flash memory | |
US8433980B2 (en) | Fast, low-power reading of data in a flash memory | |
JP5368735B2 (ja) | ソリッドステートディスクコントローラ及びソリッドステートディスクコントローラのデータ処理方法 | |
TW201025468A (en) | Method of preventing data loss during a solder reflow process and memory device using the same | |
CN106855832A (zh) | 数据存储装置及其操作方法 | |
US11755509B2 (en) | Deterministic operation of storage class memory | |
US8154925B2 (en) | Semiconductor memory device and system capable of executing an interleave programming for a plurality of memory chips and a 2-plane programming at the respective memory chips | |
JP2011118922A (ja) | 半導体記憶装置の読出し・書き込み方法 | |
KR101627322B1 (ko) | 비-휘발성 버퍼를 이용한 데이터 저장 장치 및 방법 | |
JP2007310680A (ja) | 不揮発性記憶装置およびそのデータ転送方法 | |
JP2008027326A (ja) | システムコントローラ、該システムコントローラを有するフラッシュメモリシステム、フラッシュメモリモジュールの制御方法 | |
WO2010013437A1 (ja) | 誤り訂正機能付きコントローラ、誤り訂正機能付き記憶装置、及び誤り訂正機能付きシステム | |
JP2010026584A (ja) | メモリコントローラおよび不揮発性記憶装置 | |
KR20170029261A (ko) | 메모리 시스템 및 이의 동작 방법 | |
US8166228B2 (en) | Non-volatile memory system and method for reading and storing sub-data during partially overlapping periods | |
JP2009110551A5 (ja) | ||
JP2009110551A (ja) | 外部記憶装置およびそのメモリアクセス制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120904 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130326 |