JP2010521718A - 半導体記憶装置及びその制御方法、コントローラ、情報処理装置 - Google Patents
半導体記憶装置及びその制御方法、コントローラ、情報処理装置 Download PDFInfo
- Publication number
- JP2010521718A JP2010521718A JP2009535161A JP2009535161A JP2010521718A JP 2010521718 A JP2010521718 A JP 2010521718A JP 2009535161 A JP2009535161 A JP 2009535161A JP 2009535161 A JP2009535161 A JP 2009535161A JP 2010521718 A JP2010521718 A JP 2010521718A
- Authority
- JP
- Japan
- Prior art keywords
- unit
- data
- storage area
- storage
- area
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- 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
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/06—Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
- G11C11/5621—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
- G11C11/5628—Programming or writing circuits; Data input circuits
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/7202—Allocation control and policies
-
- 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/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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)
- Human Computer Interaction (AREA)
- Computer Hardware Design (AREA)
- Memory System (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【選択図】図1
Description
1. 概要
本発明の実施形態に係る半導体記憶装置は、ホスト機器からのセクタ単位の入力データを第一の記憶部に書き込み、ここで、そのデータが「小さな単位(第一の管理単位)」として管理すべきデータか、または、「大きな単位(第二の管理単位)」として管理すべきデータかを識別し、「小さな単位」として管理すべきデータを第二の記憶部に、「大きな単位」として管理すべきデータを第三の記憶部に書き込むことを特徴とする。
本発明の実施形態について説明する。
図1は、本実施形態に係る半導体記憶装置の第一の基本構成を示している。
図3は、キャッシュ管理テーブルの構成例を示している。
図4は、ページ管理テーブルの構成例を示している。
図6は、ブロック管理テーブルの構成例を示している。
図7及び図8は、物理ブロック管理テーブルの構成例を示している。
図1及び図2のコントローラ10が行う処理について説明する。
図9は、第一の記憶部11へのデータ蓄積処理を示している。
図10及び図11を参照しつつ第一の記憶部11からのデータ出力処理について説明する。
コントローラ10は、第一の記憶部11からの出力候補となるデータを選択し、選択されたデータを、第二の記憶部12にページ単位のデータとして転送する。図10のステップST4以降を参照する。
コントローラ10は、第一の記憶部11からの出力候補となるデータを選択し、選択されたデータを、第三の記憶部13にブロック単位のデータとして転送する。図11のステップST4’以降を参照する。
コントローラ10は、第一の記憶部11から出力されたデータを、上述のa.の場合と同様に、ページ単位のデータとして第二の記憶部12に記憶する。第一の記憶部11から出力されたデータを第二の記憶部12に書き込んだ後、上述のa.の場合と同様に、図3のキャッシュ管理テーブルを更新し、書き込みデータに対応するエントリを無効化する。更に、図4または図5のページ管理テーブル、及び、図7または図8の物理ブロック管理テーブルを更新する(ステップST4〜ステップST13)。
コントローラ10は、第一の記憶部11から出力されたデータを、上述のa.の場合と同様に、ブロック単位のデータとして第三の記憶部13に記憶する。第一の記憶部11から出力されたデータを第三の記憶部13に書き込んだ後、上述のa.の場合と同様に、図3のキャッシュ管理テーブルを更新し、書き込みデータに対応するエントリを無効化する。更に、図4または図5のページ管理テーブル、図6のブロック管理テーブル、及び、図7または図8の物理ブロック管理テーブルを更新する(ステップST4’〜ステップST8’)。
図15を参照しつつ、第二の記憶部12から第三の記憶部13へのデータ転送処理について説明する。
第一の記憶部11から第二及び第三の記憶部12,13の少なくとも一方へのデータ転送処理、及び、第二の記憶部12から第三の記憶部13へのデータ転送処理は、上述の説明の場合の他、ホスト機器から指示された所定時期に行うことも可能である。
図17は、第二の基本構成に対応するシステム例を示している。
本実施形態に係る動作例を、図18を参照しつつ、書き込み効率を比較することによって説明する。同時に、管理テーブルのサイズに関する考察を行う。
以下の説明では、揮発性半導体記憶素子21がDRAMであり、不揮発性半導体記憶素子22がNAND型フラッシュメモリであると想定する。NAND型フラッシュメモリのブロック単位のサイズは512キロバイトであり、ページ単位のサイズは4キロバイトであり、ホスト機器のセクタ単位のサイズは512バイトであると想定する。第一の条件で規定される所定の閾値(「データ数」または「データ量」)は、NAND型フラッシュメモリのブロック単位のサイズの50%(256キロバイト)であると想定とする。
第一の記憶部11にデータが全く存在しない初期状態において、データYが第一の記憶部11に書き込まれると、結果として、データYを含むブロック単位のサイズの論理アドレス範囲(データXの論理アドレス範囲と等しい)において、セクタ単位のデータY(512バイト)のみが第一の記憶部11に存在することになる。コントローラ10は、キャッシュ管理テーブルを検索することによって、データ量を検出することができる。
データYの論理アドレスをブロック単位のサイズでアラインすることによって得られた論理アドレス範囲(データXの論理アドレス範囲と等しい)内に含まれるデータとして、384キロバイトの更新データが、既に第一の記憶部11に書き込まれている初期状態を想定する。
不揮発性半導体記憶素子を「小さな単位」で管理すれば、コントローラ10は、ホスト機器31からのデータサイズまたはデータ量によらずデータ書き込み位置の詳細な制御を実行でき、書き込み効率は向上すると考えられる。しかしながら、アドレス変換の実行に必要な管理データが大きくなり、コントローラ10の処理効率が悪くなる可能性がある。
第二及び第三の記憶部12,13に関して、本実施形態の処理に加えて、以下の処理を行っても良い。
第二の記憶部12の無効データ数が増え、「書き込み可能」な状態のページが無いブロックが増えた場合、図19に示すように、コントローラ10は、有効データのみを集めて、これらの有効データを「未使用」のブロックにコピーしても良い。
第三の記憶部13のコンパクションは、第三の記憶部13におけるデータ管理単位(「大きな単位」)のサイズが、ブロック単位のサイズ未満である場合に適用可能になる。
本実施形態によれば、以下の構成により、ホスト機器からのデータサイズまたはデータ量にかかわらず、書き込み効率の向上を図り、性能劣化及び寿命短縮を防止できる。
半導体記憶装置は、第一の単位以下で書き込みを行う揮発性半導体記憶素子に形成された第一の記憶部と、第二の単位で書き込みを行い、第三の単位で消去を行う不揮発性半導体記憶素子に形成された第二及び第三の記憶部と、以下の処理を実行するコントローラとを有する。第一の単位は半導体記憶装置に対するアクセス単位であり、第三の単位は第二の単位の二以上の自然数倍の大きさである。
コントローラは、更に、第二の記憶部から出力される第一の管理単位のデータを選択する第四の処理と、選択されたデータを含むデータを第二の管理単位で第三の記憶部に記憶する第五の処理とを実行する。
第二の記憶部と第三の記憶部は、同一の不揮発性半導体記憶素子を共有し、コントローラは、第三の単位の領域を、第二及び第三の記憶部の各々に割り当てる。
コントローラは、第一の記憶部から出力されるデータの論理アドレスを第二の管理単位にアラインすることで論理アドレス範囲を計算し、論理アドレス範囲内に含まれ、かつ、第一の記憶部に記憶されているデータを数え、データ数が所定の閾値未満である場合は第二の処理を実行し、データ数が所定の閾値以上である場合は第三の処理を実行する。
コントローラは、第一の記憶部から出力されるデータの論理アドレスを第二の管理単位にアラインすることで論理アドレス範囲を計算し、論理アドレス範囲内に含まれ、かつ、第一及び第二の記憶部に記憶されているデータを数え、データ数が所定の閾値未満である場合は第二の処理を実行し、データ数が所定の閾値以上である場合は第三の処理を実行する。
コントローラは、第二の記憶部に記憶されている複数の有効データ及び無効データによって占有される第三の単位の領域の数が許容範囲を超えた場合に、第四及び第五の処理を実行する。
第四の処理において、コントローラは、第二の記憶部内で書き込まれた順序が最も古い第三の単位の領域を検出し、その第三の単位の領域に記憶されている第一の管理単位の各有効データを選択する。
第四の処理において、コントローラは、第二の記憶部における第三の単位の領域それぞれについて、有効データの論理アドレスを第二の管理単位にアラインすることで論理アドレス範囲を計算し、論理アドレス範囲内に含まれ、かつ、第二の記憶部に記憶されている有効データを数え、第二の記憶部における第三の単位の領域それぞれについてその有効データ数を合計し、合計が最も大きい第三の単位の領域を検出し、その第三の単位の領域に記憶されている第一の管理単位の各有効データを選択する。
第四の処理において、コントローラは、第二の記憶部における第三の単位の各領域について無効データを数え、無効データ数が最も小さい第三の単位の領域を検出し、その第三の単位の領域に記憶されている第一の管理単位の各有効データを選択する。
第二の単位は、第一の管理単位の二以上の自然数倍の大きさである。
第一の管理単位は、第二の単位の二以上の自然数倍の大きさであり、かつ、第三の単位は、第一の管理単位の二以上の自然数倍の大きさである。
第三の単位は、第二の管理単位の二以上の自然数倍の大きさである。
第二の管理単位は、第三の単位の二以上の自然数倍の大きさである。
第二の処理において、コントローラは、第二の記憶部における第二の単位の空き領域に第一の管理単位の新データを書き込み、新データの論理アドレスが旧データの論理アドレスに対応する場合、第二の記憶部に記憶されていた旧データを無効化し、新データを、旧データに対して優先度が高い有効データとして取り扱い、旧データを、新データを参照することにより無視される無効データとして取り扱う。
コントローラは、第二の記憶部における無効データ数が許容値を超えたか否かを判断し、第二の記憶部における第三の単位の各領域について無効データを数え、無効データ数が大きい第三の単位の領域から順次有効データを選択し、選択された有効データを、第三の単位の空いている第一の領域に書き直し、選択された有効データを書き込んだ後に第1の領域を第二の記憶部に割り当て、選択された有効データを第一の領域に書き直すことによって有効データを持たなくなった第三の単位の第二の領域を、第二の記憶部から解放する。
第三の処理において、コントローラは、第三の記憶部における第三の単位の空き領域に第二の管理単位の新データを書き込み、新データの論理アドレスが旧データの論理アドレスに対応する場合、第三の記憶部に記憶されていた旧データを無効化し、新データを、旧データに対して優先度が高い有効データとして取り扱い、旧データを、新データを参照することにより無視される無効データとして取り扱う。
コントローラは、第三の記憶部における無効データ数が所定の閾値を超えたか否かを判断し、第三の記憶部における第三の単位の各領域について第二の管理単位の無効データを数え、無効データ数が大きい第三の単位の領域から順次有効データを選択し、選択された第二の管理単位の有効データを、第三の記憶部における第三の単位の空き領域に書き直し、第三の単位の領域を解放する。第二の管理単位は第三の単位よりも小さいとする。
本実施形態に係る半導体記憶装置は、例えば、ノートブック型コンピュータ等のパーソナルコンピュータの二次記憶装置として使用されるSSDに適用可能である。その場合の具体例については、後述する。
本実施形態によれば、消去/読み出し/書き込みの単位が固定される不揮発性半導体記憶素子を使用する半導体記憶装置において、ホスト機器からのデータサイズまたはデータ量にかかわらず、書き込み効率の向上を図り、性能劣化及び寿命短縮を防止することができる。
1. 概要
第I節で述べたコンパクションは、無効データの消去に基づく記憶領域の有効活用に優れている。しかしながら、コンパクションは、同一のデータを他のブロックに書き直むというコピー動作を必要とするため、コンパクションの対象となった有効データに対して直ちに更新が行われると、ブロックの消去回数が増加するという副作用が生じる。
・ 第一の単位以下でデータの読み出し/書き込みが可能な揮発性半導体記憶素子内の第一の記憶部
・ 第二の単位でデータの読み出し/書き込みを行い、第三の単位でデータの消去を行う不揮発性半導体記憶素子内の複数の第三の単位の領域から構成され、第一の単位の自然数倍の大きさである「小さな単位(第一の管理単位)」でデータを管理する第二の記憶部
・ 第二の単位でデータの読み出し/書き込みを行い、第三の単位でデータの消去を行う不揮発性半導体記憶素子内の複数の第三の単位の領域から構成され、「小さな単位」の二以上の自然数倍、かつ、第三の単位の自然数倍の大きさである「大きな単位(第二の管理単位)」でデータを記憶する第三の記憶部
・ 第二の単位でデータの読み出し/書き込みを行い、第三の単位でデータの消去を行う不揮発性半導体記憶素子内の複数の第三の単位の領域から構成され、第一の単位の自然数倍の大きさである「小さな単位」でデータを管理する第四の記憶部
第四の記憶部は、更新頻度の高いデータと更新頻度の低いデータとを区別する手段として使用される。概略的には、第I節で述べた基本構成に加え、更新頻度の高いデータと更新頻度の低いデータとを区別するための第四の記憶部が設けられた構成となる。
(1) 第一の実施形態
図20は、第一の実施形態に係る半導体記憶装置を示している。
図21は、キャッシュ管理テーブルの構成例を示している。
図22は、ページ管理テーブルの構成例を示している。
図23は、ブロック管理テーブルの構成例を示している。
図24は、ページFIFO管理テーブルの構成例を示している。
図25は、物理ブロック管理テーブルの構成例を示している。
第四の記憶部14は、既に述べたように、ブロック単位のFIFO構造を有する。図26は、第四の記憶部14でのFIFO処理を示している。
図27は、処理P1のフローチャートを示している。
図28は、処理例1のフローチャートを示している。
図29は、処理例2のフローチャートを示している。
図30は、第二の実施形態に係る半導体記憶装置を示している。
図30のキャッシュ管理テーブルは、第一の記憶部11に記憶されるデータを、ページ単位に等しい「小さな単位」で管理する。また、有効データの管理は、セクタ単位で実行される。
図30のページ管理テーブルは、第二及び第四の記憶部12,14に記憶されるデータを、ページ単位に等しい「小さな単位」で管理する。
図31は、トラック管理テーブルの構成例を示している。
図30のページFIFO管理テーブルは、第四の記憶部14に割り当てられたブロック内のデータを管理する。
図32は、トラックFIFO管理テーブルの構成例を示している。
図33は、物理ブロック管理テーブルの構成例を示している。
図34は、第五の記憶部15でのFIFO処理を示している。説明を簡略化するため、第一の記憶部11から「大きな単位」として出力されると決まったデータについて、詳細に検討する。
図35は、処理例1のフローチャートを示している。
第三の記憶部13内のブロックを単純に使用するだけでは、コンパクションが行えない場合がある。具体的には、半導体記憶装置の製品仕様としての記憶容量が、第三の記憶部13の記憶容量よりも大きく、第三及び第五の記憶部13,15の合計の記憶容量よりも小さい場合に、コンパクションが行えない場合がある。
第三の実施形態は、実装コスト及び検証コストを下げることを目的とした、第二及び第四の記憶部12,14におけるデータ管理設定に関連する。
図37のキャッシュ管理テーブルは、第一の記憶部11に記憶されるデータを、ページ単位に等しい「小さな単位」で管理する。有効データの管理は、セクタ単位で実行される。
図37のページ管理テーブルは、第二及び第四の記憶部12,14に記憶されるデータを、ページ単位に等しい「小さな単位」で管理する。
図37のブロック管理テーブルは、第三の記憶部13に記憶されるデータを、ブロック単位に等しい「大きな単位」で管理する。
図37のページFIFO管理テーブルは、第四の記憶部14に割り当てられたブロック内のデータを管理する。
図37の物理ブロック管理テーブルは、不揮発性半導体記憶素子22のブロックの使用状況を管理する。
第四の記憶部14は、既に述べたように、ブロック単位のFIFO構造を有する。図38は、第四の記憶部14でのFIFO処理を示している。
図39は、処理P1のフローチャートを示している。図40は、処理P1を実行中の第四の記憶部14内のブロックの状態を示している。各ブロックは、複数のページから構成されている。各ページは、ページ管理テーブル中のページ利用状況を参照することにより、「有効」、「無効」、「空き」を含む三つの状態のいずれか一つに設定されている。
図41は、処理例のフローチャートを示している。図42乃至図46は、図41の処理を実行中の第二の記憶部12内のブロックの状態を示している。図42乃至図46に示されている通り、第二の記憶部12におけるブロックの割り当て順序が、コントローラ10によって管理されている。
上記実施形態に係る半導体記憶装置は、例えば、ノートブック型コンピュータ等のパーソナルコンピュータの二次記憶装置として使用されるSSD(Solid State Drive)に適用可能である。その場合の具体例については、後述する。
第一、第二、及び第三の実施形態に係る半導体記憶装置は、更新頻度の低いデータをコンパクション処理の対象とし、これにより不揮発性半導体記憶素子内のブロックの消去回数を減少させる。更に第I節で述べたように、半導体記憶装置は、「大きな単位」と「小さな単位」という二つの管理単位を併用することにより、書き込み効率の向上を実現する。
1. 概要
以上、第I節及び第II節に係る半導体記憶装置についてそれぞれ説明がなされた。本節では、上述の説明で使用された第一、第二、及び第三の単位、並びに、「小さな単位」及び「大きな単位」について、具体的に説明する。
本発明の実施形態について説明する。
図47のキャッシュ管理テーブルは、第一の記憶部11に記憶されるデータを、クラスタ単位に等しい「小さな単位」で管理する。有効データの管理は、セクタ単位で実行される。
図47のクラスタ管理テーブルは、第二の記憶部12及び第四の記憶部14に記憶されるデータを、クラスタ単位に等しい「小さな単位」で管理する。クラスタ単位は、セクタ単位の自然数倍のサイズであり、かつ、ページ単位は、クラスタ単位の二以上の自然数倍のサイズである。
図47のブロック管理テーブルは、第三の記憶部13に記憶されるデータを、ブロック単位に等しい「大きな単位」で管理する。ブロック管理テーブルの構成については、第II節の第一の実施形態で図23として示される通りである。
図47のクラスタFIFO管理テーブルは、第四の記憶部14に割り当てられたブロック内のデータを管理する。クラスタFIFO管理テーブルの構成については、第II節の第一の実施形態で図24として示される通りである。
図47の物理ブロック管理テーブルは、不揮発性半導体記憶素子22のブロックの使用状況を管理する。物理ブロック管理テーブルの構成については、第II節の第一の実施形態で図25として示される通りである。
第四の記憶部14は、既に述べたように、ブロック単位のFIFO構造を有する。図49は、第四の記憶部14でのFIFO処理を示している。
半導体記憶装置におけるデータ管理単位(「小さな単位」及び「大きな単位」)は、不揮発性半導体記憶素子における物理的な読み出し/書き込み/消去単位に一致していても良いし、異なっていても良い。
上記複数の実施形態に示された半導体記憶装置に係る適用例について説明する。
Claims (84)
- 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二及び第三の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第二の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、を実行するコントローラと、
を具備することを特徴とする半導体記憶装置。 - 前記コントローラは、前記第二の処理において、
前記第一の管理単位のデータを構成し、かつ、前記第一の記憶領域内に記憶されていないデータを前記第二及び第三の記憶領域の少なくとも一つから読み出し、
前記第一の記憶領域内に記憶されているデータと、前記第二及び第三の記憶領域の少なくとも一つから読み出されたデータとを、前記第一の管理単位のデータへと統合する、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記コントローラは、前記第三の処理において、
前記第二の管理単位のデータを構成し、かつ、前記第一の記憶領域内に記憶されていないデータを前記第二及び第三の記憶領域の少なくとも一つから読み出し、
前記第一の記憶領域内に記憶されているデータと、前記第二及び第三の記憶領域の少なくとも一つから読み出されたデータとを、前記第二の管理単位のデータへと統合する、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域から出力されるべき前記第一の管理単位のデータを選択する第四の処理と、前記選択されたデータを含むデータを前記第二の管理単位で前記第三の記憶領域に記憶する第五の処理と、を更に実行することを特徴とする請求項1に記載の半導体記憶装置。 - 前記コントローラは、前記第五の処理において、
前記選択されたデータの論理アドレスを前記第二の管理単位にアラインすることで論理アドレス範囲を計算し、
前記論理アドレス範囲に含まれるデータを前記第一、第二、及び第三の記憶領域の少なくとも一つから読み出し、
前記選択されたデータと、前記第一、第二、及び第三の記憶領域の少なくとも一つから読み出されたデータとを、前記第二の管理単位のデータへと統合する、
ことを特徴とする請求項4に記載の半導体記憶装置。 - 前記第二及び第三の記憶領域は、同一の不揮発性半導体記憶素子を共有し、
前記コントローラは、前記第三の単位の複数の領域を、前記第二及び第三の記憶領域それぞれに割り当てる、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記コントローラは、前記第一の処理において、
前記半導体記憶装置に入力されるデータの論理アドレスを前記第一の管理単位にアラインすることで論理アドレス範囲を計算し、
前記第一の単位のデータを、前記第一の記憶領域内において前記論理アドレス範囲に対応する前記第一の管理単位の領域に記憶する、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記コントローラは、前記第一の処理において、
前記論理アドレス範囲が、前記第一の記憶領域内において前記第一の単位のデータを記憶するために利用可能であるか否かを判断し、
前記論理アドレス範囲が利用可能でない場合は、前記第二及び第三の処理の少なくとも一方を実行する、
ことを特徴とする請求項7に記載の半導体記憶装置。 - 前記コントローラは、
前記第一の記憶領域から出力されるべきデータの論理アドレスを前記第二の管理単位にアラインすることで論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第一の記憶領域内に記憶されている前記第一の管理単位のデータを計数し、
計数されたデータの合計が所定の閾値未満である場合に、前記第二の処理を実行し、
計数されたデータの合計が所定の閾値以上である場合に、前記第三の処理を実行する、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記コントローラは、
前記第一の記憶領域から出力されるべきデータの論理アドレスを前記第二の管理単位にアラインすることで論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第一及び第二の記憶領域内に記憶されている前記第一の管理単位のデータを計数し、
計数されたデータの合計が所定の閾値未満である場合に、前記第二の処理を実行し、
計数されたデータの合計が所定の閾値以上である場合に、前記第三の処理を実行する、
ことを特徴とする請求項1に記載の半導体記憶装置。 - 前記不揮発性半導体記憶素子は、
前記第三の単位の領域内に含まれる前記第二の単位の領域にデータを再書き込みする前に、前記第三の単位の前記領域内のデータの消去を行う必要がある、
ことを特徴とする請求項4に記載の半導体記憶装置。 - 前記コントローラは、前記第二の処理において、
前記第一の記憶領域から出力される前記第一の管理単位の新データを、前記第二の記憶領域内における前記第二の単位の複数の空き領域に書き込み、
前記新データの論理アドレスが、前記第二の記憶領域に記憶されている旧データの論理アドレスに一致する場合に、前記旧データを無効化し、
前記新データを、前記旧データに対して優先度が高い有効データとして取り扱い、
前記旧データを、前記新データの参照により無視される無効データとして取り扱う、
ことを特徴とする請求項11に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内に記憶されている複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超えている場合に、前記第四及び第五の処理を実行する、
ことを特徴とする請求項12に記載の半導体記憶装置。 - 前記コントローラは、前記第四の処理において、
前記第二の記憶領域内で最も古い書き込み順序を持つ前記第三の単位の領域を検出し、
前記第三の単位の前記検出された領域内に記憶されている前記第一の管理単位の各々の有効データを選択する、
ことを特徴とする請求項13に記載の半導体記憶装置。 - 前記コントローラは、前記第四の処理において、
前記第二の記憶領域内の前記第三の単位の各々の領域について、有効データの論理アドレスを前記第二の管理単位にアラインすることで論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第二の記憶領域内に記憶されている前記第一の管理単位の有効データを計数し、
前記第二の記憶領域内の前記第三の単位の各々の領域について、前記有効データの計数値を合計し、
前記有効データの合計が最大である前記第三の単位の領域を検出し、
前記第三の単位の前記検出された領域内に記憶されている前記第一の管理単位の各々の有効データを選択する、
ことを特徴とする請求項13に記載の半導体記憶装置。 - 前記コントローラは、前記第四の処理において、
前記第二の記憶領域内の前記第三の単位の各々の領域について、前記第一の管理単位の無効データを計数し、
前記無効データの計数値が最小である前記第三の単位の領域を検出し、
前記第三の単位の前記検出された領域内に記憶されている前記第一の管理単位の各々の有効データを選択する、
ことを特徴とする請求項13に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内における無効データの合計が、所定の閾値を超えているか否かを判断し、
前記第二の記憶領域内の前記第三の単位の各々の領域について、前記第一の管理単位の無効データを計数し、
無効データ数が最大である前記第三の単位の領域から順番に、前記第三の単位の複数の領域内の有効データを選択し、
前記選択された有効データを、前記第二の単位の複数の空き領域を持つ前記第三の単位の第一の領域内にコピーし、
前記選択された有効データをコピーした後、前記第一の領域を前記第二の記憶領域に割り当て、
前記選択された有効データを前記第一の領域内にコピーした結果として有効データがなくなった前記第三の単位の第二の領域を、前記第二の記憶領域から解放する、
ことを特徴とする請求項12に記載の半導体記憶装置。 - 前記コントローラは、前記第三の処理において、
前記第一の記憶領域から出力される前記第二の管理単位の新データを、前記第三の記憶領域内の前記第二の単位の複数の空き領域に書き込み、
前記新データの論理アドレスが、前記第三の記憶領域に記憶されている旧データの論理アドレスに一致する場合に、前記旧データを無効化し、
前記新データを、前記旧データに対して優先度が高い有効データとして取り扱い、
前記旧データを、前記新データの参照により無視される無効データとして取り扱う、
ことを特徴とする請求項11に記載の半導体記憶装置。 - 前記コントローラは、
前記第三の記憶領域内における無効データの合計が、所定の閾値を超えているか否かを判断し、
前記第三の記憶領域内の前記第三の単位の各々の領域について、前記第二の管理単位の無効データを計数し、
無効データ数が最大である前記第三の単位の領域から順番に、前記第三の単位の複数の領域内の有効データを選択し、
前記選択された有効データを、前記第二の単位の複数の空き領域を持つ前記第三の単位の第一の領域内にコピーし、
前記選択された有効データをコピーした後、前記第一の領域を前記第三の記憶領域に割り当て、
前記選択された有効データを前記第一の領域内にコピーした結果として有効データがなくなった前記第三の単位の第二の領域を、前記第三の記憶領域から解放する、
ことを特徴とし、
前記第二の管理単位は、前記第三の単位よりも小さい、
ことを特徴とする請求項18に記載の半導体記憶装置。 - 前記第二の単位は、前記第一の管理単位の二以上の自然数倍であることを特徴とする請求項1に記載の半導体記憶装置。
- 前記第一の管理単位は、前記第二の単位の二以上の自然数倍であり、かつ、前記第三の単位は、前記第一の管理単位の二以上の自然数倍であることを特徴とする請求項1に記載の半導体記憶装置。
- 前記第三の単位は、前記第二の管理単位の二以上の自然数倍であることを特徴とする請求項1に記載の半導体記憶装置。
- 前記第二の管理単位は、前記第三の単位の二以上の自然数倍であることを特徴とする請求項1に記載の半導体記憶装置。
- 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理と、前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理と、を実行するコントローラと、
を具備することを特徴とする半導体記憶装置。 - 前記コントローラは、前記第二の処理において、
前記第一の記憶領域から出力される前記第一の管理単位の新データを、前記第三の単位の追記領域内に含まれる前記第二の単位の複数の空き領域に書き込み、
前記新データの論理アドレスが、前記第二及び第四の記憶領域内に記憶されている旧データの論理アドレスに一致する場合に、前記旧データを無効化し、
前記新データを、前記旧データに対して優先度が高い有効データとして取り扱い、
前記旧データを、前記新データの参照により無視される無効データとして取り扱い、
前記第二の単位の前記複数の空き領域が前記新データをもって書き込まれた場合に、前記第三の単位の前記追記領域を前記第四の領域に割り当てる、
ことを特徴とする請求項24に記載の半導体記憶装置。 - 前記コントローラは、
前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域に記憶されている前記第一の管理単位の有効データを選択し、前記選択された有効データを含むデータを、前記第二の管理単位で前記第三の記憶領域に記憶する第六の処理を、更に実行することを特徴とする請求項25に記載の半導体記憶装置。 - 前記コントローラは、前記第六の処理において、
最も古い割り当て順序を持つ前記第三の単位の前記領域内の各々の有効データの論理アドレスを前記第二の管理単位にアラインすることによって論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第四の記憶領域内に記憶されている前記第一の管理単位の有効データを計数し、
計数された有効データの合計が所定の閾値以上である場合に、前記論理アドレス範囲内に含まれる有効データを選択する、
ことを特徴とする請求項26に記載の半導体記憶装置。 - 前記コントローラは、前記第六の処理において、
最も古い割り当て順序を持つ前記第三の単位の前記領域内の各々の有効データの論理アドレスを前記第二の管理単位にアラインすることによって論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第二及び第四の記憶領域内に記憶されている前記第一の管理単位の有効データを計数し、
計数された有効データの合計が所定の閾値以上である場合に、前記論理アドレス範囲内に含まれる有効データを選択する、
ことを特徴とする請求項26に記載の半導体記憶装置。 - 前記コントローラは、
前記第四の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第四及び第六の処理の少なくとも一方を実行する、
ことを特徴とする請求項26に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域から出力されるべき前記第一の管理単位の有効データを選択し、前記選択された有効データを含むデータを、前記第二の管理単位で前記第三の記憶領域に記憶する第七の処理を、更に実行することを特徴とする請求項26に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第五及び第七の処理の少なくとも一方を実行する、
ことを特徴とする請求項30に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内の有効データの合計が、前記第二の記憶領域に記憶可能なデータの合計以下である場合に、前記第五の処理を実行し、
前記第二の記憶領域内の有効データの合計が、前記第二の記憶領域に記憶可能なデータの合計を超える場合に、前記第七の処理を実行する、
ことを特徴とする請求項31に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内で有効データ数が最小である前記第三の単位の領域から順番に、第一の所定数の前記第三の単位の領域を選択し、
前記第一の所定数の領域内の有効データの合計が、第二の所定数の前記第三の単位の領域に記憶可能なデータの合計に等しい場合に、第五の処理を実行し、
前記有効データの合計が、前記第二の所定数の領域に記憶可能なデータの合計を超える場合に、第七の処理を実行する、
ことを特徴とし、
前記第二の所定数は、前記第一の所定数よりも小さい、
ことを特徴とする請求項31に記載の半導体記憶装置。 - 前記コントローラは、前記第五の処理において、
前記第二の記憶領域内で有効データ数が最小である前記第三の単位の領域から順番に、前記第三の単位の複数の領域内における前記第一の管理単位の有効データを選択する、
ことを特徴とする請求項24に記載の半導体記憶装置。 - 前記コントローラは、前記第七の処理において、
前記第二の記憶領域内で有効データ数が最大である前記第三の単位の領域内における前記第一の管理単位の有効データを選択する、
ことを特徴とする請求項30に記載の半導体記憶装置。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、第四、及び第五の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍かつ前記第三の単位よりも小さい第二の管理単位で前記第五の記憶領域に記憶する第三の処理と、前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理と、前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理と、前記第五の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第三の記憶領域に移動する第六の処理と、前記第三の記憶領域内のデータを選択し、前記選択されたデータを前記第三の記憶領域内において前記第三の単位の空き領域に再書き込みする第七の処理と、を実行するコントローラと、
を具備することを特徴とする半導体記憶装置。 - 前記コントローラは、前記第二の処理において、
前記第一の記憶領域から出力される前記第一の管理単位の新データを、前記第三の単位の追記領域内に含まれる前記第二の単位の複数の空き領域に書き込み、
前記新データの論理アドレスが、前記第二及び第四の記憶領域内に記憶されている旧データの論理アドレスに一致する場合に、前記旧データを無効化し、
前記新データを、前記旧データに対して優先度が高い有効データとして取り扱い、
前記旧データを、前記新データの参照により無視される無効データとして取り扱い、
前記第二の単位の前記複数の空き領域が前記新データをもって書き込まれた場合に、前記第三の単位の前記追記領域を前記第四の記憶領域に割り当てる、
ことを特徴とする請求項36に記載の半導体記憶装置。 - 前記コントローラは、
前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域に記憶されている前記第一の管理単位の有効データを選択し、前記選択された有効データを含むデータを、前記第二の管理単位で前記第三の記憶領域に記憶する第八の処理を、更に実行することを特徴とする請求項37に記載の半導体記憶装置。 - 前記コントローラは、前記第八の処理において、
最も古い割り当て順序を持つ前記第三の単位の前記領域内の各々の有効データの論理アドレスを前記第二の管理単位にアラインすることによって論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第四の記憶領域内に記憶されている前記第一の管理単位の有効データを計数し、
計数された有効データの合計が所定の閾値以上である場合に、前記論理アドレス範囲内に含まれる有効データを選択する、
ことを特徴とする請求項38に記載の半導体記憶装置。 - 前記コントローラは、前記第八の処理において、
最も古い割り当て順序を持つ前記第三の単位の前記領域内の各々の有効データの論理アドレスを前記第二の管理単位にアラインすることによって論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第二及び第四の記憶領域内に記憶されている前記第一の管理単位の有効データを計数し、
計数された有効データの合計が所定の閾値以上である場合に、前記論理アドレス範囲内に含まれる有効データを選択する、
ことを特徴とする請求項38に記載の半導体記憶装置。 - 前記コントローラは、
前記第四の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第四及び第八の処理の少なくとも一方を実行する、
ことを特徴とする請求項38に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域から出力されるべき前記第一の管理単位の有効データを選択し、前記選択された有効データを含むデータを、前記第二の管理単位で前記第五の記憶領域に記憶する第九の処理を、更に実行することを特徴とする請求項38に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第五及び第九の処理の少なくとも一方を実行する、
ことを特徴とする請求項42に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内の有効データの合計が、前記第二の記憶領域に記憶可能なデータの合計以下である場合に、前記第五の処理を実行し、
前記第二の記憶領域内の有効データの合計が、前記第二の記憶領域に記憶可能なデータの合計を超える場合に、前記第九の処理を実行する、
ことを特徴とする請求項43に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内で有効データ数が最小である前記第三の単位の領域から順番に、第一の所定数の前記第三の単位の領域を選択し、
前記第一の所定数の領域内の有効データの合計数が、第二の所定数の前記第三の単位の領域に記憶可能なデータの合計数に等しい場合に、第五の処理を実行し、
前記有効データの合計が、前記第二の所定数の領域に記憶可能なデータの合計を超える場合に、第九の処理を実行する、
ことを特徴とし、
前記第二の所定数は、前記第一の所定数よりも小さい、
ことを特徴とする請求項43に記載の半導体記憶装置。 - 前記コントローラは、前記第五の処理において、
前記第二の記憶領域内で有効データ数が最小である前記第三の単位の領域から順番に、前記第三の単位の複数の領域内に記憶されている前記第一の管理単位の有効データを選択する、
ことを特徴とする請求項36に記載の半導体記憶装置。 - 前記コントローラは、前記第九の処理において、
前記第二の記憶領域内で有効データ数が最大である前記第三の単位の領域内における前記第一の管理単位の有効データを選択する、
ことを特徴とする請求項42に記載の半導体記憶装置。 - 前記コントローラは、前記第三の処理において、
前記第一の記憶領域から出力される前記第二の管理単位の新データを、前記第三の単位の追記領域内に含まれる前記第二の単位の複数の空き領域に書き込み、
前記新データの論理アドレスが、前記第二及び第四の記憶領域内に記憶されている旧データの論理アドレスに一致する場合に、前記旧データを無効化し、
前記新データを、前記旧データに対して優先度が高い有効データとして取り扱い、
前記旧データを、前記新データの参照により無視される無効データとして取り扱い、
前記第二の単位の前記複数の空き領域が前記新データをもって書き込まれた場合に、前記第三の単位の前記追記領域を前記第五の領域に割り当てる、
ことを特徴とする請求項36に記載の半導体記憶装置。 - 前記コントローラは、
前記第五の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第六の処理を実行する、
ことを特徴とする請求項48に記載の半導体記憶装置。 - 前記コントローラは、
前記第三の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第九の処理を実行する、
ことを特徴とする請求項36に記載の半導体記憶装置。 - 前記コントローラは、前記第九の処理において、
前記第三の記憶領域内で有効データ数が最小である前記第三の単位の領域から順番に、前記第三の単位の複数の領域内に記憶されている前記第二の管理単位の有効データを選択する、
ことを特徴とする請求項36に記載の半導体記憶装置。 - 前記コントローラは、前記第七の処理において、
前記第五の記憶領域に記憶されている前記第二の管理単位の有効データを更に選択する、
ことを特徴とする請求項36に記載の半導体記憶装置。 - 前記コントローラは、前記第七の処理において、
前記第三の記憶領域内に記憶されている無効データの合計が前記第三の単位の一つの領域に記憶可能なデータの合計未満の場合に、前記第五の記憶領域に記憶されている有効データを選択する、
ことを特徴とする請求項52に記載の半導体記憶装置。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、前記第四の記憶領域内の前記第三の単位の領域を選択し、前記選択された領域を前記第二の記憶領域に移動する第四の処理と、前記第四の記憶領域内のデータを選択し、前記選択されたデータを前記第二の単位の複数の空き領域を持つ前記第三の単位の領域にコピーし、前記第三の単位の前記領域を前記第二の記憶領域に割り当てる第五の処理と、前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内の前記第三の単位の空き領域に再書き込みする第六の処理と、を実行するコントローラと、
を具備することを特徴とする半導体記憶装置。 - 前記コントローラは、前記第二の処理において、
前記第一の記憶領域から出力される前記第一の管理単位の新データを、前記第三の単位の追記領域内に含まれる前記第二の単位の複数の空き領域に書き込み、
前記新データの論理アドレスが、前記第二及び第四の記憶領域内に記憶されている旧データの論理アドレスに一致する場合に、前記旧データを無効化し、
前記新データを、前記旧データに対して優先度が高い有効データとして取り扱い、
前記旧データを、前記新データの参照により無視される無効データとして取り扱い、
前記第二の単位の前記複数の空き領域が前記新データをもって書き込まれた場合に、前記第三の単位の前記追記領域を前記第四の領域に割り当てる、
ことを特徴とする請求項54に記載の半導体記憶装置。 - 前記コントローラは、
前記第四の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第四及び第五の処理の少なくとも一方を実行する、
ことを特徴とする請求項55に記載の半導体記憶装置。 - 前記コントローラは、前記第四の処理において、
有効データの合計が所定の閾値以上である前記第三の単位の領域を選択し、
前記第三の単位の前記選択された領域を、前記第四の記憶領域から、前記第二の記憶領域に割り当てる、
ことを特徴とする請求項56に記載の半導体記憶装置。 - 前記コントローラは、前記第五の処理において、
前記第四の処理を実行した後、最も古い割り当て順序を持つ前記第三の単位の領域から順番に、前記第四の記憶領域内の有効データを連続して選択する、
ことを特徴とする請求項57に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域から出力されるべき前記第一の管理単位の有効データを選択し、前記選択された有効データを含むデータを、前記第二の管理単位で前記第三の記憶領域に記憶する第七の処理を、更に実行することを特徴とする請求項55に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内の複数の有効及び無効データによって占有される前記第三の単位の領域の合計が許容範囲を超える場合に、前記第六及び第七の処理の少なくとも一方を実行する、
ことを特徴とする請求項59に記載の半導体記憶装置。 - 前記コントローラは、
前記第二の記憶領域内において、前記第三の単位の複数の領域を含む窓の範囲内で前記第一の管理単位の有効データを計数し、
前記窓内の有効データの合計が所定の閾値を超える場合は、前記第二の記憶領域において古い割り当て順序側から新しい割り当て順序側へ窓をシフトし、
前記窓内の有効データの合計が所定の閾値以下である場合は、前記窓内の有効データに対して、前記第六及び第七の処理の少なくとも一方を実行する、
ことを特徴とする請求項60に記載の半導体記憶装置。 - 前記所定の閾値は、前記窓内の前記第三の単位の領域より一つ少ない前記第三の単位の領域内に記憶可能なデータの合計に等しいことを特徴とする請求項61に記載の半導体記憶装置。
- 前記コントローラは、前記第七の処理において、
前記窓内の有効データの論理アドレスを前記第二の管理単位にアラインすることで論理アドレス範囲を計算し、
前記論理アドレス範囲内に含まれ、かつ、前記第二及び第四の記憶領域内に記憶されている有効データの合計を計数し、
計数された有効データの合計が所定の閾値以上の場合に、前記第七の処理の対象として有効データを選択する、
ことを特徴とする請求項61に記載の半導体記憶装置。 - 前記コントローラは、前記第六の処理において、
前記第七の処理を実行した後、前記窓内の前記第三の単位の複数の領域から前記第二の記憶領域内において新しい割り当て順序側へと順番に、連続して有効データを選択する、
ことを特徴とする請求項61に記載の半導体記憶装置。 - 前記コントローラは、前記第六の処理において、
有効データをもって書き込まれた前記第三の単位の領域を、前記窓よりも古い割り当て順序側に挿入する、
ことを特徴とする請求項64に記載の半導体記憶装置。 - 前記コントローラは、前記窓が前記第二の記憶領域において最も古い割り当て順序側に到達する場合に、
最も古い割り当て順序を持つ前記第三の単位の領域内の前記第一の管理単位の全ての有効データを選択し、
前記選択された有効データを含むデータを、前記第二の管理単位で前記第三の記憶領域に記憶する、
ことを特徴とする請求項65に記載の半導体記憶装置。 - 前記不揮発性半導体記憶素子は、一つのメモリセルに複数ビットのデータをプログラム可能な前記第三の単位の複数のMLC(Multi Level Cell)領域を含むことを特徴とする請求項1、24、36、54に記載の半導体記憶装置。
- 前記不揮発性半導体記憶素子は、一つのメモリセルに複数ビットのデータをプログラム可能な前記第三の単位の複数のMLC(Multi Level Cell)領域と、一つのメモリセルに単一ビットのデータをプログラム可能な前記第三の単位の複数のSLC(Single Level Cell)領域とを含み、
前記コントローラは、前記第三の単位の前記複数のSLC領域を前記第四の記憶領域に割り当て、前記第三の単位の前記複数のMLC領域をそれ以外の記憶領域に割り当てる、
ことを特徴とする請求項24、36、54に記載の半導体記憶装置。 - 前記コントローラは、
前記第三の単位の前記複数のSLC領域を、前記第四の記憶領域から前記第二の記憶領域に移動し、
前記第二の記憶領域内において前記第三の単位の前記複数のSLC領域内のデータを選択し、前記選択されたデータを前記第二の単位の空き領域を持つ前記第三の単位の前記MLC領域にコピーし、前記第三の単位の前記MLC領域を前記第二の記憶領域に割り当てる、
ことを特徴とする請求項68に記載の半導体記憶装置。 - 前記第一の管理単位のサイズは、前記第二の単位のサイズに等しいことを特徴とする請求項1、24、36、54に記載の半導体記憶装置。
- 前記第二の管理単位のサイズは、前記第三の単位のサイズに等しいことを特徴とする請求項1、24、54に記載の半導体記憶装置。
- 前記コントローラは、前記第二の単位の全ての領域が無効化された前記第三の単位の領域を無効化することを特徴とする請求項12、25、37、48、55に記載の半導体記憶装置。
- 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二及び第三の記憶領域と、を具備する半導体記憶装置の制御方法であって、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第二の記憶領域に記憶する第二の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理を実行する、
ことを特徴とする半導体記憶装置の制御方法。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、を具備する半導体記憶装置の制御方法であって、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理を実行し、
前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理を実行し、
前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理を実行する、
ことを特徴とする半導体記憶装置の制御方法。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、第四、及び第五の記憶領域と、を具備する半導体記憶装置の制御方法であって、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍かつ前記第三の単位よりも小さい第二の管理単位で前記第五の記憶領域に記憶する第三の処理を実行し、
前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理を実行し、
前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理を実行し、
前記第五の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第三の記憶領域に移動する第六の処理を実行し、
前記第三の記憶領域内のデータを選択し、前記選択されたデータを前記第三の記憶領域内において前記第三の単位の空き領域に再書き込みする第七の処理を実行する、
ことを特徴とする半導体記憶装置の制御方法。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、を具備する半導体記憶装置の制御方法であって、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理を実行し、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理を実行し、
前記第四の記憶領域内の前記第三の単位の領域を選択し、前記選択された領域を前記第二の記憶領域に移動する第四の処理を実行し、
前記第四の記憶領域内のデータを選択し、前記選択されたデータを前記第二の単位の複数の空き領域を持つ前記第三の単位の領域にコピーし、前記第三の単位の前記領域を前記第二の記憶領域に割り当てる第五の処理を実行し、
前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内の前記第三の単位の空き領域に再書き込みする第六の処理を実行する、
ことを特徴とする半導体記憶装置の制御方法。 - CPUと、
前記CPUに接続されるノースブリッジと、
前記ノースブリッジに接続される主記憶メモリと、
前記ノースブリッジに接続されるサウスブリッジと、
前記サウスブリッジに接続される半導体記憶装置と、を具備し、
前記半導体記憶装置は、
半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二及び第三の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第二の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、を実行するコントローラと、
を含むことを特徴とする情報処理装置。 - CPUと、
前記CPUに接続されるノースブリッジと、
前記ノースブリッジに接続される主記憶メモリと、
前記ノースブリッジに接続されるサウスブリッジと、
前記サウスブリッジに接続される半導体記憶装置と、を具備し、
前記半導体記憶装置は、
半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理と、前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理と、を実行するコントローラと、
を含むことを特徴とする情報処理装置。 - CPUと、
前記CPUに接続されるノースブリッジと、
前記ノースブリッジに接続される主記憶メモリと、
前記ノースブリッジに接続されるサウスブリッジと、
前記サウスブリッジに接続される半導体記憶装置と、を具備し、
前記半導体記憶装置は、
半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、第四、及び第五の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍かつ前記第三の単位よりも小さい第二の管理単位で前記第五の記憶領域に記憶する第三の処理と、前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理と、前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理と、前記第五の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第三の記憶領域に移動する第六の処理と、前記第三の記憶領域内のデータを選択し、前記選択されたデータを前記第三の記憶領域内において前記第三の単位の空き領域に再書き込みする第七の処理と、を実行するコントローラと、
を含むことを特徴とする情報処理装置。 - CPUと、
前記CPUに接続されるノースブリッジと、
前記ノースブリッジに接続される主記憶メモリと、
前記ノースブリッジに接続されるサウスブリッジと、
前記サウスブリッジに接続される半導体記憶装置と、を具備し、
前記半導体記憶装置は、
半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、
第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、前記第四の記憶領域内の前記第三の単位の領域を選択し、前記選択された領域を前記第二の記憶領域に移動する第四の処理と、前記第四の記憶領域内のデータを選択し、前記選択されたデータを前記第二の単位の複数の空き領域を持つ前記第三の単位の領域にコピーし、前記第三の単位の前記領域を前記第二の記憶領域に割り当てる第五の処理と、前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内の前記第三の単位の空き領域に再書き込みする第六の処理と、を実行するコントローラと、
を含むことを特徴とする情報処理装置。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二及び第三の記憶領域と、を制御するコントローラであって、
前記コントローラは、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第二の記憶領域に記憶する第二の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、
を実行するデータ管理部を具備することを特徴とするコントローラ。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、を制御するコントローラであって、
前記コントローラは、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、
前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理と、
前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理と、
を実行するデータ管理部を具備することを特徴とするコントローラ。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、第四、及び第五の記憶領域と、を制御するコントローラであって、
前記コントローラは、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍かつ前記第三の単位よりも小さい第二の管理単位で前記第五の記憶領域に記憶する第三の処理と、
前記第四の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第二の記憶領域に移動する第四の処理と、
前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内において前記第三の単位の空き領域に再書き込みする第五の処理と、
前記第五の記憶領域内で最も古い割り当て順序を持つ前記第三の単位の領域を、前記第三の記憶領域に移動する第六の処理と、
前記第三の記憶領域内のデータを選択し、前記選択されたデータを前記第三の記憶領域内において前記第三の単位の空き領域に再書き込みする第七の処理と、
を実行するデータ管理部を具備することを特徴とするコントローラ。 - 半導体記憶装置に対するアクセス単位である第一の単位以下でデータの書き込みを行う揮発性半導体記憶素子内に設定される第一の記憶領域と、第二の単位でデータの書き込みを行い、前記第二の単位の二以上の自然数倍である第三の単位でデータの消去を行う不揮発性半導体記憶素子内に設定される第二、第三、及び第四の記憶領域と、を制御するコントローラであって、
前記コントローラは、
複数のデータを前記第一の単位で前記第一の記憶領域に記憶する第一の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の単位の二以上の自然数倍かつ前記第三の単位よりも小さい第一の管理単位で前記第四の記憶領域に記憶する第二の処理と、
前記第一の記憶領域から出力されるデータを、前記第一の管理単位の二以上の自然数倍である第二の管理単位で前記第三の記憶領域に記憶する第三の処理と、
前記第四の記憶領域内の前記第三の単位の領域を選択し、前記選択された領域を前記第二の記憶領域に移動する第四の処理と、
前記第四の記憶領域内のデータを選択し、前記選択されたデータを前記第二の単位の複数の空き領域を持つ前記第三の単位の領域にコピーし、前記第三の単位の前記領域を前記第二の記憶領域に割り当てる第五の処理と、
前記第二の記憶領域内のデータを選択し、前記選択されたデータを前記第二の記憶領域内の前記第三の単位の空き領域に再書き込みする第六の処理と、
を実行するデータ管理部を具備することを特徴とするコントローラ。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007339943 | 2007-12-28 | ||
JP2007339943 | 2007-12-28 | ||
JP2008046227 | 2008-02-27 | ||
JP2008046227 | 2008-02-27 | ||
PCT/JP2008/073950 WO2009084724A1 (en) | 2007-12-28 | 2008-12-25 | Semiconductor storage device |
Related Child Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010134863A Division JP5039176B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134862A Division JP5039175B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134864A Division JP5039177B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134861A Division JP5039174B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010521718A true JP2010521718A (ja) | 2010-06-24 |
JP4533968B2 JP4533968B2 (ja) | 2010-09-01 |
Family
ID=40824430
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009535161A Expired - Fee Related JP4533968B2 (ja) | 2007-12-28 | 2008-12-25 | 半導体記憶装置及びその制御方法、コントローラ、情報処理装置 |
JP2010134862A Expired - Fee Related JP5039175B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134861A Active JP5039174B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134863A Expired - Fee Related JP5039176B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134864A Expired - Fee Related JP5039177B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010134862A Expired - Fee Related JP5039175B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134861A Active JP5039174B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134863A Expired - Fee Related JP5039176B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
JP2010134864A Expired - Fee Related JP5039177B2 (ja) | 2007-12-28 | 2010-06-14 | 半導体記憶装置 |
Country Status (7)
Country | Link |
---|---|
US (12) | US8065470B2 (ja) |
EP (1) | EP2225643B1 (ja) |
JP (5) | JP4533968B2 (ja) |
KR (1) | KR101077339B1 (ja) |
CN (1) | CN101632068B (ja) |
TW (1) | TWI396083B (ja) |
WO (1) | WO2009084724A1 (ja) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009211229A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009211231A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009211220A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009211235A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009211226A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
US8108593B2 (en) | 2008-03-01 | 2012-01-31 | Kabushiki Kaisha Toshiba | Memory system for flushing and relocating data |
WO2014185038A1 (ja) * | 2013-05-17 | 2014-11-20 | 学校法人中央大学 | 半導体記憶装置およびその制御方法 |
JP2015534178A (ja) * | 2012-09-14 | 2015-11-26 | マイクロン テクノロジー, インク. | アドレスマッピング |
WO2016046880A1 (ja) * | 2014-09-22 | 2016-03-31 | 株式会社日立製作所 | ストレージ装置、半導体記憶装置及びその制御方法 |
US10248317B2 (en) | 2007-12-28 | 2019-04-02 | Toshiba Memory Corporation | Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks |
JP7026833B1 (ja) * | 2021-01-07 | 2022-02-28 | 慧榮科技股▲分▼有限公司 | 記憶装置、フレッシュメモリコントローラ及びその制御方法 |
Families Citing this family (250)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7934052B2 (en) | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
JP4439569B2 (ja) * | 2008-04-24 | 2010-03-24 | 株式会社東芝 | メモリシステム |
JP5317690B2 (ja) | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
JP2010157130A (ja) | 2008-12-27 | 2010-07-15 | Toshiba Corp | メモリシステム |
JP5221332B2 (ja) | 2008-12-27 | 2013-06-26 | 株式会社東芝 | メモリシステム |
CN102317925B (zh) | 2009-02-12 | 2014-07-23 | 株式会社东芝 | 存储器系统和控制存储器系统的方法 |
JP5268710B2 (ja) * | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
JP5341584B2 (ja) * | 2009-03-17 | 2013-11-13 | 株式会社東芝 | コントローラ、及びメモリシステム |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US20110002169A1 (en) | 2009-07-06 | 2011-01-06 | Yan Li | Bad Column Management with Bit Information in Non-Volatile Memory Systems |
JP2011022657A (ja) * | 2009-07-13 | 2011-02-03 | Fujitsu Ltd | メモリシステムおよび情報処理装置 |
US8656110B2 (en) | 2009-08-21 | 2014-02-18 | Panasonic Corporation | Non-volatile storage device, access device, and non-volatile storage system for releasing a cache object in accordance with a data matching flag |
JP2011128998A (ja) * | 2009-12-18 | 2011-06-30 | Toshiba Corp | 半導体記憶装置 |
JP2011145838A (ja) * | 2010-01-13 | 2011-07-28 | Toshiba Corp | 記憶装置管理装置および記憶装置の管理方法 |
JP4738536B1 (ja) * | 2010-01-29 | 2011-08-03 | 株式会社東芝 | 不揮発性メモリのコントローラ及び不揮発性メモリの制御方法 |
JP2011192240A (ja) * | 2010-03-17 | 2011-09-29 | Sony Corp | 記憶装置および記憶システム |
JP2011192239A (ja) * | 2010-03-17 | 2011-09-29 | Sony Corp | 記憶装置および記憶システム |
JP5404483B2 (ja) * | 2010-03-17 | 2014-01-29 | 株式会社東芝 | メモリシステム |
JP5066209B2 (ja) | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
US8725931B1 (en) | 2010-03-26 | 2014-05-13 | Western Digital Technologies, Inc. | System and method for managing the execution of memory commands in a solid-state memory |
US9183134B2 (en) * | 2010-04-22 | 2015-11-10 | Seagate Technology Llc | Data segregation in a storage device |
US8782327B1 (en) | 2010-05-11 | 2014-07-15 | Western Digital Technologies, Inc. | System and method for managing execution of internal commands and host commands in a solid-state memory |
US9026716B2 (en) * | 2010-05-12 | 2015-05-05 | Western Digital Technologies, Inc. | System and method for managing garbage collection in solid-state memory |
US9104546B2 (en) * | 2010-05-24 | 2015-08-11 | Silicon Motion Inc. | Method for performing block management using dynamic threshold, and associated memory device and controller thereof |
JP2012008651A (ja) | 2010-06-22 | 2012-01-12 | Toshiba Corp | 半導体記憶装置、その制御方法および情報処理装置 |
JP2012033002A (ja) * | 2010-07-30 | 2012-02-16 | Toshiba Corp | メモリ管理装置およびメモリ管理方法 |
US12008266B2 (en) | 2010-09-15 | 2024-06-11 | Pure Storage, Inc. | Efficient read by reconstruction |
US11614893B2 (en) | 2010-09-15 | 2023-03-28 | Pure Storage, Inc. | Optimizing storage device access based on latency |
US9021192B1 (en) | 2010-09-21 | 2015-04-28 | Western Digital Technologies, Inc. | System and method for enhancing processing of memory access requests |
US9164886B1 (en) | 2010-09-21 | 2015-10-20 | Western Digital Technologies, Inc. | System and method for multistage processing in a memory storage subsystem |
US8688660B1 (en) | 2010-09-28 | 2014-04-01 | Amazon Technologies, Inc. | System and method for providing enhancements of block-level storage |
US9304867B2 (en) | 2010-09-28 | 2016-04-05 | Amazon Technologies, Inc. | System and method for providing flexible storage and retrieval of snapshot archives |
KR101713051B1 (ko) * | 2010-11-29 | 2017-03-07 | 삼성전자주식회사 | 하이브리드 메모리 시스템, 및 그 관리 방법 |
JP2012128643A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP2012128645A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP5535128B2 (ja) | 2010-12-16 | 2014-07-02 | 株式会社東芝 | メモリシステム |
JP2012141946A (ja) * | 2010-12-16 | 2012-07-26 | Toshiba Corp | 半導体記憶装置 |
TWI479505B (zh) | 2010-12-16 | 2015-04-01 | Phison Electronics Corp | 資料管理方法、記憶體控制器與記憶體儲存裝置 |
JP2012128816A (ja) | 2010-12-17 | 2012-07-05 | Toshiba Corp | メモリシステム |
JP2012133416A (ja) | 2010-12-17 | 2012-07-12 | Toshiba Corp | メモリシステム |
JP5178857B2 (ja) * | 2011-02-16 | 2013-04-10 | 株式会社東芝 | メモリシステム |
US9342446B2 (en) * | 2011-03-29 | 2016-05-17 | SanDisk Technologies, Inc. | Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache |
US8537613B2 (en) * | 2011-03-31 | 2013-09-17 | Sandisk Technologies Inc. | Multi-layer memory system |
JP2012221251A (ja) | 2011-04-08 | 2012-11-12 | Toshiba Corp | メモリシステムの制御方法、情報処理装置、及びプログラム |
JP6045567B2 (ja) | 2011-04-26 | 2016-12-14 | シーゲイト テクノロジー エルエルシーSeagate Technology LLC | 不揮発性記憶のための可変オーバープロビジョニング |
JP5708216B2 (ja) * | 2011-05-09 | 2015-04-30 | ソニー株式会社 | フラッシュメモリ装置、メモリ制御装置、メモリ制御方法、ストレージシステム |
US8910020B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | Intelligent bit recovery for flash memory |
US8909982B2 (en) | 2011-06-19 | 2014-12-09 | Sandisk Enterprise Ip Llc | System and method for detecting copyback programming problems |
US9898402B2 (en) * | 2011-07-01 | 2018-02-20 | Micron Technology, Inc. | Unaligned data coalescing |
US8930614B2 (en) * | 2011-07-29 | 2015-01-06 | Kabushiki Kaisha Toshiba | Data storage apparatus and method for compaction processing |
US8707104B1 (en) | 2011-09-06 | 2014-04-22 | Western Digital Technologies, Inc. | Systems and methods for error injection in data storage systems |
US8700834B2 (en) | 2011-09-06 | 2014-04-15 | Western Digital Technologies, Inc. | Systems and methods for an enhanced controller architecture in data storage systems |
US9195530B1 (en) | 2011-09-06 | 2015-11-24 | Western Digital Technologies, Inc. | Systems and methods for improved data management in data storage systems |
US8713357B1 (en) | 2011-09-06 | 2014-04-29 | Western Digital Technologies, Inc. | Systems and methods for detailed error reporting in data storage systems |
KR20130032155A (ko) * | 2011-09-22 | 2013-04-01 | 삼성전자주식회사 | 데이터 저장 장치 및 그것의 데이터 관리 방법 |
US9058289B2 (en) | 2011-11-07 | 2015-06-16 | Sandisk Enterprise Ip Llc | Soft information generation for memory systems |
US9048876B2 (en) | 2011-11-18 | 2015-06-02 | Sandisk Enterprise Ip Llc | Systems, methods and devices for multi-tiered error correction |
US8924815B2 (en) | 2011-11-18 | 2014-12-30 | Sandisk Enterprise Ip Llc | Systems, methods and devices for decoding codewords having multiple parity segments |
US8954822B2 (en) | 2011-11-18 | 2015-02-10 | Sandisk Enterprise Ip Llc | Data encoder and decoder using memory-specific parity-check matrix |
US20130173842A1 (en) * | 2011-12-28 | 2013-07-04 | King Ying Ng | Adaptive Logical Group Sorting to Prevent Drive Fragmentation |
JP5674634B2 (ja) | 2011-12-28 | 2015-02-25 | 株式会社東芝 | コントローラ、記憶装置およびプログラム |
US10209768B1 (en) | 2012-01-06 | 2019-02-19 | Seagate Technology Llc | File-aware priority driver |
WO2013105428A1 (ja) * | 2012-01-10 | 2013-07-18 | 京セラドキュメントソリューションズ株式会社 | 画像処理装置および画像形成装置 |
US9417998B2 (en) * | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US20130219105A1 (en) * | 2012-02-16 | 2013-08-22 | Micron Technology, Inc. | Method, device and system for caching for non-volatile memory device |
US8924636B2 (en) | 2012-02-23 | 2014-12-30 | Kabushiki Kaisha Toshiba | Management information generating method, logical block constructing method, and semiconductor memory device |
US9251055B2 (en) | 2012-02-23 | 2016-02-02 | Kabushiki Kaisha Toshiba | Memory system and control method of memory system |
JP5687648B2 (ja) * | 2012-03-15 | 2015-03-18 | 株式会社東芝 | 半導体記憶装置およびプログラム |
JP2013196115A (ja) | 2012-03-16 | 2013-09-30 | Toshiba Corp | メモリシステム |
JP5835040B2 (ja) * | 2012-03-19 | 2015-12-24 | 富士通株式会社 | 情報処理システムおよびデータ記録制御方法 |
US9110600B1 (en) | 2012-03-19 | 2015-08-18 | Amazon Technologies, Inc. | Triggered data shelving to a different storage system and storage deallocation |
US9053008B1 (en) | 2012-03-26 | 2015-06-09 | Western Digital Technologies, Inc. | Systems and methods for providing inline parameter service in data storage devices |
US9268692B1 (en) | 2012-04-05 | 2016-02-23 | Seagate Technology Llc | User selectable caching |
US9542324B1 (en) | 2012-04-05 | 2017-01-10 | Seagate Technology Llc | File associated pinning |
US9311226B2 (en) | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
JP5619812B2 (ja) * | 2012-04-24 | 2014-11-05 | ウィンボンドエレクトロニクス コーポレーション | 半導体記憶装置 |
US9503517B1 (en) | 2012-05-07 | 2016-11-22 | Amazon Technologies, Inc. | Data volume placement techniques |
US9246996B1 (en) | 2012-05-07 | 2016-01-26 | Amazon Technologies, Inc. | Data volume placement techniques |
US9804993B1 (en) | 2012-05-07 | 2017-10-31 | Amazon Technologies, Inc. | Data volume placement techniques |
US11379354B1 (en) | 2012-05-07 | 2022-07-05 | Amazon Technologies, Inc. | Data volume placement techniques |
US9823840B1 (en) | 2012-05-07 | 2017-11-21 | Amazon Technologies, Inc. | Data volume placement techniques |
KR20130128685A (ko) * | 2012-05-17 | 2013-11-27 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
KR101979392B1 (ko) * | 2012-05-17 | 2019-05-16 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
CN103514110B (zh) * | 2012-06-20 | 2016-08-24 | 华为技术有限公司 | 非易失性存储设备的缓存管理方法及装置 |
US9164804B2 (en) | 2012-06-20 | 2015-10-20 | Memory Technologies Llc | Virtual memory module |
TWI479315B (zh) * | 2012-07-03 | 2015-04-01 | Phison Electronics Corp | 記憶體儲存裝置、其記憶體控制器與資料寫入方法 |
JP5813589B2 (ja) * | 2012-07-13 | 2015-11-17 | 株式会社東芝 | メモリシステムおよびその制御方法 |
US9811414B2 (en) * | 2012-07-25 | 2017-11-07 | Silicon Motion Inc. | Method for managing data stored in flash memory and associated memory device and controller |
US9699263B1 (en) | 2012-08-17 | 2017-07-04 | Sandisk Technologies Llc. | Automatic read and write acceleration of data accessed by virtual machines |
US9116820B2 (en) | 2012-08-28 | 2015-08-25 | Memory Technologies Llc | Dynamic central cache memory |
US20140219021A1 (en) * | 2013-02-07 | 2014-08-07 | Seagate Technology Llc | Data protection for unexpected power loss |
CN103827970B (zh) | 2012-09-25 | 2016-05-18 | 株式会社东芝 | 对固态驱动器再配置数据的存储装置、存储控制器以及方法 |
KR20140044121A (ko) | 2012-10-04 | 2014-04-14 | 삼성전자주식회사 | 멀티 인터페이스를 갖는 멀티포트 반도체 메모리 장치 |
US9501398B2 (en) | 2012-12-26 | 2016-11-22 | Sandisk Technologies Llc | Persistent storage device with NVRAM for staging writes |
US9612948B2 (en) | 2012-12-27 | 2017-04-04 | Sandisk Technologies Llc | Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device |
US9239751B1 (en) | 2012-12-27 | 2016-01-19 | Sandisk Enterprise Ip Llc | Compressing data from multiple reads for error control management in memory systems |
US20140189211A1 (en) * | 2012-12-31 | 2014-07-03 | Sandisk Enterprise Ip Llc | Remapping Blocks in a Storage Device |
US9454420B1 (en) | 2012-12-31 | 2016-09-27 | Sandisk Technologies Llc | Method and system of reading threshold voltage equalization |
US9003264B1 (en) | 2012-12-31 | 2015-04-07 | Sandisk Enterprise Ip Llc | Systems, methods, and devices for multi-dimensional flash RAID data protection |
US10073851B2 (en) * | 2013-01-08 | 2018-09-11 | Apple Inc. | Fast new file creation cache |
US10642505B1 (en) | 2013-01-28 | 2020-05-05 | Radian Memory Systems, Inc. | Techniques for data migration based on per-data metrics and memory degradation |
US10445229B1 (en) | 2013-01-28 | 2019-10-15 | Radian Memory Systems, Inc. | Memory controller with at least one address segment defined for which data is striped across flash memory dies, with a common address offset being used to obtain physical addresses for the data in each of the dies |
US11249652B1 (en) | 2013-01-28 | 2022-02-15 | Radian Memory Systems, Inc. | Maintenance of nonvolatile memory on host selected namespaces by a common memory controller |
US9229854B1 (en) | 2013-01-28 | 2016-01-05 | Radian Memory Systems, LLC | Multi-array operation support and related devices, systems and software |
US9652376B2 (en) | 2013-01-28 | 2017-05-16 | Radian Memory Systems, Inc. | Cooperative flash memory control |
US9214965B2 (en) | 2013-02-20 | 2015-12-15 | Sandisk Enterprise Ip Llc | Method and system for improving data integrity in non-volatile storage |
US9329928B2 (en) | 2013-02-20 | 2016-05-03 | Sandisk Enterprise IP LLC. | Bandwidth optimization in a non-volatile memory system |
US8990458B2 (en) | 2013-02-28 | 2015-03-24 | Kabushiki Kaisha Toshiba | Controller, semiconductor storage device and method of controlling data writing |
US9870830B1 (en) | 2013-03-14 | 2018-01-16 | Sandisk Technologies Llc | Optimal multilevel sensing for reading data from a storage medium |
US9612956B2 (en) | 2013-03-15 | 2017-04-04 | Seagate Technology Llc | Multi-tiered caching for data storage management in a device |
US9136877B1 (en) | 2013-03-15 | 2015-09-15 | Sandisk Enterprise Ip Llc | Syndrome layered decoding for LDPC codes |
US9244763B1 (en) | 2013-03-15 | 2016-01-26 | Sandisk Enterprise Ip Llc | System and method for updating a reading threshold voltage based on symbol transition information |
US9092350B1 (en) | 2013-03-15 | 2015-07-28 | Sandisk Enterprise Ip Llc | Detection and handling of unbalanced errors in interleaved codewords |
US9009576B1 (en) | 2013-03-15 | 2015-04-14 | Sandisk Enterprise Ip Llc | Adaptive LLR based on syndrome weight |
US9236886B1 (en) | 2013-03-15 | 2016-01-12 | Sandisk Enterprise Ip Llc | Universal and reconfigurable QC-LDPC encoder |
US9367246B2 (en) | 2013-03-15 | 2016-06-14 | Sandisk Technologies Inc. | Performance optimization of data transfer for soft information generation |
JP6089844B2 (ja) * | 2013-03-22 | 2017-03-08 | 富士通株式会社 | 制御装置,ストレージ装置,及び制御プログラム |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9170941B2 (en) | 2013-04-05 | 2015-10-27 | Sandisk Enterprises IP LLC | Data hardening in a storage system |
JP6028670B2 (ja) * | 2013-04-22 | 2016-11-16 | 株式会社デンソー | データ記憶装置 |
US9159437B2 (en) | 2013-06-11 | 2015-10-13 | Sandisk Enterprise IP LLC. | Device and method for resolving an LM flag issue |
US9384126B1 (en) | 2013-07-25 | 2016-07-05 | Sandisk Technologies Inc. | Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems |
US9043517B1 (en) | 2013-07-25 | 2015-05-26 | Sandisk Enterprise Ip Llc | Multipass programming in buffers implemented in non-volatile data storage systems |
US9524235B1 (en) | 2013-07-25 | 2016-12-20 | Sandisk Technologies Llc | Local hash value generation in non-volatile data storage systems |
CN104346292B (zh) | 2013-08-05 | 2017-10-24 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法、记忆装置与控制器 |
CN104346288B (zh) | 2013-08-05 | 2017-07-28 | 慧荣科技股份有限公司 | 用来管理一记忆装置的方法以及记忆装置与控制器 |
US9235509B1 (en) | 2013-08-26 | 2016-01-12 | Sandisk Enterprise Ip Llc | Write amplification reduction by delaying read access to data written during garbage collection |
US9639463B1 (en) | 2013-08-26 | 2017-05-02 | Sandisk Technologies Llc | Heuristic aware garbage collection scheme in storage systems |
US9442670B2 (en) | 2013-09-03 | 2016-09-13 | Sandisk Technologies Llc | Method and system for rebalancing data stored in flash memory devices |
US9519577B2 (en) | 2013-09-03 | 2016-12-13 | Sandisk Technologies Llc | Method and system for migrating data between flash memory devices |
US9563385B1 (en) | 2013-09-16 | 2017-02-07 | Amazon Technologies, Inc. | Profile-guided data preloading for virtualized resources |
US9158349B2 (en) | 2013-10-04 | 2015-10-13 | Sandisk Enterprise Ip Llc | System and method for heat dissipation |
US9298608B2 (en) | 2013-10-18 | 2016-03-29 | Sandisk Enterprise Ip Llc | Biasing for wear leveling in storage systems |
US9442662B2 (en) | 2013-10-18 | 2016-09-13 | Sandisk Technologies Llc | Device and method for managing die groups |
US9436831B2 (en) | 2013-10-30 | 2016-09-06 | Sandisk Technologies Llc | Secure erase in a memory device |
US9263156B2 (en) | 2013-11-07 | 2016-02-16 | Sandisk Enterprise Ip Llc | System and method for adjusting trip points within a storage device |
US9244785B2 (en) | 2013-11-13 | 2016-01-26 | Sandisk Enterprise Ip Llc | Simulated power failure and data hardening |
US9152555B2 (en) | 2013-11-15 | 2015-10-06 | Sandisk Enterprise IP LLC. | Data management with modular erase in a data storage system |
US9703816B2 (en) | 2013-11-19 | 2017-07-11 | Sandisk Technologies Llc | Method and system for forward reference logging in a persistent datastore |
US9520197B2 (en) | 2013-11-22 | 2016-12-13 | Sandisk Technologies Llc | Adaptive erase of a storage device |
US9520162B2 (en) | 2013-11-27 | 2016-12-13 | Sandisk Technologies Llc | DIMM device controller supervisor |
US9582058B2 (en) | 2013-11-29 | 2017-02-28 | Sandisk Technologies Llc | Power inrush management of storage devices |
US9235245B2 (en) | 2013-12-04 | 2016-01-12 | Sandisk Enterprise Ip Llc | Startup performance and power isolation |
US9129665B2 (en) | 2013-12-17 | 2015-09-08 | Sandisk Enterprise Ip Llc | Dynamic brownout adjustment in a storage device |
US9852066B2 (en) * | 2013-12-20 | 2017-12-26 | Sandisk Technologies Llc | Systems and methods of address-aware garbage collection |
US9645895B2 (en) | 2013-12-26 | 2017-05-09 | Silicon Motion, Inc. | Data storage device and flash memory control method |
CA2881206A1 (en) | 2014-02-07 | 2015-08-07 | Andrew WARFIELD | Methods, systems and devices relating to data storage interfaces for managing address spaces in data storage devices |
US9549457B2 (en) | 2014-02-12 | 2017-01-17 | Sandisk Technologies Llc | System and method for redirecting airflow across an electronic assembly |
US9497889B2 (en) | 2014-02-27 | 2016-11-15 | Sandisk Technologies Llc | Heat dissipation for substrate assemblies |
US9703636B2 (en) | 2014-03-01 | 2017-07-11 | Sandisk Technologies Llc | Firmware reversion trigger and control |
US20160062691A1 (en) * | 2014-03-13 | 2016-03-03 | Mediatek Inc. | Method for controlling memory device to achieve more power saving and related apparatus thereof |
US9485851B2 (en) | 2014-03-14 | 2016-11-01 | Sandisk Technologies Llc | Thermal tube assembly structures |
US10250673B1 (en) | 2014-03-14 | 2019-04-02 | Amazon Technologies, Inc. | Storage workload management using redirected messages |
US9519319B2 (en) | 2014-03-14 | 2016-12-13 | Sandisk Technologies Llc | Self-supporting thermal tube structure for electronic assemblies |
US9348377B2 (en) | 2014-03-14 | 2016-05-24 | Sandisk Enterprise Ip Llc | Thermal isolation techniques |
US9454448B2 (en) | 2014-03-19 | 2016-09-27 | Sandisk Technologies Llc | Fault testing in storage devices |
US9448876B2 (en) | 2014-03-19 | 2016-09-20 | Sandisk Technologies Llc | Fault detection and prediction in storage devices |
US9390814B2 (en) | 2014-03-19 | 2016-07-12 | Sandisk Technologies Llc | Fault detection and prediction for data storage elements |
US9626400B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Compaction of information in tiered data structure |
US9626399B2 (en) | 2014-03-31 | 2017-04-18 | Sandisk Technologies Llc | Conditional updates for reducing frequency of data modification operations |
US9390021B2 (en) | 2014-03-31 | 2016-07-12 | Sandisk Technologies Llc | Efficient cache utilization in a tiered data structure |
US9697267B2 (en) | 2014-04-03 | 2017-07-04 | Sandisk Technologies Llc | Methods and systems for performing efficient snapshots in tiered data structures |
US9710173B2 (en) * | 2014-05-20 | 2017-07-18 | Micron Technology, Inc. | Read cache memory with DRAM class promotion |
TWI521541B (zh) | 2014-05-22 | 2016-02-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
CN105224238B (zh) * | 2014-05-29 | 2019-01-15 | 群联电子股份有限公司 | 存储器管理方法、存储器存储装置及存储器控制电路单元 |
US9070481B1 (en) | 2014-05-30 | 2015-06-30 | Sandisk Technologies Inc. | Internal current measurement for age measurements |
US10114557B2 (en) | 2014-05-30 | 2018-10-30 | Sandisk Technologies Llc | Identification of hot regions to enhance performance and endurance of a non-volatile storage device |
US10146448B2 (en) | 2014-05-30 | 2018-12-04 | Sandisk Technologies Llc | Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device |
US8891303B1 (en) | 2014-05-30 | 2014-11-18 | Sandisk Technologies Inc. | Method and system for dynamic word line based configuration of a three-dimensional memory device |
US10162748B2 (en) | 2014-05-30 | 2018-12-25 | Sandisk Technologies Llc | Prioritizing garbage collection and block allocation based on I/O history for logical address regions |
US9645749B2 (en) | 2014-05-30 | 2017-05-09 | Sandisk Technologies Llc | Method and system for recharacterizing the storage density of a memory device or a portion thereof |
US9093160B1 (en) | 2014-05-30 | 2015-07-28 | Sandisk Technologies Inc. | Methods and systems for staggered memory operations |
US10372613B2 (en) | 2014-05-30 | 2019-08-06 | Sandisk Technologies Llc | Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device |
US10656840B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Real-time I/O pattern recognition to enhance performance and endurance of a storage device |
US9703491B2 (en) | 2014-05-30 | 2017-07-11 | Sandisk Technologies Llc | Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device |
US10656842B2 (en) | 2014-05-30 | 2020-05-19 | Sandisk Technologies Llc | Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device |
US9652381B2 (en) | 2014-06-19 | 2017-05-16 | Sandisk Technologies Llc | Sub-block garbage collection |
JP2017527877A (ja) * | 2014-06-25 | 2017-09-21 | 華為技術有限公司Huawei Technologies Co.,Ltd. | フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 |
WO2016002325A1 (ja) * | 2014-07-04 | 2016-01-07 | 日本電気株式会社 | 情報処理システム、情報処理方法、記憶制御装置およびその制御方法と制御プログラム |
TWI529530B (zh) * | 2014-08-25 | 2016-04-11 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US9443601B2 (en) | 2014-09-08 | 2016-09-13 | Sandisk Technologies Llc | Holdup capacitor energy harvesting |
US9542118B1 (en) | 2014-09-09 | 2017-01-10 | Radian Memory Systems, Inc. | Expositive flash memory control |
US10552085B1 (en) | 2014-09-09 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for directed data migration |
US9530490B2 (en) * | 2014-10-27 | 2016-12-27 | Sandisk Technologies Llc | Compaction process for a data storage device |
US9934872B2 (en) | 2014-10-30 | 2018-04-03 | Sandisk Technologies Llc | Erase stress and delta erase loop count methods for various fail modes in non-volatile memory |
CN105701021B (zh) * | 2014-12-10 | 2021-03-02 | 慧荣科技股份有限公司 | 数据储存装置及其数据写入方法 |
KR20160070920A (ko) * | 2014-12-10 | 2016-06-21 | 에스케이하이닉스 주식회사 | 맵 테이블을 갖는 컨트롤러 및 반도체 메모리 장치를 포함하는 메모리 시스템 및 그것의 동작 방법 |
US9690491B2 (en) * | 2014-12-17 | 2017-06-27 | Sandisk Technologies Llc | System and method for managing data in a memory device |
US9632705B2 (en) | 2014-12-17 | 2017-04-25 | Sandisk Technologies Llc | System and method for adaptive memory layers in a memory device |
US9224502B1 (en) | 2015-01-14 | 2015-12-29 | Sandisk Technologies Inc. | Techniques for detection and treating memory hole to local interconnect marginality defects |
DE112015006089T5 (de) * | 2015-01-30 | 2017-10-19 | Mitsubishi Electric Corporation | A/D-Wandler, D/A-Wandler und speicherprogrammierbare Steuerung |
US10032524B2 (en) | 2015-02-09 | 2018-07-24 | Sandisk Technologies Llc | Techniques for determining local interconnect defects |
US10715460B2 (en) | 2015-03-09 | 2020-07-14 | Amazon Technologies, Inc. | Opportunistic resource migration to optimize resource placement |
US9269446B1 (en) | 2015-04-08 | 2016-02-23 | Sandisk Technologies Inc. | Methods to improve programming of slow cells |
US9564219B2 (en) | 2015-04-08 | 2017-02-07 | Sandisk Technologies Llc | Current based detection and recording of memory hole-interconnect spacing defects |
JP6860965B2 (ja) * | 2015-06-12 | 2021-04-21 | 任天堂株式会社 | 情報処理装置、情報処理システム、情報処理プログラムおよび情報処理方法 |
US10552058B1 (en) | 2015-07-17 | 2020-02-04 | Radian Memory Systems, Inc. | Techniques for delegating data processing to a cooperative memory controller |
KR20170015760A (ko) * | 2015-07-31 | 2017-02-09 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
TWI585770B (zh) * | 2015-08-11 | 2017-06-01 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體控制電路單元及記憶體儲存裝置 |
CN106469019B (zh) * | 2015-08-18 | 2020-01-07 | 群联电子股份有限公司 | 存储器管理方法、存储器控制电路单元及存储器储存装置 |
KR102406722B1 (ko) | 2015-09-25 | 2022-06-09 | 삼성전자주식회사 | 자기 메모리 장치 및 그 제조 방법 |
US10268411B1 (en) * | 2015-11-18 | 2019-04-23 | Veritas Technologies Llc | Policy and heuristic based conversion of write-optimized virtual disk format into read-optimized virtual disk format |
JP6512091B2 (ja) * | 2015-12-22 | 2019-05-15 | 株式会社デンソー | 情報管理装置、情報管理方法及び情報管理プログラム |
US10254967B2 (en) * | 2016-01-13 | 2019-04-09 | Sandisk Technologies Llc | Data path control for non-volatile memory |
US11423053B2 (en) * | 2016-01-30 | 2022-08-23 | Micro Focus Llc | Log event cluster analytics management |
US10216536B2 (en) * | 2016-03-11 | 2019-02-26 | Vmware, Inc. | Swap file defragmentation in a hypervisor |
US10942844B2 (en) | 2016-06-10 | 2021-03-09 | Apple Inc. | Reserved memory in memory management system |
JP2018018271A (ja) * | 2016-07-27 | 2018-02-01 | 富士通株式会社 | ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム |
JP2018041204A (ja) * | 2016-09-06 | 2018-03-15 | 東芝メモリ株式会社 | メモリ装置及び情報処理システム |
CN106448735B (zh) * | 2016-09-13 | 2019-09-13 | 天津大学 | 用于大容量非易失性存储器的数据快速擦除方法 |
US10528255B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528286B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528267B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Command queue for storage operations |
KR20180058456A (ko) | 2016-11-24 | 2018-06-01 | 삼성전자주식회사 | 메모리를 관리하는 방법 및 장치. |
US10296224B2 (en) * | 2016-12-21 | 2019-05-21 | Intel Corporation | Apparatus, system and method for increasing the capacity of a storage device available to store user data |
IT201700057287A1 (it) * | 2017-05-26 | 2018-11-26 | St Microelectronics Srl | Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti |
JP7030463B2 (ja) | 2017-09-22 | 2022-03-07 | キオクシア株式会社 | メモリシステム |
TWI653538B (zh) * | 2017-11-13 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
US11635894B2 (en) | 2018-03-16 | 2023-04-25 | Micron Technology, Inc. | Clustered parity for NAND data placement schema |
CN118444854A (zh) * | 2018-03-16 | 2024-08-06 | 美光科技公司 | Nand数据放置模式 |
US10452296B1 (en) | 2018-03-23 | 2019-10-22 | Amazon Technologies, Inc. | Accelerated volumes |
JP2019185350A (ja) * | 2018-04-09 | 2019-10-24 | 東芝メモリ株式会社 | メモリシステム及びメモリシステムの制御方法 |
US11023157B2 (en) | 2018-04-30 | 2021-06-01 | Amazon Technologies, Inc. | Intermediary duplication to facilitate copy requests in distributed storage systems |
US10459655B1 (en) | 2018-04-30 | 2019-10-29 | Amazon Technologies, Inc. | Rapid volume backup generation from distributed replica |
US11343314B1 (en) | 2018-04-30 | 2022-05-24 | Amazon Technologies, Inc. | Stream-based logging for distributed storage systems |
US10776173B1 (en) | 2018-04-30 | 2020-09-15 | Amazon Technologies, Inc. | Local placement of resource instances in a distributed system |
KR102538222B1 (ko) * | 2018-06-26 | 2023-06-01 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 포함하는 스토리지 시스템, 그리고 스토리지 장치를 액세스하는 방법 |
US10768835B1 (en) | 2018-06-27 | 2020-09-08 | Amazon Technologies, Inc. | Opportunistic storage service |
US11121981B1 (en) | 2018-06-29 | 2021-09-14 | Amazon Technologies, Inc. | Optimistically granting permission to host computing resources |
JP7089423B2 (ja) * | 2018-07-12 | 2022-06-22 | ルネサスエレクトロニクス株式会社 | 情報処理装置及び制御方法 |
US10931750B1 (en) | 2018-07-30 | 2021-02-23 | Amazon Technologies, Inc. | Selection from dedicated source volume pool for accelerated creation of block data volumes |
US10956442B1 (en) | 2018-07-30 | 2021-03-23 | Amazon Technologies, Inc. | Dedicated source volume pool for accelerated creation of block data volumes from object data snapshots |
US11068192B1 (en) | 2019-03-26 | 2021-07-20 | Amazon Technologies, Inc. | Utilizing mutiple snapshot sources for creating new copy of volume in a networked environment wherein additional snapshot sources are reserved with lower performance levels than a primary snapshot source |
US10983719B1 (en) | 2019-03-28 | 2021-04-20 | Amazon Technologies, Inc. | Replica pools to support volume replication in distributed storage systems |
TWI786288B (zh) * | 2019-04-09 | 2022-12-11 | 韓商愛思開海力士有限公司 | 儲存裝置、儲存裝置的控制方法及記錄媒體 |
US11237732B2 (en) * | 2019-08-06 | 2022-02-01 | Intel Corporation | Method and apparatus to improve write bandwidth of a block-based multi-level cell nonvolatile memory |
FR3103620B1 (fr) * | 2019-11-21 | 2021-11-26 | St Microelectronics Rousset | Procédé d’écriture dans une mémoire volatile et circuit intégré correspondant |
US11175984B1 (en) | 2019-12-09 | 2021-11-16 | Radian Memory Systems, Inc. | Erasure coding techniques for flash memory |
DE102021113450A1 (de) | 2020-08-13 | 2022-02-17 | Samsung Electronics Co., Ltd. | Seitenpufferschaltungen und diese enthaltende nichtflüchtige Speichervorrichtungen |
US11262918B1 (en) * | 2020-09-30 | 2022-03-01 | Amazon Technologies, Inc. | Data storage system with uneven drive wear reduction |
US11614880B2 (en) | 2020-12-31 | 2023-03-28 | Pure Storage, Inc. | Storage system with selectable write paths |
US12067282B2 (en) | 2020-12-31 | 2024-08-20 | Pure Storage, Inc. | Write path selection |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
US11847324B2 (en) | 2020-12-31 | 2023-12-19 | Pure Storage, Inc. | Optimizing resiliency groups for data regions of a storage system |
US11861222B2 (en) * | 2021-05-17 | 2024-01-02 | Micron Technology, Inc. | Object management in tiered memory systems |
US11526286B1 (en) | 2021-06-29 | 2022-12-13 | Amazon Technologies, Inc. | Adaptive snapshot chunk sizing for snapshots of block storage volumes |
US11853201B2 (en) | 2022-05-25 | 2023-12-26 | Micron Technology, Inc. | Selective single-level memory cell operation |
US12039178B2 (en) * | 2022-07-14 | 2024-07-16 | Micron Technology, Inc. | Apparatus with memory block management and methods for operating the same |
US12039179B2 (en) * | 2022-09-29 | 2024-07-16 | SanDisk Technologies, Inc. | Finding and releasing trapped memory in uLayer |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006221627A (ja) * | 2005-02-07 | 2006-08-24 | Samsung Electronics Co Ltd | 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム |
JP2007034944A (ja) * | 2005-07-29 | 2007-02-08 | Sony Corp | コンピュータシステム |
JP2008033788A (ja) * | 2006-07-31 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US377920A (en) * | 1888-02-14 | Welch | ||
US347575A (en) * | 1886-08-17 | Car brake | ||
JP3868585B2 (ja) | 1996-07-30 | 2007-01-17 | シャープ株式会社 | メモリ管理装置及びコンピュータ読み取り可能な記録媒体 |
CN100557716C (zh) * | 1999-04-27 | 2009-11-04 | 松下电器产业株式会社 | 半导体存储卡及其控制方法 |
US8078794B2 (en) * | 2000-01-06 | 2011-12-13 | Super Talent Electronics, Inc. | Hybrid SSD using a combination of SLC and MLC flash memory arrays |
US20080209114A1 (en) * | 1999-08-04 | 2008-08-28 | Super Talent Electronics, Inc. | Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System |
US7953931B2 (en) * | 1999-08-04 | 2011-05-31 | Super Talent Electronics, Inc. | High endurance non-volatile memory devices |
US8019943B2 (en) * | 2000-01-06 | 2011-09-13 | Super Talent Electronics, Inc. | High endurance non-volatile memory devices |
JP2002278828A (ja) | 2001-03-21 | 2002-09-27 | Sony Corp | ガーベージコレクション実行方法、コンピュータプログラム、プログラム格納媒体、および情報処理装置 |
KR100389867B1 (ko) | 2001-06-04 | 2003-07-04 | 삼성전자주식회사 | 플래시 메모리 관리방법 |
US7254668B1 (en) * | 2002-10-28 | 2007-08-07 | Sandisk Corporation | Method and apparatus for grouping pages within a block |
KR100526190B1 (ko) | 2004-02-06 | 2005-11-03 | 삼성전자주식회사 | 플래시 메모리의 재사상 방법 |
JP4713867B2 (ja) * | 2004-09-22 | 2011-06-29 | 株式会社東芝 | メモリコントローラ,メモリ装置及びメモリコントローラの制御方法 |
KR101257848B1 (ko) * | 2005-07-13 | 2013-04-24 | 삼성전자주식회사 | 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법 |
US7752382B2 (en) * | 2005-09-09 | 2010-07-06 | Sandisk Il Ltd | Flash memory storage system and method |
JP4413840B2 (ja) | 2005-09-20 | 2010-02-10 | 株式会社東芝 | 記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム |
JP4660353B2 (ja) | 2005-11-01 | 2011-03-30 | 株式会社東芝 | 記憶媒体再生装置 |
JP4575288B2 (ja) | 2005-12-05 | 2010-11-04 | 株式会社東芝 | 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム |
US7711890B2 (en) * | 2006-06-06 | 2010-05-04 | Sandisk Il Ltd | Cache control in a non-volatile memory device |
KR100771521B1 (ko) * | 2006-10-30 | 2007-10-30 | 삼성전자주식회사 | 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법 |
JP4575346B2 (ja) | 2006-11-30 | 2010-11-04 | 株式会社東芝 | メモリシステム |
US20080235441A1 (en) * | 2007-03-20 | 2008-09-25 | Itay Sherman | Reducing power dissipation for solid state disks |
JP2008197981A (ja) | 2007-02-14 | 2008-08-28 | Toshiba Corp | 半導体記憶装置 |
US8370562B2 (en) * | 2007-02-25 | 2013-02-05 | Sandisk Il Ltd. | Interruptible cache flushing in flash memory systems |
JP2008217857A (ja) | 2007-02-28 | 2008-09-18 | Toshiba Corp | メモリコントローラ及び半導体装置 |
US7630252B2 (en) * | 2007-06-25 | 2009-12-08 | Sandisk Corporation | Systems for programming multilevel cell nonvolatile memory |
US7719889B2 (en) * | 2007-06-25 | 2010-05-18 | Sandisk Corporation | Methods of programming multilevel cell nonvolatile memory |
US20090043831A1 (en) * | 2007-08-11 | 2009-02-12 | Mcm Portfolio Llc | Smart Solid State Drive And Method For Handling Critical Files |
JP4564520B2 (ja) | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
US8566504B2 (en) * | 2007-09-28 | 2013-10-22 | Sandisk Technologies Inc. | Dynamic metablocks |
EP2225643B1 (en) | 2007-12-28 | 2020-05-06 | Toshiba Memory Corporation | Semiconductor storage device |
JP4745356B2 (ja) * | 2008-03-01 | 2011-08-10 | 株式会社東芝 | メモリシステム |
JP4498426B2 (ja) * | 2008-03-01 | 2010-07-07 | 株式会社東芝 | メモリシステム |
JP2009211234A (ja) | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP5010505B2 (ja) | 2008-03-01 | 2012-08-29 | 株式会社東芝 | メモリシステム |
JP2009211233A (ja) | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP4691122B2 (ja) | 2008-03-01 | 2011-06-01 | 株式会社東芝 | メモリシステム |
JP5032371B2 (ja) | 2008-03-01 | 2012-09-26 | 株式会社東芝 | メモリシステム |
US8843691B2 (en) * | 2008-06-25 | 2014-09-23 | Stec, Inc. | Prioritized erasure of data blocks in a flash storage device |
JP2010009548A (ja) | 2008-06-30 | 2010-01-14 | Toshiba Corp | 記憶装置、制御装置、記憶システム、および記憶方法 |
JP2010015195A (ja) | 2008-06-30 | 2010-01-21 | Toshiba Corp | 記憶制御装置及び記憶制御方法 |
JP4551958B2 (ja) | 2008-12-22 | 2010-09-29 | 株式会社東芝 | 半導体記憶装置および半導体記憶装置の制御方法 |
JP2010157130A (ja) | 2008-12-27 | 2010-07-15 | Toshiba Corp | メモリシステム |
JP5198245B2 (ja) | 2008-12-27 | 2013-05-15 | 株式会社東芝 | メモリシステム |
JP5317689B2 (ja) | 2008-12-27 | 2013-10-16 | 株式会社東芝 | メモリシステム |
JP5268710B2 (ja) | 2009-02-27 | 2013-08-21 | 株式会社東芝 | 半導体記憶装置 |
JP5341584B2 (ja) | 2009-03-17 | 2013-11-13 | 株式会社東芝 | コントローラ、及びメモリシステム |
JP5404483B2 (ja) | 2010-03-17 | 2014-01-29 | 株式会社東芝 | メモリシステム |
JP5066209B2 (ja) | 2010-03-18 | 2012-11-07 | 株式会社東芝 | コントローラ、データ記憶装置、及びプログラム |
JP2012008651A (ja) | 2010-06-22 | 2012-01-12 | Toshiba Corp | 半導体記憶装置、その制御方法および情報処理装置 |
JP2012128643A (ja) | 2010-12-15 | 2012-07-05 | Toshiba Corp | メモリシステム |
US20150120988A1 (en) * | 2013-10-28 | 2015-04-30 | Skymedi Corporation | Method of Accessing Data in Multi-Layer Cell Memory and Multi-Layer Cell Storage Device Using the Same |
-
2008
- 2008-12-25 EP EP08868057.4A patent/EP2225643B1/en active Active
- 2008-12-25 WO PCT/JP2008/073950 patent/WO2009084724A1/en active Application Filing
- 2008-12-25 CN CN200880008447.6A patent/CN101632068B/zh not_active Expired - Fee Related
- 2008-12-25 KR KR1020097018224A patent/KR101077339B1/ko not_active IP Right Cessation
- 2008-12-25 JP JP2009535161A patent/JP4533968B2/ja not_active Expired - Fee Related
- 2008-12-26 TW TW97151099A patent/TWI396083B/zh not_active IP Right Cessation
-
2009
- 2009-09-02 US US12/552,330 patent/US8065470B2/en active Active
- 2009-09-02 US US12/552,442 patent/US8065471B2/en active Active
- 2009-09-02 US US12/552,403 patent/US7962688B2/en not_active Expired - Fee Related
- 2009-09-02 US US12/552,461 patent/US7953920B2/en not_active Expired - Fee Related
-
2010
- 2010-06-14 JP JP2010134862A patent/JP5039175B2/ja not_active Expired - Fee Related
- 2010-06-14 JP JP2010134861A patent/JP5039174B2/ja active Active
- 2010-06-14 JP JP2010134863A patent/JP5039176B2/ja not_active Expired - Fee Related
- 2010-06-14 JP JP2010134864A patent/JP5039177B2/ja not_active Expired - Fee Related
-
2011
- 2011-10-12 US US13/271,838 patent/US20120033496A1/en not_active Abandoned
-
2012
- 2012-08-09 US US13/571,034 patent/US8782331B2/en active Active
-
2014
- 2014-05-20 US US14/282,242 patent/US9134924B2/en active Active
-
2015
- 2015-08-10 US US14/822,138 patent/US9703486B2/en active Active
-
2017
- 2017-06-08 US US15/617,220 patent/US10248317B2/en active Active
-
2019
- 2019-03-26 US US16/364,280 patent/US10845992B2/en active Active
-
2020
- 2020-10-29 US US17/083,529 patent/US11513682B2/en active Active
-
2022
- 2022-10-27 US US17/974,740 patent/US11960719B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006221627A (ja) * | 2005-02-07 | 2006-08-24 | Samsung Electronics Co Ltd | 複数のマッピング技法を採用した適応型フラッシュメモリ制御装置及びそれを含むフラッシュメモリシステム |
JP2007034944A (ja) * | 2005-07-29 | 2007-02-08 | Sony Corp | コンピュータシステム |
JP2008033788A (ja) * | 2006-07-31 | 2008-02-14 | Matsushita Electric Ind Co Ltd | 不揮発性記憶装置、データ記憶システム、およびデータ記憶方法 |
Non-Patent Citations (2)
Title |
---|
JPN6010018080, Heeseung Jo 外4名, "FAB: Flash−Aware Buffer Management Policy for Portable Media Players", IEEE Transactions on Consumer Electronics, 200605, vol.52,no.2, p.485−493, US, IEEE * |
JPN6010018081, SWANG−WON LEE 外5名, "A Log Buffer−Based Flash Translation Layer Using Fully−Associative Sector Translation", ACM Transactions on Embedded Computer Systems, 200707, vol.6,no.3, Article 18, p.1−27, US, ACM * |
Cited By (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10248317B2 (en) | 2007-12-28 | 2019-04-02 | Toshiba Memory Corporation | Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks |
US11960719B2 (en) | 2007-12-28 | 2024-04-16 | Kioxia Corporation | Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks |
US11513682B2 (en) | 2007-12-28 | 2022-11-29 | Kioxia Corporation | Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks |
US10845992B2 (en) | 2007-12-28 | 2020-11-24 | Toshiba Memory Corporation | Semiconductor storage device with volatile and nonvolatile memories to allocate blocks to a memory and release allocated blocks |
JP4592774B2 (ja) * | 2008-03-01 | 2010-12-08 | 株式会社東芝 | メモリシステム |
JP2009211235A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP4653817B2 (ja) * | 2008-03-01 | 2011-03-16 | 株式会社東芝 | メモリシステム |
JP4691123B2 (ja) * | 2008-03-01 | 2011-06-01 | 株式会社東芝 | メモリシステム |
JP4691122B2 (ja) * | 2008-03-01 | 2011-06-01 | 株式会社東芝 | メモリシステム |
JP4745356B2 (ja) * | 2008-03-01 | 2011-08-10 | 株式会社東芝 | メモリシステム |
US8108593B2 (en) | 2008-03-01 | 2012-01-31 | Kabushiki Kaisha Toshiba | Memory system for flushing and relocating data |
JP2009211231A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009211220A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009211229A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
JP2009211226A (ja) * | 2008-03-01 | 2009-09-17 | Toshiba Corp | メモリシステム |
US10282286B2 (en) | 2012-09-14 | 2019-05-07 | Micron Technology, Inc. | Address mapping using a data unit type that is variable |
JP2015534178A (ja) * | 2012-09-14 | 2015-11-26 | マイクロン テクノロジー, インク. | アドレスマッピング |
WO2014185038A1 (ja) * | 2013-05-17 | 2014-11-20 | 学校法人中央大学 | 半導体記憶装置およびその制御方法 |
US10049042B2 (en) | 2014-09-22 | 2018-08-14 | Hitachi, Ltd. | Storage device, semiconductor memory device, and method for controlling same |
WO2016046880A1 (ja) * | 2014-09-22 | 2016-03-31 | 株式会社日立製作所 | ストレージ装置、半導体記憶装置及びその制御方法 |
JP7026833B1 (ja) * | 2021-01-07 | 2022-02-28 | 慧榮科技股▲分▼有限公司 | 記憶装置、フレッシュメモリコントローラ及びその制御方法 |
US11593008B2 (en) | 2021-01-07 | 2023-02-28 | Silicon Motion, Inc. | Control method for flash memory controller and associated flash memory controller and storage device |
US12014063B2 (en) | 2021-01-07 | 2024-06-18 | Silicon Motion, Inc. | Control method for flash memory controller and associated flash memory controller and storage device |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5039174B2 (ja) | 半導体記憶装置 | |
US9021190B2 (en) | Memory system | |
KR101079936B1 (ko) | 메모리 시스템 | |
US20090222628A1 (en) | Memory system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100406 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100414 |
|
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: 20100518 |
|
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: 20100614 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130618 Year of fee payment: 3 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090915 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090915 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20090915 |
|
LAPS | Cancellation because of no payment of annual fees |