JP4149640B2 - Semiconductor memory writing control apparatus and method - Google Patents
Semiconductor memory writing control apparatus and method Download PDFInfo
- Publication number
- JP4149640B2 JP4149640B2 JP2000208542A JP2000208542A JP4149640B2 JP 4149640 B2 JP4149640 B2 JP 4149640B2 JP 2000208542 A JP2000208542 A JP 2000208542A JP 2000208542 A JP2000208542 A JP 2000208542A JP 4149640 B2 JP4149640 B2 JP 4149640B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- physical block
- physical
- write
- written
- 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
【0001】
【発明の属する技術分野】
この発明は、データを記憶する複数の物理ブロックを有し、上位システムから論理ブロックを指定したデータ書込みが行われる半導体メモリにおける書込制御装置及びその方法に関するものである。
【0002】
【従来の技術】
従来のフラッシュメモリ等の半導体メモリにおいては、特定領域のデータの書き換え頻度が高いことによるメモリの一部領域の劣化によって、記憶装置全体の寿命が短縮化されることを防止するため、物理ブロックの消去回数をカウントしておき、消去回数が一定となった場合に、その物理ブロックのデータを別の物理ブロックへコピーする装置が知られている(例えば、特開2000−20252参照)。
【0003】
上記の従来例によると、消去回数のカウントを各物理ブロックで行う必要があり煩わしい。
【0004】
【発明が解決しようとする課題】
本発明は上記のような従来の半導体メモリにおける問題点を解決せんとしてなされたもので、その目的は、消去回数のカウントを各物理ブロックで行うことなく、特定論理ブロック(論理アドレス)へのデータ書込み頻度が高い場合にもメモリ全体の寿命が短くなることを防止し得る半導体メモリの書込制御装置及びその方法を提供することである。
【0005】
【課題を解決するための手段】
本発明に係る半導体メモリの書込制御装置は、データを記憶する複数の物理ブロックを有し、上位システムから論理ブロックを指定したデータ書込みが行われる半導体メモリの書込制御装置において、データを書き込むべき物理ブロックの指定が均等となるように前記複数の物理ブロックを予め定められた順に指定する指定手段と、物理ブロックに新たにデータが書き込めるように、該物理ブロックに記憶したデータを消去する消去手段と、前記指定手段が指定する物理ブロックについて、すでにデータが書き込まれているか否かに従い該物理ブロックへのデータ書込の可否を検出する検出手段と、データ書込み要求があると、前記消去手段による消去を行わせ、前記検出手段により書込み可と判定された場合には、前記指定手段が指定する物理ブロックにデータを書き込む一方、書込み不可と判定された場合には、前記指定手段が指定する物理ブロックに記憶したデータを、前記消去手段による消去により生じた書き込み可能な別の物理ブロックへ移動すると共に、前記指定手段が指定する物理ブロックに記憶したデータを、前記消去手段によって消去した後に、前記データ書込み要求に係るデータを該消去した物理ブロックへ書き込む書込制御手段と、前記書込制御手段による書込み動作に応じて、論理ブロックと物理ブロックのアドレスを対応付けるアドレス制御手段とを具備することを特徴とする。これにより、書込みに係る物理ブロックが自動的に均等に指定されて書込みがなされてゆくことになる。
【0006】
また本発明に係る半導体メモリの書込制御装置は、物理ブロックの空きブロックを監視する空きブロック監視手段と、前記空きブロック監視手段による監視結果に応じて前記書込制御手段の稼働を制御する稼働制御手段とを具備することを特徴とする。これにより、物理ブロックの空き状態に応じて、書込みに係る物理ブロックが自動的に均等に指定されて書込みがなされる動作の採用が決められる。
【0007】
また本発明に係る半導体メモリの書込制御装置は、各物理ブロックと各論理ブロックに、前記書込制御手段の稼働を制御する属性情報を付加し、前記属性情報に応じて前記書込制御手段の稼働を制御する稼働制御手段とを具備することを特徴とする。これによって、物理ブロックと論理ブロックにより書込みの制御方式を変えることができる。
【0008】
また本発明に係る半導体メモリの書込制御装置は、予め定められた領域であるか否かに基づき前記書込制御手段の稼働を制御する稼働制御手段とを具備することを特徴とする。これにより、予め定められた領域であるか否かにより書込みの制御方式を変えることができる。
【0009】
また本発明に係る半導体メモリの書込制御装置は、上位システムからの指示に基づき前記書込制御手段の稼働を制御する稼働制御手段とを具備することを特徴とする。これによって上位システムからの指示により書込みの制御方式を変えることができる。
【0010】
また本発明に係る半導体メモリの書込制御装置は、指定手段が指定する物理ブロックの範囲を設定する設定手段を具備することを特徴とする。これによって、指定手段が指定する物理ブロックの範囲を設定することが可能となる。
【0011】
更に本発明に係る半導体メモリの書込制御方法は、データを記憶する複数の物理ブロックを有し、上位システムから論理ブロックを指定したデータ書込みが行われる半導体メモリにおける書込制御方法において、データを書き込むべき物理ブロックの指定が均等となるように前記複数の物理ブロックを予め定められた順に指定する第1のステップと、前記第1のステップにて指定された物理ブロックについて、すでにデータが書き込まれているか否かに従い物理ブロックへのデータ書込の可否を検出する第2のステップと、データ書込み要求があると、物理ブロックに新たにデータが書き込めるように、該物理ブロックに記憶したデータを消去する第3のステップと、前記第2のステップにより書込み不可と判定された場合には、前記第1のステップにて指定された物理ブロックに記憶したデータを前記第3のステップにより生じた書き込み可能な別の物理ブロックへ移動するとともに、前記第1のステップにて指定された物理ブロックに書き込み済みのデータを、新たにデータが書き込めるように消去する第4のステップと、前記第1のステップにて指定された物理ブロックへ、前記データ書込み要求に係るデータを書き込む第5のステップと、前記第5のステップによる書込み動作に応じて、論理ブロックと物理ブロックのアドレスを対応付ける第6のステップとを含むことを特徴とする。これにより、書込みに係る物理ブロックが自動的に均等に指定されて書込みがなされてゆくことになる。
【0012】
【発明の実施の形態】
以下添付図面を参照して、本発明の実施の形態に係る半導体メモリの書込制御装置及びその方法を説明する。図1には、本発明の装置を用いて構成したデータ処理システムが示されている。このシステムは、上位システムであるホストコンピュータ100と半導体不揮発性メモリカード101を備えるものである。
【0013】
半導体不揮発性メモリカード101には、インタフェース回路102、メモリ制御回路103、フラッシュメモリ104が含まれており、インタフェース回路102がバス105を介してホストコンピュータ100に接続されている。上記において、インタフェース回路102は、ホストコンピュータ100との間においてコマンドやデータを受け取り、また応答やデータを返送するものである。メモリ制御回路103は、書込み及び読出し制御装置であり、フラッシュメモリ104に対するデータのリードライトを行うものである。
【0014】
フラッシュメモリ104は、図2に示される物理ブロックをライト及び消去のアクセス単位としている。物理ブロックは、データが記憶されるデータ部と、属性情報が記憶される属性部とを有する。そして、フラッシュメモリ104には、図3に示されるように物理ブロックが複数ブロック備えられている。
【0015】
本実施の形態においては、メモリ制御回路103には、図4に示されるような論理ブロック/物理ブロックに係るブロック番号の変換テーブルが備えられており、メモリ制御回路103はこの変換テーブルを用いてフラッシュメモリ104のアクセスを行い、また必要な場合に、この変換テーブルの内容を更新する。
【0016】
次にメモリカード101の基本動作について説明する。ホストコンピュータ100からメモリカード101ヘリードやライト等のコマンドが発行されると、システムバス105を通してインターフェース回路102へこれらのコマンドが通知される。これらのコマンドがフラッシュメモリ104のアクセスに関するものであった場合には、インターフェース回路102はメモリ制御回路103にコマンドを通知する。メモリ制御回路103は通知されたコマンドに従ってフラッシュメモリ104ヘアクセスを行い、その結果をインターフエース回路102へ返す。インターフェース回路102はメモリ制御回路103からの結果をホストコンピュータ100ヘ返す。
【0017】
ホストコンピュータ100からメモリカード101へ発行されるリードやライトコマンドのアドレスは、論理アドレスまたは論理ブロックで指示され、メモリ制御回路103にて論理アドレスから論理ブロックへの変換、論理ブロックから物理ブロックへの変換が行われる。論理ブロックから物理ブロックへの変換は、図4のような変換テーブルを参照することで行われ、フラッシュメモリ104は変換された物理ブロックへアクセスされる。
【0018】
メモリ制御回路103は、ホストコンピュータ100からデータのライトコマンドを受けると、図5に示すフローチャートに従った処理を行い、1つの物理ブロックにライトアクセスが集中しないように動作する。この動作を行うため、メモリ制御回路103は、図6に示すように、データを書き込むべき物理ブロックの指定が均等となるように物理ブロックを指定するライトポインタWP(指定手段)を備える。ここでは、ライトポインタWPは、データを書き込むべき物理ブロックの指定が均等となるように物理ブロック番号の小さい方から大きい方へ(或いは、その逆に)順次に進められ、終端へ到ると再び先頭を指定するように進められる。
【0019】
以下、メモリ制御回路103が行うライト動作を図5、図6を参照して説明する。ここでは、ホストコンピュータ100から論理ブロック(N−2)へ連続してライトコマンドが発行された場合の例を示す。尚、図6の左側が論理ブロックから物理ブロックへの変換テーブルであり、右側がフラッシュメモリ104である。
【0020】
最初の状態は、図6のステップ1に示されるように論理ブロック番号0〜N−2に対応する物理ブロック番号0〜N−2にデータD[0]〜D[N−2]が格納されている状態では、ライトポインタWPが物理ブロック番号(N−1)を指示している。ここで、論理ブロック番号(N−2)に対して連続してライトが行なわれた場合、その時ホスト100からライトコマンドを受けたメモリ制御回路103は、変換テーブルを用いて論理ブロック番号番号(N−2)に対応する物理ブロック番号(N−2)について書き換えデータ(記憶されているデータ)を消去する(S1)。
【0021】
次に、ライトポインタWPが指示する物理ブロック番号(N−1)のブロックにデータが記憶されているか否かを検出する(S2(検出手段))。ここでは、図6のステップ1に示されるように、物理ブロック番号(N−1)にブロックにデータが記憶されていないので、ホスト100からのデータD[N−2]をライトポインタWPが指示する物理ブロック番号(N−1)のブロックに書き込む
(S5(書込制御手段))。次へ進み、ライトポインタWPをインクリメントする(S6)。本例では、ライトポインタWPが末端に位置していたために、ステップS7においてYESへ分岐し、ステップS8において先頭の物理ブロック番号(0)を指す位置へ戻される(図6のステップ2参照)。
【0022】
初期状態では図6のステップ1に示すように、変換テーブルにおいては、論理ブロック番号(N−2)が物理ブロック番号(N−2)に対応付けられ、また論理ブロック番号(N−1)が物理ブロック番号(N−1)に対応付けられていたが、上記データのライトにより、論理ブロック番号(N−2)が物理ブロック番号(N−1)に対応し、また論理ブロック番号(N−1)が物理ブロック番号(N−2)に対応するするように変換テーブルの内容が更新される(S9(アドレス制御手段))。この結果、変換テーブルは図6のステップ2に示されるようになる。
【0023】
ここで更に、ホスト100から論理ブロック番号(N−2)へ同じデータD[N−2]のライトコマンドを受けたメモリ制御回路103は、図6のステップ2に示される変換テーブルを用いて論理ブロック番号(N−2)に対応する物理ブロック番号(N−1)について書き換えデータ(記憶されているデータ)を消去する(S1)。この結果、物理ブロック番号(N−1)では、記憶されているデータが図6のステップ3に示されるように消去される。
【0024】
次に、ライトポインタWPが指示する物理ブロック番号(0)のブロックにデータが記憶されているか否かを検出する(S2)。ここでは、図6のステップ2に示されるように、物理ブロック番号(0)にブロックにデータD[0]が記憶されているので、このデータD[0]を先に消去を行った物理ブロック番号(N−2)のブロックに移動する(S3(書込制御手段))。
【0025】
次へ進み、ライトポインタWPが指示する物理ブロック番号(0)のブロックのデータを消去し(S4)、データD[N−2]をライトポインタWPが指示する物理ブロック番号(0)のブロックに書き込む(ステップS5)。更にライトポインタWPをインクリメントする(S6)。本例では、ライトポインタWPが物理ブロック番号(0)に位置していたために、ステップS7においてNOへ分岐して、ライトポインタWPは次の物理ブロック番号(1)に位置する(図6のステップ3)。
【0026】
前状態では図6のステップ2に示すように、変換テーブルにおいては、論理ブロック番号(N−2)が物理ブロック番号(N−1)に対応付けられ、また論理ブロック番号(N−1)が物理ブロック番号(N−2)に対応付けられていたが、上記データのライトにより、論理ブロック番号(0)が物理ブロック番号(N−2)に対応し、また論理ブロック番号(N−2)が物理ブロック番号(0)に対応するするように変換テーブルの内容が更新される(S9)。この結果、変換テーブルは図6のステップ3に示されるようになる。
【0027】
更に、ホスト100から論理ブロック番号(N−2)へ同じデータも[N−2]のライトコマンドを受けた場合には、上記と同様の処理がなされて、最終的に変換テーブルとフラッシュメモリ104の内容は図6のステップ4に示されるようになる。
【0028】
このように論理ブロック(N−2)へのライトが集中した場合にも、同一の物理ブロックへのライトが行われることなく、順次にライトする物理ブロックが変更されてゆき、全ての物理ブロックに均一にライトが行われる。しかも変換テーブルの更新により、ホストコンピュータ側から見える論理アドレスまたは論理ブロックに変更はなく、本装置の変換テーブルの更新制御が外部に及ぼす影響はないという利点がある。そして、ライトが全ての物理ブロックへ均一に分散されることにより、通常のフラッシュメモリの消去回数の制限が数十万回以上であることから、メモリカード101の寿命の問題をほぼ解消することが可能である。
【0029】
上記の実施の形態では、全てのライトコマンドに関してライトする物理ブロックを分散させる処理を行うようにしたが、物理ブロックの空塞情報を得ておき(空塞監視手段)、空状態の物理ブロックの割合が所定以上であるときには、上記分散の処理を行わぬようにしても良い(稼働制御手段)。つまり、ライトポインタが指示する物理ブロックにデータが記憶されている場合のデータ移動を行うことなく、空き状態の物理ブロックにデータライトを行うと共に変換テーブルの更新を行う。これにより、上記実施の形態におけるデータ移動のときのリードライト及び消去により発生するオーバーヘッドを回避できると共に、空き状態の物理ブロックが順次使用されほぼ全ての物理ブロックが均一にライトされる。
【0030】
また、物理ブロックや変換テーブルに付加する属性情報として、上記の実施の形態の処理を行うか否かを示すフラグを設けるなどにより、同一論理ブロックへのライトが生じそうなブロックに対して当該処理を行うように設定しても良い(稼働制御手段)。このようにすると、必要な部分だけに処理が限定され、データ移動のときのリードライト及び消去により発生するオーバーヘッドを回避できる。この処理を行わぬことを設定したブロックでは、同一論理ブロックへのライトが同一物理ブロックへのライトとなるが、頻度が低ければ寿命へ影響することはない。
【0031】
更に、予め定められた領域であるか否かに基づき当該処理を行うように設定しても良い(稼働制御手段)。これにより、所定領域だけに処理が限定され、その他の領域ではデータ移動のときのリードライト及び消去により発生するオーバーヘッドを回避できる。また、上位システムであるホストコンピュータ100からの指示に基づき当該処理を行うように設定しても良い(稼働制御手段)。これにより、ホストコンピュータ100からフレキシブルに当該処理の実行の有無を制御可能である。
【0032】
また、ライトポインタWPはライト毎に順にインクリメントするようにしたが、特定の物理ブロックに集中しないようにランダムに物理ブロックをしているようにしてもよい。上記実施の形態では全物理ブロックが均一にアクセスされるようにするため、全物理ブロック番号が現れるようにライトポインタWPをインクリメントする例を示したが、ライトポインタWPのインクリメントする範囲を全物理ブロックの後半のみで行い、前半部はライトポインタWPが指さないように設定しても良い。設定は予め行うか、後にホストコンピュータ100から行う。このようにライトポインタWPの指す領域を制限し、前半部には重要な書き換えしないデータを保存し、後半部には書き換え頻度が高いデータを保存することで、前半部の重要なデータを守りかつ後半部にある書き換え頻度の高いデータが格納されている物理ブロック部分の寿命の短縮化を介することも可能である。
【0033】
【発明の効果】
以上説明したように本発明によれば、データを記憶する複数の物理ブロックを有し、上位システムから論理ブロックを指定したデータ書込みが行われる半導体メモリにおける書込制御において、データを書き込むべき物理ブロックの指定が均等となるように上記複数の物理ブロックを予め定められた順に指定し、指定された物理ブロックについて、すでにデータが書き込まれているか否かに従い物理ブロックへのデータ書込の可否を検出し、データ書込み要求があると、物理ブロックに新たにデータが書き込めるように、該物理ブロックに記憶したデータを消去し、書込み不可と判定された場合には、指定された物理ブロックに記憶したデータを消去により生じた書き込み可能な別の物理ブロックへ移動するとともに、指定された物理ブロックに書き込み済みのデータを、新たにデータが書き込めるように消去し、指定された物理ブロックへ、データ書込み要求に係るデータを書き込むので、書込みに係る物理ブロックが自動的に均等に指定されて書込みがなされる。
【図面の簡単な説明】
【図1】本発明に係る半導体メモリの書込制御装置を含むデータ処理システムのブロック図。
【図2】フラッシュメモリの物理ブロックの構成を示す図。
【図3】フラッシュメモリの構成を示す図。
【図4】本発明に係る半導体メモリの書込制御装置に用いられる論理ブロック/物理ブロックの変換テーブルを示す図。
【図5】本発明に係る半導体メモリの書込制御装置の動作を説明するためのフローチャート。
【図6】本発明に係る半導体メモリの書込制御装置によるライト動作によるフラッシュメモリと変換テーブルの内容遷移を説明するための図。
【符号の説明】
100 ホストコンピュータ 101 半導体不揮発性メモリ
102 インタフェース回路 103 メモリ制御回路
104 フラッシュメモリ 105 バス[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a write control apparatus and method in a semiconductor memory having a plurality of physical blocks for storing data and performing data writing in which a logical block is designated from a host system.
[0002]
[Prior art]
In a conventional semiconductor memory such as a flash memory, in order to prevent the life of the entire storage device from being shortened due to deterioration of a part of the memory due to high frequency of rewriting data in a specific area, An apparatus is known that counts the number of erasures and copies the data of the physical block to another physical block when the number of erasures becomes constant (see, for example, Japanese Patent Laid-Open No. 2000-20252).
[0003]
According to the above conventional example, it is necessary to count the number of times of erasing in each physical block, which is troublesome.
[0004]
[Problems to be solved by the invention]
The present invention has been made in order to solve the above-described problems in the conventional semiconductor memory. The purpose of the present invention is to perform data transfer to a specific logical block (logical address) without counting the number of times of erasure in each physical block. It is an object to provide a semiconductor memory write control apparatus and method capable of preventing the life of the entire memory from being shortened even when the write frequency is high.
[0005]
[Means for Solving the Problems]
A semiconductor memory write control device according to the present invention has a plurality of physical blocks for storing data, and writes data in a semiconductor memory write control device in which data is written by designating a logical block from a host system. Designating means for designating the plurality of physical blocks in a predetermined order so that the designation of the physical block to be equalized, and erasure for erasing the data stored in the physical block so that new data can be written to the physical block Means for detecting whether data can be written to the physical block according to whether data has already been written to the physical block designated by the designation means, and if there is a data write request, the erasing means to perform the erasing by, when it is determined that the writable by the detecting means, said specifying means specifies While writing data to physical blocks, when it is determined that the write disable moves the data stored in the physical block the specifying means specifies, to a writable another physical block caused by erasing by said erasing means And a write control means for writing the data related to the data write request to the erased physical block after the data stored in the physical block designated by the designation means is erased by the erase means, and the write control means And an address control means for associating the address of the logical block with the address of the physical block according to the write operation. As a result, the physical blocks related to the writing are automatically and equally designated and the writing is performed.
[0006]
According to another aspect of the present invention, there is provided a write control device for a semiconductor memory, an empty block monitoring unit that monitors an empty block of a physical block, and an operation that controls the operation of the write control unit according to a monitoring result by the empty block monitoring unit. And a control means. Accordingly, it is determined to adopt an operation in which the physical blocks related to writing are automatically and equally designated according to the free state of the physical blocks.
[0007]
The semiconductor memory write control apparatus according to the present invention adds attribute information for controlling the operation of the write control means to each physical block and each logical block, and the write control means according to the attribute information. And an operation control means for controlling the operation of the apparatus. As a result, the write control method can be changed depending on the physical block and the logical block.
[0008]
According to another aspect of the present invention, there is provided a semiconductor memory write control device comprising operation control means for controlling operation of the write control means based on whether or not the area is a predetermined area. Thus, the writing control method can be changed depending on whether or not the area is a predetermined area.
[0009]
According to another aspect of the present invention, there is provided a semiconductor memory write control device comprising operation control means for controlling operation of the write control means based on an instruction from a host system. As a result, the writing control method can be changed according to an instruction from the host system.
[0010]
According to another aspect of the present invention, there is provided a semiconductor memory write control device comprising setting means for setting a physical block range designated by a designation means . Thereby, it is possible to set a range of physical blocks designated by the designation means .
[0011]
Furthermore, a semiconductor memory write control method according to the present invention includes a plurality of physical blocks for storing data, and the semiconductor memory write control method in which data write is performed by designating a logical block from a host system. Data is already written in the first step of designating the plurality of physical blocks in a predetermined order so that the designation of the physical blocks to be written is uniform, and the physical block designated in the first step The second step of detecting whether or not data can be written to the physical block according to whether or not the data is written, and if there is a data write request, erases the data stored in the physical block so that new data can be written to the physical block. to a third step, if it is determined that writing is not permitted the second step, the first While moving to a writable another physical block caused by the data stored in the specified physical block said third step by step, the first written data to the specified physical block in step and a fourth step of erasing the writable newly data, said the physical block specified in the first step, a fifth step of writing data according to the data write request, the fifth And a sixth step of associating the addresses of the logical block and the physical block in accordance with the write operation by the step. As a result, the physical blocks related to the writing are automatically and equally designated and the writing is performed.
[0012]
DETAILED DESCRIPTION OF THE INVENTION
A semiconductor memory write control apparatus and method according to embodiments of the present invention will be described below with reference to the accompanying drawings. FIG. 1 shows a data processing system configured using the apparatus of the present invention. This system includes a host computer 100, which is a host system, and a semiconductor nonvolatile memory card 101.
[0013]
The semiconductor nonvolatile memory card 101 includes an
[0014]
The
[0015]
In this embodiment, the
[0016]
Next, the basic operation of the memory card 101 will be described. When commands such as read and write are issued from the host computer 100 to the memory card 101, these commands are notified to the
[0017]
The address of a read or write command issued from the host computer 100 to the memory card 101 is specified by a logical address or a logical block, and the
[0018]
When the
[0019]
Hereinafter, the write operation performed by the
[0020]
In the initial state, data D [0] to D [N-2] are stored in
[0021]
Next, it is detected whether or not data is stored in the block of the physical block number (N-1) indicated by the write pointer WP (S2 (detection means)). Here, as shown in
[0022]
In the initial state, as shown in
[0023]
Further, the
[0024]
Next, it is detected whether data is stored in the block having the physical block number (0) indicated by the write pointer WP (S2). Here, as shown in
[0025]
Next, the data of the block with the physical block number (0) indicated by the write pointer WP is erased (S4), and the data D [N-2] is changed to the block with the physical block number (0) indicated by the write pointer WP. Write (step S5). Further, the write pointer WP is incremented (S6). In this example, since the write pointer WP is located at the physical block number (0), the process branches to NO in step S7, and the write pointer WP is located at the next physical block number (1) (step in FIG. 6). 3).
[0026]
In the previous state, as shown in
[0027]
Further, when the same data as the logical block number (N-2) is received from the host 100, the same processing as described above is performed, and finally the conversion table and the
[0028]
Even when writing to the logical block (N-2) is concentrated in this way, the physical blocks to be sequentially written are changed without writing to the same physical block, and all physical blocks are changed. Light is evenly performed. In addition, there is an advantage that there is no change in the logical address or logical block visible from the host computer side due to the update of the conversion table, and the update control of the conversion table of this apparatus has no external influence. Since the write is uniformly distributed to all the physical blocks, the limit of the number of times the normal flash memory can be erased is several hundred thousand times or more, so the problem of the lifetime of the memory card 101 can be almost solved. Is possible.
[0029]
In the above embodiment, the process of distributing the physical blocks to be written is performed for all the write commands. However, the vacancy information of the physical blocks is obtained (empty / vacuum monitoring means), and the physical blocks in the empty state are obtained. When the ratio is greater than or equal to a predetermined value, the above dispersion process may not be performed (operation control means). That is, data is written to an empty physical block and the conversion table is updated without performing data movement when data is stored in the physical block indicated by the write pointer. As a result, the overhead caused by read / write and erasure during data movement in the above embodiment can be avoided, and free physical blocks are sequentially used, and almost all physical blocks are written uniformly.
[0030]
In addition, as attribute information to be added to the physical block or conversion table, a flag indicating whether or not to perform the processing of the above embodiment is provided, for example, for the block that is likely to be written to the same logical block. (Operation control means). In this way, processing is limited to only necessary portions, and overhead caused by read / write and erasure during data movement can be avoided. In a block that is set not to perform this process, a write to the same logical block is a write to the same physical block, but if the frequency is low, there is no effect on the lifetime.
[0031]
Furthermore, it may be set to perform the processing based on whether or not the area is a predetermined area (operation control means). As a result, processing is limited to a predetermined area, and in other areas, overhead caused by read / write and erasure during data movement can be avoided. Further, the processing may be set to be performed based on an instruction from the host computer 100 which is a host system (operation control means). Thereby, the host computer 100 can flexibly control the execution of the process.
[0032]
In addition, the write pointer WP is incremented in order for each write, but the physical block may be randomly arranged so as not to concentrate on a specific physical block. In the above embodiment, in order to make all physical blocks uniformly accessed, the example in which the write pointer WP is incremented so that all physical block numbers appear is shown. However, the increment range of the write pointer WP is set to all physical blocks. The first half may be set so that the write pointer WP does not point. The setting is performed in advance or is performed from the host computer 100 later. In this way, the area pointed to by the write pointer WP is limited, important non-rewritten data is stored in the first half, and frequently rewritten data is stored in the second half, thereby protecting important data in the first half and It is also possible to shorten the lifetime of the physical block portion in which data with high rewrite frequency in the latter half is stored.
[0033]
【The invention's effect】
As described above, according to the present invention, a physical block to which data is to be written in the write control in a semiconductor memory having a plurality of physical blocks for storing data and in which data is written by specifying a logical block from the host system. Specify multiple physical blocks in the order specified so that the designations are equal, and detect whether data can be written to physical blocks according to whether data has already been written for the specified physical blocks If there is a data write request , the data stored in the physical block is erased so that new data can be written to the physical block . If it is determined that writing is not possible , the data stored in the specified physical block while moving to a writable another physical block caused by erasing, the specified physical block To the written data, erased so writable new data, to a specified physical block, since write data according to the data write request, the physical block according to write automatically equally designated by the write Made.
[Brief description of the drawings]
FIG. 1 is a block diagram of a data processing system including a semiconductor memory write control device according to the present invention.
FIG. 2 is a diagram showing a configuration of a physical block of a flash memory.
FIG. 3 is a diagram showing a configuration of a flash memory.
FIG. 4 is a view showing a logical block / physical block conversion table used in the semiconductor memory write control apparatus according to the present invention;
FIG. 5 is a flowchart for explaining the operation of the semiconductor memory write control device according to the present invention;
FIG. 6 is a diagram for explaining the content transition of the flash memory and the conversion table by the write operation by the semiconductor memory write control device according to the present invention;
[Explanation of symbols]
100 Host Computer 101
Claims (7)
データを書き込むべき物理ブロックの指定が均等となるように前記複数の物理ブロックを予め定められた順に指定する指定手段と、
物理ブロックに新たにデータが書き込めるように、該物理ブロックに記憶したデータを消去する消去手段と、
前記指定手段が指定する物理ブロックについて、すでにデータが書き込まれているか否かに従い該物理ブロックへのデータ書込の可否を検出する検出手段と、
データ書込み要求があると、前記消去手段による消去を行わせ、前記検出手段により書込み可と判定された場合には、前記指定手段が指定する物理ブロックにデータを書き込む一方、書込み不可と判定された場合には、前記指定手段が指定する物理ブロックに記憶したデータを、前記消去手段による消去により生じた書き込み可能な別の物理ブロックへ移動すると共に、前記指定手段が指定する物理ブロックに記憶したデータを、前記消去手段によって消去した後に、前記データ書込み要求に係るデータを該消去した物理ブロックへ書き込む書込制御手段と、
前記書込制御手段による書込み動作に応じて、論理ブロックと物理ブロックのアドレスを対応付けるアドレス制御手段と
を具備することを特徴とする半導体メモリの書込制御装置。In a semiconductor memory write control device that has a plurality of physical blocks for storing data and performs data writing in which a logical block is designated from a host system,
Designating means for designating the plurality of physical blocks in a predetermined order so that the designation of physical blocks to which data is to be written is even;
Erasing means for erasing the data stored in the physical block so that new data can be written to the physical block ;
Detecting means for detecting whether data can be written to the physical block according to whether data has already been written for the physical block specified by the specifying means;
When there is a data write request, the erasure unit performs erasure, and when the detection unit determines that writing is possible, the data is written to the physical block designated by the designation unit, while it is determined that writing is impossible. In this case, the data stored in the physical block specified by the specifying unit is moved to another writable physical block generated by erasing by the erasing unit , and the data stored in the physical block specified by the specifying unit Write control means for writing data related to the data write request to the erased physical block after erasing by the erasing means,
A write control device for a semiconductor memory, comprising: address control means for associating addresses of logical blocks and physical blocks in accordance with a write operation by the write control means.
前記空塞監視手段による監視結果に応じて前記書込制御手段の稼働を制御する稼働制御手段と
を具備することを特徴とする請求項1に記載の半導体メモリの書込制御装置。Air block monitoring means for monitoring physical block air block,
2. The semiconductor memory write control device according to claim 1, further comprising: an operation control unit that controls an operation of the write control unit in accordance with a monitoring result of the air-blocking monitoring unit.
前記属性情報に応じて前記書込制御手段の稼働を制御する稼働制御手段と
を具備することを特徴とする請求項1に記載の半導体メモリの書込制御装置。Add attribute information for controlling the operation of the write control means to each physical block and each logical block,
The semiconductor memory write control device according to claim 1, further comprising: an operation control unit that controls an operation of the write control unit according to the attribute information.
を具備することを特徴とする請求項1に記載の半導体メモリの書込制御装置。2. The semiconductor memory write control device according to claim 1, further comprising: an operation control unit configured to control the operation of the write control unit based on whether or not the area is a predetermined region. 3.
を具備することを特徴とする請求項1に記載の半導体メモリの書込制御装置。2. The semiconductor memory write control device according to claim 1, further comprising: an operation control unit configured to control an operation of the write control unit based on an instruction from a host system. 3.
データを書き込むべき物理ブロックの指定が均等となるように前記複数の物理ブロックを予め定められた順に指定する第1のステップと、
前記第1のステップにて指定された物理ブロックについて、すでにデータが書き込まれているか否かに従い物理ブロックへのデータ書込の可否を検出する第2のステップと、
データ書込み要求があると、物理ブロックに新たにデータが書き込めるように、該物理ブロックに記憶したデータを消去する第3のステップと、
前記第2のステップにより書込み不可と判定された場合には、前記第1のステップにて指定された物理ブロックに記憶したデータを前記第3のステップにより生じた書き込み可能な別の物理ブロックへ移動するとともに、前記第1のステップにて指定された物理ブロックに書き込み済みのデータを、新たにデータが書き込めるように消去する第4のステップと、
前記第1のステップにて指定された物理ブロックへ、前記データ書込み要求に係るデータを書き込む第5のステップと、
前記第5のステップによる書込み動作に応じて、論理ブロックと物理ブロックのアドレスを対応付ける第6のステップと
を含むことを特徴とする半導体メモリの書込制御方法。In a writing control method in a semiconductor memory having a plurality of physical blocks for storing data and performing data writing in which a logical block is designated from a host system,
A first step of designating the plurality of physical blocks in a predetermined order so that the designation of physical blocks into which data is to be written is uniform;
A second step of detecting whether or not data can be written to the physical block according to whether or not data has already been written for the physical block designated in the first step;
A third step of erasing the data stored in the physical block so that new data can be written to the physical block when there is a data write request;
If it is determined in the second step that writing is impossible, the data stored in the physical block designated in the first step is moved to another writable physical block generated in the third step. And a fourth step of erasing data already written in the physical block designated in the first step so that data can be newly written ,
A fifth step of writing data relating to the data write request to the physical block designated in the first step;
A write control method for a semiconductor memory, comprising: a sixth step of associating a logical block and a physical block address in accordance with a write operation in the fifth step.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000208542A JP4149640B2 (en) | 2000-07-10 | 2000-07-10 | Semiconductor memory writing control apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000208542A JP4149640B2 (en) | 2000-07-10 | 2000-07-10 | Semiconductor memory writing control apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002024077A JP2002024077A (en) | 2002-01-25 |
JP4149640B2 true JP4149640B2 (en) | 2008-09-10 |
Family
ID=18705107
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000208542A Expired - Fee Related JP4149640B2 (en) | 2000-07-10 | 2000-07-10 | Semiconductor memory writing control apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4149640B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4439569B2 (en) | 2008-04-24 | 2010-03-24 | 株式会社東芝 | Memory system |
-
2000
- 2000-07-10 JP JP2000208542A patent/JP4149640B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002024077A (en) | 2002-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6172906B1 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
JP3485938B2 (en) | Nonvolatile semiconductor memory device | |
US7634624B2 (en) | Memory system for data storage and retrieval | |
US7111140B2 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
US6757800B1 (en) | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices | |
EP1548599B1 (en) | Faster write operations to nonvolatile memory by manipulation of frequently accessed sectors | |
EP1739683B1 (en) | Space management for managing high capacity nonvolatile memory | |
EP0686976A2 (en) | Data management system for programming-limited type semiconductor memory and IC memory card having the data management system | |
KR930010981A (en) | Storage device using flash memory | |
JP2009116465A (en) | Storage device and memory control method | |
JP4149640B2 (en) | Semiconductor memory writing control apparatus and method | |
US6898680B2 (en) | Minimization of overhead of non-volatile memory operation | |
JPH0764831A (en) | Data storage device | |
JP2000276461A (en) | Microcomputer | |
US20090319587A1 (en) | Memory controller, nonvolatile memory device, and nonvolatile memory system | |
JP4935101B2 (en) | Memory access method and apparatus | |
JP2003242788A (en) | Nonvolatile semiconductor memory device and control method therefor | |
JP2010079860A (en) | Memory device and memory control method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041020 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071211 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080401 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080602 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080624 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080626 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110704 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120704 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |