JP2011159069A - 半導体記憶装置及びその制御方法 - Google Patents

半導体記憶装置及びその制御方法 Download PDF

Info

Publication number
JP2011159069A
JP2011159069A JP2010019545A JP2010019545A JP2011159069A JP 2011159069 A JP2011159069 A JP 2011159069A JP 2010019545 A JP2010019545 A JP 2010019545A JP 2010019545 A JP2010019545 A JP 2010019545A JP 2011159069 A JP2011159069 A JP 2011159069A
Authority
JP
Japan
Prior art keywords
access
main memory
access request
request
issued
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.)
Granted
Application number
JP2010019545A
Other languages
English (en)
Other versions
JP4802284B2 (ja
Inventor
Hironao Suzuki
浩尚 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2010019545A priority Critical patent/JP4802284B2/ja
Priority to US13/016,529 priority patent/US8140741B2/en
Publication of JP2011159069A publication Critical patent/JP2011159069A/ja
Priority to US13/279,118 priority patent/US8275935B2/en
Application granted granted Critical
Publication of JP4802284B2 publication Critical patent/JP4802284B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

【課題】コンパクションサーチの実行がある時間内に集中して、CPUあるいはフラッシュメモリによるメインメモリのアクセスが妨害されることを防止することを目的とする。
【解決手段】半導体記憶装置は、不揮発性メモリのコンパクション候補を決定するための候補情報を格納するメインメモリ(24)と、前記メインメモリの候補情報のアクセス要求を発行する要求発行手段(36)と、前記要求発行手段により発行されたアクセス要求を所定時間遅延する遅延手段(32)と、前記遅延手段により遅延されたアクセス要求に基づいて前記メインメモリの候補情報をアクセスするアクセス手段(28)を具備する。
【選択図】図1

Description

本発明はフラッシュメモリを用いた半導体記憶装置及びその制御方法に関し、特にコンパクションサーチの制御に関する。
一般に不揮発性メモリ、例えばフラッシュメモリはデータの書き込みの際に上書きができないので、一旦消去してからデータ書き込みを行う必要がある。このようなデータの書き込みや消去を繰り返すと、分断された不要な領域が消去されずに残る。この不要な領域を消去し、使用している領域を連続した領域に纏める処理はコンパクション、あるいはガーベジコレクションと呼ばれる。従来の半導体記憶装置のガーベジコレクション処理は例えば、特許文献1に記載されている。
メモリ部のアドレス(A,a)にホストからのライト要求に基づき、データDが書き込まれる。その後、再度ホストからアドレス(A,a)のフレームにライト要求があり、データが書き込まれていないフレーム、例えばアドレス(B,m)のデータ部にデータの新しいバージョンであるD−1が書き込まれる。アドレス(A,a)のポインタ部には、リンク先のアドレスとして“B,m”が書き込まれる。その後、さらにホストからアドレス(A,a)にライト要求があると、上記と同様にデータが書き込まれていないフレーム、例えばアドレス(C,n)のデータ部にデータD−2が書き込まれる。アドレス(B,m)のポインタ部には、リンク先のアドレスとして“C,n”が書き込まれる。
このような状態でガーベジコレクションを行う場合、アドレス(B,m)のフレームは単にリンク関係を示しているだけであって、データとしては意味を持たないものである。従って、ガーベジコレクションはこの“B,m”のフレームを消去する。
この処理としては、先ずアドレス(A,a)のフレームデータをバッファ部に退避させ、バッファ上でそのポインタをC,nに書き換える。とともに、アドレス(B,m)、(A,a)のデータを消去する。その後、ポインタを書き換えたアドレス(A,a)のデータをメモリ部の同じアドレスに書き込む。これによって、アドレス(A,a)のリンク先は直接(C,n)となり、アドレス(B,m)のフレームはデータが書き込み可能なフレームとなる。
しかし、このようにポインタ部に従って書き換え制御をすると、ホストからのライト要求に対してそのリンク先をたどっていく必要があり、時間がかかる問題があり、特許文献1では、指示アドレス部、バリッドビット部、論理アドレス部からなるテーブル部を設けている。指示アドレス部はホストから不揮発性メモリに対してデータをアクセスする際に、ホストから指示されるアドレスを示す部分である。バリッドビット部は該当するメモリ部のメモリブロックにデータが格納されているか否かを示す部分である。論理アドレス部はホストから指示されたアドレスを論理的に変換し、メモリ部のメモリブロックのアドレスを決定する部分である。
ガーベジコレクション制御手段は予め設定した閾値を有し、ホストからライト要求があった場合、上記テーブル部を参照してデータ書き込み済みブロック数とライト要求を実行するためのメモリブロック数の加算値が閾値を超えているか否かを判定し、加算値が閾値を超えている場合はメモリ部のガーベジコレクションを実行する。閾値はメモリ部の代替領域の90%を示す値等、適宜の値が設定される。このように閾値を基にガーベジコレクションを行うので、ホストからのライト要求を実行している最中にガーベジコレクション処理を実行しなければならないといったことを防止することができる。
さらに、特許文献1では、ガーベジコレクション制御手段はタイマ機能を備えている。メモリ部16におけるメモリブロックの使用状況をテーブル部19を参照して監視し、当該メモリブロックの状況が閾値を超えていない場合はメモリブロックに書き込みを行うと共に、タイマをセットし、メモリブロックの状況が閾値を超えている場合はメモリ部のガーベジコレクションを行うとともに、タイマをリセットする。そして、タイマがセット状態でかつ、その所定時間経過後はガーベジコレクションを実行するといった機能を有する。このようにガーベジコレクションを定期的に行うことによっても、ホストからのライト要求を実行している最中にガーベジコレクション処理を実行しなければならないといったことを防止することができる。
特開平6−222985号公報(段落0011−0015、0028、0039、0050)
特許文献1記載の装置はガーベジコレクションを定期的に実施している。ガーベジコレクションを実施するためには、ガーベジコレクション制御手段がテーブル部を参照してデータが書き込まれていないフレームのアドレスを探す必要があり、ガーベジコレクション処理の全体に対するこのサーチ処理の時間の占める割合が大きいことが問題であった。
本発明はコンパクション候補の検索を効率良く行うことができる半導体記憶装置を提供することを目的とする。
本発明の一態様による半導体記憶装置は、不揮発性メモリのコンパクション候補を決定するための候補情報を格納するメインメモリと、前記メインメモリの候補情報のアクセス要求を発行する要求発行手段と、前記要求発行手段により発行されたアクセス要求を所定時間遅延する遅延手段と、前記遅延手段により遅延されたアクセス要求に基づいて前記メインメモリの候補情報をアクセスするアクセス手段を具備する。
本発明の一態様によれば、メインメモリのコンパクション候補情報のアクセス要求が遅延されて実行されるので、コンパクション候補情報のためのメインメモリのアクセスが単位時間内に集中することが防止され、ユーザデータ転送に係るメインメモリの本来のアクセスがコンパクション対象候補情報のためのアクセスにより妨害されず、半導体記憶装置の性能劣化を防止できる。
本発明の実施の形態に係る半導体記憶装置の図である。 コンパクションサーチのための有効ページ管理ビットマップテーブルを示す図である。 本発明の実施の形態に係るコンパクションサーチを示すフローチャートである。 アクセス要求とその確認を遅延する遅延回路の様子を示す図である。
以下、図面を参照して本発明の実施の形態について詳細に説明する。
図1は第1実施形態の半導体記憶装置の全体構成を示す図である。実施形態は複数の半導体不揮発性メモリ、例えばNAND型フラッシュメモリ10、10…10とフラッシュメモリコントローラ12を具備する。各フラッシュメモリ10、10…10は例えば2〜16個のメモリチップからなる。フラッシュメモリコントローラ12はフラッシュメモリ10、10…10に接続されるフラッシュメモリI/F30を具備する。フラッシュメモリ10、10…10が並列にアクセス可能な場合は、図示していないがフラッシュメモリI/F30もn個設けられ、それぞれがフラッシュメモリ10、10…10に接続される。フラッシュメモリI/F30はプログラム、リード、イレース等の動作モードに関してフラッシュメモリ10、10…10を個別に制御する。
フラッシュメモリコントローラ12はCPU22と、メインメモリ24と、コマンドプロセッサ40と、データプロセッサ42と、調停回路28と、コンパクションサーチエンジン36とを具備する。これらの構成要素はCPUバス20に接続される。メインメモリ24はDRAMからなり、フラッシュメモリ10、10…10のコンパクション処理のためのブロック内有効ページ管理ビットマップテーブル26とコンパクション候補管理テーブル25とを含む。
フラッシュメモリコントローラ12のCPUバス20には外付けのROM14も接続される。ROM14はファームウェア16を含む。ファームウェア16はCPU22を使用し、フラッシュメモリI/F30内部へのI/Oコマンドアクセスによりフラッシュメモリ10、10、…10へのリードコマンド、ライトコマンドの発行を行う。
フラッシュメモリI/F30はCPU22からの命令を受理し、NAND型フラッシュメモリ10、10、…10とメインメモリ24間のデータ転送を実施する。
ファームウェア16はROM14にプログラムされた内容が、システム電源起動時に、CPU22内部の一時記憶部もしくはメインメモリ24に転送されて動作するものとする。
ブロック内有効ページ管理ビットマップテーブル26は、図2に示すように構成されている。NAND型フラッシュメモリ10、10、…10の各ページが有効(Valid)か無効(Invalid)かを示すためのビットマップ構成をとる。NAND型フラッシュメモリ10、10、…10の全体を所定のバイト、例えば2112バイトに分け、それ毎に1ページを構成し、所定のページ、例えば64ページが1ブロックを構成する。有効とは、当該ページ内に書き込まれたデータが存在し、そのデータは有効であることを示している。無効とは、当該ページ内に何も書き込まれていないか、もしくは当該ページ内に以前書き込まれていたデータが無効になった場合(データが上書きされた場合)を示している。
ブロック内有効ページ管理ビットマップテーブル26はNAND型フラッシュメモリ10、10、…10への書き込みが発生すると、有効/無効状態が更新される。ここで、ファームウェア16からの書き込み操作は論理ブロックアドレス(LBA: Logical Block Address)を用いて実施される。従って、NAND型フラッシュメモリ10、10、…10に対して実際に書き込む場合は、論理アドレスを物理アドレス(ブロックアドレス、ページアドレス)に変換して、データが書き込まれる。
NAND型フラッシュメモリ10、10、…10は同一セルへの書き込みを実施することによる寿命の極端な低下を防ぐため、同じLBAでデータを複数回書き込む場合でも、以前書き込んだ物理アドレスとは異なる物理アドレスのページにデータを新規に書き込み、以前書き込んだ物理アドレスのページに格納されているデータを無効とするコンパクション処理を行う。この有効/無効管理を実施するためにブロック内有効ページ管理ビットマップテーブル26が存在している。
従って、このような書き込み操作を実施しながらシステムが動作しているうちに、いずれは有効ページ数の少ないブロック(すなわち、コンパクション処理の候補対象となるブロック)が発生してくるのは必須である。
ファームウェア16はブロック内有効ページ数を一意にカウントし、有効数がある一定数以下であれば、そのブロックをコンパクション対象の一つとしてコンパクション候補管理テーブル25にエントリし、その中のいずれかのブロックをコンパクション処理に適用する。コンパクション処理とは、コンパクション対象の複数のブロック内の有効ページデータをかき集めて、別のブロックに移動させ、移動元のページを無効化し、何も書かれていない空きブロックを作り出す操作のことである。
ブロック内有効ページ管理ビットマップテーブル26が示すブロック内有効ページ数のカウント用の専用のハードウェアとしてコンパクションサーチエンジン36が設けられている。ファームウェア16は定期的、もしくは一意に該エンジン36を動作させてメインメモリ24内のブロック内有効ページ管理ビットマップテーブル26にアクセスしてブロック内有効ページ数をカウントして、コンパクション対象を検索特定し、コンパクション候補管理テーブル25に追加する。そのため、検索動作中はメインメモリ24へのアクセスが一時的に集中することがあり、NAND型フラッシュメモリ10、10、…10あるいはCPU22とのデータ転送に必要なメモリアクセスを阻害し、ユーザに対するデータ提供速度性能を劣化させることがあった。
本実施形態ではコンパクションサーチエンジン36がブロック内有効ページ管理ビットマップテーブル26を検索するために発行するメインメモリ24へのアクセス要求REQ1を遅延回路32を介して遅延し要求REQCとしてから調停回路28に供給している。調停回路28には、要求REQCに加えて、フラッシュメモリI/F30から発行されたメインメモリ24へのアクセス要求REQAと、CPU22から発行されたメインメモリ24へのアクセス要求REQBが入力され、これらの3つの要求間でバスの使用権を与える要求を決める調停(アービトレーション)が行われる。調停の結果、バスの使用権が与えられたアクセス要求が順番に実施される。バス使用権が与えられメインメモリ24へのアクセスが終了すると、確認ACKC、ACKA、ACKBが遅延回路32、フラッシュメモリI/F30、CPU22に返送される。
遅延回路32は要求PRQ1と同様に確認ACKCも遅延(遅延時間は要求に対する遅延時間と同じでもよいし、異なっていてもよい)して確認AKC1としてコンパクションサーチエンジン36に送信する。遅延回路32の遅延時間はCPU22により調整値が設定される遅延時間調整回路34により調整される。CPU22はファームウェア16が管理するコマンドによりメインメモリ24のアクセス頻度を検出することができるようになっている。このため、遅延時間はメインメモリ24のアクセス頻度に応じて調整される。あるいは、ファームウェア16が管理するコマンドを利用しないで、図示しないハードウェアによりバスライン20を直接モニタすることにより、メインメモリのアクセス頻度を検出してもよい。
フラッシュメモリコントローラ12はコマンドプロセッサ40とデータプロセッサ42も含む。コマンドプロセッサ40はCPU22からのリードコマンド、ライトコマンドをNAND型フラッシュメモリ10、10、…10に与える。データプロセッサ42はNAND型フラッシュメモリ10、10、…10のリードデータやライトデータを処理する。
図3はコンパクションサーチの処理を示すフローチャートである。ブロック#12でCPU22はコンパクションサーチを行うためのコンパクションサーチエンジン36を起動する。起動時には、コンパクションサーチエンジン36に検索開始アドレスと検索データサイズを与える。コンパクションサーチエンジン36はこれらで指定されたメインメモリ24の領域のデータをリードする。すなわち、ここでは検索開始アドレスの初期値はメインメモリ24の有効ページ管理ビットマップテーブル26の最初のアドレスであり、検索データサイズは有効ページ管理ビットマップテーブル26のサイズである。CPU22はユーザデータの転送とNANDフラッシュに関わるデータの転送が実施中でも、コンパクションサーチを開始できる。
ブロック#14でCPU22はファームウェア16が管理するコマンドによりメインメモリ24のアクセス頻度を検出し、アクセス頻度情報を遅延時間調整回路34に設定する。アクセス頻度が基準の頻度より混雑しているか否かブロック#16で判定する。基準の頻度よりアクセスが混雑している場合は、ブロック#18で遅延時間を長くし、逆に基準の頻度よりアクセスが空いている場合は、ブロック#20で遅延時間を短くする。このため、アクセスが混雑している場合は遅延回路32の遅延時間は長くなり、アクセスが空いている場合は遅延時間は短くなる。遅延時間は要求REQ1に対する遅延時間と、確認ACKCに対する遅延時間が異なっても良いし、同じでも良い。
ブロック#22でコンパクションサーチエンジン36はメインメモリ24へのアクセス要求REQ1をアサートする。アクセス要求REQ1がアサートされてから遅延時間T後にブロック#24で調停回路28へのアクセス要求REQCがアサートされる。このため、遅延時間Tが長くなれば、コンパクションサーチエンジン36からのメインメモリ24へのアクセス要求REQ1の実行頻度が低下する。
調停回路28はブロック#26でフラッシュメモリI/F30から発行されたメインメモリ24へのアクセス要求REQAと、CPU22から発行されたメインメモリ24へのアクセス要求REQBと、遅延回路32から発行されたアクセス要求REQC(コンパクションサーチエンジン36から発行されたアクセス要求REQ1が時間Tだけ遅延された要求)との間で一般的なアービトレーション(バス使用権の調停)を行う。アクセス要求REQCがバス使用権を持つと、ブロック#28で有効ページ管理ビットマップテーブル26のデータがアクセスされ、コンパクション候補を決定するための候補情報(ブロック内有効ページ数が一定数以下であるブロックを見つけるための各ページの有効/無効の情報)が読み出される。なお、ブロック#28での1回のアクセスによるデータのサイズは例えば16バイトであり、1回のコンパクションサーチでは有効ページ管理ビットマップテーブル26のデータを16バイトずつアクセスする。
有効ページ管理ビットマップテーブル26のデータ(コンパクション候補情報)の読み出しが終了すると、ブロック#30で調停回路28は確認ACKCをアサートする。遅延回路32は確認ACKCがアサートされてから遅延時間T後にブロック#32でコンパクションサーチエンジン36への確認ACK1をアサートする。読み出されたコンパクション候補情報は確認ACK1とともにコンパクションサーチエンジン36に送られる。コンパクション候補情報はコンパクションサーチエンジン36によりコンパクション候補管理テーブル25にエントリされる。
ブロック#34で検索データサイズ分のサーチが行われたか否か判定され、否の場合は、ブロック#14に戻り、有効ページ管理ビットマップテーブル26の次の16バイトのサーチが行われ、起動時に指定された検索データサイズ分のサーチが行われるまで上記の処理が繰り返される。これにより、コンパクション候補情報(例えば、ブロック内有効ページ数がある一定数以下のブロック)がコンパクション候補管理テーブル25に格納される。
コンパクション処理そのもの、すなわちコンパクション候補管理テーブル25からコンパクション候補情報を読み出して、コンパクション候補ブロック内の有効ページデータをかき集めて、別のブロックに移動させ、移動元のページを無効化し、コンパクション候補ブロックを空きブロックとする処理は、サーチ後に適宜な別のタイミングで行うことが出来る。サーチを事前に行っておくことにより、コンパクション処理を効率よく実施することが出来る。
図4は遅延回路32の遅延動作を説明する図である。遅延回路32はコンパクションサーチエンジン36からコンパクションサーチのためのアクセス要求REQ1がアサートされても、すぐには要求REQCをアサートせずに、所定の遅延時間Tだけ遅延して要求REQCをアサートする。同様に、調停回路28でアサートされた確認ACKCも所定の遅延時間Tだけ遅延されて、確認ACK1としてコンパクションサーチエンジン36に戻される。コンパクションサーチエンジン36はアクセス要求REQ1を発行した後、その確認ACK1を受信しないと、次のコンパクションサーチのためのアクセス要求REQ1を発行できない。
このため、コンパクションサーチのためのアクセス要求REQ1の発行頻度は遅延時間T,Tに応じて決まってしまう。本実施形態によれば、遅延時間T,Tはメインメモリのアクセス頻度に応じているので、結局、コンパクションサーチのためのアクセス要求REQ1の発行頻度はメインメモリのアクセス頻度に応じて制御される。従って、コンパクションサーチの実行がある時間内に集中して、CPUあるいはフラッシュメモリによるメインメモリのアクセスがコンパクションサーチにより妨害されることが無い。さらに、コンパクションサーチの実行頻度はメインメモリのアクセス頻度に応じて調整されているので、メインメモリのアクセスの空いている期間にコンパクションサーチを実施することができ、メインメモリのアクセス性能を低下することなく、コンパクション処理を効率よく実施することが出来る。
なお、この発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組み合せてもよい。例えば、メインメモリ24に格納されコンパクション候補を決定するための候補情報としては有効ページ管理ビットマップテーブル26のデータの例を説明したが、これに限らず、各ブロック毎の有効ページ数を示す情報そのものを用いても良い。また、遅延回路32はコンパクションサーチエンジン36からコンパクションサーチのためのアクセス要求REQ1とともに調停回路28でアサートされた確認ACKCも遅延させているが、アクセス要求REQ1のみを遅延してもコンパクションサーチのためのアクセス要求REQ1の発行の集中を防ぐことが出来るので、確認ACKCは遅延しないでそのままコンパクションサーチエンジン36に渡してもよい。さらに、遅延時間はメインメモリのアクセス頻度に応じてアクセス要求REQ1の発行毎に可変しているが、必ずしも発行毎に可変する必要は無く、一定時間毎に可変としてもよい。
12…フラッシュメモリコントローラ、20…CPUバス、22…CPU、24…メインメモリ、25…コンパクション候補管理テーブル、26…ブロック内有効ページ管理ビットマップテーブル、28…調停回路、30…フラッシュメモリI/F、32…遅延回路、34…遅延時間調整回路、36…コンパクションサーチエンジン。

Claims (12)

  1. 不揮発性メモリのコンパクション候補を決定するための候補情報を格納するメインメモリと、
    前記メインメモリの候補情報のアクセス要求を発行する要求発行手段と、
    前記要求発行手段により発行されたアクセス要求を所定時間遅延する遅延手段と、
    前記遅延手段により遅延されたアクセス要求に基づいて前記メインメモリの候補情報をアクセスするアクセス手段を具備する半導体記憶装置。
  2. 前記アクセス手段によるアクセスの終了確認を発行する確認発行手段をさらに具備し、
    前記確認発行手段により発行された終了確認は前記遅延手段を介して前記要求発行手段に返送される請求項1記載の半導体記憶装置。
  3. メインメモリのアクセス頻度を検出する検出手段をさらに具備し、
    前記検出手段により検出されたアクセス頻度が所定頻度より混んでいる場合、前記遅延手段の遅延時間は長くされ、前記検出手段により検出されたアクセス頻度が所定頻度より混んでいない場合、前記遅延手段の遅延時間は短くされる請求項1記載の半導体記憶装置。
  4. 前記遅延手段が、前記要求発行手段により発行されたアクセス要求を遅延する遅延時間と、前記確認発行手段により発行された終了確認を遅延する時間とは異なる請求項2記載の半導体記憶装置。
  5. 前記遅延手段が、前記要求発行手段により発行されたアクセス要求を遅延する遅延時間と、前記確認発行手段により発行された終了確認を遅延する時間とは同じである請求項2記載の半導体記憶装置。
  6. 前記不揮発性メモリから発行された前記メインメモリのアクセス要求と、CPUから発行された前記メインメモリのアクセス要求と、前記要求発行手段から発行されたアクセス要求とのアービトレーションを行う調停回路をさらに具備する請求項1記載の半導体記憶装置。
  7. 不揮発性メモリのコンパクション候補を決定するための候補情報を格納するメインメモリを具備する半導体記憶装置の制御方法であって、
    前記メインメモリの候補情報のアクセス要求を発行することと、
    発行された前記アクセス要求を所定時間遅延することと、
    遅延された前記アクセス要求に基づいて前記メインメモリの候補情報をアクセスすることと、
    を具備する制御方法。
  8. 前記アクセスの終了確認を発行することをさらに具備し、
    発行された前記終了確認は遅延されて前記アクセス要求の発行元に返送される請求項7記載の制御方法。
  9. メインメモリのアクセス頻度を検出することをさらに具備し、
    検出されたアクセス頻度が所定頻度より混んでいる場合、前記遅延時間は長くされ、検出されたアクセス頻度が所定頻度より混んでいない場合、前記遅延時間は短くされる請求項7記載の制御方法。
  10. 前記アクセス要求を遅延する遅延時間と、前記終了確認を遅延する時間とは異なる請求項8記載の制御方法。
  11. 前記アクセス要求を遅延する遅延時間と、前記終了確認を遅延する時間とは同じである請求項8記載の制御方法。
  12. 前記メインメモリの候補情報のアクセス要求と、前記不揮発性メモリから発行された前記メインメモリのアクセス要求と、CPUから発行された前記メインメモリのアクセス要求とのアービトレーションを行うことをさらに具備する請求項7記載の制御方法。
JP2010019545A 2010-01-29 2010-01-29 半導体記憶装置及びその制御方法 Expired - Fee Related JP4802284B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010019545A JP4802284B2 (ja) 2010-01-29 2010-01-29 半導体記憶装置及びその制御方法
US13/016,529 US8140741B2 (en) 2010-01-29 2011-01-28 Semiconductor storage device and control method thereof
US13/279,118 US8275935B2 (en) 2010-01-29 2011-10-21 Semiconductor storage device and control method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010019545A JP4802284B2 (ja) 2010-01-29 2010-01-29 半導体記憶装置及びその制御方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2011169992A Division JP4837144B2 (ja) 2011-08-03 2011-08-03 半導体記憶装置及びその制御方法

Publications (2)

Publication Number Publication Date
JP2011159069A true JP2011159069A (ja) 2011-08-18
JP4802284B2 JP4802284B2 (ja) 2011-10-26

Family

ID=44342632

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010019545A Expired - Fee Related JP4802284B2 (ja) 2010-01-29 2010-01-29 半導体記憶装置及びその制御方法

Country Status (2)

Country Link
US (2) US8140741B2 (ja)
JP (1) JP4802284B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190094098A (ko) 2018-02-02 2019-08-12 후지쯔 가부시끼가이샤 스토리지 제어 장치 및 스토리지 제어 방법

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4802284B2 (ja) 2010-01-29 2011-10-26 株式会社東芝 半導体記憶装置及びその制御方法
US20140013031A1 (en) * 2012-07-09 2014-01-09 Yoko Masuo Data storage apparatus, memory control method, and electronic apparatus having a data storage apparatus
US20140032820A1 (en) * 2012-07-25 2014-01-30 Akinori Harasawa Data storage apparatus, memory control method and electronic device with data storage apparatus
US9164904B2 (en) * 2012-08-28 2015-10-20 Hewlett-Packard Development Company, L.P. Accessing remote memory on a memory blade
US9417999B2 (en) * 2012-12-17 2016-08-16 International Business Machines Corporation Write peformance in solid state storage by recognizing copy source to target operations and only storing updates instead of entire block
JP2015001909A (ja) * 2013-06-17 2015-01-05 富士通株式会社 情報処理装置、制御回路、制御プログラム、および制御方法
US9189414B1 (en) * 2013-09-26 2015-11-17 Emc Corporation File indexing using an exclusion list of a deduplicated cache system of a storage system
US9390116B1 (en) 2013-09-26 2016-07-12 Emc Corporation Insertion and eviction schemes for deduplicated cache system of a storage system
US9304914B1 (en) 2013-09-26 2016-04-05 Emc Corporation Deduplicated cache system of a storage system
US9189402B1 (en) 2013-09-26 2015-11-17 Emc Corporation Method for packing and storing cached data in deduplicated cache system of a storage system
US9336143B1 (en) 2013-09-26 2016-05-10 Emc Corporation Indexing a deduplicated cache system by integrating fingerprints of underlying deduplicated storage system
US10210087B1 (en) * 2015-03-31 2019-02-19 EMC IP Holding Company LLC Reducing index operations in a cache
US10922228B1 (en) 2015-03-31 2021-02-16 EMC IP Holding Company LLC Multiple location index
US10339044B2 (en) * 2016-03-30 2019-07-02 Sandisk Technologies Llc Method and system for blending data reclamation and data integrity garbage collection
US9880745B2 (en) 2016-06-21 2018-01-30 International Business Machines Corporation Reducing concurrency of garbage collection operations
KR20220080273A (ko) * 2020-12-07 2022-06-14 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US11836073B2 (en) * 2022-04-27 2023-12-05 Dell Products L.P. Storage device operating data counter system

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182975A (ja) * 2000-12-18 2002-06-28 Seiko Epson Corp マルチプロセッサシステム
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
WO2008038372A1 (fr) * 2006-09-28 2008-04-03 Fujitsu Microelectronics Limited Circuit de mémoire partagée et procédé de contrôle d'accès
JP2008146253A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
JP2008242503A (ja) * 2007-03-23 2008-10-09 Canon Inc メモリ管理装置及び方法、並びにプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03141442A (ja) 1989-10-27 1991-06-17 Hitachi Ltd タスク制御方式
JP2614357B2 (ja) 1990-10-19 1997-05-28 富士通株式会社 一括消去型e▲上2▼promの予備書込み方法
JPH06222985A (ja) 1993-01-26 1994-08-12 Oki Electric Ind Co Ltd メモリ制御装置
US7424498B1 (en) * 2003-06-30 2008-09-09 Data Domain, Inc. Probabilistic summary data structure based encoding for garbage collection
JP2008146341A (ja) 2006-12-08 2008-06-26 Sharp Corp 不揮発性半導体記憶装置及びその処理方法
US20090198952A1 (en) * 2008-02-04 2009-08-06 Apple Inc Memory Mapping Architecture
US8176235B2 (en) * 2009-12-04 2012-05-08 International Business Machines Corporation Non-volatile memories with enhanced write performance and endurance
JP4738536B1 (ja) * 2010-01-29 2011-08-03 株式会社東芝 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
JP4802284B2 (ja) 2010-01-29 2011-10-26 株式会社東芝 半導体記憶装置及びその制御方法
US8458417B2 (en) * 2010-03-10 2013-06-04 Seagate Technology Llc Garbage collection in a storage device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002182975A (ja) * 2000-12-18 2002-06-28 Seiko Epson Corp マルチプロセッサシステム
JP2003228513A (ja) * 2001-11-28 2003-08-15 Access:Kk メモリ制御方法および装置
WO2008038372A1 (fr) * 2006-09-28 2008-04-03 Fujitsu Microelectronics Limited Circuit de mémoire partagée et procédé de contrôle d'accès
JP2008146253A (ja) * 2006-12-07 2008-06-26 Sony Corp 記憶装置およびコンピュータシステム、並びに記憶装置のデータ処理方法
JP2008242503A (ja) * 2007-03-23 2008-10-09 Canon Inc メモリ管理装置及び方法、並びにプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190094098A (ko) 2018-02-02 2019-08-12 후지쯔 가부시끼가이샤 스토리지 제어 장치 및 스토리지 제어 방법

Also Published As

Publication number Publication date
US8140741B2 (en) 2012-03-20
JP4802284B2 (ja) 2011-10-26
US20110191528A1 (en) 2011-08-04
US8275935B2 (en) 2012-09-25
US20120042119A1 (en) 2012-02-16

Similar Documents

Publication Publication Date Title
JP4802284B2 (ja) 半導体記憶装置及びその制御方法
TWI632457B (zh) 用於資料儲存裝置的損耗平均方法
JP4738536B1 (ja) 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法
Hu et al. Write amplification analysis in flash-based solid state drives
TWI409633B (zh) 快閃記憶體儲存裝置、其控制器與資料寫入方法
US20150378888A1 (en) Controller, flash memory apparatus, and method for writing data into flash memory apparatus
US10599345B2 (en) Memory device that writes data into a block based on time passage since erasure of data from the block
JP2012033047A (ja) 情報処理装置、メモリ管理装置、メモリ管理方法、及びプログラム
JP2007058840A5 (ja)
US10310764B2 (en) Semiconductor memory device and storage apparatus comprising semiconductor memory device
JP6167646B2 (ja) 情報処理装置、制御回路、制御プログラム、および制御方法
JP2015001908A (ja) 情報処理装置、制御回路、制御プログラム、および制御方法
JP4189402B2 (ja) キャッシュ回路
TW201824010A (zh) 資訊處理裝置及記憶體存取方法
TWI612473B (zh) 垃圾回收方法以及使用該方法的裝置
US20140372673A1 (en) Information processing apparatus, control circuit, and control method
CN111880723A (zh) 数据储存装置与数据处理方法
KR20210051873A (ko) 컨트롤러 및 메모리 시스템
CN111400201A (zh) 快闪存储器的数据整理方法、存储装置及控制电路单元
KR102653659B1 (ko) 메모리 시스템, 메모리 컨트롤러 및 동작 방법
US9304906B2 (en) Memory system, controller and control method of memory
KR101363422B1 (ko) 비휘발성 메모리 시스템
JPH07114500A (ja) 不揮発性メモリ記憶装置
JP2008197981A (ja) 半導体記憶装置
JP4837144B2 (ja) 半導体記憶装置及びその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110311

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110311

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110419

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110620

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: 20110712

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: 20110808

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees