JP5093294B2 - メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 - Google Patents
メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 Download PDFInfo
- Publication number
- JP5093294B2 JP5093294B2 JP2010111786A JP2010111786A JP5093294B2 JP 5093294 B2 JP5093294 B2 JP 5093294B2 JP 2010111786 A JP2010111786 A JP 2010111786A JP 2010111786 A JP2010111786 A JP 2010111786A JP 5093294 B2 JP5093294 B2 JP 5093294B2
- Authority
- JP
- Japan
- Prior art keywords
- page
- block
- physical
- logical
- logical block
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
特定の論理ブロックがホストシステムからのアクセス要求で頻繁に指定されたとしても、その都度(ホストシステムから、その論理ブロックに対するアクセス要求が与えられる度に)、その論理ブロックと対応する物理ブロックを特定する処理が行われる。つまり、その論理ブロックの論理ブロック番号をその論理ブロックと対応する物理ブロックの物理ブロックアドレスに変換する処理が、その都度行われる。更に、その物理ブロックにデータを書き込むときには、その物理ブロック内のデータが書き込まれていない物理ページのうちで、一番小さいページ番号の物理ページも特定しなければならない。
ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
複数個の論理セクタで構成された論理ブロックと物理ブロックの対応関係に関する情報を管理するブロック管理手段と、
物理ブロック内の空きページのうちで一番小さいページ番号の物理ページ又は物理ブロック内のデータが格納されている物理ページのうちで一番大きいページ番号の物理ページを特定する物理ページ特定手段と、
論理ブロックに関する情報であって、当該論理ブロックに対応する物理ブロックと当該物理ブロック内の空きページのうちで一番小さいページ番号の物理ページとを特定するための情報を含む論理ブロック情報を所定個数保持する論理ブロック情報保持手段と、
前記所定個数の論理ブロック情報の優先順位を管理する優先順位管理手段と、
前記アクセス要求より指示された論理セクタを含む論理ブロックを特定する論理ブロック特定手段と、
前記論理ブロック情報保持手段に保持されている前記論理ブロック情報を参照して、前記論理ブロック特定手段により特定された論理ブロックに対応する物理ブロックに対するアクセスを制御する制御手段と
を備える。前記論理ブロック特定手段が論理ブロックを特定したときに、前記優先順位管理手段は、当該特定された論理ブロックに対応する前記論理ブロック情報である第1の論理ブロック情報の優先順位を最も高くする。前記論理ブロック情報保持手段は、前記第1の論理ブロック情報を保持していない場合、優先順位が最も低い前記論理ブロック情報に代えて前記第1の論理ブロック情報を保持する。
ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
それぞれが複数個の物理ブロックで構成された仮想ブロックを複数個形成する仮想ブロック形成手段と、
複数個の論理セクタで構成された論理ブロックと前記仮想ブロックの対応関係に関する情報を管理するブロック管理手段と、
複数個の仮想ページを含む前記仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページ又は前記仮想ブロック内のデータが格納されている仮想ページのうちで一番大きいページ番号の仮想ページを特定する仮想ページ特定手段と、
論理ブロックに関する情報であって、当該論理ブロックに対応する仮想ブロックと当該仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページとを特定するための情報を含む論理ブロック情報を所定個数保持する論理ブロック情報保持手段と、
前記所定個数の論理ブロック情報の優先順位を管理する優先順位管理手段と、
前記アクセス要求より指示された論理セクタを含む論理ブロックを特定する論理ブロック特定手段と、
前記論理ブロック情報保持手段に保持されている前記論理ブロック情報を参照して、前記論理ブロック特定手段により特定された論理ブロックに対応する仮想ブロックに対するアクセスを制御する制御手段と
を備える。前記論理ブロック特定手段が論理ブロックを特定したときに、前記優先順位管理手段は、当該特定された論理ブロックに対応する前記論理ブロック情報である第1の論理ブロック情報の優先順位を最も高くする。前記論理ブロック情報保持手段は、前記第1の論理ブロック情報を保持していない場合、優先順位が最も低い前記論理ブロック情報に代えて前記第1の論理ブロック情報を保持する。
ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御する、フラッシュメモリの制御方法であって、
複数個の論理セクタで構成された論理ブロックと物理ブロックの対応関係に関する情報を管理するブロック管理ステップと、
物理ブロック内の空きページのうちで一番小さいページ番号の物理ページ又は物理ブロック内のデータが格納されている物理ページのうちで一番大きいページ番号の物理ページを特定する物理ページ特定ステップと、
論理ブロックに関する情報であって、当該論理ブロックに対応する物理ブロックと当該物理ブロック内の空きページのうちで一番小さいページ番号の物理ページとを特定するための情報を含む論理ブロック情報を所定個数保持する論理ブロック情報保持ステップと、
前記所定個数の論理ブロック情報の優先順位を管理する優先順位管理ステップと、
前記アクセス要求より指示された論理セクタを含む論理ブロックを特定する論理ブロック特定ステップと、
前記論理ブロック情報保持ステップに保持されている前記論理ブロック情報を参照して、前記論理ブロック特定ステップにより特定された論理ブロックに対応する物理ブロックに対するアクセスを制御する制御ステップと
を有する。前記論理ブロック特定ステップで論理ブロックを特定したときに、前記優先順位管理ステップでは、当該特定された論理ブロックに対応する前記論理ブロック情報である第1の論理ブロック情報の優先順位を最も高くする。前記論理ブロック情報保持ステップでは、前記第1の論理ブロック情報を保持していない場合、優先順位が最も低い前記論理ブロック情報に代えて前記第1の論理ブロック情報を保持する。
ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御する、フラッシュメモリの制御方法であって、
それぞれが複数個の物理ブロックで構成された仮想ブロックを複数個形成する仮想ブロック形成ステップと、
複数個の論理セクタで構成された論理ブロックと前記仮想ブロックの対応関係に関する情報を管理するブロック管理ステップと、
複数個の仮想ページを含む前記仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページ又は前記仮想ブロック内のデータが格納されている仮想ページのうちで一番大きいページ番号の仮想ページを特定する仮想ページ特定ステップと、
論理ブロックに関する情報であって、当該論理ブロックに対応する仮想ブロックと当該仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページとを特定するための情報を含む論理ブロック情報を所定個数保持する論理ブロック情報保持ステップと、
前記所定個数の論理ブロック情報の優先順位を管理する優先順位管理ステップと、
前記アクセス要求より指示された論理セクタを含む論理ブロックを特定する論理ブロック特定ステップと、
前記論理ブロック情報保持ステップに保持されている前記論理ブロック情報を参照して、前記論理ブロック特定ステップにより特定された論理ブロックに対応する仮想ブロックに対するアクセスを制御する制御ステップと
を有する。前記論理ブロック特定ステップで論理ブロックを特定したときに、前記優先順位管理ステップでは、当該特定された論理ブロックに対応する前記論理ブロック情報である第1の論理ブロック情報の優先順位を最も高くする。前記論理ブロック情報保持ステップでは、前記第1の論理ブロック情報を保持していない場合、優先順位が最も低い前記論理ブロック情報に代えて前記第1の論理ブロック情報を保持する。
Claims (5)
- ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
複数個の論理セクタで構成された論理ブロックと物理ブロックの対応関係を表すアドレス変換テーブルを管理するブロック管理手段と、
物理ブロック内の空きページのうちで一番小さいページ番号の物理ページ又は物理ブロック内のデータが格納されている物理ページのうちで一番大きいページ番号の物理ページを特定する物理ページ特定手段と、
前記アドレス変換テーブルとは別に、論理ブロックに対応する物理ブロックと当該物理ブロック内の空きページのうちで一番小さいページ番号の物理ページとを特定するための情報を含む論理ブロック情報を保持するエントリーを所定個数保持する論理ブロック情報保持手段と、
前記所定個数の論理ブロック情報のエントリーの優先順位を管理する優先順位管理手段と、
前記アクセス要求より指示された論理セクタを含む論理ブロックに対応する物理ブロックに対するアクセスを制御する制御手段と
を備え、
物理ブロックには、ページ番号が小さい方から大きい方に向かう順番でデータが書き込まれるようになっており、
前記一番小さいページ番号の物理ページを特定するための情報は、前記アドレス変換テーブルには含まれておらず、前記論理ブロック情報に含まれる情報であり、
前記ホストシステムからアクセス要求を受信した場合、前記制御手段は、
(A)前記アクセス要求により指示された論理セクタを含む論理ブロックを特定し、
(B)前記(A)で特定された論理ブロックに対応する第1の論理ブロック情報を保持するエントリーが前記所定個数のエントリーに含まれているか否かを判断し、
(C)前記(B)の判断の結果が否定的であれば、前記アドレス変換テーブルを参照して、前記(A)で特定された論理ブロックに対応する物理ブロックである対象物理ブロックを特定し、更に、前記対象物理ブロックが有する物理ページの冗長領域から空きページか否かを示す情報を読み出すことにより、前記対象物理ブロック内の空きページのうちページ番号が最も小さい空きページを特定し、前記優先順位管理手段により、優先順位が最も低いエントリーに、当該エントリーが保持している前記論理ブロック情報に代えて、前記第1の論理ブロック情報として、前記対象物理ブロックと空きページの番号とを含んだ論理ブロック情報を保持させ、当該エントリーの優先度を最高とし、
(D)前記(B)の判断の結果が肯定的であれば、前記優先順位管理手段により、前記第1の論理ブロック情報のエントリーの優先順位を前記所定個数のエントリーのうちで最も高くし、
(E)前記第1の論理ブロック情報を参照して、前記(A)で特定された論理ブロックに対応する物理ブロックである前記対象物理ブロックに対するアクセスを制御し、
前記アクセス要求が書き込み要求である場合、前記(E)において、前記制御手段は、前記対象物理ブロックの空きページのうち一番小さいページ番号の物理ページからページ番号の順番でデータを書き込み、その際、前記対象物理ブロック内の物理ページに論理ページの順番で複数ページのデータが格納されていない場合、論理ページの通し番号である論理ページ番号と物理ページの通し番号である物理ページ番号との対応関係を表すテーブルであるページテーブルを、データが最後に書き込まれた物理ページの次の物理ページに書き込み、且つ、前記第1の論理ブロック情報に、前記対象物理ブロックに前記ページテーブルが格納されていることを示す情報を含め、
前記アクセス要求が読み出し要求である場合、前記(E)において、前記制御手段は、前記対象物理ブロックにおける、前記アクセス要求で指示された論理セクタが含まれる論理ページと対応する物理ページを特定し、その物理ページからデータを読み出し、その際、前記第1の論理ブロック情報に、前記対象物理ブロックに前記ページテーブルが格納されていることを示す情報が含まれている場合、前記対象物理ブロックにおける、前記第1の論理ブロック情報から特定される物理ページから前記ページテーブルを読み出し、前記ページテーブルを参照して、前記対象物理ブロックからデータを読み出す、
ことを特徴とするメモリコントローラ。 - ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御するメモリコントローラであって、
それぞれが複数個の物理ブロックで構成された仮想ブロックを複数個形成する仮想ブロック形成手段と、
複数個の論理セクタで構成された論理ブロックと前記仮想ブロックの対応関係を表すアドレス変換テーブルを管理するブロック管理手段と、
複数個の仮想ページを含む前記仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページ又は前記仮想ブロック内のデータが格納されている仮想ページのうちで一番大きいページ番号の仮想ページを特定する仮想ページ特定手段と、
前記アドレス変換テーブルとは別に、論理ブロックに対応する仮想ブロックと当該仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページとを特定するための情報を含む論理ブロック情報を保持するエントリーを所定個数保持する論理ブロック情報保持手段と、
前記所定個数の論理ブロック情報のエントリーの優先順位を管理する優先順位管理手段と、
前記アクセス要求より指示された論理セクタを含む論理ブロックに対応する仮想ブロックに対するアクセスを制御する制御手段と
を備え、
仮想ブロックには、ページ番号が小さい方から大きい方に向かう順番でデータが書き込まれるようになっており、
前記一番小さいページ番号の仮想ページを特定するための情報は、前記アドレス変換テーブルには含まれておらず、前記論理ブロック情報に含まれる情報であり、
前記ホストシステムからアクセス要求を受信した場合、前記制御手段は、
(A)前記アクセス要求により指示された論理セクタを含む論理ブロックを特定し、
(B)前記(A)で特定された論理ブロックに対応する第1の論理ブロック情報を保持するエントリーが前記所定個数のエントリーに含まれているか否かを判断し、
(C)前記(B)の判断の結果が否定的であれば、前記アドレス変換テーブルを参照して、前記(A)で特定された論理ブロックに対応する仮想ブロックである対象仮想ブロックを特定し、更に、前記対象仮想ブロックが有する物理ページの冗長領域から空きページか否かを示す情報を読み出すことにより、前記対象仮想ブロック内の空きページのうちページ番号が最も小さい空きページを特定し、前記優先順位管理手段により、優先順位が最も低いエントリーに、当該エントリーが保持している前記論理ブロック情報に代えて、前記第1の論理ブロック情報として、前記対象仮想ブロックと空きページの番号とを含んだ論理ブロック情報を保持させ、当該エントリーの優先度を最高とし、
(D)前記(B)の判断の結果が肯定的であれば、前記優先順位管理手段により、前記第1の論理ブロック情報のエントリーの優先順位を前記所定個数のエントリーのうちで最も高くし、
(E)前記第1の論理ブロック情報を参照して、前記(A)で特定された論理ブロックに対応する仮想ブロックである前記対象仮想ブロックに対するアクセスを制御し、
前記アクセス要求が書き込み要求である場合、前記(E)において、前記制御手段は、前記対象仮想ブロックの空きページのうち一番小さいページ番号の物理ページからページ番号の順番でデータを書き込み、その際、前記対象仮想ブロック内の物理ページに論理ページの順番で複数ページのデータが格納されていない場合、論理ページの通し番号である論理ページ番号と物理ページの通し番号である物理ページ番号との対応関係を表すテーブルであるページテーブルを、データが最後に書き込まれた物理ページの次の物理ページに書き込み、且つ、前記第1の論理ブロック情報に、前記対象仮想ブロックに前記ページテーブルが格納されていることを示す情報を含め、
前記アクセス要求が読み出し要求である場合、前記(E)において、前記制御手段は、前記対象仮想ブロックにおける、前記アクセス要求で指示された論理セクタが含まれる論理ページと対応する物理ページを特定し、その物理ページからデータを読み出し、その際、前記第1の論理ブロック情報に、前記対象仮想ブロックに前記ページテーブルが格納されていることを示す情報が含まれている場合、前記対象仮想ブロックにおける、前記第1の論理ブロック情報から特定される物理ページから前記ページテーブルを読み出し、前記ページテーブルを参照して、前記対象仮想ブロックからデータを読み出す、
ことを特徴とするメモリコントローラ。 - 請求項1又は2に記載のメモリコントローラと、
このメモリコントローラにより制御される1個又は複数個のフラッシュメモリと
を備えるフラッシュメモリシステム。 - ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御する、フラッシュメモリの制御方法であって、
複数個の論理セクタで構成された論理ブロックと物理ブロックの対応関係を表すアドレス変換テーブルを管理するブロック管理ステップと、
物理ブロック内の空きページのうちで一番小さいページ番号の物理ページ又は物理ブロック内のデータが格納されている物理ページのうちで一番大きいページ番号の物理ページを特定する物理ページ特定ステップと、
前記アドレス変換テーブルとは別に、論理ブロックに対応する物理ブロックと当該物理ブロック内の空きページのうちで一番小さいページ番号の物理ページとを特定するための情報を含む論理ブロック情報を保持するエントリーを所定個数保持する論理ブロック情報保持ステップと、
前記所定個数の論理ブロック情報のエントリーの優先順位を管理する優先順位管理ステップと、
前記アクセス要求より指示された論理セクタを含む論理ブロックに対応する物理ブロックに対するアクセスを制御する制御ステップと
を有し、
物理ブロックには、ページ番号が小さい方から大きい方に向かう順番でデータが書き込まれるようになっており、
前記一番小さいページ番号の物理ページを特定するための情報は、前記アドレス変換テーブルには含まれておらず、前記論理ブロック情報に含まれる情報であり、
前記ホストシステムからアクセス要求を受信した場合、前記制御ステップでは、
(A)前記アクセス要求により指示された論理セクタを含む論理ブロックを特定し、
(B)前記(A)で特定された論理ブロックに対応する第1の論理ブロック情報を保持するエントリーが前記所定個数のエントリーに含まれているか否かを判断し、
(C)前記(B)の判断の結果が否定的であれば、前記アドレス変換テーブルを参照して、前記(A)で特定された論理ブロックに対応する物理ブロックである対象物理ブロックを特定し、更に、前記対象物理ブロックが有する物理ページの冗長領域から空きページか否かを示す情報を読み出すことにより、前記対象物理ブロック内の空きページのうちページ番号が最も小さい空きページを特定し、前記優先順位管理ステップにより、優先順位が最も低いエントリーに、当該エントリーが保持している前記論理ブロック情報に代えて、前記(A)で特定された論理ブロックに対応する第1の論理ブロック情報として、前記対象物理ブロックと空きページの番号とを含んだ論理ブロック情報を保持させ、当該エントリーの優先度を最高とし、
(D)前記(B)の判断の結果が肯定的であれば、前記優先順位管理ステップにより、前記第1の論理ブロック情報のエントリーの優先順位を前記所定個数のエントリーのうちで最も高くし、
(E)前記第1の論理ブロック情報を参照して、前記(A)で特定された論理ブロックに対応する物理ブロックである前記対象物理ブロックに対するアクセスを制御し、
前記アクセス要求が書き込み要求である場合、前記(E)において、前記制御ステップでは、前記対象物理ブロックの空きページのうち一番小さいページ番号の物理ページからページ番号の順番でデータを書き込み、その際、前記対象物理ブロック内の物理ページに論理ページの順番で複数ページのデータが格納されていない場合、論理ページの通し番号である論理ページ番号と物理ページの通し番号である物理ページ番号との対応関係を表すテーブルであるページテーブルを、データが最後に書き込まれた物理ページの次の物理ページに書き込み、且つ、前記第1の論理ブロック情報に、前記対象物理ブロックに前記ページテーブルが格納されていることを示す情報を含め、
前記アクセス要求が読み出し要求である場合、前記(E)において、前記制御ステップでは、前記対象物理ブロックにおける、前記アクセス要求で指示された論理セクタが含まれる論理ページと対応する物理ページを特定し、その物理ページからデータを読み出し、その際、前記第1の論理ブロック情報に、前記対象物理ブロックに前記ページテーブルが格納されていることを示す情報が含まれている場合、前記対象物理ブロックにおける、前記第1の論理ブロック情報から特定される物理ページから前記ページテーブルを読み出し、前記ページテーブルを参照して、前記対象物理ブロックからデータを読み出す、
ことを特徴とするフラッシュメモリの制御方法。 - ホストシステムからのアクセス要求に基づいて、物理ブロック単位でデータ消去が行われ、物理ページ単位でデータ書き込みが行われるフラッシュメモリに対するアクセスを制御する、フラッシュメモリの制御方法であって、
それぞれが複数個の物理ブロックで構成された仮想ブロックを複数個形成する仮想ブロック形成ステップと、
複数個の論理セクタで構成された論理ブロックと前記仮想ブロックの対応関係を表すアドレス変換テーブルを管理するブロック管理ステップと、
複数個の仮想ページを含む前記仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページ又は前記仮想ブロック内のデータが格納されている仮想ページのうちで一番大きいページ番号の仮想ページを特定する仮想ページ特定ステップと、
前記アドレス変換テーブルとは別に、論理ブロックに対応する仮想ブロックと当該仮想ブロック内の空きページのうちで一番小さいページ番号の仮想ページとを特定するための情報を含む論理ブロック情報を保持するエントリーを所定個数保持する論理ブロック情報保持ステップと、
前記所定個数の論理ブロック情報のエントリーの優先順位を管理する優先順位管理ステップと、
前記アクセス要求より指示された論理セクタを含む論理ブロックに対応する仮想ブロックに対するアクセスを制御する制御ステップと
を有し、
仮想ブロックには、ページ番号が小さい方から大きい方に向かう順番でデータが書き込まれるようになっており、
前記一番小さいページ番号の仮想ページを特定するための情報は、前記アドレス変換テーブルには含まれておらず、前記論理ブロック情報に含まれる情報であり、
前記ホストシステムからアクセス要求を受信した場合、前記制御ステップでは、
(A)前記アクセス要求により指示された論理セクタを含む論理ブロックを特定し、
(B)前記(A)で特定された論理ブロックに対応する第1の論理ブロック情報を保持するエントリーが前記所定個数のエントリーに含まれているか否かを判断し、
(C)前記(B)の判断の結果が否定的であれば、前記アドレス変換テーブルを参照して、前記(A)で特定された論理ブロックに対応する仮想ブロックである対象仮想ブロックを特定し、更に、前記対象仮想ブロックが有する物理ページの冗長領域から空きページか否かを示す情報を読み出すことにより、前記対象仮想ブロック内の空きページのうちページ番号が最も小さい空きページを特定し、前記優先順位管理ステップにより、優先順位が最も低いエントリーに、当該エントリーが保持している前記論理ブロック情報に代えて、前記第1の論理ブロック情報として、前記対象仮想ブロックと空きページの番号とを含んだ論理ブロック情報を保持させ、当該エントリーの優先度を最高とし、
(D)前記(B)の判断の結果が肯定的であれば、前記優先順位管理ステップにより、前記第1の論理ブロック情報のエントリーの優先順位を前記所定個数のエントリーのうちで最も高くし、
(E)前記第1の論理ブロック情報を参照して、前記(A)で特定された論理ブロックに対応する仮想ブロックである前記対象仮想ブロックに対するアクセスを制御し、
前記アクセス要求が書き込み要求である場合、前記(E)において、前記制御ステップでは、前記対象仮想ブロックの空きページのうち一番小さいページ番号の物理ページからページ番号の順番でデータを書き込み、その際、前記対象仮想ブロック内の物理ページに論理ページの順番で複数ページのデータが格納されていない場合、論理ページの通し番号である論理ページ番号と物理ページの通し番号である物理ページ番号との対応関係を表すテーブルであるページテーブルを、データが最後に書き込まれた物理ページの次の物理ページに書き込み、且つ、前記第1の論理ブロック情報に、前記対象仮想ブロックに前記ページテーブルが格納されていることを示す情報を含め、
前記アクセス要求が読み出し要求である場合、前記(E)において、前記制御ステップでは、前記対象仮想ブロックにおける、前記アクセス要求で指示された論理セクタが含まれる論理ページと対応する物理ページを特定し、その物理ページからデータを読み出し、その際、前記第1の論理ブロック情報に、前記対象仮想ブロックに前記ページテーブルが格納されていることを示す情報が含まれている場合、前記対象仮想ブロックにおける、前記第1の論理ブロック情報から特定される物理ページから前記ページテーブルを読み出し、前記ページテーブルを参照して、前記対象仮想ブロックからデータを読み出す、
ことを特徴とするフラッシュメモリの制御方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010111786A JP5093294B2 (ja) | 2010-05-14 | 2010-05-14 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US12/820,200 US8316208B2 (en) | 2010-05-14 | 2010-06-22 | Memory controller, flash memory system with memory controller, and method of controlling flash memory |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010111786A JP5093294B2 (ja) | 2010-05-14 | 2010-05-14 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011242833A JP2011242833A (ja) | 2011-12-01 |
JP5093294B2 true JP5093294B2 (ja) | 2012-12-12 |
Family
ID=44912747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010111786A Active JP5093294B2 (ja) | 2010-05-14 | 2010-05-14 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8316208B2 (ja) |
JP (1) | JP5093294B2 (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2965318B1 (en) * | 2013-03-07 | 2018-05-02 | Charles I. Peddle | High speed flash controllers |
US9158678B2 (en) * | 2013-03-13 | 2015-10-13 | Kabushiki Kaisha Toshiba | Memory address management system and method |
KR20160112135A (ko) | 2015-03-18 | 2016-09-28 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작 방법 |
US10235198B2 (en) * | 2016-02-24 | 2019-03-19 | Samsung Electronics Co., Ltd. | VM-aware FTL design for SR-IOV NVME SSD |
CN109491927B (zh) * | 2018-11-06 | 2023-02-03 | 镕铭微电子(济南)有限公司 | 数据存储、读取方法、装置及电子设备 |
JP7102482B2 (ja) * | 2020-10-23 | 2022-07-19 | キオクシア株式会社 | メモリシステムおよび制御方法 |
US11599305B2 (en) * | 2021-05-11 | 2023-03-07 | Western Digital Technologies, Inc. | Data storage device using predefined data segments for logical address mapping |
US11657848B1 (en) | 2022-02-24 | 2023-05-23 | Western Digital Technologies, Inc. | Data access and logical mapping for magnetic disks |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2645347B2 (ja) * | 1988-08-16 | 1997-08-25 | 工業技術院長 | 平行x線用露光マスク |
JP2001243110A (ja) * | 1999-12-20 | 2001-09-07 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリへのアクセス方法 |
JP4233213B2 (ja) * | 2000-12-27 | 2009-03-04 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
US7617352B2 (en) | 2000-12-27 | 2009-11-10 | Tdk Corporation | Memory controller, flash memory system having memory controller and method for controlling flash memory device |
JP4316824B2 (ja) * | 2001-05-31 | 2009-08-19 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
US6976123B2 (en) * | 2002-12-30 | 2005-12-13 | Micron Technology, Inc. | Priority resolver and “near match” detection circuit |
JP4513782B2 (ja) | 2006-05-30 | 2010-07-28 | Tdk株式会社 | メモリコントローラ、フラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP4687720B2 (ja) * | 2008-01-30 | 2011-05-25 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP5374075B2 (ja) * | 2008-06-06 | 2013-12-25 | エイチジーエスティーネザーランドビーブイ | ディスク装置及びその制御方法 |
JP4632180B2 (ja) * | 2008-10-15 | 2011-02-16 | Tdk株式会社 | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP4666080B2 (ja) * | 2009-02-09 | 2011-04-06 | Tdk株式会社 | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
-
2010
- 2010-05-14 JP JP2010111786A patent/JP5093294B2/ja active Active
- 2010-06-22 US US12/820,200 patent/US8316208B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011242833A (ja) | 2011-12-01 |
US20110283052A1 (en) | 2011-11-17 |
US8316208B2 (en) | 2012-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4844639B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP5093294B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8713381B2 (en) | Systems and methods of using dynamic data for wear leveling in solid-state devices | |
US8621139B2 (en) | Data writing method for writing data into block of multi-level cell NAND flash memory by skipping a portion of upper page addresses and storage system and controller using the same | |
US8407397B2 (en) | Block management method for flash memory and controller and storage system using the same | |
US8332576B2 (en) | Data reading method for flash memory and controller and storage system using the same | |
JP4666080B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
US8055873B2 (en) | Data writing method for flash memory, and controller and system using the same | |
JP4666081B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2012058770A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP5858081B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
US9778862B2 (en) | Data storing method for preventing data losing during flush operation, memory control circuit unit and memory storage apparatus | |
JP2009086738A (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4153535B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 | |
JP2012068765A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4710918B2 (ja) | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4952742B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP2012068764A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
JP4952741B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP4636046B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP6260395B2 (ja) | メモリコントローラ、メモリシステム及びメモリ制御方法 | |
JP2012037971A (ja) | メモリコントローラ及びメモリコントローラを備える不揮発性メモリシステム、並びに不揮発性メモリの制御方法 | |
JP4569554B2 (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 | |
JP7030636B2 (ja) | メモリシステムおよびその制御方法 | |
JP2008176606A (ja) | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120209 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120529 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120727 |
|
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: 20120821 |
|
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: 20120903 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5093294 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150928 Year of fee payment: 3 |