JP2009510560A - Nandインタフェースをエクスポートするnand型フラッシュメモリコントローラ - Google Patents

Nandインタフェースをエクスポートするnand型フラッシュメモリコントローラ Download PDF

Info

Publication number
JP2009510560A
JP2009510560A JP2008531880A JP2008531880A JP2009510560A JP 2009510560 A JP2009510560 A JP 2009510560A JP 2008531880 A JP2008531880 A JP 2008531880A JP 2008531880 A JP2008531880 A JP 2008531880A JP 2009510560 A JP2009510560 A JP 2009510560A
Authority
JP
Japan
Prior art keywords
controller
nand
flash memory
interface
flash
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.)
Pending
Application number
JP2008531880A
Other languages
English (en)
Other versions
JP2009510560A5 (ja
Inventor
ラッセル、メナケム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=37889248&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP2009510560(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of JP2009510560A publication Critical patent/JP2009510560A/ja
Publication of JP2009510560A5 publication Critical patent/JP2009510560A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

【課題】 オンボードNANDコントローラを有するホスト装置と後続世代のNAND型フラッシュメモリ装置との間に互換性を提供する。
【解決手段】 ホスト装置とフラッシュダイに組み立てられたフラッシュメモリ装置(例えば、NAND型フラッシュメモリ装置)とをインタフェースするNANDコントローラ(130)が開示される。いくつかの実施形態では、ここで開示されるNANDコントローラは、フラッシュダイと別個のコントローラダイに組み立てられた電子回路、電子回路とフラッシュメモリ装置とをインタフェースする第1のインタフェース(例えば、ホスト型インタフェース、例えばNANDインタフェース)(144、142)、およびコントローラとホスト装置とをインタフェースする、NANDインタフェースである第2のインタフェース(例えば、フラッシュ型インタフェース)を含む。いくつかの実施形態によれば、第1のインタフェースはダイ間インタフェースである。いくつかの実施形態によれば、第1のインタフェースはNANDインタフェースである。ここで開示されるNANDコントローラを含むシステムも開示される。上記システムを組み立てる方法およびNANDコントローラを使用してデータを読み書きする方法も開示される。
【選択図】図5A

Description

本発明は、標準NAND型フラッシュメモリ装置がエクスポートするものと同種類のインタフェースをホストコンピュータにエクスポートするNAND型フラッシュメモリコントローラに関する。
シングルビットフラッシュメモリセルおよびマルチビットフラッシュメモリセル
フラッシュメモリ装置は何年もの間にわたって知られている。通常、フラッシュメモリ装置内の各メモリセルは、1ビットの情報を記憶する。ビットをフラッシュメモリセルに記憶する従来の方法は、2つの状態のメモリセルをサポートすることによるものであった。一方の状態は論理「0」を表し、他方の状態は論理「1」を表す。
フラッシュメモリセルでは、2つの状態は、セルのチャネルの上(セルトランジスタのソース要素とドレイン要素とを結ぶエリア)に浮遊ゲートを配置し、浮遊ゲート内に蓄えられる電荷量に2つの有効な状態を持たせることにより実施される。通常、一方の状態では浮遊ゲートの電荷はゼロであり、消去後のセルの書き込まれていない状態(一般に「1」状態を表すものと定義される)であり、他方は浮遊ゲートにいくらかの量の負の電荷がある状態である(一般に「0」状態を表すものと定義される)。負の電荷をゲートに有すると、セルトランジスタの閾値電圧(すなわち、トランジスタを導通状態にするためにトランジスタの制御ゲートに印加する必要がある電圧)が増大する。セルの閾値電圧を調べることにより、記憶されているビットを読み取ることが可能である。閾値電圧がハイ状態にある場合、ビット値は「0」であり、閾値電圧がロー状態にある場合、ビット値は「1」である。実際には、セルの閾値電圧を正確に読み取る必要はない。必要なのは、セルが現在2つの状態のうちのいずれの状態であるかを正確に識別することだけである。このため、セルの閾値電圧を2つの状態の間にある基準電圧と比較し、セルの閾値電圧が基準値よりも上か、または下かを判断するだけで十分である。
図1A(従来技術)は、これがどのように働くかを図で示す。特に、図1Aは、多数のセルの閾値電圧の分布を示す。フラッシュ装置内のセルの特性および挙動は、(例えば、不純物濃度のわずかなばらつきまたはシリコン構造の欠陥により)厳密に同じではないため、同じプログラミング動作をすべてのセルに適用しても、すべてのセルが厳密に同じ閾値電圧を有するわけではない。それに代えて、閾値電圧は図1Aに示すように分散する。値「1」を記憶しているセルは、通常、負の閾値電圧を有し、値「1」のセルの大半は、図1Aの左側のピーク(1と記される)の中央電圧値に近い閾値電圧を有し、少数のセルが左側のピークの中央電圧よりも低いか、または高い閾値電圧を有する。同様に、値「0」を記憶しているセルは、通常、正の閾値電圧を有し、値「0」のセルの大半は、図1Aの右側のピーク(0と記される)の中央電圧値に近い閾値電圧を有し、少数のセルが右側のピークの中央電圧よりも低いか、または高い閾値電圧を有する。
近年、「マルチレベルセル」(MLC)を使用する新種のフラッシュ装置が市場に出現した。各セルに1ビットを有するフラッシュメモリは、上述したように複数の、すなわち2つのレベルを有するため、「マルチレベルセル」なる用語は誤解を招きやすい。このため、以下において2レベルのメモリセルを指すために「シングルビットセル」(SBC)なる用語を使用し、3つ以上のレベル、すなわち各セルに2ビット以上があるメモリセルを指すために「マルチビットセル」(MBC)なる用語を使用する。現在、最も一般的なMBCフラッシュメモリは、各セルに2ビットを有するものであるため、このようなMBCメモリを使用する例を以下に提供する。しかし、本発明が、各セルに3ビット以上をサポートするフラッシュメモリ装置にも等しく適用可能なことを理解されたい。2ビットの情報を記憶している1つのMBCセルは、4つの異なる状態のうちの1つの状態にある。セルの「状態」はセルの閾値電圧で表されるため、MBCセルは、セルの閾値電圧に対して4つの異なる有効範囲をサポートする。図1B(従来技術)は、各セルに2ビットがある典型的なMBCセルの閾値電圧分布を示す。予想されるように、図1Bは4つのピークを有し、各ピークは1つの状態に対応する。SBCの場合と同様に、実際には、各状態は電圧範囲であり、1つの電圧ではない。セルの内容を読み取るとき、セルの閾値電圧は明確な電圧範囲内で正確に識別されなければならない。MBCフラッシュ装置の従来技術による例としては、ハラリ(Harari)に付与された米国特許第5,434,825号明細書を参照されたい。参照により、これがあたかも本明細書にすべて記載されているかのように援用する。
MBC動作、例えば、4状態のMBCに向けて設計されるセルは、通常、2状態を有するSBCセルとして動作することが可能である。例えば、コンリー(Conley)らは、米国特許第6,426,893号明細書において、同じ装置内でMBCモードおよびSBCモードを使用し、装置の特定の部分をMBCモードで最高密度で動作するように選択し、その間、他の部分はSBCモードで使用されて、より良好な性能を提供することを開示しており、この明細書を参照によりあたかも本明細書にすべて記載されているかのように援用する。
MBC装置はコスト面での大きな利点を提供する。各セルに2ビットを有するMBC装置が必要とするシリコンウェハ上の面積は、同様の容量のSBCの約半分である。しかし、MBCフラッシュ使用に対する欠点がある。MBCメモリの平均読み書き時間はSBCメモリよりも長く、性能の悪化に繋がる。MBCの信頼性もSBCより低い。MBCでの閾値電圧範囲間の差は、SBCよりもはるかに小さい。このため、SBCでは2つの状態の間隔が大きいため目立たない閾値電圧の乱れ(例えば、閾値電圧ドリフトに繋がる蓄積電荷の漏れまたは動作中の近傍セルからの干渉)が、MBCセルをある状態から別の状態に転移させ、誤ったビットを発生させる。最終的な結果として、データ保持時間または多数回の書き込み/消去サイクルに対する装置の耐性に関してMBCセルの性能仕様が低くなる。
NAND型フラッシュメモリ装置
通常、フラッシュメモリ装置はNOR型装置およびNAND型装置に分けられ、これら名称は、個々のメモリセルがセルアレイ内で相互接続される方法に由来する。NOR型装置はランダムアクセスであり、NOR型フラッシュ装置にアクセスしているホストコンピュータは、アドレスピン上の任意のアドレスを装置に提供し、装置のデータピン上のそのアドレスに記憶されているデータを即座に取り出すことができる。これは、SRAMまたはEPROMメモリが動作するのによく似ている。一方、NAND型装置は、ランダムアクセスではなく順次アクセスである。NOR型に関して上述したように任意のランダムなアドレスにアクセスすることはできず、それに代えて、ホストは、要求されるコマンドの種類(例えば、読み取り、書き込み、消去等)およびそのコマンドに使用すべきアドレスの両方を識別するバイトシーケンスを装置に書き込む必要がある。アドレスは、単一のバイトまたはワードではなくページ(1回の動作で書き込むことができる最小フラッシュメモリチャンク)またはブロック(1回の動作で消去することができる最小フラッシュメモリチャンク)を識別する。読み取りおよび書き込みコマンドシーケンスが1バイトまたは1ワードのアドレスを含むことは真実であるが、実際には、NAND型フラッシュ装置は、常に、ページ単位でメモリセルに読み書きする。1ページのデータがアレイから装置内のバッファに読み込まれた後、ホストは、ストローブ信号を使用して、データバイトまたはデータワードを1つずつ順次クロックアウトすることによりこれらデータバイトまたはデータワードにアクセスする。
NAND型装置は、その非ランダムアクセス性により、フラッシュメモリから直接コードを実行するために使用することができない。これは、直接コード実行(通常、「インプレース実行(eXecution In Place)」または「XIP」と呼ばれる)をサポートするNOR型装置とは対照的である。このため、NOR型装置は、コードの記憶に通常使用されるものである。しかし、NAND型装置は、データの記憶に非常に有用な利点を有する。NAND型装置は、同じビット容量のNOR型装置よりも安価であり、または言い換えれば、NAND装置は同じコストでNOR型装置よりも多数のビットの記憶を提供する。NAND型装置の書き込み・消去性能も、NOR型装置よりもはるかに高速である。こういった利点が、NAND型フラッシュメモリ技術をデータの記憶に最適な技術にしている。
NANDインタフェースプロトコル
代表的なSBC NAND型装置は、2Gビットの記憶容量を提供する東芝(Toshiba)TC58NVG1S3Bである。代表的なMBC NAND型装置は、4Gビットの記憶容量を提供する東芝(Toshiba)TC58NVG2D4Bである。両装置のデータシートが、参照によりあたかも本明細書にすべて記載されているかのように援用される。
上記データシートから分かるように、これら2つのNAND型装置は同様のインタフェースを有する。これらNAND型装置は、コマンドの調整およびNAND型フラッシュ装置とホスト装置との間のデータ転送に同じ電気信号を使用する。これら信号は、データラインおよび少数の制御信号、すなわちALE(アドレスラッチイネーブル)、CLE(コマンドラッチイネーブル)、WE/(ライトイネーブル)、および他を含む。SBC装置およびMBC装置の挙動は完全に同一ではなく、MBCページの書き込みにかかる時間は、SBCページの書き込みにかかる時間よりもはるかに長い。しかし、両装置に使用される電気信号および両装置の機能は同じである。この種のインタフェースプロトコルは、当該技術分野において「NANDインタフェース」として知られている。「NANDインタフェースプロトコル」は、今までまだ標準化団体により正式に標準化されていないが、NAND型フラッシュ装置の製造はすべて、NAND型フラッシュ機能の基本的なサブセットのサポートに同じプロトコルに従っている。これは、電子製品内にNAND型装置を使用する顧客が、ハードウェアまたはソフトウェアを特定のベンダーの装置と併せて動作するように調整する必要なく、あらゆる製造業者からのNAND型装置を使用できるようにするために行われている。この基本サブセット機能を超えるさらなる機能を提供するNANDベンダーであっても、その他のベンダーが使用するプロトコルとの互換性を提供するために、少なくともある程度、基本機能が提供されることを保証することに留意する。
本出願では、「NANDインタフェースプロトコル」(または略して「NANDインタフェース」)なる用語は、すべてのタイミングパラメータとの互換性が完全にはない、NAND型装置によりサポートされる他のコマンドとの互換性が完全にはない、またはNAND型装置によりサポートされない追加のコマンドを含む場合であっても、基本的な読み出し、書き込み、および消去の各動作にホスト装置とNAND型フラッシュ装置との間のプロトコルに概して従う、開始装置と応答装置との間のインタフェースプロトコルを意味する。換言すれば、「NANDインタフェース」なる用語は、読み出し(操作符号00H)、書き込み(操作符号80H)、および消去(操作符号60H)に東芝(Toshiba)TC58NVG1S3B NAND装置とインタフェースする際に使用されるバイトシーケンスと機能的に等しい転送バイトシーケンスを使用し、かつ上記NAND型装置のCLE、ALE、CE、WE、およびREの各信号と機能的に等しい制御信号も使用するあらゆるインタフェースプロトコルを指す。
「NANDインタフェースプロトコル」が対称ではないことに留意する。したがって、NANDインタフェースを介して対話を開始するのは常にホスト装置であり、決してフラッシュ装置ではない。
所与の装置(例えば、コントローラ、フラッシュ装置、ホスト装置等)は、NANDインタフェースプロトコルをサポートする(例えば、NANDインタフェースプロトコルを使用して別の装置と対話する)ために必要な要素(例えば、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせ)を含む場合に、「NANDインタフェース」を備える、含む、または有すると言える。
所与の装置(例えば、コントローラ装置)のインタフェース(例えば、NANDインタフェースまたは別のプロトコルに関連するインタフェース)は、「ホスト側インタフェース」(例えば、所与の装置が、ホスト側インタフェースを使用してホスト装置と対話するように構成される)であってもよく、または「フラッシュメモリ装置側インタフェース」(例えば、所与の装置が、フラッシュメモリ装置側インタフェースを使用してフラッシュメモリ装置と対話するように構成される)であってもよい。「フラッシュメモリ装置側インタフェース」、「フラッシュ装置側インタフェース」、および「フラッシュ側インタフェース」なる用語は、本明細書において同義で使用される。
これら用語(すなわち、「ホスト側インタフェース」および「フラッシュ装置側インタフェース」)は、このプロトコルが非対称であることからNANDインタフェースプロトコルの2つの側を区別するために本明細書において使用される用語である「ホスト型インタフェース」および「フラッシュ型インタフェース」なる用語と混同されるべきではない。さらに、対話を開始するのは常にホストであるため、所与の装置がNANDインタフェースプロトコルのホスト側を実施する(すなわち、NANDホストを提示し、NANDプロトコル対話を開始する)ために必要なハードウェアおよび/またはソフトウェアを含む場合に、その所与の装置が「ホスト型インタフェース」を有すると言えることに留意する。同様に、フラッシュ装置は決して対話を開始しないため、所与の装置がNANDプロトコルのフラッシュ側を実施する(すなわち、NANDフラッシュ装置を提示する)ために必要なハードウェアおよび/またはソフトウェアを含む場合に、その所与の装置が「フラッシュ型インタフェース」を有すると言えることに留意する。
通常、「ホスト型インタフェース」(すなわち、ホストの役割を果たすもの)は、「フラッシュ側インタフェース」(すなわち、フラッシュ装置またはフラッシュ装置をエミュレートするハードウェアと対話する)であるのに対して、「フラッシュ装置側インタフェース」(すなわち、フラッシュ装置の役割を果たすもの)は、「ホスト側インタフェース」(すなわち、ホスト装置またはホスト装置をエミュレートするハードウェアと対話する)である。本願では、「ホスト装置」(または略して「ホスト」)なる用語は、処理能力を有し、フラッシュメモリ装置と対話することが可能な任意の装置を意味する。ホスト装置はパーソナルコンピュータ、PDA、セルラ電話、ゲームコンソール等であってよい。
通常、NAND型装置は、インタフェースし協働することが比較的難しい。この1つの理由は、上述したように、NAND型装置にアクセスするためのプロトコルが非常に複雑(NOR型装置と比較して)であるためである。別の問題は、常に正確なデータを返すと想定することができるNOR型装置とは対照的に、NAND型装置から読み出されるデータにエラーが存在することである。NAND型装置のこの固有の信頼性の低さにより、誤り検出コード(EDC)および誤り修正コード(ECC)を使用することが必要である。
通常、SBC NAND型フラッシュ装置の製造業者は、512バイトデータである各ページで1ビットのエラーを修正することが可能な誤り修正コードの適用をユーザに勧める。しかし、通常、MBC NAND型フラッシュ装置のデータシートは、512バイトデータである各ページで4ビットのエラーを修正することが可能なECCの適用を勧める。上述したNAND型装置の場合のように、サイズ2048バイトのページの場合(「大ブロック装置」として知られる)、ページの512バイトの各部分に誤り修正を適用することが示唆されている。本願では、「NビットECC」なる用語は、512バイトが1ページのサイズであるか、1ページ未満であるか、それとも1ページを超えるかに関わりなく、512バイトデータ内でNビットのエラーを修正することが可能なECC方式を指す。
NANDコントローラ
NAND型装置のこういった複雑性により、電子システム内でNAND装置の使用を制御する「NANDコントローラ」を使用することが一般的である。NANDコントローラを介在させずにホスト装置が直接、NAND型装置を操作して使用することが可能であり、実際にこのようにして動作するシステムがあることは真実である。しかし、このアーキテクチャには多くの欠点がある。第1に、ホストはNAND型装置の制御信号(例えば、CLEまたはALE)をそれぞれ個々に操作する必要があり、これはホストにとって面倒であり、かつ時間がかかる。第2に、EDCおよびECCのサポートは、ホストに深刻な負担を課す。ホストは、ページ書き込みの都度、パリティビットを計算する必要があり、かつ誤り検出計算(これに加えて、時には誤り修正計算も)を実行しなければならない。これはすべて、そのような「コントローラなし」アーキテクチャを比較的低速かつ非効率なものにする。
NANDコントローラを使用することで、NAND側装置を使用する場合のホストのタスクが大幅に簡易化される。プロセッサは、はるかに使用しやすいプロトコルを使用してコントローラと対話する。ページ書き込み要求は、制御ラインおよびNANDコマンドコードの複雑なシーケンスで悩まされる必要なく、アドレスおよびデータが後続する単一コマンドコードとして送信することができる。次に、コントローラは、ホストコントローラプロトコルを等価のNANDプロトコルシーケンスに変換し、この間、ホストは他のタスクを自由に行う(または、必要に応じて、単にNAND動作が完了するのを待つ)ことができる。
従来技術には、NANDコントローラがシステム内に存在する場所に関していくつかの選択肢がある。第1の手法を図2に示す。ここでは、NANDコントローラ14は、物理的にホスト装置110Aのホストプロセッサ112A内に配置される。ホストプロセッサ112Aが単一ダイとして実施される場合、コントローラ114は同じダイに組み込まれる。これは、例えば、テキサスインスツルメンツ(Texas Instruments)により製造販売されるOMAPプロセッサのいくつかでの場合である。このアーキテクチャを使用して構築されるシステムでは、通常、ホストプロセッサは、何等かのプロプラエタリ(proprietary)プロトコルを使用してNANDコントローラと対話する。これは、対話がホストプロセッサ内であり、標準プロトコルを使用することに利益がないためである。
第2の従来技術による手法を図3Aおよび図3Bに示す。ここでは、NANDコントローラ116は別体の物理的な要素であり、ホスト110Bのホストプロセッサ112BとNAND型装置120Aとの間に存在する。これは、例えば、Mシステムズフラッシュディスクパイオニアズ(M−Systems Flash Disk Pioneers)により製造販売されるディスクオンキー(DiskOnKey)等のポータブルUSBフラッシュドライブ(UFD)の場合であり、UFD内にパッケージされ、一方の側では装置側NANDインタフェース124を使用してNAND装置120Aと対話し、他方の側ではホストプロセッサ112Bと対話する(USBプロトコルを使用するホスト側USBインタフェース122を使用して)NANDコントローラ116がある。このアーキテクチャを使用して構築されるシステムでは、対話はプロセッサにとって外部であり、他の目的でプロセッサによりすでにサポートされている標準プロトコルを使用するほうがより都合がよいため、通常、ホストプロセッサは、USBまたはATA等の標準プロトコルを使用してNANDコントローラと対話する。
先に定義した用語によれば、NANDインタフェース124は「フラッシュメモリ装置側NANDインタフェース」(すなわち、NAND型フラッシュ装置120Aと対話するように構成される)であるが、同時に、ホスト型NANDインタフェース(すなわち、NANDプロトコル対話を開始するように構成される)でもあることに留意する。
第3の従来技術による手法を図4に示す。ここでは、NANDコントローラ118は、物理的にNAND装置120B内に配置される。フラッシュ装置およびコントローラを同じダイに実装することさえ可能である。これは、例えば、Mシステムズフラッシュディスクパイオニアズ(M−Systems Flash Disk Pioneers)により製造販売されるMDOC記憶装置のいくつかおよびサムスン電子(Samsung Electronics)により製造販売されるOneNAND装置の場合である。このアーキテクチャを使用して構築されるシステムでは、通常、ホストプロセッサ112Bは、USB等の標準プロトコルまたは上述したMDOCおよびOneNANDの各例での場合のように準標準プロトコルのいずれかを使用してNANDコントローラと対話する。
上記から、通常、従来技術によるスタンドアロンNANDコントローラ(NAND装置にもホストプロセッサにも統合されない)が、ホスト側に何等かの標準インタフェースを有し、フラッシュメモリ装置側にNANDインタフェースを有すると演繹することができる(例えば、図3参照)。実際に、多くのインタフェースタイプ、すなわちUSB、SD(セキュアデジタル(SecureDigital))、MMC(マルチメディアカード(MultiMediaCard))、および他をエクスポートする市場のNANDコントローラを見つけることができる。しかし、現在、NANDインタフェースをホストにエクスポートするスタンドアロンNANDコントローラを見つけることはできない。実際に、これは容易に予想できる。内蔵NANDサポートを有さず、そのために外部コントローラを必要とするホストプロセッサは、通常、NANDインタフェースを有さず、NANDインタフェースをエクスポートする装置と直接接続することができず、したがって、ホスト側NANDインタフェースを有するコントローラを使用する必要がない。一方、通常、内蔵NANDサポートを有するホストプロセッサは、内蔵NANDコントローラも含み、NAND型装置と直接接続することができ、したがって、外部NANDコントローラを必要としない。
上述した従来技術は、1つの問題を解決しないままである。図2のように、内蔵NANDコントローラおよびNANDインタフェースを組み込んだホストプロセッサがあると仮定する。内蔵コントローラは、特定の信頼度レベルのNAND装置と協働するように設計される。これは、NANDコントローラが特定レベルの誤り検出および修正を提供し、したがって、信頼性のより低いNAND装置をサポートすることができないためである。例えば、1ビットECCを有するNANDコントローラは、製造業者によりこのレベルの誤り修正のみが必要であると特定されるSBC NAND型装置と協働することができる。このようなコントローラは、1セル当たり2ビットのMBC NAND型装置と協働することはできない。これは、このようなMBC NAND型装置が4ビットECCを必要とし、したがって、いくらかのデータをプロセッサに正しく読み出すことができない可能性があるためである。同様に、4ビットECCを提供するNANDコントローラは現在の1セル当たり2ビットのMBC NANDと協働することができるが、より高いレベルのECC能力を必要とする可能性が最も高い次世代のMBC NAND装置とは協働しないであろう。
これは、将来のMBC NAND型装置が現在のMBC装置よりも信頼性が低く、はるかに強力なECC能力を必要とすることが予想されるためである。信頼性が低下し、エラーレートが増大する理由は2つの要素からなる。
a.NAND型装置の製造に使用されるプロセスは、より小型のメモリセルをもたらすように常に改良され続けている。数年前のNAND型装置は0.4ミクロンプロセスを使用していたが、現在は90nm技術および70nm技術を使用しており、この縮小傾向が続くと予想される。寸法が小さいと、セルが以前は重要ではなかった物理的な影響および現象により敏感になるため、メモリセル寸法の縮小に伴い、信頼性が低くなる。
b.1セル当たり3以上のビットを有するMBCセルが市販されるようになった場合、必然的に、SBCセルおよび1セル当たり2ビットのMBCセルよりも信頼性がはるかに低くなる。セルの閾値電圧で表す必要がある状態の数が多くなることは、状態間のマージンがより小さくなり、さらに小さな乱れおよびドリフトが不正確なデータ読み取りに繋がることを暗示する。この影響は、SLCと1セル当たり2ビットのMBCとの比較ですでに証明されており、ECC要件は1ビットECCから4ビットECCに増大された。
ここで、内蔵NANDコントローラ114を有するホストプロセッサ112Aに戻り、コントローラ114が1ビットECCのみをサポートするものと考える。その場合、このプロセッサは、MBC NANDの低コストにより非常に望まれている場合であっても、MBC NANDを使用することができない可能性がある。MBC NANDがプロセッサの内蔵コントローラのNANDインタフェースに接続される場合、これはプロセッサに接続する唯一の方法であり得るが、MBC NANDは、内蔵コントローラの能力の限られたECCが修正するには多すぎるエラーを発生させる。
同様に、内蔵コントローラが4ビットECCをサポートする場合、SLCおよび1セル当たり2ビットのMBC NANDを使用することができる。しかし、より信頼性の低いNAND型装置が市場に現れた場合、内蔵コントローラは要求されるレベルの誤り修正を提供することができないため、プロセッサはより低価格という恩恵を受けることができない。
したがって、現行の従来技術が、前世代のNAND型装置をサポートするように設計された内蔵NANDコントローラを組み込むホストプロセッサを使用しながら、新しいNAND型装置のコスト利点から恩恵を受けることの問題に対する良い解決策を提供しないことが分かる。
現在、オンボードNANDコントローラを有するホスト装置と後続世代のNAND型フラッシュメモリ装置との間に互換性を提供する装置および方法が必要とされている。
上記必要性は、本発明のいくつかの態様により満たされる。
これより、ホスト装置とフラッシュダイ上に組み立てられたフラッシュメモリ装置(例えば、NAND型フラッシュメモリ装置)とをインタフェースするコントローラを初めて開示する。ここで開示されるコントローラは、(a)フラッシュダイと別個のコントローラダイに組み立てられる電子回路と、(b)電子回路とフラッシュメモリ装置(例えば、NAND型フラッシュメモリ装置)とをインタフェースする第1のインタフェース(例えば、ホスト型インタフェース)と、(c)コントローラとホスト装置とをインタフェースする第2のインタフェースであって、NANDインタフェースである第2のインタフェース(例えば、フラッシュ型インタフェース)とを含む。
いくつかの実施形態によれば、第1のインタフェースはダイ間インタフェースである。
いくつかの実施形態によれば、第1のインタフェースはNANDインタフェースである。
いくつかの実施形態によれば、ここで開示されるコントローラは、(d)第1および第2のインタフェースのうちの一方を通して受信されるデータの誤り修正を提供する誤り修正モジュールをさらに含む。
いくつかの実施形態によれば、ここで開示されるコントローラは、(d)ホスト装置とインタフェースする少なくとも1つの追加のホスト側インタフェースをさらに含む。
これより、(a)フラッシュダイに組み立てられるフラッシュメモリ装置と、(b)ここで開示されるNANDコントローラとを含み、コントローラは第1のインタフェースを通してフラッシュメモリ装置と通信するように動作可能である、データ記憶システムを初めて開示する。
いくつかの実施形態によれば、ここで開示されるシステムは、(c)共通パッケージをさらに含み、フラッシュメモリ装置およびコントローラは両方とも共通パッケージ内に提供される。
いくつかの実施形態によれば、ここで開示されるシステムは、(c)別個の各パッケージをさらに含み、フラッシュメモリ装置およびコントローラはそれぞれ各パッケージ内に提供される。
いくつかの実施形態によれば、ここで開示されるシステムは、(c)フラッシュメモリ装置およびコントローラが実装されるプリント回路基板をさらに含み、フラッシュダイはプリント回路基板にパッケージなしで直接実装される。
いくつかの実施形態によれば、ここで開示されるシステムは、(c)フラッシュメモリ装置およびコントローラが実装されるプリント回路基板であって、コントローラダイはプリント回路基板にパッケージなしで直接実装される、プリント回路基板をさらに含む。
これより、(a)ホスト装置と、(b)フラッシュダイに組み立てられるフラッシュメモリ装置と、(c)第1のインタフェースを通してフラッシュメモリ装置と通信し、第2のインタフェースを通してホスト装置と通信するように動作可能な、ここで開示されるNANDコントローラとを含むデータ記憶システムを初めて開示する。
これより、データをホスト装置から書き込む方法であって、(a)フラッシュダイに組み立てられたフラッシュメモリ装置およびコントローラダイに組み立てられたコントローラを提供するステップであって、フラッシュダイはコントローラダイと別個であるステップと、(b)NANDインタフェースプロトコルに従って書き込みコマンドをホスト装置からコントローラに発行するステップと、(c)NANDインタフェースプロトコルに従って書き込みコマンドをコントローラからフラッシュメモリ装置に発行するステップとを含む方法を開示する。
いくつかの実施形態によれば、ここで開示される方法は、(d)コントローラによりパリティビットを計算するステップをさらに含む。
これより、データをホスト装置に読み出す方法であって、(a)フラッシュダイに組み立てられたフラッシュメモリ装置およびコントローラダイに組み立てられたコントローラを提供するステップであって、フラッシュダイはコントローラダイと別個であるステップと、(b)NANDインタフェースプロトコルに従って読み出しコマンドをホスト装置からコントローラに発行するステップと、(c)NANDインタフェースプロトコルに従って読み出しコマンドをコントローラからフラッシュメモリ装置に発行するステップとを含む方法を開示する。
いくつかの実施形態によれば、ここで開示される方法は、(d)フラッシュメモリ装置からコントローラにデータを取り出すステップと、(e)取り出されたデータに関連するパリティビットをフラッシュメモリ装置からコントローラに取り出すステップと、(f)取り出されたパリティビットに従って、取り出されたデータを修正するステップであって、それにより、修正済みデータを生成するステップと、(g)修正済みデータをコントローラからホスト装置に取り出すステップとをさらに含む。
これより、データ記憶システムを作製する方法であって、(a)フラッシュダイに組み立てられたフラッシュメモリ装置を提供するステップと、(b)ここで開示されるNANDコントローラを提供するステップと、(c)フラッシュコントローラが第1のインタフェースを通してフラッシュメモリ装置と通信するように動作可能なように、フラッシュコントローラをフラッシュメモリ装置に配備するステップとを含む方法を初めて開示する。
いくつかの実施形態によれば、ここで開示される方法は、(d)フラッシュコントローラおよびフラッシュメモリ装置を単一のパッケージ内にパッケージするステップをさらに含む。
いくつかの実施形態によれば、フラッシュメモリ装置およびフラッシュコントローラは別個の各パッケージ内に存在し、配備するステップは、各パッケージを互いに係合するステップを含む。
いくつかの実施形態によれば、ここで開示される方法は、(d)フラッシュメモリ装置およびコントローラをプリント回路基板に実装するステップをさらに含み、実装するステップは、フラッシュメモリダイをプリント回路基板にパッケージなしで直接実装するステップを含む。
いくつかの実施形態によれば、ここで開示される方法は、(d)フラッシュメモリ装置およびコントローラをプリント回路基板に実装するステップをさらに含み、実装するステップは、コントローラダイをプリント回路基板にパッケージなしで直接実装するステップを含む。
いくつかの実施形態によれば、ここで開示される方法は、(d)フラッシュコントローラが第2のインタフェースを通してホスト装置と通信するように動作可能なように、データ記憶システムをホスト装置に配備するステップをさらに含む。
これらおよびさらなる実施形態が、以下の詳細な説明および例から明らかになろう。
特定の実施形態例に関して本発明をこれより説明する。本発明が開示される実施形態例に限定されないことを理解されたい。説明されるコントローラ、コントローラを含むシステム、およびデータを読み取る方法のあらゆる特徴が、添付の特許請求の範囲の任意の特定の1つの請求項に記載される本発明の実施に必ずしも必要であるとは限らないことも理解されたい。装置の各種要素および特徴は、本発明を完全に実施することができるように説明される。本開示全体を通して、プロセスまたは方法が図示または説明される場合、方法のステップは、あるステップが最初に実行される別のステップに依存することが文脈から明らかな場合を除き、任意の順序または同時に実行することが可能であることも理解されたい。
本発明は、ホスト側にエクスポートするインタフェースがNANDインタフェースであることを特徴とする新種のNANDコントローラを初めて開示している。いくつかの実施形態では、ここで開示されるこのコントローラは、NANDインタフェースを両側、すなわちコントローラがNAND装置に向かってホストの役割を果たすフラッシュメモリ装置側およびコントローラがホストに向かってNAND装置の役割を果たすホスト装置側に有する。
本開示では、「NAND型フラッシュメモリ装置」は、複数のNAND型フラッシュメモリセルおよびデータをNAND型フラッシュメモリセル内に記憶するために任意の必要な制御回路(例えば、フラッシュ型インタフェースを提供する回路)を含む電子回路として定義される。「NAND型フラッシュメモリ装置」が必ずしも専用の筐体を有する必要はなく、単一の筐体内のコントローラ等別の「装置」と共に存在してもよいことに留意する。いくつかの実施形態では、「NANDフラッシュメモリ装置」は、まったくパッキングせずにプリント回路基板上に直接実装される。
さらに、いくつかの実施形態では、コントローラは、信頼性の低いNAND型装置の多くのエラーを修正するのに十分な誤り修正機能を含む。これらエラーはコントローラにより修正されるため、コントローラは、エラーがまったくないか、またはより少数、すなわちホストの内蔵NANDコントローラの誤り修正機能で対処するのに十分少ないエラーを有するフラッシュ装置をホストに提示することができる。
これより、本発明のいくつかの実施形態によるコントローラの概略ブロック図を提供する図5Aを参照する。コントローラ130は、NAND型フラッシュ装置とインタフェースするフラッシュメモリ装置側NANDインタフェース142を含む。さらに、フラッシュメモリ装置型NANDインタフェース142がホスト型NANDインタフェース(すなわち、NANDインタフェースを介して対話を開始し、ホスト装置をNAND型フラッシュ装置に提示するように構成される)でもあることに留意する。
コントローラ130は、NANDインタフェースプロトコルをサポートするホストとインタフェースするホスト側NANDインタフェース144も含む。このホスト側NANDインタフェースは、フラッシュメモリ型NANDインタフェースでもある(例えば、コントローラ130はホストをNAND型フラッシュメモリ記憶装置に提示するように構成される)。コントローラは、任意に、USBまたはMMCインタフェース等の非NANDインタフェースを使用してコントローラをホストにインタフェースする1つまたは複数の追加のホスト側インタフェース146を含むことができる。
図5Aに示すように、コントローラは、装置側インタフェース142を通してNAND型装置から取り出されるデータのエラーのすべてまたはいくつかを検出して修正するECCモジュール132をさらに含む。ECCモジュール132は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせを含み得る。ECCモジュール132はすべてのエラーを修正することができ、この場合、NANDコントローラ130はホストにエラーなしのNAND型装置をエクスポートする。あるいは、ECCモジュール132は、フラッシュメモリ装置側NANDインタフェース142を通してNAND型装置から取り出されるデータに見られるエラーのいくつかのみを修正することができる。
一例では、NAND型装置は4ビットECCを必要とする信頼性を有し、ECCモジュール142は、ホストの内蔵NANDコントローラ内の1ビットECCがデータを処理することができるレベルまでデータの信頼性を増大するのに十分なエラーを修正する。
NANDコントローラ130が、任意に、暗号化機能またはホストから受け取った論理フラッシュアドレスをフラッシュ装置に送信される物理フラッシュアドレスにマッピングするアドレスマッピング等の他の機能を提供する1つまたは複数のモジュール134(例えば、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組み合わせ)を含んでもよいことに留意する。
これより、図5Aで説明した外部NANDコントローラ130(例えば、ホスト装置と別体のコントローラ)を含む例示的なシステムの概略ブロック図を示す図5Bを参照する。装置側NANDインタフェース142を通して、外部NANDコントローラ130はNAND型フラッシュ装置120Aとインタフェースする。ホスト側NANDインタフェース144を通して、NANDコントローラ130はホスト装置110Aとインタフェースする。
外部コントローラ130が2つのNANDインタフェース142および144を通してインタフェースする方法が同一ではないことに留意されたい。NANDインタフェースプロトコルは対称ではない。すなわち、トランザクションを開始する開始側(先に定義された用語によれば「ホスト型」)があり、開始信号に応答だけする応答側(先に定義された用語によれば「フラッシュ型」)がある。
装置側NANDインタフェース142を使用して、外部NANDコントローラ130はNANDインタフェースプロトコルのホスト型部分として動作し、NAND型フラッシュ装置120AはNANDインタフェースプロトコルのフラッシュ型部分として動作する。ホスト側インタフェース144を使用して、外部コントローラ130はNANDインタフェースプロトコルのフラッシュ型部分として動作し、ホスト110AはNANDインタフェースプロトコルのホスト型部分として動作する。
これより、図5Aにおいて説明した例示的なシステムの例示的なダイ構成を示す図6Aを参照する。したがって、NANDコントローラ130がコントローラダイ131上に組み立てられた電子回路135を含み、NAND型フラッシュ装置120Aがフラッシュダイ133に組み立てられた電子回路137を含むことに留意する。コントローラダイ131およびフラッシュダイ133は別個のダイである。
図5Aにおいて説明されるNANDコントローラ130内の要素(すなわち、ECCモジュール132、フラッシュ型NANDインタフェース144、ホスト型NANDインタフェース)が、少なくとも部分的に、コントローラダイに存在するコントローラ電子回路135により実施されることに留意する。
コントローラ電子回路135とフラッシュ電子回路137との間のインタフェース142は、「ダイ間」インタフェースである。本明細書において使用する「ダイ間インタフェース」(例えば、ダイ間NANDインタフェース)は、別個のダイに存在する電子回路の2つの別個のユニット間をインタフェースする(例えば、電子回路の別個のユニットが、例えば1つまたは複数の特定のプロトコルを使用して互いに通信するために必要な物理的かつ論理的なインフラを提供する)ように動作可能である。したがって、ダイ間インタフェースは、別個のダイに存在する電子回路の2つの別個のユニット間をインタフェースするために必要な物理的要素(パッド、入出力ドライバ等)を含む。
いくつかの実施形態によれば、ダイ間インタフェースは、共通パッケージに内にパッケージされた2つの別個のダイに組み立てられた電子回路間をインタフェースすることができる。この例を図6Bに示し、NANDコントローラ130およびNAND型フラッシュ装置120Aは両方とも共通のマルチチップパッケージ139内に存在する。
あるいは、ダイ間インタフェースは、別個のパッケージにパッケージされた2つの別個のダイ上に組み立てられた電子回路間をインタフェースすることができる(例えば、各ダイがそれぞれのパッケージにパッケージされる場合)。この例を図6Cに示し、NANDコントローラ130およびNAND型フラッシュ装置120Aが別個の各パッケージに存在する。特に、NANDコントローラ130はコントローラパッケージ141内に存在し、NAND型フラッシュ装置120Aはフラッシュパッケージ143内に存在する。したがって、図6Cに示すように、インタフェース142は「パッケージ間インタフェース」である。
ダイが共通のパッケージに存在する例(例えば、図6Aに示すような)およびダイが別個のパッケージに存在する例(例えば、図6Bに示すような)は唯一の可能な構成ではないことに留意する。
したがって、あるいは、いくつかの実施形態では、ダイ間インタフェースは2つの別個のダイに組み立てられた電子回路間をインタフェースすることができ、これらダイの一方または両方がパッケージをまったく有さない。例えば、多くの用途では、空間を節減する必要性があるために、メモリダイはパッケージがまったくない状態でボード上に提供(例えば実装、例えば直接実装)される。したがって、一例では、電話用の新世代のメモリカードでは、パッケージがまったくない状態でメモリダイがボードに実装されることが多いことに留意する。本明細書において使用する、プリント回路基板上に「直接実装」されるダイは、最初にパッケージされることなくプリント回路基板上に実装される。
図7は、ホスト110A(例えば、装置内にNANDコントローラ114を含むホスト)が、外部NANDコントローラ130を介してデータ(例えば、データページ)をNAND記憶装置120Aに書き込む方法を説明するフローチャートを示す。図7に示すように、ホスト110Aは、書き込みコマンド(例えば、コマンドバイト、アドレスバイト、およびデータバイトを含む、NANDインタフェースプロトコルを使用して発行される書き込みコマンド)を外部コントローラ130に発行する(410)。ホスト110Aは、コマンドをコントローラ130に発行していることに必ずしも気付く必要はなく、処理可能な種類の標準NAND型フラッシュ記憶装置とインタフェースしていると見なすことができる。
NANDコントローラ130は、ホストにより発行される書き込みコマンドを受け取る(例えば、ホスト側NANDインタフェース144を介して)。書き込みコマンドを受け取った後、コントローラは、データバイトに対応するECCパリティビットを計算し(例えば、ECCモジュール132を使用して)(420)、書き込みコマンドをNAND型装置に発行する(例えば、フラッシュメモリ装置側インタフェース142を介して)(430)。再び、コマンドバイト、アドレスバイト、ならびにホストのデータバイトおよび対応するECCパリティビットの両方を含むデータバイトを含むコマンドがNANDインタフェースプロトコルに従って発行される。NAND型フラッシュ記憶装置は、ホスト装置110Aから直接にではなく、NANDコントローラ130を介してコマンドを間接的に受け取ったことに必ずしも気付く必要はない。ステップ440において、NAND型フラッシュ記憶装置120Aは、受け取ったデータバイトを不揮発性メモリセルに記憶し、それにより、ホスト110Aの要求を満たす。
図8は、ホスト110A(例えば、装置内にNANDコントローラ114を含むホスト)が外部NANDコントローラ130を介してNAND型記憶装置120Aからデータ(例えば、データページ)を読み出す方法を説明するフローチャートを示す。したがって、ホスト110Aは、読み出しコマンドを外部コントローラ130に発行する(410)(例えば、コマンドバイトおよびアドレスバイトを含む読み出しコマンドが、NANDインタフェースプロトコルを使用して発行される)。上記の書き込みコマンドと同様に、ホスト110Aは、コマンドを外部コントローラ130に発行していることに必ずしも気付く必要はなく、処理可能な種類の標準NAND型装置とインタフェースしていると見なすことができる。
外部NANDコントローラ130は、ホストにより(例えば、ホスト側NANDインタフェース144を介して)発行される読み出しコマンドを受け取る。外部コントローラ130は、読み出しコマンドを受け取った後、読み出しコマンドを(例えば、装置側NANDインタフェース142を介して)NAND型装置120Aに発行する(520)。再び、コマンドバイトおよびアドレスバイトを含むコマンドがNANDインタフェースプロトコルに従って発行される。ステップ530において、NAND型フラッシュ記憶装置120Aは、要求されたデータを不揮発性セルアレイから取り出す。ホストデータには、データ記憶時に計算されたECCパリティビットが付随する。ステップ540において、データバイトおよび付随するパリティビットが外部NANDコントローラに送られる。この送信は、それぞれ1バイトまたは1ワードずつ順次コントローラに読み込まれる(使用されるNANDインタフェースが8ビット幅であるか、それとも16ビット幅であるかに依存する)コントローラにより生成される一連の読み出しストローブによりNANDインタフェースプロトコルに従って行われる。ステップ550において、外部NANDコントローラ130は、パリティビットを使用して、データバイト内の誤りを修正する(例えば、ECCモジュール132を使用して)。ステップ560において、修正されたデータバイトが、ホスト側NANDインタフェース144を介してホストに送信される。この送信も、ホストにより生成される一連の読み取りストローブにより、NANDインタフェースプロトコルに従って行われる。ここでホスト110Aは、フラッシュメモリに当初記憶されたものと同じデータバイトを有する。
ここで、本発明により、前世代のNAND型装置をサポートするように設計された内蔵NANDコントローラを組み込んだホストプロセッサを使用しながら、新しいNAND型装置のコスト利点の恩恵を受けられるようにすることが分かる。
本願の明細書および特許請求の範囲では、「備える」、「含む」、および「有する」という各動詞およびその活用形は、動詞の1つまたは複数の目的語が、動詞の1つまたは複数の主語のメンバ、構成要素、要素、または部分の完全なリストである必要がないことを示すために使用される。
本発明は、本発明の範囲を限定する意図はなく、例として提供される本発明の実施形態の詳細な説明を使用して説明された。説明した実施形態は異なる特徴を備え、これら特徴のすべてが本発明のすべての実施形態において必要とされるわけではない。本発明のこのような実施形態は、特徴のうちのいくつかのみまたは特徴の可能な組み合わせを利用する。説明された本発明の実施形態の変形および説明された実施形態において記された特徴の異なる組み合わせを含む本発明の実施形態が当業者により見出されよう。
多数のメモリセルの閾値電圧の分布のグラフ図を提供する(従来技術)。 多数のメモリセルの閾値電圧の分布のグラフ図を提供する(従来技術)。 ホスト装置およびNAND型フラッシュ装置を含む従来技術によるシステムのブロック図を提供する。 ホスト装置、NANDコントローラ、およびNAND型フラッシュ装置を含む従来技術によるシステムのブロック図を提供する。 ホスト側にUSBインタフェースを有し、フラッシュメモリ装置側にNANDインタフェースを有する従来技術によるNANDコントローラのブロック図を提供する。 ホスト装置およびNAND型フラッシュ装置を含む従来技術によるシステムのブロック図を提供する。 本発明の例示的な実施形態による、ホスト側にNANDインタフェースを有し、フラッシュメモリ装置側にNANDインタフェースを有するNANDコントローラのブロック図を提供する。 本発明の例示的な実施形態による、ホスト装置、図5Aに示すNANDコントローラ、およびNAND型フラッシュ装置を含むシステムのブロック図を提供する。 図5Bにおいて記した例示的なシステムの例示的なダイ構成を示す。 NANDコントローラおよびNAND型フラッシュ装置が単一のマルチチップパッケージ内に存在する、図5Bに記した例示的なシステムの例示的な構成を示す。 NANDコントローラおよびNAND型フラッシュ装置が別個の各パッケージ内に存在する、図5Bに記した例示的なシステムの例示的な構成を示す。 ホストが外部NANDコントローラを介してNAND記憶装置にデータを書き込む方法を説明したフローチャートを示す。 ホストが外部NANDコントローラを介してNAND記憶装置120からデータを読み出す方法を説明したフローチャートを示す。

Claims (20)

  1. ホスト装置とフラッシュダイに組み立てられたフラッシュメモリ装置とをインタフェースするコントローラであって、
    a)前記フラッシュダイと別個のコントローラダイに組み立てられる電子回路と、
    b)前記電子回路と前記フラッシュメモリ装置とをインタフェースする第1のインタフェースと、
    c)前記コントローラと前記ホスト装置とをインタフェースする第2のインタフェースであって、NANDインタフェースである第2のインタフェースと、
    を備えるコントローラ。
  2. 前記第1のインタフェースはNANDインタフェースである、請求項1に記載のコントローラ。
  3. d)前記第1および第2のインタフェースのうちの一方を通して受信されるデータの誤り修正を提供する誤り修正モジュールをさらに備える、請求項1に記載のコントローラ。
  4. d)前記ホスト装置とインタフェースする少なくとも1つの追加のホスト側インタフェースをさらに備える、請求項1に記載のコントローラ。
  5. a)フラッシュダイに組み立てられるフラッシュメモリ装置と、
    b)請求項1に記載のコントローラであって、前記第1のインタフェースを通して前記フラッシュメモリ装置と通信するように動作可能なコントローラと、
    を備えるデータ記憶システム。
  6. c)共通パッケージをさらに備え、
    前記フラッシュメモリ装置および前記コントローラは両方とも、前記共通パッケージ内に提供される、請求項5に記載のシステム。
  7. c)別個の各パッケージをさらに備え、
    前記フラッシュメモリ装置および前記コントローラはそれぞれ、前記各パッケージ内に提供される、請求項5に記載のシステム。
  8. c)前記フラッシュメモリ装置および前記コントローラが実装されるプリント回路基板をさらに備え、前記フラッシュダイは前記プリント回路基板に直接実装される、請求項5に記載のシステム。
  9. c)前記フラッシュメモリ装置および前記コントローラが実装されるプリント回路基板であって、前記コントローラダイは前記プリント回路基板に直接実装される、プリント回路基板をさらに備える、請求項5に記載のシステム。
  10. a)ホスト装置と、
    b)フラッシュダイに組み立てられるフラッシュメモリ装置と、
    c)前記第1のインタフェースを通して前記フラッシュメモリ装置と通信し、前記第2のインタフェースを通して前記ホスト装置と通信するように動作可能な、請求項1に記載のコントローラと、
    を備えるデータ記憶システム。
  11. データ記憶システムを作製する方法であって、
    a)フラッシュダイに組み立てられたフラッシュメモリ装置を提供するステップと、
    b)請求項1に記載のフラッシュコントローラを提供するステップと、
    c)前記フラッシュコントローラが前記第1のインタフェースを通して前記フラッシュメモリ装置と通信するように動作可能なように、前記フラッシュコントローラを前記フラッシュメモリ装置に配備するステップと
    を含む方法。
  12. d)前記フラッシュコントローラおよび前記フラッシュメモリ装置を単一のパッケージ内にパッケージするステップをさらに含む、請求項11に記載の方法。
  13. 前記フラッシュメモリ装置および前記フラッシュコントローラは別個の各パッケージ内に存在し、前記配備するステップは、前記各パッケージを互いに係合するステップを含む、請求項11に記載の方法。
  14. d)前記フラッシュメモリ装置および前記コントローラをプリント回路基板に実装するステップをさらに含み、
    前記実装するステップは、前記フラッシュメモリダイを前記プリント回路基板に直接実装するステップを含む、請求項11に記載の方法。
  15. d)前記フラッシュメモリ装置および前記コントローラをプリント回路基板に実装するステップをさらに含み、
    前記実装するステップは、前記コントローラダイを前記プリント回路基板に直接実装するステップを含む、請求項11に記載の方法。
  16. d)前記フラッシュコントローラが前記第2のインタフェースを通して前記ホスト装置と通信するように動作可能なように、前記データ記憶システムをホスト装置に配備するステップをさらに含む、請求項11に記載の方法。
  17. ホスト装置からデータを書き込む方法であって、
    a)フラッシュダイに組み立てられたフラッシュメモリ装置およびコントローラダイに組み立てられたコントローラを提供するステップであって、前記フラッシュダイは前記コントローラダイと別個であるステップと、
    b)NANDインタフェースプロトコルに従って書き込みコマンドを前記ホスト装置から前記コントローラに発行するステップと、
    c)NANDインタフェースプロトコルに従って書き込みコマンドを前記コントローラから前記フラッシュメモリ装置に発行するステップと
    を含む方法。
  18. d)前記コントローラによりパリティビットを計算するステップをさらに含む、請求項17に記載の方法。
  19. データをホスト装置に読み出す方法であって、
    a)フラッシュダイに組み立てられたフラッシュメモリ装置およびコントローラダイに組み立てられたコントローラを提供するステップであって、前記フラッシュダイは前記コントローラダイと別個であるステップと、
    b)NANDインタフェースプロトコルに従って読み出しコマンドを前記ホスト装置から前記コントローラに発行するステップと、
    c)NANDインタフェースプロトコルに従って読み出しコマンドを前記コントローラから前記フラッシュメモリ装置に発行するステップと
    を含む方法。
  20. d)前記フラッシュメモリ装置から前記コントローラにデータを取り出すステップと、
    e)前記取り出されたデータに関連するパリティビットを前記フラッシュメモリ装置から前記コントローラに取り出すステップと、
    f)前記取り出されたパリティビットに従って、前記取り出されたデータを修正するステップであって、それにより、修正済みデータを生成するステップと、
    g)前記修正済みデータを前記コントローラから前記ホスト装置に取り出すステップと
    をさらに含む、請求項19に記載の方法。
JP2008531880A 2005-09-26 2006-09-20 Nandインタフェースをエクスポートするnand型フラッシュメモリコントローラ Pending JP2009510560A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US72009805P 2005-09-26 2005-09-26
US11/326,336 US7631245B2 (en) 2005-09-26 2006-01-06 NAND flash memory controller exporting a NAND interface
PCT/IL2006/001101 WO2007034481A2 (en) 2005-09-26 2006-09-20 A nand flash memory controller exporting a nand interface

Publications (2)

Publication Number Publication Date
JP2009510560A true JP2009510560A (ja) 2009-03-12
JP2009510560A5 JP2009510560A5 (ja) 2010-05-20

Family

ID=37889248

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008531880A Pending JP2009510560A (ja) 2005-09-26 2006-09-20 Nandインタフェースをエクスポートするnand型フラッシュメモリコントローラ

Country Status (6)

Country Link
US (2) US7631245B2 (ja)
EP (2) EP1929483A4 (ja)
JP (1) JP2009510560A (ja)
KR (2) KR20100021497A (ja)
CN (1) CN101366182B (ja)
WO (1) WO2007034481A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014532929A (ja) * 2011-11-04 2014-12-08 メモライト (ウハン) カンパニー,リミテッド 埋め込みメモリ及び埋め込み式記憶システム
US10235306B2 (en) 2016-08-04 2019-03-19 Toshiba Memory Corporation Storage device compatible with selected one of multiple interface standards

Families Citing this family (170)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4818812B2 (ja) * 2006-05-31 2011-11-16 株式会社日立製作所 フラッシュメモリストレージシステム
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7424659B2 (en) * 2003-10-31 2008-09-09 Sandisk Il Ltd. System-in-package and method of testing thereof
US20060077119A1 (en) * 2004-10-08 2006-04-13 Sharp Laboratories Of America, Inc. Methods and systems for receiving content at an imaging device
US8291295B2 (en) 2005-09-26 2012-10-16 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
JP4997798B2 (ja) * 2006-03-15 2012-08-08 ソニー株式会社 不揮発性半導体記憶装置およびメモリシステム
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
KR101202537B1 (ko) 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US7511646B2 (en) * 2006-05-15 2009-03-31 Apple Inc. Use of 8-bit or higher A/D for NAND cell value
US8000134B2 (en) 2006-05-15 2011-08-16 Apple Inc. Off-die charge pump that supplies multiple flash devices
US7551486B2 (en) * 2006-05-15 2009-06-23 Apple Inc. Iterative memory cell charging based on reference cell value
US7701797B2 (en) * 2006-05-15 2010-04-20 Apple Inc. Two levels of voltage regulation supplied for logic and data programming voltage of a memory device
US7852690B2 (en) * 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US7613043B2 (en) * 2006-05-15 2009-11-03 Apple Inc. Shifting reference values to account for voltage sag
US7639542B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Maintenance operations for multi-level data storage cells
US7911834B2 (en) * 2006-05-15 2011-03-22 Apple Inc. Analog interface for a flash memory die
US7568135B2 (en) * 2006-05-15 2009-07-28 Apple Inc. Use of alternative value in cell detection
US7639531B2 (en) * 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
JP2007323321A (ja) * 2006-05-31 2007-12-13 Toshiba Corp 半導体記憶装置およびそのデータ送信方法
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
US20080046641A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046630A1 (en) * 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7886204B2 (en) 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
CN101601094B (zh) 2006-10-30 2013-03-27 苹果公司 使用多个门限读取存储单元的方法
WO2008053472A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) * 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US20080250192A1 (en) * 2007-04-05 2008-10-09 Phison Electronics Corp. Integrating flash memory system
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8429493B2 (en) * 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US20080306723A1 (en) * 2007-06-08 2008-12-11 Luca De Ambroggi Emulated Combination Memory Device
US8504897B2 (en) * 2007-06-21 2013-08-06 Megachips Corporation Memory controller
US7966547B2 (en) * 2007-07-02 2011-06-21 International Business Machines Corporation Multi-bit error correction scheme in multi-level memory storage system
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US9207661B2 (en) * 2007-07-20 2015-12-08 GM Global Technology Operations LLC Dual core architecture of a control module of an engine
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8103936B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for data read of a synchronous serial interface NAND
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US20090172246A1 (en) * 2007-12-26 2009-07-02 Sandisk Il Ltd. Device and method for managing initialization thereof
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8068365B2 (en) 2008-02-04 2011-11-29 Mosaid Technologies Incorporated Non-volatile memory device having configurable page size
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) * 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8099539B2 (en) * 2008-03-10 2012-01-17 Lsi Corporation Method and system of a shared bus architecture
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8521979B2 (en) * 2008-05-29 2013-08-27 Micron Technology, Inc. Memory systems and methods for controlling the timing of receiving read data
US7979757B2 (en) 2008-06-03 2011-07-12 Micron Technology, Inc. Method and apparatus for testing high capacity/high bandwidth memory devices
US7855931B2 (en) 2008-07-21 2010-12-21 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
US8289760B2 (en) 2008-07-02 2012-10-16 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
US8756486B2 (en) * 2008-07-02 2014-06-17 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8127204B2 (en) 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
TWI475378B (zh) * 2008-10-09 2015-03-01 Micron Technology Inc 耦合至一主機之儲存系統、與儲存系統中之nand記憶體介接之控制器及管理nand記憶體裝置堆疊之方法
US8806293B2 (en) 2008-10-09 2014-08-12 Micron Technology, Inc. Controller to execute error correcting code algorithms and manage NAND memories
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
TWI396202B (zh) * 2008-11-14 2013-05-11 Phison Electronics Corp 錯誤校正控制器及其快閃記憶體晶片系統與錯誤校正方法
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US20110041005A1 (en) * 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Providing Read Status and Spare Block Management Information in a Flash Memory System
US20110040924A1 (en) 2009-08-11 2011-02-17 Selinger Robert D Controller and Method for Detecting a Transmission Error Over a NAND Interface Using Error Detection Code
US20110041039A1 (en) * 2009-08-11 2011-02-17 Eliyahou Harari Controller and Method for Interfacing Between a Host Controller in a Host and a Flash Memory Device
US8205038B2 (en) * 2009-10-14 2012-06-19 Giga-Byte Technology Co., Ltd. Flash memory accessing apparatus and accessing method thereof
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US8443263B2 (en) 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
US8595411B2 (en) 2009-12-30 2013-11-26 Sandisk Technologies Inc. Method and controller for performing a sequence of commands
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
KR101096268B1 (ko) 2010-04-01 2011-12-22 주식회사 하이닉스반도체 커맨드디코더 및 반도체 메모리 장치
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
CN101908131B (zh) * 2010-06-01 2013-03-27 福建新大陆电脑股份有限公司 基于usb接口的条码解码装置
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US8555050B2 (en) 2010-07-15 2013-10-08 Broadcom Corporation Apparatus and method thereof for reliable booting from NAND flash memory
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR101401379B1 (ko) * 2010-10-13 2014-05-30 한국전자통신연구원 낸드 플래시 메모리의 데이터 입출력 방법과 그 방법을 이용한 임베디드 시스템
US8400808B2 (en) 2010-12-16 2013-03-19 Micron Technology, Inc. Phase interpolators and push-pull buffers
US20120167100A1 (en) * 2010-12-23 2012-06-28 Yan Li Manual suspend and resume for non-volatile memory
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
US20120297248A1 (en) * 2011-05-17 2012-11-22 Alan David Bennett Block write handling after corruption
US8694719B2 (en) 2011-06-24 2014-04-08 Sandisk Technologies Inc. Controller, storage device, and method for power throttling memory operations
US9177609B2 (en) 2011-06-30 2015-11-03 Sandisk Technologies Inc. Smart bridge for memory core
US9003102B2 (en) 2011-08-26 2015-04-07 Sandisk Technologies Inc. Controller with extended status register and method of use therewith
US8713357B1 (en) 2011-09-06 2014-04-29 Western Digital Technologies, Inc. Systems and methods for detailed error reporting 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
US8707104B1 (en) 2011-09-06 2014-04-22 Western Digital Technologies, Inc. Systems and methods for error injection in data storage systems
JP2013061799A (ja) * 2011-09-13 2013-04-04 Toshiba Corp 記憶装置、記憶装置の制御方法およびコントローラ
KR101300443B1 (ko) * 2011-09-22 2013-08-27 서울대학교산학협력단 바이패스 경로를 이용하여 신뢰성 검증을 할 수 있는 플래시 메모리 저장 장치, 및 이를 이용한 플래시 메모리 저장 장치의 신뢰성 검증 시스템 및 방법
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US9208070B2 (en) 2011-12-20 2015-12-08 Sandisk Technologies Inc. Wear leveling of multiple memory devices
US8700961B2 (en) 2011-12-20 2014-04-15 Sandisk Technologies Inc. Controller and method for virtual LUN assignment for improved memory bank mapping
US9141308B2 (en) 2011-12-30 2015-09-22 Sandisk Technologies Inc. Controller and method for using a transaction flag for page protection
US9116620B2 (en) 2011-12-30 2015-08-25 Sandisk Technologies Inc. Controller and method for memory aliasing for different flash memory types
US20130191580A1 (en) * 2012-01-23 2013-07-25 Menahem Lasser Controller, System, and Method for Mapping Logical Sector Addresses to Physical Addresses
US9058419B2 (en) 2012-03-14 2015-06-16 GM Global Technology Operations LLC System and method for verifying the integrity of a safety-critical vehicle control system
US9053008B1 (en) 2012-03-26 2015-06-09 Western Digital Technologies, Inc. Systems and methods for providing inline parameter service in data storage devices
US8760922B2 (en) 2012-04-10 2014-06-24 Sandisk Technologies Inc. System and method for micro-tiering in non-volatile memory
KR101979732B1 (ko) * 2012-05-04 2019-08-28 삼성전자 주식회사 비휘발성 메모리 컨트롤러 및 비휘발성 메모리 시스템
US8856431B2 (en) * 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
US8938656B2 (en) 2012-09-14 2015-01-20 Sandisk Technologies Inc. Data storage device with intermediate ECC stage
US9471484B2 (en) 2012-09-19 2016-10-18 Novachips Canada Inc. Flash memory controller having dual mode pin-out
CN102929655A (zh) * 2012-09-26 2013-02-13 瑞斯康达科技发展股份有限公司 向闪存芯片中烧写数据文件的方法、预处理方法及装置
US8990670B2 (en) * 2012-09-28 2015-03-24 Intel Corporation Endurance aware error-correcting code (ECC) protection for non-volatile memories
US9257203B2 (en) 2012-12-06 2016-02-09 Micron Technology, Inc. Setting a default read signal based on error correction
US9171597B2 (en) 2013-08-30 2015-10-27 Micron Technology, Inc. Apparatuses and methods for providing strobe signals to memories
CN104425014B (zh) * 2013-09-02 2018-02-27 华邦电子股份有限公司 序列式nand型闪存、闪存装置及其操作方法
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
KR20150116352A (ko) 2014-04-07 2015-10-15 삼성전자주식회사 메모리 제어 방법 및 시스템
KR102211709B1 (ko) 2014-05-19 2021-02-02 삼성전자주식회사 신호 송수신 특성을 향상한 불휘발성 메모리 시스템, 호스트 장치, 불휘발성 메모리 시스템 및 호스트의 동작방법
JP2014238871A (ja) * 2014-08-01 2014-12-18 マイクロン テクノロジー, インク. 単一の仮想化されたeccアルゴリズムを提供するコントローラと、このコントローラを含む記憶システム、及びこの記憶システムを管理する方法
US9767045B2 (en) 2014-08-29 2017-09-19 Memory Technologies Llc Control for authenticated accesses to a memory device
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
TWI567633B (zh) * 2015-07-07 2017-01-21 鈺群科技股份有限公司 通用序列匯流排相容的隨身碟的啟動方法及其相關隨身碟
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US9940028B2 (en) * 2015-11-13 2018-04-10 Samsung Electronics Co., Ltd Multimode storage device
US9946642B2 (en) 2015-11-13 2018-04-17 Samsung Electronics Co., Ltd Distributed multimode storage management
US10740174B2 (en) 2016-11-29 2020-08-11 Taiwan Semiconductor Manufacturing Company, Ltd. Memory address protection circuit and method
CN108958961B (zh) * 2017-05-22 2021-11-30 上海宝存信息科技有限公司 数据储存装置以及数据错误管理方法
US11099789B2 (en) 2018-02-05 2021-08-24 Micron Technology, Inc. Remote direct memory access in multi-tier memory systems
US11416395B2 (en) 2018-02-05 2022-08-16 Micron Technology, Inc. Memory virtualization for accessing heterogeneous memory components
US20190243787A1 (en) * 2018-02-05 2019-08-08 Micron Technology, Inc. Memory Systems having Controllers Embedded in Packages of Integrated Circuit Memory
US10782908B2 (en) 2018-02-05 2020-09-22 Micron Technology, Inc. Predictive data orchestration in multi-tier memory systems
US10852949B2 (en) 2019-04-15 2020-12-01 Micron Technology, Inc. Predictive data pre-fetching in a data storage device
US11861022B2 (en) * 2020-05-20 2024-01-02 Silicon Motion, Inc. Method and computer program product and apparatus for encrypting and decrypting physical-address information
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11822813B2 (en) 2021-12-28 2023-11-21 Samsung Electronics Co., Ltd. Storage device, operation method of storage device, and storage system using the same

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175403A (ja) * 1997-12-05 1999-07-02 Tokyo Electron Ltd テスト機能を備える記憶装置及びメモリのテスト方法
JPH11297066A (ja) * 1998-04-10 1999-10-29 Ricoh Co Ltd 半導体装置
JP2004118407A (ja) * 2002-09-25 2004-04-15 Renesas Technology Corp 不揮発性半導体記憶装置
WO2004049168A1 (ja) * 2002-11-28 2004-06-10 Renesas Technology Corp. メモリモジュール、メモリシステム、及び情報機器
JP2004280790A (ja) * 2003-02-28 2004-10-07 Toshiba Microelectronics Corp Ecc制御装置
JP2006309361A (ja) * 2005-04-27 2006-11-09 Hagiwara Sys-Com:Kk 半導体記憶デバイス及びその制御装置
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器

