JP2012216122A - 制御装置、記憶装置、アクセス制御方法 - Google Patents
制御装置、記憶装置、アクセス制御方法 Download PDFInfo
- Publication number
- JP2012216122A JP2012216122A JP2011081746A JP2011081746A JP2012216122A JP 2012216122 A JP2012216122 A JP 2012216122A JP 2011081746 A JP2011081746 A JP 2011081746A JP 2011081746 A JP2011081746 A JP 2011081746A JP 2012216122 A JP2012216122 A JP 2012216122A
- Authority
- JP
- Japan
- Prior art keywords
- block
- physical
- blocks
- combination
- physical blocks
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】不揮発性メモリのブロックの有効利用と高速アクセス。
【解決手段】複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられている。これに対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行う。そして、第1,第2の組み合わせ処理で設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。
【選択図】図5
【解決手段】複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられている。これに対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行う。そして、第1,第2の組み合わせ処理で設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。
【選択図】図5
Description
本開示は、制御装置、記憶装置、アクセス制御方法に関し、特に複数の物理ブロックへの同時アクセス可能な不揮発性メモリが、同時アクセス可能に複数個設けられた記憶装置及びその制御技術に関する。
例えばNAND型フラッシュメモリなどの不揮発性メモリを用いた記憶装置が普及している。不揮発性メモリは、例えば各種電子機器、情報処理装置などで使用されるメモリカード、SSD(Solid State Drive)、eMMC(Embedded MultiMedia Card)などで利用されている。
上記特許文献1〜4にはフラッシュメモリを用いた記憶装置が開示されている。
上記特許文献1〜4にはフラッシュメモリを用いた記憶装置が開示されている。
不揮発性メモリでは、物理的な記憶領域のアドレスとして物理アドレスが使用される。これにより物理ブロック、物理ページ、物理セクタが設定されている。複数の物理セクタで物理ページが構成され、また複数の物理ページで物理ブロックが構成される。
消去(イレーズ)は物理ブロック単位で行われ、書込(プログラム)及び読出(リード)は物理ページ単位で可能とされる。
ホスト側やメモリ制御部側からのアドレス指定は、論理アドレスが用いられる。論理アドレスによる論理ブロック、論理ページ、論理セクタが、上記の物理アドレスに対応づけられる。これによりアクセス要求時には論理アドレスが物理アドレスに変換されて、実際のフラッシュメモリへのアクセスが実行される。
消去(イレーズ)は物理ブロック単位で行われ、書込(プログラム)及び読出(リード)は物理ページ単位で可能とされる。
ホスト側やメモリ制御部側からのアドレス指定は、論理アドレスが用いられる。論理アドレスによる論理ブロック、論理ページ、論理セクタが、上記の物理アドレスに対応づけられる。これによりアクセス要求時には論理アドレスが物理アドレスに変換されて、実際のフラッシュメモリへのアクセスが実行される。
NAND型フラッシュメモリの中には、高速アクセスのために同一チップ内で複数の物理ブロックに同時にアクセスできるようになっているものがある。
これらのNANDフラッシュメモリでは同時アクセスする物理ブロックの選択には制限があることが多く、一般的にはチップの中が複数のエリアに分割されており、それぞれのエリアから1物理ブロックずつ選択し組み合わせるようになっている。
各エリアから1つづつ選択して組み合わせた物理ブロックの組の単位が論理ブロックとされる。従って論理ブロックとは、同時にアクセスされる物理ブロックの組の単位となる。
なお、エリアごとに自由に物理ブロックを選択することができず、物理ブロックの組み合わせが一意に決まっているNANDフラッシュメモリも多い。
これらのNANDフラッシュメモリでは同時アクセスする物理ブロックの選択には制限があることが多く、一般的にはチップの中が複数のエリアに分割されており、それぞれのエリアから1物理ブロックずつ選択し組み合わせるようになっている。
各エリアから1つづつ選択して組み合わせた物理ブロックの組の単位が論理ブロックとされる。従って論理ブロックとは、同時にアクセスされる物理ブロックの組の単位となる。
なお、エリアごとに自由に物理ブロックを選択することができず、物理ブロックの組み合わせが一意に決まっているNANDフラッシュメモリも多い。
一方でNANDフラッシュメモリでは、データの書き込みができなかったり、または正しいデータが読みだせない不良ブロックが発生することが許容されているのが一般的である。したがって、NANDフラッシュメモリを使うシステムでは不良ブロックの情報を管理し、不良ブロックとなった物理ブロックを使わないように管理する必要がある。
上記のエリアごとに発生する不良ブロック数はほとんどの場合同一ではない。すると、不良ブロックを除いた、各エリアの物理ブロック数が同一でなくなり、不良ブロックが少ないエリアにおける物理ブロックの中には、他のエリアのブロックと組み合わせることができないものが発生する。
組み合わせができない物理ブロックについては、高速アクセスをせずにパフォーマンスが低下するのを許容しているか、或いは使用できなくするかのいずれかとなる。つまり正常な物理ブロックであるにもかかわらず有効利用ができない事態が生ずる。
本開示では、このような組み合わせができない物理ブロックを最小限とし、高速アクセスを最大限可能としたり、無駄な領域が生じてしまわないようにすることを目的とする。
本開示では、このような組み合わせができない物理ブロックを最小限とし、高速アクセスを最大限可能としたり、無駄な領域が生じてしまわないようにすることを目的とする。
本開示の制御装置は、複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行うブロック組み合わせ処理部と、上記記憶装置に対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部とを備える。
本開示の記憶装置は、それぞれが複数の物理ブロックへの同時アクセス可能な不揮発性メモリであって、同時アクセス可能な複数の不揮発性メモリと、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行うブロック組み合わせ処理部と、上記不揮発性メモリに対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部とを備える。
本開示のアクセス制御方法は、複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行い、上記記憶装置に対し、上記第1,第2の組み合わせ処理で設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。
このような本開示の技術では、まず記憶装置において複数の不揮発性メモリが同時アクセス可能であることを前提とする。
同時アクセス可能な複数の不揮発性メモリとは、それぞれが異なるアクセスチャンネルに接続された場合だけではなく、1つのアクセスチャンネルに複数の不揮発性メモリが接続され、これらのうち1つまたは複数の不揮発性メモリの内部処理中にその他の不揮発性メモリにアクセスできる場合も含む。
また各不揮発性メモリでは、複数の物理ブロックへの同時アクセスが可能とされる。
アクセス高速化のために、1つの不揮発性メモリ内では複数の物理ブロックの組で論理ブロックを形成し、同時アクセス可能とする(第1の組み合わせ処理)。さらに異なる不揮発性メモリの間でも複数の物理ブロックの組で論理ブロックを形成し、同時アクセス可能とする(第2の組み合わせ処理)
例えば第1の組み合わせ処理のみであると、不良ブロックの影響等により論理ブロックを形成できない、余った正常な物理ブロックが発生する。例えばこのような場合にさらに第2の組み合わせ処理を行えば、他の不揮発性メモリとの間で、余った物理ブロックの組み合わせ相手となる物理ブロックを探し、論理ブロックを形成することができる。
同時アクセス可能な複数の不揮発性メモリとは、それぞれが異なるアクセスチャンネルに接続された場合だけではなく、1つのアクセスチャンネルに複数の不揮発性メモリが接続され、これらのうち1つまたは複数の不揮発性メモリの内部処理中にその他の不揮発性メモリにアクセスできる場合も含む。
また各不揮発性メモリでは、複数の物理ブロックへの同時アクセスが可能とされる。
アクセス高速化のために、1つの不揮発性メモリ内では複数の物理ブロックの組で論理ブロックを形成し、同時アクセス可能とする(第1の組み合わせ処理)。さらに異なる不揮発性メモリの間でも複数の物理ブロックの組で論理ブロックを形成し、同時アクセス可能とする(第2の組み合わせ処理)
例えば第1の組み合わせ処理のみであると、不良ブロックの影響等により論理ブロックを形成できない、余った正常な物理ブロックが発生する。例えばこのような場合にさらに第2の組み合わせ処理を行えば、他の不揮発性メモリとの間で、余った物理ブロックの組み合わせ相手となる物理ブロックを探し、論理ブロックを形成することができる。
本開示の技術によれば、複数の不揮発性メモリ間での物理ブロックの組み合わせ(論理ブロック形成)を可能とすることで、論理ブロックが形成できない物理ブロックを最小限とすることができる。これにより、高速アクセス不能を許容するような事態を最小限としたり、或いは正常な物理ブロックをできる限り使用可能とするということができ、不揮発性メモリを用いた記憶装置の性能を向上させることができる。
以下、実施の形態について次の順序で説明する。なお、実施の形態で示すメモリカード1が請求項でいう記憶装置の実施の形態となる。またメモリカード1内のCPU11が、請求項でいう制御装置の実施の形態であり、CPU11によるアクセス制御処理が請求項でいうアクセス制御方法の実施の形態となる。
<1.メモリカード構成>
<2.物理ブロック及び論理ブロック>
<3.実施の形態の論理ブロック形成>
<4.ブロック組み合わせ処理>
<5.変形例>
<1.メモリカード構成>
<2.物理ブロック及び論理ブロック>
<3.実施の形態の論理ブロック形成>
<4.ブロック組み合わせ処理>
<5.変形例>
<1.メモリカード構成>
図1に実施の形態のメモリカード1の構成例を示す。
メモリカード1はホスト機器2に接続され、記憶装置として用いられる。ホスト機器2とは、例えばパーソナルコンピュータ、デジタルスチルカメラ、ビデオカメラ、オーディオプレーヤ、ビデオプレーヤ、ゲーム機器、携帯電話機、PDA(Personal Digital Assistant)等の情報端末など、各種の電子機器、情報処理装置が想定される。
図1に実施の形態のメモリカード1の構成例を示す。
メモリカード1はホスト機器2に接続され、記憶装置として用いられる。ホスト機器2とは、例えばパーソナルコンピュータ、デジタルスチルカメラ、ビデオカメラ、オーディオプレーヤ、ビデオプレーヤ、ゲーム機器、携帯電話機、PDA(Personal Digital Assistant)等の情報端末など、各種の電子機器、情報処理装置が想定される。
メモリカード1は、CPU(Central Processing Unit)11、SRAM(Static Random Access Memory)12、デバイスインターフェース13、バッファRAM14、メモリコントローラ15、及び2つの不揮発性メモリ(Non-Volatile Memory)16(16a、16b)を備える。
CPU11はメモリカード1の全体を制御する。このためCPU11はSRAM12に置かれた命令コードを逐次実行する。SRAM12は、CPU11が実行するプログラム(ファームウェア)の記憶や、ワーク領域として使用される。
デバイスインターフェース13はホスト機器2との間の通信を行う。
バッファRAM14はホスト機器2との間の転送データ(書込データや読出データ)のバッファリングに用いられる。例えばDPSRAM(Dual Port SRAM)などが用いられる。
メモリコントローラ15は、CPU11の指示に基づいて各不揮発性メモリ16a、16bに対する書込/読出のアクセスを行う。
CPU11は、デバイスインターフェース13のホスト機器2とのデータ送受信動作制御、バッファRAM14の書込/読出動作の制御、メモリコントローラ15によるアクセス動作の制御を行う。
デバイスインターフェース13はホスト機器2との間の通信を行う。
バッファRAM14はホスト機器2との間の転送データ(書込データや読出データ)のバッファリングに用いられる。例えばDPSRAM(Dual Port SRAM)などが用いられる。
メモリコントローラ15は、CPU11の指示に基づいて各不揮発性メモリ16a、16bに対する書込/読出のアクセスを行う。
CPU11は、デバイスインターフェース13のホスト機器2とのデータ送受信動作制御、バッファRAM14の書込/読出動作の制御、メモリコントローラ15によるアクセス動作の制御を行う。
メモリカード1の基本的な動作としては、データ書込時には、ホスト機器2から書込要求とともに、書込アドレス、データサイズ、さらに書き込むべきデータが送られてくる。
ホスト機器2から送られてくる書き込むデータは、デバイスインターフェース13で受信されてバッファRAM14にバッファリングされ、メモリコントローラ15に転送される。そしてメモリコントローラ15はCPU11の制御のもとで、データを不揮発性メモリ16a又は16bに書き込む。CPU11は書込要求、書込アドレス、データサイズに応じてこれらの動作を制御する。
データ読出時にはホスト機器2から読出要求とともに、読出アドレス、データサイズが送られてくる。CPU11は、読出アドレス、データサイズに基づいてメモリコントローラ15に読出アクセスを実行させる。メモリコントローラ15は不揮発性メモリ16a、16bから指示されたデータの読出を行い、バッファRAM14にバッファリングする。またメモリコントローラ15はバッファリングされた読出データに対してエラー訂正処理等を行う。そして読出データはバッファRAM14からデバイスインターフェース13に転送され、ホスト機器2に送信される。
ホスト機器2から送られてくる書き込むデータは、デバイスインターフェース13で受信されてバッファRAM14にバッファリングされ、メモリコントローラ15に転送される。そしてメモリコントローラ15はCPU11の制御のもとで、データを不揮発性メモリ16a又は16bに書き込む。CPU11は書込要求、書込アドレス、データサイズに応じてこれらの動作を制御する。
データ読出時にはホスト機器2から読出要求とともに、読出アドレス、データサイズが送られてくる。CPU11は、読出アドレス、データサイズに基づいてメモリコントローラ15に読出アクセスを実行させる。メモリコントローラ15は不揮発性メモリ16a、16bから指示されたデータの読出を行い、バッファRAM14にバッファリングする。またメモリコントローラ15はバッファリングされた読出データに対してエラー訂正処理等を行う。そして読出データはバッファRAM14からデバイスインターフェース13に転送され、ホスト機器2に送信される。
ここで図1のメモリカード1では、メモリコントローラ15は複数の不揮発性メモリ16を接続することができる。この例のメモリコントローラ15では、2つのアクセスチャンネルを用いて2つの不揮発性メモリ16a、16bが接続されている。不揮発性メモリ16a、16bは例えばNAND型フラッシュメモリである。
メモリコントローラ15は、各不揮発性メモリ16a、16bについて同時的にリード(読出)/プログラム(書込)/イレーズ(消去)を実行することができる。
つまりメモリコントローラ15は各不揮発性メモリ16a、16bに対し同時並列的に各種のアクセスを行うことができるメモリアクセス部として機能する。
なお、2つの不揮発性メモリを有するとしているのは一例であり、本実施の形態に関しては、同時アクセス可能な2つ以上の不揮発性メモリが設けられていれば良い。
メモリコントローラ15は、各不揮発性メモリ16a、16bについて同時的にリード(読出)/プログラム(書込)/イレーズ(消去)を実行することができる。
つまりメモリコントローラ15は各不揮発性メモリ16a、16bに対し同時並列的に各種のアクセスを行うことができるメモリアクセス部として機能する。
なお、2つの不揮発性メモリを有するとしているのは一例であり、本実施の形態に関しては、同時アクセス可能な2つ以上の不揮発性メモリが設けられていれば良い。
不揮発性メモリ16a、16bは、それぞれ複数(この例では2つ)のエリアを有する。ここでいうエリアとは、一般に「プレーン」と呼ばれる領域などとして考えて良い。
不揮発性メモリ16aにはエリアARa1、ARa2が形成されている。
不揮発性メモリ16bにはエリアARb1、ARb2が形成されている。
ここでは2つのエリアとしたが、1つの不揮発性メモリ内に3以上のエリアが形成される場合もある。
不揮発性メモリ16aにはエリアARa1、ARa2が形成されている。
不揮発性メモリ16bにはエリアARb1、ARb2が形成されている。
ここでは2つのエリアとしたが、1つの不揮発性メモリ内に3以上のエリアが形成される場合もある。
ところで不揮発性メモリ16は、物理ブロック(Physical Block)と呼ばれる消去単位と、物理ページ(Physical Page)と呼ばれる書込単位を持つ。各物理ブロックは複数の物理ページによって構成されている。
消去については物理ブロック単位で消去が実行される。即ち物理ブロックはデータを書き換えるときに一度に消去する単位である。一方、書込については物理ページの単位で書込が実行される。
CPU11は、不揮発性メモリ16a、16bに対し、物理ブロックを組み合わせて論理ブロック(Logical Block)を形成し、デバイスインターフェース13を通して送られてくるデータの書き込みを同時に行うユニットとする。
消去については物理ブロック単位で消去が実行される。即ち物理ブロックはデータを書き換えるときに一度に消去する単位である。一方、書込については物理ページの単位で書込が実行される。
CPU11は、不揮発性メモリ16a、16bに対し、物理ブロックを組み合わせて論理ブロック(Logical Block)を形成し、デバイスインターフェース13を通して送られてくるデータの書き込みを同時に行うユニットとする。
<2.物理ブロック及び論理ブロック>
図1のように、不揮発性メモリ16a、16bのそれぞれは、複数のエリア、たとえば2つに分割され、それぞれのエリアの各1ブロックに同時に書込(プログラム)、または読出(リード)ができる。
例えば不揮発性メモリ16aの場合、エリアARa1内の1つの物理ブロックと、エリアARa2内の1つの物理ブロックに対し、同時に書込/読出ができる。
なおここでいう、書込(プログラム)とは、CPU11が、バッファRAM14に一時記憶されているデータについて、メモリコントローラ15に指示して不揮発性メモリ16に記憶させることを言い、読出(リード)とは、CPU11の指示によりメモリコントローラ15が不揮発性メモリ16に対して読出アクセスを行ってデータを読み出し、バッファRAM14に転送することを言う。
図1のように、不揮発性メモリ16a、16bのそれぞれは、複数のエリア、たとえば2つに分割され、それぞれのエリアの各1ブロックに同時に書込(プログラム)、または読出(リード)ができる。
例えば不揮発性メモリ16aの場合、エリアARa1内の1つの物理ブロックと、エリアARa2内の1つの物理ブロックに対し、同時に書込/読出ができる。
なおここでいう、書込(プログラム)とは、CPU11が、バッファRAM14に一時記憶されているデータについて、メモリコントローラ15に指示して不揮発性メモリ16に記憶させることを言い、読出(リード)とは、CPU11の指示によりメモリコントローラ15が不揮発性メモリ16に対して読出アクセスを行ってデータを読み出し、バッファRAM14に転送することを言う。
図2に不揮発性メモリ16a側を例にしてブロック構造を示す。以下説明することは、不揮発性メモリ16b側でも同様である。
図2Aは、不揮発性メモリ16aのエリアARa1、ARa2における物理ブロックを示している。図示及び説明の簡略化のため、不揮発性メモリ16aには物理ブロックPB0〜PB15の16ブロックがあるとする。(実際にはより多数の物理ブロックが設けられることが多い)。
この物理ブロックPB0〜PB15がエリアARa1、ARa2に分けられる。この例の場合、物理ブロックPB0,PB2,PB4,PB6・・・PB14がエリアARa1とされ、物理ブロックPB1,PB3,PB5,PB7・・・PB15がエリアARa2とされている。
図2Aは、不揮発性メモリ16aのエリアARa1、ARa2における物理ブロックを示している。図示及び説明の簡略化のため、不揮発性メモリ16aには物理ブロックPB0〜PB15の16ブロックがあるとする。(実際にはより多数の物理ブロックが設けられることが多い)。
この物理ブロックPB0〜PB15がエリアARa1、ARa2に分けられる。この例の場合、物理ブロックPB0,PB2,PB4,PB6・・・PB14がエリアARa1とされ、物理ブロックPB1,PB3,PB5,PB7・・・PB15がエリアARa2とされている。
各エリアARa1、ARa2からそれぞれ1つの物理ブロックを選択して組み合わせ、それを論理ブロックとする。
最も簡単には、図2Aで隣り合った物理ブロックをペアとして組み合わせることが考えられる。例えば図3Aで直線で結んで示すように、物理ブロックPB0とPB1、物理ブロックPB2とPB3、物理ブロックPB4とPB5・・・物理ブロックPB14とPB15のように組み合わせる。2つの物理ブロックの組が論理ブロックLBとなる。
本例の場合、このような組み合わせはCPU11が自由に設定できる。このため例えば図2Bのような組み合わせも可能である。図2Bでも直線で結んだ物理ブロックを組み合わせたものとして示している。
例えば図示のように、物理ブロックPB0とPB1で論理ブロックLBを形成したり、物理ブロックPB2とPB5で論理ブロックLBを形成したり、物理ブロックPB10とPB7で論理ブロックLBを形成したりすることができる。
最も簡単には、図2Aで隣り合った物理ブロックをペアとして組み合わせることが考えられる。例えば図3Aで直線で結んで示すように、物理ブロックPB0とPB1、物理ブロックPB2とPB3、物理ブロックPB4とPB5・・・物理ブロックPB14とPB15のように組み合わせる。2つの物理ブロックの組が論理ブロックLBとなる。
本例の場合、このような組み合わせはCPU11が自由に設定できる。このため例えば図2Bのような組み合わせも可能である。図2Bでも直線で結んだ物理ブロックを組み合わせたものとして示している。
例えば図示のように、物理ブロックPB0とPB1で論理ブロックLBを形成したり、物理ブロックPB2とPB5で論理ブロックLBを形成したり、物理ブロックPB10とPB7で論理ブロックLBを形成したりすることができる。
2つの物理ブロックの組で形成される論理ブロックLBが、同時アクセスの単位となる。
但し、同じエリア内での複数の物理ブロックによる論理ブロック、つまり同時アクセスの単位を形成することはせず、異なるエリアから選択した物理ブロックの組とされる。エリアARa1、ARa2のそれぞれが同時にアクセスできる領域とされているためである。
但し、同じエリア内での複数の物理ブロックによる論理ブロック、つまり同時アクセスの単位を形成することはせず、異なるエリアから選択した物理ブロックの組とされる。エリアARa1、ARa2のそれぞれが同時にアクセスできる領域とされているためである。
ペアとされた複数の物理ブロックにプログラムをする時間は、通常は1物理ブロックにプログラムする時間と同等か、わずかに長い程度である。このとき不揮発性メモリ16の消費電流もほぼ同等かわずかに上昇する程度である。
複数ブロックへの同時プログラム機能を用いることにより、ホスト機器2からのデータを図3Bに示すような順番で書くことにより、消費電流をあまり上昇させることなく書き込み速度を大幅に改善させることができる。図3Bでは、論理ブロックを構成するように組とされたエリアARa1内の1つの物理ブロックと、エリアARa2内の1つの物理ブロックを示している。各物理ブロックは物理ページPP0からPP127を有する。各物理ページPPに付した数字が、データ書き込みの順番である。即ち、「エリアARa1の物理ブロックの物理ページPP0」→「エリアARa2の物理ブロックの物理ページPP0」→「エリアARa1の物理ブロックの物理ページPP1」→「エリアARa2の物理ブロックの物理ページPP1」→・・・という順番で書き込む。
エリアARa1、ARa2が同時アクセスできるため、このような順番でデータ書き込みを行うと、書き込み速度を大幅に改善させることができる。
したがって、各エリアARa1、ARa2から1つずつ選択した物理ブロックを組み合わせて、1つの大きなブロック(論理ブロック)として扱い、アクセス速度を向上させる。
複数ブロックへの同時プログラム機能を用いることにより、ホスト機器2からのデータを図3Bに示すような順番で書くことにより、消費電流をあまり上昇させることなく書き込み速度を大幅に改善させることができる。図3Bでは、論理ブロックを構成するように組とされたエリアARa1内の1つの物理ブロックと、エリアARa2内の1つの物理ブロックを示している。各物理ブロックは物理ページPP0からPP127を有する。各物理ページPPに付した数字が、データ書き込みの順番である。即ち、「エリアARa1の物理ブロックの物理ページPP0」→「エリアARa2の物理ブロックの物理ページPP0」→「エリアARa1の物理ブロックの物理ページPP1」→「エリアARa2の物理ブロックの物理ページPP1」→・・・という順番で書き込む。
エリアARa1、ARa2が同時アクセスできるため、このような順番でデータ書き込みを行うと、書き込み速度を大幅に改善させることができる。
したがって、各エリアARa1、ARa2から1つずつ選択した物理ブロックを組み合わせて、1つの大きなブロック(論理ブロック)として扱い、アクセス速度を向上させる。
一方で不揮発性メモリ16では、一部の物理ページで正常に書き込みができなくなったり、書き込み済みのデータが正常に読み出せなくなったりすることがある。
この正常に読み書きができなくなった物理ページを含む物理ブロックは不良ブロックとして管理し、使わないようにする必要がある。
一般に、半導体不揮発性メモリを主たる記憶媒体とする記憶装置では、この不良ブロック数がある程度発生することを前提に作る必要がある。すなわち、不良ブロック数がある程度増加しても動作するようなシステムとする必要がある。
この正常に読み書きができなくなった物理ページを含む物理ブロックは不良ブロックとして管理し、使わないようにする必要がある。
一般に、半導体不揮発性メモリを主たる記憶媒体とする記憶装置では、この不良ブロック数がある程度発生することを前提に作る必要がある。すなわち、不良ブロック数がある程度増加しても動作するようなシステムとする必要がある。
不良ブロックはどのエリアに発生するかは不揮発性メモリ16の個体ごとに異なり、1つのエリアに集中することもある。
不良ブロックが少ないエリア内の一部の物理ブロックは他のエリアに正常な物理ブロックがないため論理ブロックを構成することができず、同時プログラム機能が使えない場合も生ずる。
従来では、先に述べたように、それらのブロックに対してはパフォーマンスが低下するのを許容するか、システム全体としては正常なブロックがあるにも関わらず、書き込み禁止または使用不可にする必要があった。
不良ブロックが少ないエリア内の一部の物理ブロックは他のエリアに正常な物理ブロックがないため論理ブロックを構成することができず、同時プログラム機能が使えない場合も生ずる。
従来では、先に述べたように、それらのブロックに対してはパフォーマンスが低下するのを許容するか、システム全体としては正常なブロックがあるにも関わらず、書き込み禁止または使用不可にする必要があった。
図4で具体的に説明する。
図4Aは、エリアARa1、ARa2において、1つづつ不良ブロックが生じている場合の論理ブロックの組み合わせ例を示している(図4において直線で結んだ物理ブロックが組み合わせのペアのブロックとする。図5〜図8も同様)。
基本的には隣り合う物理ブロックを組み合わせるとすると、物理ブロックPB0とPB1、PB2とPB3、PB4とPB5、PB6とPB7・・・PB14とPB15のような組で、それぞれ論理ブロックを形成する。
ここで、物理ブロックPB3とPB6が不良ブロックである場合、物理ブロックPB2とPB7は、上記の「PB2とPB3」「PB6とPB7」という組み合わせができない。そこで図示のように正常な物理ブロックPB2とPB7を組とする。このようにすると、基本的な組み合わせでペアとなる相手が不良ブロックであっても、他の同様の境遇の物理ブロックと組み合わせることで、同時プログラム機能を実行できる論理ブロックを形成でき、問題は無い。
図4Aは、エリアARa1、ARa2において、1つづつ不良ブロックが生じている場合の論理ブロックの組み合わせ例を示している(図4において直線で結んだ物理ブロックが組み合わせのペアのブロックとする。図5〜図8も同様)。
基本的には隣り合う物理ブロックを組み合わせるとすると、物理ブロックPB0とPB1、PB2とPB3、PB4とPB5、PB6とPB7・・・PB14とPB15のような組で、それぞれ論理ブロックを形成する。
ここで、物理ブロックPB3とPB6が不良ブロックである場合、物理ブロックPB2とPB7は、上記の「PB2とPB3」「PB6とPB7」という組み合わせができない。そこで図示のように正常な物理ブロックPB2とPB7を組とする。このようにすると、基本的な組み合わせでペアとなる相手が不良ブロックであっても、他の同様の境遇の物理ブロックと組み合わせることで、同時プログラム機能を実行できる論理ブロックを形成でき、問題は無い。
ところが一方のエリアに不良ブロックが集中した場合、好ましくない状態となる。
図4Bでは、物理ブロックPB3、PB6,PB10,PB12が不良ブロックと成っている場合を示している。つまりエリアARa1側に3つ、エリアARa2側に1つの不良ブロックがある場合である。
例えば図4Aの場合と同様に、不良ブロックによってペアが組めなくなった同士の物理ブロックPB2とPB7を組み合わせることはできる。
しかし、物理ブロックPB11,PB13については、エリアARa1側に組み合わせることのできる物理ブロックが存在しないこととなる。結局、このような物理ブロックPB11,PB13は、正常な物理ブロックであるにもかかわらず論理ブロックを形成できない。
この物理ブロックPB11,PB13については、同時プログラム機能を用いずに書込速度の低下を許容して用いるか、或いはそれを避けるために使用禁止として管理することとなる。
各エリアARa1、ARa2において不良ブロック数の差が大きくなると、このような物理ブロックが多くなり、不揮発性メモリ16の書込速度の低下や、使用不可ブロックの増加、ひいては使用可能ブロックが減ることでメモリ寿命が短かくなるといったことが生ずる。
図4Bでは、物理ブロックPB3、PB6,PB10,PB12が不良ブロックと成っている場合を示している。つまりエリアARa1側に3つ、エリアARa2側に1つの不良ブロックがある場合である。
例えば図4Aの場合と同様に、不良ブロックによってペアが組めなくなった同士の物理ブロックPB2とPB7を組み合わせることはできる。
しかし、物理ブロックPB11,PB13については、エリアARa1側に組み合わせることのできる物理ブロックが存在しないこととなる。結局、このような物理ブロックPB11,PB13は、正常な物理ブロックであるにもかかわらず論理ブロックを形成できない。
この物理ブロックPB11,PB13については、同時プログラム機能を用いずに書込速度の低下を許容して用いるか、或いはそれを避けるために使用禁止として管理することとなる。
各エリアARa1、ARa2において不良ブロック数の差が大きくなると、このような物理ブロックが多くなり、不揮発性メモリ16の書込速度の低下や、使用不可ブロックの増加、ひいては使用可能ブロックが減ることでメモリ寿命が短かくなるといったことが生ずる。
<3.実施の形態の論理ブロック形成>
そこで本実施の形態では、同時アクセス可能な2つの不揮発性メモリ16a、16bを有することを利用し、不揮発性メモリ16a、16bにわたっての物理ブロックの組を形成できるようにする。
即ち、CPU11は、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理を行うが、これに加えて、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理も行うようにする。
そこで本実施の形態では、同時アクセス可能な2つの不揮発性メモリ16a、16bを有することを利用し、不揮発性メモリ16a、16bにわたっての物理ブロックの組を形成できるようにする。
即ち、CPU11は、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理を行うが、これに加えて、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理も行うようにする。
第1の組み合わせ処理は、上記図2〜図4で説明したように不揮発性メモリ16a内で、エリアARa1とARa2の間で物理ブロックの組(論理ブロック)を設定する処理である。図示による説明を省略したが、もう一つの不揮発性メモリ16b内で、エリアARb1とARb2の間で物理ブロックの組を設定する処理も、第1の組み合わせ処理となる。
第2の組み合わせ処理は、例えば不揮発性メモリ16aにおいて組み合わせができなかった物理ブロックの組み合わせ相手を、不揮発性メモリ16b内の物理ブロックから探して、それらを論理ブロックとして組み合わせるような処理となる。
図5で具体例を示す。
図5における不揮発性メモリ16aでは、上記図4Bのように、物理ブロックPB11,PB13が不揮発性メモリ16a内で論理ブロックを形成できなかった場合と同様の状況を示している。
一方、不揮発性メモリ16b側では、基本的には物理ブロックPB0とPB1、PB2とPB3、PB4とPB5、PB6とPB7・・・PB14とPB15のような組で、それぞれ論理ブロックを形成するが、物理ブロックPB7,PB9が不良ブロックであり、これらが不揮発性メモリ16b内で論理ブロックを形成できない状況である。
ここで図示するように、例えば不揮発性メモリ16aの物理ブロックPB11と不揮発性メモリ16bの物理ブロックPB6を組にして論理ブロックとする。
また不揮発性メモリ16aの物理ブロックPB13と不揮発性メモリ16bの物理ブロックPB8を組にして論理ブロックとする。
図5における不揮発性メモリ16aでは、上記図4Bのように、物理ブロックPB11,PB13が不揮発性メモリ16a内で論理ブロックを形成できなかった場合と同様の状況を示している。
一方、不揮発性メモリ16b側では、基本的には物理ブロックPB0とPB1、PB2とPB3、PB4とPB5、PB6とPB7・・・PB14とPB15のような組で、それぞれ論理ブロックを形成するが、物理ブロックPB7,PB9が不良ブロックであり、これらが不揮発性メモリ16b内で論理ブロックを形成できない状況である。
ここで図示するように、例えば不揮発性メモリ16aの物理ブロックPB11と不揮発性メモリ16bの物理ブロックPB6を組にして論理ブロックとする。
また不揮発性メモリ16aの物理ブロックPB13と不揮発性メモリ16bの物理ブロックPB8を組にして論理ブロックとする。
このようにすることで、従来では高速アクセスブロックとして利用できなかった(或いは使用不可とされた)、不揮発性メモリ16aの物理ブロックPB11,PB13と不揮発性メモリ16bの物理ブロックPB6、PB8についても、高速アクセスが可能となる。
例えば不揮発性メモリ16aの物理ブロックPB11と不揮発性メモリ16bの物理ブロックPB6への同時アクセスは、CPU11がメモリコントローラ15に対し、不揮発性メモリ16aの物理ブロックPB11に対するアクセス指示と、不揮発性メモリ16bの物理ブロックPB6に対するアクセス指示を同時並列的に行うことで実行される。
この場合のプログラム時間は、1ブロックに対してプログラムする場合と同等であるため、1つの不揮発性メモリ内での同時プログラム機能を用いる場合と同等か、わずかに速くなり、パフォーマンスは低下しない。消費電流は増加するが、一部のブロックにのみこのような方法を用いるためメモリカード1全体の平均消費電流はほとんど増加しない。
例えば不揮発性メモリ16aの物理ブロックPB11と不揮発性メモリ16bの物理ブロックPB6への同時アクセスは、CPU11がメモリコントローラ15に対し、不揮発性メモリ16aの物理ブロックPB11に対するアクセス指示と、不揮発性メモリ16bの物理ブロックPB6に対するアクセス指示を同時並列的に行うことで実行される。
この場合のプログラム時間は、1ブロックに対してプログラムする場合と同等であるため、1つの不揮発性メモリ内での同時プログラム機能を用いる場合と同等か、わずかに速くなり、パフォーマンスは低下しない。消費電流は増加するが、一部のブロックにのみこのような方法を用いるためメモリカード1全体の平均消費電流はほとんど増加しない。
このような実施の形態の手法を採ることで、データ書込時のスループットはどの物理ブロックへ書き込んでも大幅に低下することはなく、また正常なブロックをできる限り利用することでメモリカード1が使用不可になるまでの期間を延ばすことができる。
なお、この図5の例では、不揮発性メモリ16aのエリアARa2の物理ブロックPB11,PB13のそれぞれを、不揮発性メモリ16bのエリアARb1の物理ブロックPB6、PB8のそれぞれと組にした。しかし、組み合わせる他方の不揮発性メモリ16b側から選択する物理ブロックについてはエリアARb1内に限られない。
例えば不揮発性メモリ16aのエリアARa2内の物理ブロックPB11と、同時にアクセス可能な物理ブロックが選択されれば良いためであり、他方の不揮発性メモリ16bでは、エリアARb1、ARb2aのいずれの物理ブロックでも同時アクセス可能なためである。これは、そもそも不揮発性メモリ16a、16bが同時アクセス可能なメモリチップとして構成されていることによる。
例えば不揮発性メモリ16aのエリアARa2内の物理ブロックPB11と、同時にアクセス可能な物理ブロックが選択されれば良いためであり、他方の不揮発性メモリ16bでは、エリアARb1、ARb2aのいずれの物理ブロックでも同時アクセス可能なためである。これは、そもそも不揮発性メモリ16a、16bが同時アクセス可能なメモリチップとして構成されていることによる。
従って、例えば図6のような組み合わせ例も考えられる。
図6では、不揮発性メモリ16bでは、エリアARb1側の物理ブロックPB6,PB14が不良ブロックであり、エリアARb2側の物理ブロックPB7、PB15が不揮発性メモリ16b内で組み合わせができなかった場合である。
このときは、図示するように、例えば不揮発性メモリ16aの物理ブロックPB11と不揮発性メモリ16bの物理ブロックPB7を組にして論理ブロックとし、また不揮発性メモリ16aの物理ブロックPB13と不揮発性メモリ16bの物理ブロックPB15を組にして論理ブロックとすればよい。
図6では、不揮発性メモリ16bでは、エリアARb1側の物理ブロックPB6,PB14が不良ブロックであり、エリアARb2側の物理ブロックPB7、PB15が不揮発性メモリ16b内で組み合わせができなかった場合である。
このときは、図示するように、例えば不揮発性メモリ16aの物理ブロックPB11と不揮発性メモリ16bの物理ブロックPB7を組にして論理ブロックとし、また不揮発性メモリ16aの物理ブロックPB13と不揮発性メモリ16bの物理ブロックPB15を組にして論理ブロックとすればよい。
以上のような論理ブロック形成のための組み合わせは、CPU11が初期設定時に行い、また、後発的に不良ブロックが発生したときなどに組み合わせを変更していくようにすれば良い。
例えば図7は、初期設定時(或いはその後の或る時点)において、不揮発性メモリ16a側で物理ブロックPB5,PB10,PB12が不良ブロックであり、不揮発性メモリ16b側で物理ブロックPB7,PB9が不良ブロックである場合の論理ブロックの組み合わせの例を示している。
この場合、不揮発性メモリ16a側で物理ブロックPB5,PB10が不良ブロックであることから、物理ブロックPB4とPB11がペアとされている。そして物理ブロックPB13については、エリアARa1内でペアに選択できる物理ブロックが存在しないため、不揮発性メモリ16bの物理ブロックPB6と組み合わせられている。
この場合、不揮発性メモリ16b側の物理ブロックPB8は、エリアARb2内にも、また不揮発性メモリ16a側にも、ペアにできる物理ブロックが存在しない状態なので、未使用ブロックとされている。
この場合、不揮発性メモリ16a側で物理ブロックPB5,PB10が不良ブロックであることから、物理ブロックPB4とPB11がペアとされている。そして物理ブロックPB13については、エリアARa1内でペアに選択できる物理ブロックが存在しないため、不揮発性メモリ16bの物理ブロックPB6と組み合わせられている。
この場合、不揮発性メモリ16b側の物理ブロックPB8は、エリアARb2内にも、また不揮発性メモリ16a側にも、ペアにできる物理ブロックが存在しない状態なので、未使用ブロックとされている。
その後、図8に示すように、不揮発性メモリ16aの物理ブロックPB2が後発的に不良ブロックになったとする。この場合、物理ブロックPB3のペアの相手が使用不能となったことになる。
そこで組み合わせを更新する。図の例の場合、エリアARa1内には物理ブロックPB3のペアとできる物理ブロックは存在しないが、不揮発性メモリ16b側では、未使用ブロックPB8がある。そこで物理ブロックPB3について、不揮発性メモリ16bの物理ブロックPB8と組み合わせるようにする。
そこで組み合わせを更新する。図の例の場合、エリアARa1内には物理ブロックPB3のペアとできる物理ブロックは存在しないが、不揮発性メモリ16b側では、未使用ブロックPB8がある。そこで物理ブロックPB3について、不揮発性メモリ16bの物理ブロックPB8と組み合わせるようにする。
このように組み合わせを更新していけば、各時点で論理ブロック単位でのアクセスを最大限活用できる状態を維持できる。また或る時点で組み合わせができなかった物理ブロックがあったとしても、後発的に不良ブロックの発生に応じて、他の物理ブロックと組み合わせることで、必ずしも無駄とならない。特に他方の不揮発性メモリ16の物理ブロックを用いることで組み合わせ可能性を高めることができる。
<4.ブロック組み合わせ処理>
以上の実施の形態におけるCPU11のブロック組み合わせ処理について説明する。
CPU11(及びSRAM12)によっては、実施の形態のブロック組み合わせ処理及び論理ブロック単位でのアクセス動作を実現するための機能として、図9に示すようにブロック組み合わせ処理部31と、アクセス制御部32がソフトウエアにより設けられる。また、これらブロック組み合わせ処理部31とアクセス制御部32が処理過程で用いるテーブルとして、未リンクテーブル33、論理ブロック管理テーブル34が用いられ、例えばSRAM12で保持される。なお未リンクテーブル33、論理ブロック管理テーブル34としてのテーブルデータは、不揮発性メモリ16の一部の領域に記憶され、起動中にSRAM12に展開されてもよい。
なお、ここではこれらの機能部位がCPU11の処理として発現するソフトウエア機能として設けられているとするが、これらがハードウエアにより形成されてもかまわない。
以上の実施の形態におけるCPU11のブロック組み合わせ処理について説明する。
CPU11(及びSRAM12)によっては、実施の形態のブロック組み合わせ処理及び論理ブロック単位でのアクセス動作を実現するための機能として、図9に示すようにブロック組み合わせ処理部31と、アクセス制御部32がソフトウエアにより設けられる。また、これらブロック組み合わせ処理部31とアクセス制御部32が処理過程で用いるテーブルとして、未リンクテーブル33、論理ブロック管理テーブル34が用いられ、例えばSRAM12で保持される。なお未リンクテーブル33、論理ブロック管理テーブル34としてのテーブルデータは、不揮発性メモリ16の一部の領域に記憶され、起動中にSRAM12に展開されてもよい。
なお、ここではこれらの機能部位がCPU11の処理として発現するソフトウエア機能として設けられているとするが、これらがハードウエアにより形成されてもかまわない。
ブロック組み合わせ処理部31は、一の不揮発性メモリ16内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリ16a,16bのそれぞれからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行う。
アクセス制御部32は、不揮発性メモリ16a、16bに対し、ブロック組み合わせ処理部31により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。即ち論理ブロック単位でのアクセスをメモリコントローラ15に指示する。
アクセス制御部32は、不揮発性メモリ16a、16bに対し、ブロック組み合わせ処理部31により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行う。即ち論理ブロック単位でのアクセスをメモリコントローラ15に指示する。
未リンクテーブル33は、ブロック組み合わせ処理部31が第1,第2の組み合わせ処理を行う際に、不良ブロックの影響等で組み合わせができなくなる物理ブロック(未リンクブロック)を登録するデータテーブルである。テーブルとして、不揮発性メモリ16aの未リンクブロックを登録する第1不揮発性メモリ用テーブル33aと、不揮発性メモリ16bの未リンクブロックを登録する第2不揮発性メモリ用テーブル33bが形成される。
論理ブロック管理テーブルは、論理ブロックとした複数の物理ブロックを管理するデータである。アクセス制御部32は、この論理ブロック管理テーブルから、目的とする論理ブロックのアクセスの際に、その論理ブロックを構成する実際の物理ブロックを認識し、アクセス指示を行う。
論理ブロック管理テーブルは、論理ブロックとした複数の物理ブロックを管理するデータである。アクセス制御部32は、この論理ブロック管理テーブルから、目的とする論理ブロックのアクセスの際に、その論理ブロックを構成する実際の物理ブロックを認識し、アクセス指示を行う。
図10に、ブロック組み合わせ処理としてのCPU11(ブロック組み合わせ処理部31)の制御動作を示す。
なお、ここで述べる例では、ブロック組み合わせは、基本的には図3Aで説明したように、隣り合う(物理ブロック番号が連続する)物理ブロックを組み合わせて論理ブロックとすることを前提とする。但し不良ブロックを避けることにより、そのような組み合わせができない物理ブロックも発生する。そこで、この図10の処理は、隣り合ったブロック同士では組み合わせができない物理ブロックについて、組み合わせを探して論理ブロックを形成する処理としている。
なお、ここで述べる例では、ブロック組み合わせは、基本的には図3Aで説明したように、隣り合う(物理ブロック番号が連続する)物理ブロックを組み合わせて論理ブロックとすることを前提とする。但し不良ブロックを避けることにより、そのような組み合わせができない物理ブロックも発生する。そこで、この図10の処理は、隣り合ったブロック同士では組み合わせができない物理ブロックについて、組み合わせを探して論理ブロックを形成する処理としている。
図10のブロック組み合わせ処理は、大きく分けて破線で囲った3つの処理から成る。未リンクテーブル登録処理S1、チップ内ブロック組み合わせ処理S2、別チップブロック組み合わせ処理S3である。
未リンクテーブル登録処理S1は、不良ブロックの存在により通常の隣り合った物理ブロックでの組み合わせができない物理ブロックを抽出して未リンクテーブル33に登録する処理である。
チップ内ブロック組み合わせ処理S2は、未リンクテーブル33に登録された物理ブロックについて、チップ内(ここで「チップ」とは1つの不揮発性メモリを指す)、即ち不揮発性メモリ16a内、及び不揮発性メモリ16b内で、組み合わせを試行する処理である。上述した第1の組み合わせ処理に相当する。
別チップブロック組み合わせ処理S3は、不揮発性メモリ(16a又は16b)における未リンクテーブル33に登録された物理ブロックについて、異なる他方の不揮発性メモリ(16b又は16a)の物理ブロックとの組み合わせを試行する処理である。上述した第2の組み合わせ処理に相当する。
そしてこの図10の処理は、第1の組み合わせ処理として、一の不揮発性メモリ内の各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する処理としている。
未リンクテーブル登録処理S1は、不良ブロックの存在により通常の隣り合った物理ブロックでの組み合わせができない物理ブロックを抽出して未リンクテーブル33に登録する処理である。
チップ内ブロック組み合わせ処理S2は、未リンクテーブル33に登録された物理ブロックについて、チップ内(ここで「チップ」とは1つの不揮発性メモリを指す)、即ち不揮発性メモリ16a内、及び不揮発性メモリ16b内で、組み合わせを試行する処理である。上述した第1の組み合わせ処理に相当する。
別チップブロック組み合わせ処理S3は、不揮発性メモリ(16a又は16b)における未リンクテーブル33に登録された物理ブロックについて、異なる他方の不揮発性メモリ(16b又は16a)の物理ブロックとの組み合わせを試行する処理である。上述した第2の組み合わせ処理に相当する。
そしてこの図10の処理は、第1の組み合わせ処理として、一の不揮発性メモリ内の各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する処理としている。
未リンクテーブル登録処理S1は次のように行われる。CPU11は、エリア内全ブロックを対象としたループ処理LP1、不揮発性メモリ内全エリアを対象としたループ処理LP2、全不揮発性メモリを対象としたループ処理LP3を行う。
まずエリア内全ブロックを対象としたループ処理LP1では、CPU11は不揮発性メモリ16aのエリアARa1内の全物理ブロックについて順次、ステップF101で不良ブロックであるか否かを判定し、不良ブロックであった場合は、ステップF102で反対側のエリアの対応する(隣り合う)物理ブロックを未リンクテーブル33に登録する処理を行う。
図7の例を用いていえば、エリアARa1の物理ブロックPB0、PB2・・・PB14について、順次ステップF101で不良ブロック判断を行う。そして図7の場合、物理ブロックPB10,PB12が不良ブロックであるが、このため、反対側のエリアARa2でこれらの不良ブロックに対応する物理ブロックPB11,PB13を未リンクテーブル33(第1不揮発性メモリ用テーブル33a)に登録することになる。
図7の例を用いていえば、エリアARa1の物理ブロックPB0、PB2・・・PB14について、順次ステップF101で不良ブロック判断を行う。そして図7の場合、物理ブロックPB10,PB12が不良ブロックであるが、このため、反対側のエリアARa2でこれらの不良ブロックに対応する物理ブロックPB11,PB13を未リンクテーブル33(第1不揮発性メモリ用テーブル33a)に登録することになる。
このループ処理LP1が、ループ処理LP2によりエリアARa2についても行われる。即ち、CPU11は不揮発性メモリ16aのエリアARa2内の全物理ブロックについて順次、ステップF101で不良ブロックであるか否かを判定し、不良ブロックであった場合は、ステップF102で反対側のエリアの対応する(隣り合う)物理ブロックを未リンクテーブル33に登録する処理を行う。
図7の例を用いていえば、エリアARa2の物理ブロックPB1、PB3・・・PB15について、順次ステップF101で不良ブロック判断を行う。そして図7の場合、物理ブロックPB5が不良ブロックであるが、このため、反対側のエリアARa1でこの不良ブロックに対応する物理ブロックPB4を未リンクテーブル33(第1不揮発性メモリ用テーブル33a)に登録することになる。
図7の例を用いていえば、エリアARa2の物理ブロックPB1、PB3・・・PB15について、順次ステップF101で不良ブロック判断を行う。そして図7の場合、物理ブロックPB5が不良ブロックであるが、このため、反対側のエリアARa1でこの不良ブロックに対応する物理ブロックPB4を未リンクテーブル33(第1不揮発性メモリ用テーブル33a)に登録することになる。
以上の処理が、ループ処理LP3によって、さらに不揮発性メモリ16bに対しても行われる。即ちCPU11は不揮発性メモリ16bのエリアARb1の全物理ブロックについてループ処理LP1(ステップF101,F102)を行い、またループ処理LP2により、不揮発性メモリ16bのエリアARb2の全物理ブロックについてもループ処理LP1(ステップF101,F102)を行う。
図7の例でいえば、物理ブロックPB7,PB9が不良ブロックであるため、物理ブロックPB6,PB8が、未リンクテーブル33(第2不揮発性メモリ用テーブル33b)に登録される。
図7の例でいえば、物理ブロックPB7,PB9が不良ブロックであるため、物理ブロックPB6,PB8が、未リンクテーブル33(第2不揮発性メモリ用テーブル33b)に登録される。
以上の未リンクテーブル登録処理S1で、エリア間で隣り合った物理ブロック同士で組み合わせができない物理ブロックが、未リンクテーブル33に登録されたことになる。
続いてCPU11はチップ内ブロック組み合わせ処理S2を行う。CPU11は、未リンクテーブル33に登録されている第1エリアの物理ブロックを対象としたループ処理LP11と、全不揮発性メモリを対象としたループ処理LP12を行う。
なお、ここでの第1エリアとは、不揮発性メモリ16aのエリアARa1、不揮発性メモリ16bのエリアARb1を指し、第2エリアとは、不揮発性メモリ16aのエリアARa2、不揮発性メモリ16bのエリアARb2を指す。
続いてCPU11はチップ内ブロック組み合わせ処理S2を行う。CPU11は、未リンクテーブル33に登録されている第1エリアの物理ブロックを対象としたループ処理LP11と、全不揮発性メモリを対象としたループ処理LP12を行う。
なお、ここでの第1エリアとは、不揮発性メモリ16aのエリアARa1、不揮発性メモリ16bのエリアARb1を指し、第2エリアとは、不揮発性メモリ16aのエリアARa2、不揮発性メモリ16bのエリアARb2を指す。
まずCPU11はループ処理LP11として、不揮発性メモリ16aのエリアARa1内の物理ブロックとして未リンクテーブル33に登録されている各物理ブロックについてステップF111〜F113の処理を行う。
ステップF111では、反対側の第2エリア(エリアARa2)の物理ブロックとして未リンクテーブル33に登録されているものが存在するか否かを判別する。
そして存在する場合は、ステップF112に進んで、第1エリア(エリアARa1)の物理ブロックと第2エリア(エリアARa2)の物理ブロックを組み合わせて論理ブロックを形成する。このときCPU11は、形成した論理ブロックを論理ブロック管理テーブル34に登録する。
さらにステップF113でCPU11は、今回ステップF112で組み合わせた2つの物理ブロックを、未リンクテーブル33から削除する。
ステップF111では、反対側の第2エリア(エリアARa2)の物理ブロックとして未リンクテーブル33に登録されているものが存在するか否かを判別する。
そして存在する場合は、ステップF112に進んで、第1エリア(エリアARa1)の物理ブロックと第2エリア(エリアARa2)の物理ブロックを組み合わせて論理ブロックを形成する。このときCPU11は、形成した論理ブロックを論理ブロック管理テーブル34に登録する。
さらにステップF113でCPU11は、今回ステップF112で組み合わせた2つの物理ブロックを、未リンクテーブル33から削除する。
なお、ステップF111で、第2エリア(エリアARa2)の物理ブロックとして未リンクテーブル33に登録されているものが存在しないと判別された場合は、処理対象となっている第1エリア(エリアARa1)の物理ブロックは、不揮発性メモリ16a内では組み合わせができないものとなる。
図7の例でいえば、以上の処理で、未リンクテーブル33に登録されているエリアARa1の物理ブロックPB4が対象として処理され、ステップF111でエリアARa2の物理ブロックPB11,PB13が未リンクテーブル33に登録されていると判断される。そのためステップF112で物理ブロックPB4とPB11が組み合わされ、論理ブロック管理テーブルに登録される。さらにステップF113で、物理ブロックPB4とPB11が未リンクテーブル33から削除されることとなる。
なお、その場合、物理ブロックPB13は未リンクテーブル33に登録された状態のままである。
なお、その場合、物理ブロックPB13は未リンクテーブル33に登録された状態のままである。
CPU11は、以上のループ処理LP11を、ループ処理LP12として、不揮発性メモリ16bについても同様に行う。
図7の例の場合は、第1エリア(エリアARb1)の物理ブロックPB6,PB8が処理対象となるが、第2エリア(エリアARb2)の物理ブロックとして未リンクテーブル33に登録されているものがないため、物理ブロックPB6,PB8は不揮発性メモリ16b内では組み合わせができず、未リンクテーブル33に登録されたままとなる。
図7の例の場合は、第1エリア(エリアARb1)の物理ブロックPB6,PB8が処理対象となるが、第2エリア(エリアARb2)の物理ブロックとして未リンクテーブル33に登録されているものがないため、物理ブロックPB6,PB8は不揮発性メモリ16b内では組み合わせができず、未リンクテーブル33に登録されたままとなる。
続いてCPU11は別チップブロック組み合わせ処理S3を行う。ここでは未リンクテーブル33(第1不揮発性メモリ用テーブル33a)に登録された物理ブロックのそれぞれについて、ステップF121〜F123の処理を、ループ処理LP21として実行する。
ステップF121でCPU11は、不揮発性メモリ16bの物理ブロックとして未リンクテーブル33(第2不揮発性メモリ用テーブル33b)に登録されているものが存在するか否かを判別する。
そして存在する場合は、ステップF122に進んで、不揮発性メモリ16a、16bの各物理ブロックを組み合わせて論理ブロックを形成する。このときCPU11は、形成した論理ブロックを論理ブロック管理テーブル34に登録する。
さらにステップF123でCPU11は、今回ステップF122で組み合わせた2つの物理ブロックを、未リンクテーブル33から削除する。
そして存在する場合は、ステップF122に進んで、不揮発性メモリ16a、16bの各物理ブロックを組み合わせて論理ブロックを形成する。このときCPU11は、形成した論理ブロックを論理ブロック管理テーブル34に登録する。
さらにステップF123でCPU11は、今回ステップF122で組み合わせた2つの物理ブロックを、未リンクテーブル33から削除する。
なお、ステップF121で、不揮発性メモリ16bの物理ブロックとして未リンクテーブル33に登録されているものが存在しないと判別された場合は、処理対象となっている不揮発性メモリ16aの物理ブロックは、不揮発性メモリ16a、16b間でも組み合わせができないものとなる。
図7の例でいえば、以上の処理で、未リンクテーブル33に登録されている不揮発性メモリ16aの物理ブロックPB13が対象として処理され、ステップF121で不揮発性メモリ16bの物理ブロックPB6,PB8が未リンクテーブル33に登録されていると判断される。そのためステップF122で不揮発性メモリ16aの物理ブロックPB13と不揮発性メモリ16bの物理ブロックPB6が組み合わされ、論理ブロック管理テーブルに登録される。さらにステップF123で、その物理ブロックPB13とPB6が未リンクテーブル33から削除される。
なお、不揮発性メモリ16bの物理ブロックPB8は未リンクテーブル33に登録された状態のままとなる。
なお、不揮発性メモリ16bの物理ブロックPB8は未リンクテーブル33に登録された状態のままとなる。
以上の図10の処理をCPU11(ブロック組み合わせ処理部31)が実行することで、例えば図7の例のような組み合わせが実現される。図7のような組み合わせ状態は、論理ブロック管理テーブル34で管理される。
従ってCPU11(アクセス制御部32)は、データの書き込みアクセス等の際には、論理ブロック管理テーブル34を参照して論理ブロックとされた物理ブロックを把握し、2つの物理ブロックの同時アクセスをメモリコントローラ15に指示することで、高速アクセスが実現される。
従ってCPU11(アクセス制御部32)は、データの書き込みアクセス等の際には、論理ブロック管理テーブル34を参照して論理ブロックとされた物理ブロックを把握し、2つの物理ブロックの同時アクセスをメモリコントローラ15に指示することで、高速アクセスが実現される。
なお、図8では、その後に後発不良ブロックが発生した場合について述べた。その際もCPU11は図10の処理を行うことで、物理ブロックの組み合わせを更新し、図8に示したような組み合わせ状態とすることができる。
具体的には、図8の不揮発性メモリ16aの物理ブロックPB2が不良ブロックであることから物理ブロックPB3を未リンクテーブル33に登録する。その状態で図10のチップ内ブロック組み合わせ処理S2、別チップブロック組み合わせ処理S3を行えば良い。図8の例の場合、別チップブロック組み合わせ処理S3によって物理ブロックPB3が不揮発性メモリ16bの物理ブロックPB8と組み合わせられることとなる。
具体的には、図8の不揮発性メモリ16aの物理ブロックPB2が不良ブロックであることから物理ブロックPB3を未リンクテーブル33に登録する。その状態で図10のチップ内ブロック組み合わせ処理S2、別チップブロック組み合わせ処理S3を行えば良い。図8の例の場合、別チップブロック組み合わせ処理S3によって物理ブロックPB3が不揮発性メモリ16bの物理ブロックPB8と組み合わせられることとなる。
<5.変形例>
以上、実施の形態について説明してきたが、変形例は多様に考えられる。
まずブロック組み合わせ処理については、図10の処理に限らず多様な例が想定される。例えば、図10の別チップブロック組み合わせ処理S3(第2の組み合わせ処理)を行った後に、チップ内ブロック組み合わせ処理S2(第1の組み合わせ処理)を行うようにしてもよい。
以上、実施の形態について説明してきたが、変形例は多様に考えられる。
まずブロック組み合わせ処理については、図10の処理に限らず多様な例が想定される。例えば、図10の別チップブロック組み合わせ処理S3(第2の組み合わせ処理)を行った後に、チップ内ブロック組み合わせ処理S2(第1の組み合わせ処理)を行うようにしてもよい。
また、不揮発性メモリ16a、16bは、それぞれエリアの異なる複数の物理ブロックを同時アクセス可能としているが、エリア(プレーン)としての形式でなくとも、複数の物理ブロックの同時アクセスが可能な構造であれば、その同時アクセス可能な物理ブロックの組み合わせを第1の組み合わせ処理として実行できる。
不揮発性メモリ16a、16bのそれぞれにおけるエリアについても2つではなく、3つ以上設定される場合もあり、それに応じて多様な組み合わせも考えられる。一の不揮発性メモリ内で3以上の物理ブロックが同時アクセス可能の場合は、3以上の物理ブロックで論理ブロックを形成する場合もある。
また不揮発性メモリ16a、16bと、同時アクセス可能な2つの不揮発性メモリを有するメモリカード1の例を述べたが、同時並列的なアクセスを実行可能な3以上の不揮発性メモリが設けられる場合もある。その場合、或る不揮発性メモリの物理ブロックと組み合わせられる物理ブロックを、どの不揮発性メモリから選択してもよく、具体的な処理は多様に考えられる。
また同時アクセス可能な複数の不揮発性メモリとしては、図1の例では、不揮発性メモリ16a、16bが、メモリコントローラ15の異なるアクセスチャンネルに接続された例を示したが、このような場合だけではない。例えば1つのアクセスチャンネルに複数の不揮発性メモリが接続される構成において、これらのうち1つまたは複数の不揮発性メモリの内部処理中にその他の不揮発性メモリにアクセスできる場合も、同時アクセス可能な複数の不揮発性メモリを有するものとなる。
また同時アクセス可能な複数の不揮発性メモリとしては、図1の例では、不揮発性メモリ16a、16bが、メモリコントローラ15の異なるアクセスチャンネルに接続された例を示したが、このような場合だけではない。例えば1つのアクセスチャンネルに複数の不揮発性メモリが接続される構成において、これらのうち1つまたは複数の不揮発性メモリの内部処理中にその他の不揮発性メモリにアクセスできる場合も、同時アクセス可能な複数の不揮発性メモリを有するものとなる。
また実施の形態ではメモリカード1の例を挙げたが、不揮発性メモリ16と、CPU11(及びSRAM12)が別体の構成の場合でも本開示の技術は適用可能である。例えば複数の不揮発性メモリに対してのブロック組み合わせ処理や組み合わせた論理ブロックによるアクセスを指示する制御装置としても実現できる。
本開示の技術は、各種メモリカード、SSD、eMMCなどに適用できる。
本開示の技術は、各種メモリカード、SSD、eMMCなどに適用できる。
なお本技術は以下のような構成を採ることもできる。
(1)複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行うブロック組み合わせ処理部と、
上記記憶装置に対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部と、
を備えた制御装置。
(2)上記ブロック組み合わせ処理部は、上記第1の組み合わせ処理によって論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する上記(1)に記載の制御装置。
(3)上記不揮発性メモリ内は、複数のエリアに分割され、それぞれのエリアから選択された複数の物理ブロックで同時アクセス対象となる論理ブロックを形成することが可能とされており、
上記ブロック組み合わせ処理部は、上記第1の組み合わせ処理として、一の不揮発性メモリ内の上記各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する上記(1)又は(2)に記載の制御装置。
(4)上記第1,第2の組み合わせ処理では、不良ブロックを除外して物理ブロックの組み合わせを行って論理ブロックを形成する上記(1)乃至(3)のいずれかに記載の制御装置。
(1)複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行うブロック組み合わせ処理部と、
上記記憶装置に対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部と、
を備えた制御装置。
(2)上記ブロック組み合わせ処理部は、上記第1の組み合わせ処理によって論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する上記(1)に記載の制御装置。
(3)上記不揮発性メモリ内は、複数のエリアに分割され、それぞれのエリアから選択された複数の物理ブロックで同時アクセス対象となる論理ブロックを形成することが可能とされており、
上記ブロック組み合わせ処理部は、上記第1の組み合わせ処理として、一の不揮発性メモリ内の上記各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する上記(1)又は(2)に記載の制御装置。
(4)上記第1,第2の組み合わせ処理では、不良ブロックを除外して物理ブロックの組み合わせを行って論理ブロックを形成する上記(1)乃至(3)のいずれかに記載の制御装置。
1 メモリカード、2 ホスト機器、11 CPU、12 SRAM、13 デバイスインターフェース、14 バッファRAM、15 メモリコントローラ、16(16a,16b) 不揮発性メモリ、31 ブロック組み合わせ処理部、32 アクセス制御部、33 未リンクテーブル、34 論理ブロック管理テーブル
Claims (6)
- 複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行うブロック組み合わせ処理部と、
上記記憶装置に対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部と、
を備えた制御装置。 - 上記ブロック組み合わせ処理部は、上記第1の組み合わせ処理によって論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する請求項1に記載の制御装置。
- 上記不揮発性メモリ内は、複数のエリアに分割され、それぞれのエリアから選択された複数の物理ブロックで同時アクセス対象となる論理ブロックを形成することが可能とされており、
上記ブロック組み合わせ処理部は、上記第1の組み合わせ処理として、一の不揮発性メモリ内の上記各エリアから選択した物理ブロックを組み合わせて論理ブロックを形成するとともに、この第1の組み合わせ処理で組み合わせ不能な物理ブロックについて、上記第2の組み合わせ処理で他の不揮発性メモリの物理ブロックと組み合わせて論理ブロックを形成する請求項1に記載の制御装置。 - 上記第1,第2の組み合わせ処理では、不良ブロックを除外して物理ブロックの組み合わせを行って論理ブロックを形成する請求項1に記載の制御装置。
- それぞれが複数の物理ブロックへの同時アクセス可能な不揮発性メモリであって、同時アクセス可能な複数の不揮発性メモリと、
一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行うブロック組み合わせ処理部と、
上記不揮発性メモリに対し、上記ブロック組み合わせ処理部により設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御部と、
を備えた記憶装置。 - 複数の物理ブロックへの同時アクセス可能な不揮発性メモリとして、同時アクセス可能な複数の不揮発性メモリが設けられた記憶装置に対し、一の不揮発性メモリ内で複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第1の組み合わせ処理と、異なる不揮発性メモリからの複数の物理ブロックを組み合わせて同時アクセス対象となる論理ブロックを形成する第2の組み合わせ処理とを行い、
上記記憶装置に対し、上記第1,第2の組み合わせ処理で設定された論理ブロック単位で、データの書込又は読出のアクセスの制御を行うアクセス制御方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011081746A JP2012216122A (ja) | 2011-04-01 | 2011-04-01 | 制御装置、記憶装置、アクセス制御方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011081746A JP2012216122A (ja) | 2011-04-01 | 2011-04-01 | 制御装置、記憶装置、アクセス制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012216122A true JP2012216122A (ja) | 2012-11-08 |
Family
ID=47268821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011081746A Withdrawn JP2012216122A (ja) | 2011-04-01 | 2011-04-01 | 制御装置、記憶装置、アクセス制御方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012216122A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160011969A1 (en) * | 2014-07-08 | 2016-01-14 | Quanta Storage Inc. | Method for accessing data in solid state disk |
CN112558863A (zh) * | 2020-11-25 | 2021-03-26 | 成都佰维存储科技有限公司 | Ssd坏块替换方法、装置、可读存储介质及电子设备 |
-
2011
- 2011-04-01 JP JP2011081746A patent/JP2012216122A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160011969A1 (en) * | 2014-07-08 | 2016-01-14 | Quanta Storage Inc. | Method for accessing data in solid state disk |
CN105320462A (zh) * | 2014-07-08 | 2016-02-10 | 广明光电股份有限公司 | 固态硬盘存取数据的方法 |
CN112558863A (zh) * | 2020-11-25 | 2021-03-26 | 成都佰维存储科技有限公司 | Ssd坏块替换方法、装置、可读存储介质及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200225875A1 (en) | Memory system and operation method thereof | |
KR101300657B1 (ko) | 비휘발성 메모리 및 버퍼 메모리를 포함하는 메모리 시스템및 그것의 데이터 읽기 방법 | |
US8332573B2 (en) | Method and apparatus for performing address mapping in virtual file system of storage unit having a plurality of non-volatile data storage media | |
JP4524309B2 (ja) | フラッシュメモリ用のメモリコントローラ | |
US9104549B2 (en) | Data storage device and method for flash block management | |
TWI692690B (zh) | 存取快閃記憶體模組的方法及相關的快閃記憶體控制器與電子裝置 | |
KR100904758B1 (ko) | 버퍼 메모리를 포함하는 플래쉬 메모리 장치 및 시스템,플래쉬 메모리 장치의 데이터 업데이트 방법 | |
US9128618B2 (en) | Non-volatile memory controller processing new request before completing current operation, system including same, and method | |
US20100161885A1 (en) | Semiconductor storage device and storage controlling method | |
US20120159072A1 (en) | Memory system | |
JP2012128816A (ja) | メモリシステム | |
JP2013239099A (ja) | 制御装置、記憶装置、記憶制御方法 | |
KR100882740B1 (ko) | 맵 히스토리 기반의 불휘발성 메모리의 매핑 방법 및 저장장치 | |
TWI520152B (zh) | 資料儲存裝置與快閃記憶體控制方法 | |
US20120151166A1 (en) | Nonvolatile storage device and memory controller | |
JP2013235531A (ja) | 制御装置、記憶装置、記憶制御方法 | |
US8527733B2 (en) | Memory system | |
JP2013016148A (ja) | メモリコントローラ、不揮発性記憶装置 | |
TW201329999A (zh) | 緩衝記憶體管理方法、記憶體控制器與記憶體儲存裝置 | |
US9081664B2 (en) | Memory system capable of preventing data destruction | |
US9329994B2 (en) | Memory system | |
TWI715408B (zh) | 快閃記憶體控制器、記憶體裝置以及存取快閃記憶體模組之方法 | |
JP5925549B2 (ja) | メモリシステムおよびバンクインターリーブ方法 | |
JP2012216122A (ja) | 制御装置、記憶装置、アクセス制御方法 | |
JP2012521032A (ja) | Ssdコントローラおよびssdコントローラの動作方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140603 |