Family Cites Families (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5532962A (en) 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5799168A (en) 1996-01-05 1998-08-25 M-Systems Flash Disk Pioneers Ltd. Standardized flash controller
US5818757A (en) 1996-07-22 1998-10-06 Invox Technology Analog and multi-level memory with reduced program disturb
JP3565687B2 (ja) 1997-08-06 2004-09-15 沖電気工業株式会社 半導体記憶装置およびその制御方法
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
US5943283A (en) 1997-12-05 1999-08-24 Invox Technology Address scrambling in a semiconductor memory
US6034882A (en) 1998-11-16 2000-03-07 Matrix Semiconductor, Inc. Vertically stacked field programmable nonvolatile memory and method of fabrication
US6498851B1 (en) 1998-11-25 2002-12-24 Sandisk Corporation Data encryption and signal scrambling using programmable data conversion arrays
US6181599B1 (en) 1999-04-13 2001-01-30 Sandisk Corporation Method for applying variable row BIAS to reduce program disturb in a flash memory storage array
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP2001297038A (ja) 2000-04-11 2001-10-26 Toshiba Corp データ記憶装置および記録媒体並びに記録媒体制御方法
ATE384996T1 (de) 2000-04-13 2008-02-15 A Data Technology Co Ltd Multi-schnittstellenspeicherkarte und anpassungsmodul dafür
US6420215B1 (en) 2000-04-28 2002-07-16 Matrix Semiconductor, Inc. Three-dimensional memory array and method of fabrication
US6631085B2 (en) 2000-04-28 2003-10-07 Matrix Semiconductor, Inc. Three-dimensional memory array incorporating serial chain diode stack
US20030120858A1 (en) 2000-09-15 2003-06-26 Matrix Semiconductor, Inc. Memory devices and methods for use therewith
US7020739B2 (en) 2000-12-06 2006-03-28 Tdk Corporation Memory controller, flash memory system having memory controller and method for controlling flash memory device
US6591330B2 (en) 2001-06-18 2003-07-08 M-Systems Flash Disk Pioneers Ltd. System and method for flexible flash file
US6760805B2 (en) 2001-09-05 2004-07-06 M-Systems Flash Disk Pioneers Ltd. Flash management system for large page size
TW516118B (en) 2001-09-11 2003-01-01 Leadtek Research Inc Decoding conversion device and method capable of supporting multiple memory chips and their application system
GB0123416D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
GB0123415D0 (en) * 2001-09-28 2001-11-21 Memquest Ltd Method of writing data to non-volatile memory
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
US6778436B2 (en) * 2001-10-10 2004-08-17 Fong Piau Apparatus and architecture for a compact flash memory controller
US6859856B2 (en) 2001-10-23 2005-02-22 Flex P Industries Sdn. Bhd Method and system for a compact flash memory controller
US6704852B2 (en) 2001-11-16 2004-03-09 Key Technology Corporation Control device applicable to flash memory card and method for building partial lookup table
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
TWI240861B (en) 2002-01-11 2005-10-01 Integrated Circuit Solution In Data access method and architecture of flash memory
US6683817B2 (en) 2002-02-21 2004-01-27 Qualcomm, Incorporated Direct memory swapping between NAND flash and SRAM with error correction coding
US20030206442A1 (en) 2002-05-02 2003-11-06 Jerry Tang Flash memory bridiging device, method and application system
US6721820B2 (en) 2002-05-15 2004-04-13 M-Systems Flash Disk Pioneers Ltd. Method for improving performance of a flash-based storage system using specialized flash controllers
US7081377B2 (en) 2002-06-27 2006-07-25 Sandisk 3D Llc Three-dimensional memory
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
US7096313B1 (en) * 2002-10-28 2006-08-22 Sandisk Corporation Tracking the least frequently erased blocks in non-volatile memory systems
EP1556868B1 (en) 2002-10-28 2007-09-05 SanDisk Corporation Automated wear leveling in non-volatile storage systems
US7171536B2 (en) 2002-10-28 2007-01-30 Sandisk Corporation Unusable block management within a non-volatile memory system
US8037229B2 (en) 2002-11-21 2011-10-11 Sandisk Technologies Inc. Combination non-volatile memory and input-output card with direct memory access
US20050055479A1 (en) 2002-11-21 2005-03-10 Aviad Zer Multi-module circuit card with inter-module direct memory access
US7225357B2 (en) * 2003-01-21 2007-05-29 Zentek Technology Japan, Inc. SDIO card development system
US7069370B2 (en) 2003-01-31 2006-06-27 Toshiba Corporation USB memory storage apparatus with integrated circuit in a connector
JP2004355163A (ja) * 2003-05-28 2004-12-16 Renesas Technology Corp データ処理装置および電子機器
US6988175B2 (en) 2003-06-30 2006-01-17 M-Systems Flash Disk Pioneers Ltd. Flash memory management method that is resistant to data corruption by power loss
KR100560767B1 (ko) 2003-09-02 2006-03-13 삼성전자주식회사 탈착 가능한 저장 장치를 포함하는 시스템 및 그것의 제어방법
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
TWI226643B (en) 2003-10-31 2005-01-11 C One Technology Corp Simulated SmartMedia/xD-Picture memory card using any nonvolatile memory
US7594135B2 (en) 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
CN100559507C (zh) * 2004-01-29 2009-11-11 群联电子股份有限公司 具防写功能的微型存储装置
US7350044B2 (en) 2004-01-30 2008-03-25 Micron Technology, Inc. Data move method and apparatus
US7136973B2 (en) 2004-02-04 2006-11-14 Sandisk Corporation Dual media storage device
US8019928B2 (en) 2004-02-15 2011-09-13 Sandisk Il Ltd. Method of managing a multi-bit-cell flash memory
JP4398750B2 (ja) * 2004-02-17 2010-01-13 株式会社東芝 Nand型フラッシュメモリ
US7177977B2 (en) 2004-03-19 2007-02-13 Sandisk Corporation Operating non-volatile memory without read disturb limitations
KR100648243B1 (ko) 2004-03-19 2006-11-24 삼성전자주식회사 낸드 플래시 메모리를 사용하는 메모리 카드
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
US7406572B1 (en) 2004-03-26 2008-07-29 Cypress Semiconductor Corp. Universal memory circuit architecture supporting multiple memory interface options
US7057939B2 (en) 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
US7139199B2 (en) 2004-06-28 2006-11-21 Intel Corporation Flash memory file system with transacted operations
JP2008511929A (ja) * 2004-08-30 2008-04-17 シリコン ストレージ テクノロジー、 インク. 携帯電話の不揮発性メモリを管理するシステムおよび方法
JP4406339B2 (ja) * 2004-09-21 2010-01-27 株式会社東芝 コントローラ、メモリカード及びその制御方法
US7149119B2 (en) 2004-09-30 2006-12-12 Matrix Semiconductor, Inc. System and method of controlling a three-dimensional memory
JP4828816B2 (ja) * 2004-10-25 2011-11-30 株式会社東芝 メモリカード、半導体装置、及びメモリカードの制御方法
US7149111B2 (en) * 2004-12-17 2006-12-12 Msystems Ltd. Method of handling limitations on the order of writing to a non-volatile memory
US20060239450A1 (en) 2004-12-21 2006-10-26 Michael Holtzman In stream data encryption / decryption and error correction method
US6980471B1 (en) 2004-12-23 2005-12-27 Sandisk Corporation Substrate electron injection techniques for programming non-volatile charge storage memory cells
US7177191B2 (en) 2004-12-30 2007-02-13 Sandisk 3D Llc Integrated circuit including memory array incorporating multiple types of NAND string structures
US7187583B2 (en) 2005-01-25 2007-03-06 Phison Electronics Corp. Method for reducing data error when flash memory storage device using copy back command
US7362604B2 (en) 2005-07-11 2008-04-22 Sandisk 3D Llc Apparatus and method for programming an array of nonvolatile memory cells including switchable resistor memory elements
US7345907B2 (en) 2005-07-11 2008-03-18 Sandisk 3D Llc Apparatus and method for reading an array of nonvolatile memory cells including switchable resistor memory elements
US7362611B2 (en) 2005-08-30 2008-04-22 Micron Technology, Inc. Non-volatile memory copy back
US7170788B1 (en) 2005-09-09 2007-01-30 Sandisk Corporation Last-first mode and apparatus for programming of non-volatile memory with reduced program disturb
US7218552B1 (en) 2005-09-09 2007-05-15 Sandisk Corporation Last-first mode and method for programming of non-volatile memory with reduced program disturb
US7631245B2 (en) 2005-09-26 2009-12-08 Sandisk Il Ltd. NAND flash memory controller exporting a NAND interface
US7640424B2 (en) 2005-10-13 2009-12-29 Sandisk Corporation Initialization of flash storage via an embedded controller
US7447066B2 (en) 2005-11-08 2008-11-04 Sandisk Corporation Memory with retargetable memory cell redundancy
US7349258B2 (en) 2005-12-06 2008-03-25 Sandisk Corporation Reducing read disturb for non-volatile storage
US7262994B2 (en) 2005-12-06 2007-08-28 Sandisk Corporation System for reducing read disturb for non-volatile storage
US7355888B2 (en) 2005-12-19 2008-04-08 Sandisk Corporation Apparatus for programming non-volatile memory with reduced program disturb using modified pass voltages
US7355889B2 (en) 2005-12-19 2008-04-08 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
KR20070076849A (ko) 2006-01-20 2007-07-25 삼성전자주식회사 메모리 카드의 카피백 동작을 수행하는 장치 및 방법
US7852690B2 (en) 2006-05-15 2010-12-14 Apple Inc. Multi-chip package for a flash memory
US20080046641A1 (en) 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US20080046630A1 (en) 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
US8127200B2 (en) 2006-12-24 2012-02-28 Sandisk Il Ltd. Flash memory device and system with randomizing for suppressing errors
US7865473B2 (en) 2007-04-02 2011-01-04 International Business Machines Corporation Generating and indicating incremental backup copies from virtual copies of a data set

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11175403A (ja) * 1997-12-05 1999-07-02 Tokyo Electron Ltd テスト機能を備える記憶装置及びメモリのテスト方法
JPH11297066A (ja) * 1998-04-10 1999-10-29 Ricoh Co Ltd 半導体装置
JP2004118407A (ja) * 2002-09-25 2004-04-15 Renesas Technology Corp 不揮発性半導体記憶装置
WO2004049168A1 (ja) * 2002-11-28 2004-06-10 Renesas Technology Corp. メモリモジュール、メモリシステム、及び情報機器
JP2004280790A (ja) * 2003-02-28 2004-10-07 Toshiba Microelectronics Corp Ecc制御装置
JP2006309361A (ja) * 2005-04-27 2006-11-09 Hagiwara Sys-Com:Kk 半導体記憶デバイス及びその制御装置
JP2006323739A (ja) * 2005-05-20 2006-11-30 Renesas Technology Corp メモリモジュール、メモリシステム、及び情報機器

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014532929A (ja) * 2011-11-04 2014-12-08 メモライト (ウハン) カンパニー,リミテッド 埋め込みメモリ及び埋め込み式記憶システム
US10235306B2 (en) 2016-08-04 2019-03-19 Toshiba Memory Corporation Storage device compatible with selected one of multiple interface standards

Also Published As

Publication number Publication date
EP1929483A4 (en) 2009-06-03
WO2007034481A3 (en) 2007-09-07
US7631245B2 (en) 2009-12-08
WO2007034481A2 (en) 2007-03-29
CN101366182A (zh) 2009-02-11
US20100049909A1 (en) 2010-02-25
KR20080050433A (ko) 2008-06-05
US7886212B2 (en) 2011-02-08
CN101366182B (zh) 2012-04-18
EP2110746A1 (en) 2009-10-21
US20070074093A1 (en) 2007-03-29
KR20100021497A (ko) 2010-02-24
EP1929483A2 (en) 2008-06-11

Similar Documents

Publication Publication Date Title
US7631245B2 (en) NAND flash memory controller exporting a NAND interface
US10521353B2 (en) Data storage device and operating method thereof
US10963339B2 (en) Data storage device and operating method thereof
US8255643B2 (en) Memory system and data processing method thereof
US20080046630A1 (en) NAND flash memory controller exporting a logical sector-based interface
US20080046641A1 (en) NAND flash memory controller exporting a logical sector-based interface
US10248501B2 (en) Data storage apparatus and operation method thereof
US10878924B2 (en) Data storage device intergrating host read commands and method of operating the same
CN111916140B (zh) 控制器及其操作方法以及包括控制器的存储器系统
CN113220220B (zh) 控制器、控制器的操作方法及包括该控制器的存储装置
US10861576B2 (en) Nonvolatile memory device, operating method thereof and data storage device including the same
TWI387878B (zh) 輸出以邏輯區段為基礎的介面之非及快閃記憶體控制器
US10490293B2 (en) Non-volatile memory device, method for operating the same and data storage device including the same
US11048440B2 (en) Memory system, memory device and operating method thereof
KR20220092021A (ko) 스토리지 컨트롤러 및 이를 포함하는 스토리지 시스템
CN114385070A (zh) 主机、数据存储装置、数据处理系统以及数据处理方法
US11921653B2 (en) Data storage device and method for lane detection and configuration
US11314461B2 (en) Data storage device and operating method of checking success of garbage collection operation
US11194512B2 (en) Data storage device which selectively performs a cache read or a normal read operation depending on work load and operating method thereof
US10726938B2 (en) Data storage device and operating method thereof
CN111324302B (zh) 数据存储装置及其操作方法
US20180335950A1 (en) Data storage device and operating method thereof

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090513

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100401

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101022

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110106

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110114

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110218

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110317

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110407

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110729

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111122

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20120203