JP5519779B2 - 不揮発性メモリシステムのためのマルチページ準備コマンド - Google Patents

不揮発性メモリシステムのためのマルチページ準備コマンド Download PDF

Info

Publication number
JP5519779B2
JP5519779B2 JP2012509841A JP2012509841A JP5519779B2 JP 5519779 B2 JP5519779 B2 JP 5519779B2 JP 2012509841 A JP2012509841 A JP 2012509841A JP 2012509841 A JP2012509841 A JP 2012509841A JP 5519779 B2 JP5519779 B2 JP 5519779B2
Authority
JP
Japan
Prior art keywords
command
volatile memory
page
subsequent
preparation
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.)
Expired - Fee Related
Application number
JP2012509841A
Other languages
English (en)
Other versions
JP2012526324A (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.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of JP2012526324A publication Critical patent/JP2012526324A/ja
Application granted granted Critical
Publication of JP5519779B2 publication Critical patent/JP5519779B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Description

本発明は、一般的に、管理型不揮発性メモリ(NVM)のアクセス及び管理に係る。
フラッシュメモリは、電気的に消去可能なプログラマブルリードオンリメモリ(EEPROM)の一形式である。フラッシュメモリは、不揮発性で、比較的高密度であるから、ハンドヘルドコンピュータ、移動電話、デジタルカメラ、ポータブル音楽プレーヤ、及び他の記憶解決策(例えば、磁気ディスク)では不適当な多数の他の装置において、ファイル及び他の持続的オブジェクトを記憶するのに使用される。
NANDは、ハードディスク又はメモリカード等、ブロック装置のようにアクセスできるフラッシュメモリの一形式である。各ブロックは、多数のページ(例えば、64ないし128ページ)で構成される。典型的なページサイズは、4KB−8KBバイトである。NAND装置は、各々4096ないし8192個のブロックを有する複数のダイを有することができる。各ページには、エラー検出及び修正チェック和の記憶に使用される多数のバイトが関連付けられる。読み取り及びプログラミングは、ページベースで行われ、消去は、ブロックベースで行われ、そしてブロックのデータは、順次に書き込むことしかできない。NANDは、通常の装置動作中にフリップすることのあるビットを補償するためにエラー修正コード(ECC)に依存する。消去又はプログラム動作を行うときには、NAND装置は、プログラム又は消去し損なったブロックを検出して、それらブロックを不良ブロックマップに不良とマークすることができる。データは、異なる良好なブロックに書き込むことができ、不良ブロックマップは、更新することができる。
管理型NAND装置は、生のNANDをメモリコントローラと結合し、NANDメモリのエラー修正及び検出、並びにメモリ管理機能を取り扱う。管理型NANDは、マルチメディアメモリカード(MMC)及びセキュアなデジタル(SD)カードのような標準的プロセッサインターフェイスをサポートするボールグリッドアレイ(BGA)パッケージ又は他の集積回路(IC)パッケージにおいて商業的に入手できる。管理型NAND装置は、1つ以上のチップセレクト信号を使用してアクセスできる多数のNAND装置又はダイを含むことができる。チップセレクトは、同じバスに選択された多数のチップのうちの1つのチップを選択するためにデジタル電子装置に使用される制御ラインである。チップセレクトは、典型的に、ほとんどのICパッケージ上にあるコマンドピンで、装置の入力ピンをその装置の内部回路へと接続するものである。チップセレクトピンがインアクティブ状態に保持されるときは、チップ又は装置は、その入力ピンの状態の変化を無視する。チップセレクトピンがアクティブ状態に保持されるときは、チップ又は装置は、バス上の唯一のチップであるかのように応答する。
オープンNANDフラッシュインターフェイスワーキンググループ(ONFI)は、異なるベンダーからの適合NAND装置間の相互動作を許すためにNANDフラッシュチップ用の標準低レベルインターフェイスを開発した。ONFI仕様バージョン1.0は、次のものを指定している。即ち、TSOP−48、WSOP−48、LGA−52及びBGA-63パッケージ内のNANDフラッシュのための標準物理的インターフェイス(ピンアウト);NANDフラッシュチップを読み取り、書き込み及び消去するための標準コマンドセット;及び自己識別のメカニズム。ONFI仕様バージョン2.0は、奇数チップセレクト(チップイネーブル又は“CE”とも称される)がチャンネル1に接続されそして偶数CEがチャンネル2に接続されたデュアルチャンネルインターフェイスをサポートする。この物理的なインターフェイスは、全パッケージに対してCEが8個以下でなければならない。
ONFI仕様は、相互動作を許すが、現在のONFI仕様は、管理型NAND解決策の完全な利点を取り入れていない。
不揮発性メモリシステムのマルチページ準備コマンドが開示される。マルチページ準備コマンドは、来るべきマルチページプログラム動作に対し不揮発性メモリ装置を準備するのに使用できるデータを供給する。ホストコントローラは、マルチページプログラム動作の前に、マルチページプログラムコマンドの使用を最適化するためのコマンドを使用することができる。不揮発性メモリ装置は、コマンドの順序を変更するか又はその後の動作に最適なコマンドセットを使用する、等のその後の動作に対する準備において不揮発性メモリを構成するコマンドを使用することができる。
管理型NVMパッケージに結合されたホストプロセッサを含む規範的メモリシステムのブロック図である。 図1の管理型NVMパッケージのための規範的アドレスマッピングを示す。 不良ブロック交換を含む図2のアドレスマッピングを示す。 マルチページ準備コマンドを受信するためのNVMパッケージを示す。 規範的なマルチページ準備動作のタイミング図である。 マルチページ準備コマンドを処理するためにホストコントローラにより遂行される規範的なプロセスのフローチャートである。 マルチページ準備コマンドを処理するために不揮発性メモリ装置により遂行される規範的なプロセスのフローチャートである。
メモリシステムの概略
図1は、管理型NVMパッケージ104(例えば、NAND装置)に結合されたホストコントローラ102を含む規範的なメモリシステム100のブロック図である。NVMパッケージ104は、複数のNVM装置108(例えば、複数の生のNANDダイ)を含むBGAパッケージ又は他のICパッケージである。メモリシステム100は、これに限定されないが、ハンドヘルドコンピュータ、移動電話、デジタルカメラ、ポータブル音楽プレーヤ、玩具、サムドライブ、e−メール装置、及び不揮発性メモリが望まれ又は要求される他の装置を含む種々の装置に使用することができる。ここに使用する「生のNVM」は、外部のホストプロセッサにより管理されるメモリ装置又はパッケージであり、そして管理型NVMは、少なくとも1つの内部メモリ管理機能、例えば、エラー修正、ウェアレベリング、不良ブロック管理、等を含むメモリ装置又はパッケージである。
ある具現化において、NVMパッケージ104は、内部チップセレクト信号を使用して内部チャンネルを経てNVM装置108にアクセスしそして管理するためのコントローラ106を備えることができる。内部チャンネルは、コントローラ106とNVM装置108との間のデータ経路である。コントローラ106は、メモリ管理機能(例えば、ウェアレベリング、不良ブロック管理)を行うことができ、そしてデータエラー(例えば、フリップしたビット)を検出し修正するためのエラー修正(ECC)エンジン110を含むことができる。ある具現化において、ECCエンジン110は、コントローラ106におけるハードウェアコンポーネントとして、又はコントローラ106により実行されるソフトウェアコンポーネントとして具現化することができる。ある具現化において、ECCエンジン110は、NVM装置108に配置することができる。
ある具現化において、ホストコントローラ102及びNVMパッケージ104は、ホスト(ホストチャンネル)に見える通信チャンネルを経て情報(例えば、制御コマンド、アドレス、データ)を通信することができる。ホストチャンネルは、ONFI仕様バージョン2.0に述べられたように、生のNANDインターフェイス又はデュアルチャンネルインターフェイスのような標準インターフェイスをサポートすることができる。又、ホストコントローラ102は、ホストチップイネーブル(CE)信号を与えることもできる。ホストCEは、ホストコントローラ102を見て、ホストチャンネルを選択することができる。
規範的なメモリシステム100において、NVMパッケージ104は、CEハイディング(hiding)をサポートする。CEハイディングは、NVMパッケージ104の各内部チャンネルに対して単一のホストCEを使用して、NVMパッケージ104のインターフェイスをサポートするのに必要な信号の数を減少することができる。メモリアクセスは、図2及び3を参照して述べるように、アドレススペース及びアドレスマッピングを使用して、内部チャンネル及びNVM装置108へマップさせることができる。個々のNVM装置108は、コントローラ106により発生された内部CE信号を使用してイネーブルすることができる。
規範的なアドレスマッピング
図2は、図1の管理型NVMパッケージ104のための規範的なアドレスマッピングを示す。特に、マッピングは、潜在的に複数の平面を各々含む複数のダイを備えた管理型NVM装置に使用することができる。ある具現化において、アドレスマッピングは、同時アドレス可能なユニット(CAU)において動作される。CAUは、NVMパッケージ内の他のCAUと同時に又はそれと並列に読み取られ、プログラムされ又は消去される単一のホストチャンネルからアクセスできる物理的記憶装置の一部分である。CAUは、例えば、単一平面又は単一ダイでよい。CAUサイズは、CAUにおける消去可能なブロックの数である。
マッピングは、図2の規範的メモリアーキテクチャーを使用して説明する。この規範的アーキテクチャーについては、ブロックサイズは、消去可能なブロックにおけるページの数として定義される。ある具現化では、4キロバイトのデータごとに16バイトのメタデータが使用できる。他のメモリアーキテクチャーも考えられる。例えば、メタデータは、より多くの又はより少ないバイトが割り当てられてもよい。
図2に示されたアドレスマッピングは、NANDブロックを読み取り/プログラムし/消去するための生のNANDプロトコル、及び最適な性能を可能にする付加的なコマンドの使用を許す。NVMパッケージ104は、NANDのデータ信頼性を管理するためのECCエンジン(例えば、ECCエンジン110)を備えている。従って、ホストコントローラ102は、ECCエンジン110を含んだり又は信頼性の目的でデータを処理したりする必要はない。
NVMパッケージ104は、CAUを、他のCAUと同時に又はそれと並列にアクセスできる(例えば、NANDメモリセルから内部レジスタへデータを移動する)エリアとして定義する。この規範的アーキテクチャーでは、全てのCAUが同数のブロックを含むと仮定する。他の具現化では、CAUは、異なる数のブロックを有することができる。以下のテーブルIは、CAUのページにアクセスするための規範的な行アドレスフォーマットを示す。
Figure 0005519779
テーブルIを参照すれば、規範的なnビット(例えば、24ビット)行アドレスは、次のフォーマット、即ち[CAU:Block:Page]でNAND装置のコントローラへ与えることができる。CAUは、ダイ或いは平面を表す数字(例えば、整数)である。Blockは、CAU数字で識別されたCAUのブロックオフセットであり、そしてPageは、Blockで識別されたブロックにおけるページオフセットである。例えば、ブロック当たり128ページ、CAU当たり8192ブロック及び6個のCAUをもつ装置では、Xが7(27=128)となり、Yが13(213=8192)となり、そしてZが3(22<6<23)となる。
図2に示す規範的なNVMパッケージ104は、2つのNANDダイ204a、204bを含み、そして各ダイは、2つの平面を有する。例えば、ダイ204aは、平面206a、206bを含む。そして、ダイ204bは、平面206c、206dを含む。この例では、各平面はCAUであり、そして各CAUは、2048個のマルチレベルセル(MLC)ブロックを有し、ブロック当たり128ページである。プログラム及び消去動作は、ブロックのストライド(各CAUからのブロック)で行うことができる。ストライドは、異なるCAUから各々到来するブロックのアレイとして定義される。ここに示す例では、「ストライド0」は、CAU0−3の各々からのブロック0を定義し、「ストライド1」は、CAU0−3の各々からのブロック1を定義し、「ストライド2」は、CAU0−3の各々からのブロック2を定義し、等々である。
NVMパッケージは、制御バス208及びアドレス/データバス210を通してCAUと通信するNVMコントローラ202を備えている。動作中に、NVMコントローラ202は、ホストコントローラ(図示せず)からコマンドを受け取り、そしてそのコマンドに応答して、制御バス208に制御信号を及びアドレス/データバス210にアドレス又はデータをアサートし、1つ以上のCAUに対する動作(例えば、読み取り、プログラム又は消去動作)を遂行する。ある具現化では、コマンドは、図2を参照して述べるように、[CAU:Block:Page]の形態の行アドレスを含む。
図3は、不良ブロック交換を含む図2のアドレスマッピングを示す。この例では、ホストコントローラ102は、NVMパッケージ104のためのストライドアドレスを発行する。NVMパッケージは、3つのCAUを含み、それらCAUの1つは、ストライドブロックオフセットに不良ブロックを保持する。「ストライド4」アドレスは、通常、CAU0:Block4、CAU1:Block4、及びCAU2:Block4をアドレスする。しかしながら、この例では、不良ブロックCAU1:Block4は、CAU1:Block2000に置き換えられる。
マルチページ準備コマンドを受信するための規範的なNVMパッケージ
図4は、マルチページ準備コマンドを受信するためのNVMパッケージを示す。ある具現化では、NVMパッケージ400は、外部ホストコントローラ(図示せず)から受信したマルチページ準備コマンドのリストを維持するコントローラ402を備えている。このコマンドは、マルチページプログラム動作のようなマルチページ動作に対してCAUを準備するためにコントローラが使用できる行アドレス[CAU:Block:Page]を含むことができる。
NVMパッケージ400は、最適なコマンドセットを順序付けし及び使用してページをプログラムし又は他の動作を遂行するためにマルチページ準備コマンドにより供給される行アドレスの利点を取り入れることができる。ある具現化では、次の2つのものを転送するためのコマンドに3バイトのアドレスが使用される。
●バイト0:情報を使用するコマンド、及び
●バイト1−2:アドレスカウント:マルチページ動作においてアクセスされるページ数。
データバイト(入力/書き込み)は、来るべきマルチページ動作に使用されるページアドレス(行)を転送するのに使用できる。アドレスカウント及びページアドレスは、両方とも、リトルエンディアンである。
図5は、規範的なマルチページ準備動作のためのタイミング図である。ある具現化では、ホストコントローラは、プログラムされるべきページ数をNとすれば、3*Nより多くのバイトを転送することができる。ここに示す例では、マルチページプログラム準備動作について説明する。他の形式の動作を使用することもできる。
第1のコードB0hは、マルチページプログラム準備動作を指示する。CMDは、ページアドレスW−addr[0]、W−addr[1]及びW−addr[2]をデータと共にプログラムするためにホストコントローラが使用するマルチページプログラムコマンドを示す。2つのバイトCount−0及びCount−1は、カウントに続くページアドレスW−addr[x]の数を指示する。この例では、3ページアドレスがカウントバイトに続く。ホストコントローラは、(例えば、最後のコマンドを使用して)ページNより早くプログラム動作を終了するように選択することができる。NVMパッケージは、動作を正しく終了することができる。転送される全てのページをプログラムすることができる。プログラムされないページは、消去されたままとし、後でプログラムすることができる。コード77h及びそれに続くコード00h、00h、00h及び40hは、ページがプログラムされたかどうか決定するための状態要求コマンドを表す。
マルチページ準備動作に続いて、ホストコントローラは、動作状態をチェックし、そして状態値に基づいて応答又は行動することができる。以下のテーブルIIは、読み取り動作状態が返送する異なる値を指定すると共に、ホストコントローラが何を行うか説明する。
Figure 0005519779
ホストコントローラにより遂行される規範的なプロセス
図6は、マルチページ準備コマンドを処理するためにホストコントローラにより遂行される規範的なプロセス600のフローチャートである。ある具現化において、プロセス600は、不揮発性メモリ装置へ第1コマンドを送信することにより開始される(602)。この第1コマンドは、不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働く。
ある具現化において、装置のコントローラは、準備コマンドを使用してCAUイネーブル及びアドレススキームをキューイングすることができる。他の具現化では、コントローラは、準備コマンドと共にフィードバック情報を同時に受信することができる。一例において、フィードバック情報は、ビジーである平面、ダイ又はバスを記述し、コントローラにより別の経路を選択して使用し、メモリ動作を遂行できるようにする。
NVM装置内のある生のNANDダイは、「2平面キャッシュモードプログラム」のような種々の進歩型動作をサポートすることができる。NVMコントローラは、準備コマンドに存在する情報を使用して、より最適なデータ転送を得るため進歩型動作を適用できる全シーケンスの中のサブシーケンスをおそらく識別するために遂行されるプログラム動作のパターンを分析することができる。NVM装置とホストコントローラの相互動作を支配するプロトコルは、ブロックの各ストライド内でページアドレスを増加する全ストライドより成る動作シーケンスを可能にするための準備コマンドを含むことができる。NVM装置のベンダーは、準備コマンドを使用し、生のNAND装置の性能向上特徴を使用して、ホストコントローラスタックの開発者がその性能向上特徴の特定の詳細を知らなくてもよいようにする。
不揮発性メモリ装置に第2コマンドが送られて、動作を遂行する(604)。動作から得られるデータが不揮発性メモリ装置から受け取られる(606)。
メモリ装置により遂行される規範的なプロセス
図7は、マルチページ準備コマンドを処理するために不揮発性メモリ装置により遂行される規範的なプロセス700のフローチャートである。ある具現化において、プロセス700は、ホストコントローラからコマンドを受け取ることにより開始される(702)。このコマンドは、マルチページプログラム準備コマンドである。不揮発性メモリは、準備コマンドに基づいて不揮発性メモリにおけるその後の動作について準備するように構成される(704)。その構成は、コマンドの順序の変更、又は最適なコマンドセットを使用することを含む。
本書は、多数の仕様を含むが、それは、特許請求の範囲を限定するものではなく、特定の実施形態特有の特徴を説明したものである。別々の実施形態に関して本書に述べた幾つかの特徴は、単一の実施形態において組み合わせて具現化できるものである。逆に、単一の実施形態に関して説明した種々の特徴を複数の実施形態において別々に又は適当な準組み合わせで具現化することもできる。更に、それらの特徴は、幾つかの組み合わせで作用するものとして上述され、最初にそのように請求されるが、請求された組み合わせからの1つ以上の特徴を、あるケースでは、その組み合わせから削除してもよく、又、請求された組み合わせを準組み合わせ又は準組み合わせの変形へと向けてもよい。
同様に、動作は、図面に特定の順序で示したが、そのような動作を、図示された特定の順序又は逐次の順序で遂行すること、或いは図示された全ての動作を遂行して希望の結果を得ることが要求されると理解してはならない。ある環境では、マルチタスク及び並列処理が効果的である。更に、上述した実施形態における種々のシステムコンポーネントの分離は、全ての実施形態においてそのような分離が要求されると理解してはならず、又、ここに述べたプログラムコンポーネント及びシステムは、一般的に、単一のソフトウェア製品に一緒に一体化したり、又は複数のソフトウェア製品へパッケージしたりできることも理解されたい。
以上、特定の実施形態について説明した。特許請求の範囲内で他の実施形態も考えられる。
100:メモリシステム
102:ホストコントローラ
104:NVMパッケージ
106:コントローラ
108:NVM装置
110:ECCエンジン
202:NVMコントローラ
204:ダイ
206:平面
208:制御バス
210:アドレス/データバス
400:NVMパッケージ
402:コントローラ
406:コマンドのリスト

Claims (25)

  1. ホストコントローラから準備コマンドを受け取る段階であって、その準備コマンドは、1つ以上のその後のマルチページ動作に対して不揮発性メモリを準備するための情報を含み、更に、その準備コマンドは、マルチページ動作の前に使用され、マルチページ動作に関連したマルチページコマンドの使用を最適化するよう構成されたものである段階と、
    前記準備コマンドに基づいて不揮発性メモリにおけるその後のマルチページ動作の準備をするように不揮発性メモリを構成する段階と、
    を備え、
    前記準備コマンドにおける情報は、前記マルチページコマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
    方法。
  2. 前記構成する段階は、コマンドの順序を変更するか又は最適なコマンドセットを使用することを含む、請求項1に記載の方法。
  3. 前記準備コマンドは、読み取り又はプログラムコマンドの少なくとも1つである、請求項1に記載の方法。
  4. 前記準備コマンドは、状態要求コマンドである、請求項1に記載の方法。
  5. 前記その後のマルチページ動作は、マルチページプログラム動作である、請求項1に記載の方法。
  6. 不揮発性メモリ装置へ第1コマンドを送信する段階であって、その第1コマンドは、前記不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働き、更に、その第1コマンドは、その後の動作を分析してその後の動作を最適化させるための情報を含むものである段階と、
    前記不揮発性メモリ装置へ第2コマンドを送って、前記不揮発性メモリにおける動作を遂行する段階と、
    前記動作から得られるデータを受け取る段階と、
    を備え、
    前記第1コマンドにおける情報は、前記第2コマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
    方法。
  7. 前記構成は、コマンドの順序を変更するか又は最適なコマンドセットを使用することを含む、請求項6に記載の方法。
  8. 前記第1コマンドは、読み取り又はプログラムコマンドの少なくとも1つである、請求項6に記載の方法。
  9. 前記第1コマンドは、状態要求コマンドである、請求項6に記載の方法。
  10. 前記第2コマンドは、マルチページプログラム動作である、請求項6に記載の方法。
  11. ホストコントローラから準備コマンドを受け取るよう構成されたインターフェイスであって、その準備コマンドは、その後のマルチページ動作に対して不揮発性メモリを準備するための情報を含み、更に、その準備コマンドは、マルチページ動作の前に使用され、マルチページ動作に関連したマルチページコマンドの使用を最適化するよう構成されたものであるインターフェイスと、
    前記インターフェイスに結合され、前記準備コマンドに基づいて不揮発性メモリにおけるその後のマルチページ動作の準備をするように不揮発性メモリを構成するよう動作できるコントローラと、
    を備え、
    前記準備コマンドにおける情報は、前記マルチページコマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
    装置。
  12. 前記コントローラは、コマンドの順序を変更するか又は最適なコマンドセットを使用することにより不揮発性メモリを構成する、請求項11に記載の装置。
  13. 前記準備コマンドは、読み取り又はプログラムコマンドの少なくとも1つである、請求項11に記載の装置。
  14. 前記準備コマンドは、状態要求コマンドである、請求項11に記載の装置。
  15. 複数のコマンドを記憶するメモリと、
    前記メモリに結合されたプロセッサであって、
    不揮発性メモリ装置へ第1コマンドを送信し、その第1コマンドは、前記不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働き、更に、その第1コマンドは、その後の動作を分析してその後の動作を最適化させるための情報を含むものであり、
    前記不揮発性メモリ装置へ第2コマンドを送って、前記不揮発性メモリにおける動作を遂行し、
    前記動作から得られるデータを受け取る、
    ように構成できるものであるプロセッサと、
    を備え、
    前記第1コマンドにおける情報は、前記第2コマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
    システム。
  16. 前記構成は、コマンドの順序を変更するか又は最適なコマンドセットを使用することを含む、請求項15に記載のシステム。
  17. 前記第1コマンドは、読み取り又はプログラムコマンドの少なくとも1つである、請求項15に記載のシステム。
  18. 前記第1コマンドは、状態要求コマンドである、請求項15に記載のシステム。
  19. 前記その後の動作は、マルチページプログラム動作である、請求項15に記載のシステム。
  20. 不揮発性メモリ装置へ第1コマンドを送信する手段であって、その第1コマンドは、前記不揮発性メモリ装置の不揮発性メモリを、その不揮発性メモリにおけるその後の動作の準備のために構成するように働き、更に、その第1コマンドは、その後の動作を分析してその後の動作を最適化させるための情報を含むものである手段と、
    前記不揮発性メモリ装置へ第2コマンドを送って、前記不揮発性メモリにおける動作を遂行する手段と、
    前記動作から得られるデータを受け取る手段と、
    を備え、
    前記第1コマンドにおける情報は、前記第2コマンドを遂行すべきアドレスの数に関連したアドレスカウントを含む、
    装置。
  21. 前記その後のマルチページ動作は、マルチページプログラム動作である、請求項11に記載の装置。
  22. 前記コントローラは、更に、全シーケンスの中のサブシーケンスを識別するために遂行されるプログラム動作のパターンを分析して、そのサブシーケンスの実行によってより最適なデータ転送を得るよう動作できる、請求項11に記載の装置。
  23. 前記その後のマルチページ動作は、前記不揮発性メモリに関連したメモリブロックのストライドをプログラムするためのマルチページプログラム動作を含み、前記メモリブロックのストライドは、異なるアドレスユニットに関連した少なくとも2つのメモリブロックを含む、請求項11に記載の装置。
  24. 前記その後の動作は、マルチページプログラム動作である、請求項15に記載のシステム。
  25. 前記プロセッサは、更に、前記第1コマンドを送信すると同時に前記不揮発性メモリ装置からフィードバックを受信するよう構成でき、前記フィードバックは、前記不揮発性メモリ装置内で現在使用中である平面、ダイ又はバスを記述する情報を含む、請求項15に記載のシステム。
JP2012509841A 2009-05-06 2010-04-27 不揮発性メモリシステムのためのマルチページ準備コマンド Expired - Fee Related JP5519779B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US17609609P 2009-05-06 2009-05-06
US61/176,096 2009-05-06
US12/545,011 2009-08-20
US12/545,011 US8321647B2 (en) 2009-05-06 2009-08-20 Multipage preparation commands for non-volatile memory systems
PCT/US2010/032628 WO2010129306A1 (en) 2009-05-06 2010-04-27 Multipage preparation commands for non-volatile memory systems

Publications (2)

Publication Number Publication Date
JP2012526324A JP2012526324A (ja) 2012-10-25
JP5519779B2 true JP5519779B2 (ja) 2014-06-11

Family

ID=42342872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012509841A Expired - Fee Related JP5519779B2 (ja) 2009-05-06 2010-04-27 不揮発性メモリシステムのためのマルチページ準備コマンド

Country Status (6)

Country Link
US (2) US8321647B2 (ja)
EP (1) EP2430549A1 (ja)
JP (1) JP5519779B2 (ja)
KR (1) KR101354341B1 (ja)
CN (1) CN102422271B (ja)
WO (1) WO2010129306A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370603B2 (en) 2008-12-23 2013-02-05 Apple Inc. Architecture for address mapping of managed non-volatile memory
US8438453B2 (en) 2009-05-06 2013-05-07 Apple Inc. Low latency read operation for managed non-volatile memory
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US8495332B2 (en) * 2009-07-24 2013-07-23 Apple Inc. Controller for optimizing throughput of read operations
US8489907B2 (en) 2009-09-16 2013-07-16 Apple Inc. Method of selective power cycling of components in a memory device independently by reducing power to a memory array or memory controller
US8838877B2 (en) * 2009-09-16 2014-09-16 Apple Inc. File system derived metadata for management of non-volatile memory
KR101936311B1 (ko) * 2010-12-03 2019-01-09 삼성전자주식회사 데이터 처리 방법
US8738882B2 (en) 2011-06-03 2014-05-27 Apple Inc. Pre-organization of data
US8706955B2 (en) 2011-07-01 2014-04-22 Apple Inc. Booting a memory device from a host
KR102025088B1 (ko) 2012-09-03 2019-09-25 삼성전자 주식회사 메모리 컨트롤러 및 상기 메모리 컨트롤러를 포함하는 전자장치
KR101932920B1 (ko) 2012-09-14 2019-03-18 삼성전자 주식회사 비휘발성 메모리 카드를 제어하는 호스트, 이를 포함하는 시스템 및 이의 동작 방법
US9081666B2 (en) * 2013-02-15 2015-07-14 Seagate Technology Llc Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer
KR102039537B1 (ko) * 2013-03-15 2019-11-01 삼성전자주식회사 불휘발성 저장 장치 및 그것의 운영체제 이미지 프로그램 방법
US9612773B2 (en) * 2013-11-21 2017-04-04 Samsung Electronics Co., Ltd. User device having a host flash translation layer (FTL), a method for transferring an erase count thereof, a method for transferring reprogram information thereof, and a method for transferring a page offset of an open block thereof
WO2018119901A1 (zh) * 2016-12-29 2018-07-05 华为技术有限公司 存储系统和固态硬盘
CN111488298A (zh) * 2017-12-29 2020-08-04 贵阳忆芯科技有限公司 优化nvm接口命令执行顺序的方法与装置
KR20190110360A (ko) 2018-03-20 2019-09-30 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 시스템 및 그 동작 방법
US11593262B1 (en) * 2018-04-25 2023-02-28 Seagate Technology Llc Garbage collection command scheduling
KR20210060867A (ko) * 2019-11-19 2021-05-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11262947B2 (en) 2019-11-27 2022-03-01 Western Digital Technologies, Inc. Non-volatile storage system with adaptive command processing

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63285800A (ja) 1987-05-19 1988-11-22 Fujitsu Ltd 半導体メモリ装置
JPH05135594A (ja) * 1991-11-13 1993-06-01 Mitsubishi Electric Corp 情報カ−ドの制御方式
US5341489A (en) 1992-04-14 1994-08-23 Eastman Kodak Company Memory card with programmable interleaving
DE69422794T2 (de) * 1994-02-18 2000-06-08 Stmicroelectronics S.R.L., Agrate Brianza Programmierbare logische Feldstruktur für nichtflüchtige Halbleiterspeicher, insbesondere Flash-EPROMS
US5606710A (en) 1994-12-20 1997-02-25 National Semiconductor Corporation Multiple chip package processor having feed through paths on one die
US5615162A (en) 1995-01-04 1997-03-25 Texas Instruments Incorporated Selective power to memory
KR0157342B1 (ko) * 1995-06-09 1998-12-01 김광호 불휘발성 반도체 메모리의 전압 센싱 방법
US5812335A (en) 1995-09-01 1998-09-22 Adaptec, Inc. Programmable data transfer without sector pulses in a headerless disk drive architecture
US5751631A (en) * 1996-10-21 1998-05-12 Liu; David K. Y. Flash memory cell and a new method for sensing the content of the new memory cell
US6092158A (en) 1997-06-13 2000-07-18 Intel Corporation Method and apparatus for arbitrating between command streams
US6134149A (en) * 1999-03-01 2000-10-17 Integrated Memory Technologies, Inc. Method and apparatus for reducing high current during chip erase in flash memories
US6148354A (en) 1999-04-05 2000-11-14 M-Systems Flash Disk Pioneers Ltd. Architecture for a universal serial bus-based PC flash disk
US7827348B2 (en) * 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
CA2355082C (en) * 1999-10-21 2008-09-23 Matsushita Electric Industrial Co., Ltd. A semiconductor memory card access apparatus, a computer-readable recording medium, an initialization method, and a semiconductor memory card
US6684301B1 (en) 2001-05-31 2004-01-27 Lsi Logic Corporation Out of order execution memory access request FIFO
JP4256600B2 (ja) 2001-06-19 2009-04-22 Tdk株式会社 メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法
US7346825B2 (en) 2001-09-06 2008-03-18 Intel Corporation Error method, system and medium
US20030097519A1 (en) * 2001-11-21 2003-05-22 Yoon Ha Ryong Memory subsystem
US7181611B2 (en) 2002-10-28 2007-02-20 Sandisk Corporation Power management block for use in a non-volatile memory system
US7069399B2 (en) 2003-01-15 2006-06-27 Via Technologies Inc. Method and related apparatus for reordering access requests used to access main memory of a data processing system
US20040153902A1 (en) 2003-01-21 2004-08-05 Nexflash Technologies, Inc. Serial flash integrated circuit having error detection and correction
JP4256198B2 (ja) 2003-04-22 2009-04-22 株式会社東芝 データ記憶システム
US20060164907A1 (en) 2003-07-22 2006-07-27 Micron Technology, Inc. Multiple flash memory device management
JP4354284B2 (ja) * 2004-01-20 2009-10-28 富士通マイクロエレクトロニクス株式会社 メモリ制御装置およびメモリ制御システム
JP4085983B2 (ja) 2004-01-27 2008-05-14 セイコーエプソン株式会社 情報処理装置およびメモリアクセス方法
KR100632946B1 (ko) 2004-07-13 2006-10-12 삼성전자주식회사 불 휘발성 메모리 장치 및 그것의 프로그램 방법
DE602004014371D1 (de) 2004-09-10 2008-07-24 St Microelectronics Srl Speicher mit eingebauter Fehlerkorrekturkode-Einrichtung
JP2008033379A (ja) * 2004-11-10 2008-02-14 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
KR100876084B1 (ko) 2007-02-13 2008-12-26 삼성전자주식회사 플래시 저장 장치로 삭제 정보를 전달할 수 있는 컴퓨팅시스템
KR100621631B1 (ko) 2005-01-11 2006-09-13 삼성전자주식회사 반도체 디스크 제어 장치
US7426672B2 (en) 2005-04-28 2008-09-16 International Business Machines Corporation Method for implementing processor bus speculative data completion
KR100739722B1 (ko) 2005-08-20 2007-07-13 삼성전자주식회사 플래시 메모리 관리 방법 및 플래시 메모리 시스템
US20070050668A1 (en) 2005-09-01 2007-03-01 Micron Technology, Inc. Test mode to force generation of all possible correction codes in an ECC memory
JP4999325B2 (ja) 2005-12-21 2012-08-15 ルネサスエレクトロニクス株式会社 フラッシュメモリ
US7423915B2 (en) 2006-01-17 2008-09-09 Spansion Llc Random cache read using a double memory
US7793059B2 (en) * 2006-01-18 2010-09-07 Apple Inc. Interleaving policies for flash memory
US7372715B2 (en) 2006-06-14 2008-05-13 Micron Technology, Inc. Architecture and method for NAND flash memory
US7609703B2 (en) 2006-09-15 2009-10-27 Hewlett-Packard Development Company, L.P. Group communication system and method
JP2008134736A (ja) 2006-11-27 2008-06-12 Fujifilm Corp 電子機器
US7925854B2 (en) * 2006-12-06 2011-04-12 Mosaid Technologies Incorporated System and method of operating memory devices of mixed type
KR101354152B1 (ko) 2006-12-18 2014-01-27 삼성전자주식회사 비휘발성 데이터 저장장치에 구비된 가상 파일 시스템의작업 스케줄링 방법 및 장치
JP5020625B2 (ja) 2006-12-22 2012-09-05 キヤノン株式会社 インタフェース回路
KR100869675B1 (ko) * 2007-02-05 2008-11-21 지인정보기술 주식회사 디스크립터 배열을 이용한 플래시 메모리 제어 시스템 및방법
JP2008287404A (ja) 2007-05-16 2008-11-27 Hitachi Ltd 読み出しによる非アクセスメモリセルのデータ破壊を検出及び回復する装置、及びその方法
US7975109B2 (en) 2007-05-30 2011-07-05 Schooner Information Technology, Inc. System including a fine-grained memory and a less-fine-grained memory
KR101466694B1 (ko) 2007-08-28 2014-11-28 삼성전자주식회사 Ecc 회로, ecc 회로를 구비하는 메모리 시스템 및그의 오류 정정 방법
KR101433859B1 (ko) 2007-10-12 2014-08-27 삼성전자주식회사 불휘발성 메모리 시스템 및 그것의 파일 데이터 관리 방법
US7991943B2 (en) 2007-10-26 2011-08-02 Standard Microsystems Corporation Implementation of one time programmable memory with embedded flash memory in a system-on-chip
TWI384488B (zh) * 2007-12-24 2013-02-01 Skymedi Corp Nonvolatile storage device and its data writing method
US20090198952A1 (en) * 2008-02-04 2009-08-06 Apple Inc Memory Mapping Architecture
US7979658B2 (en) 2008-03-25 2011-07-12 Spansion Llc Secure management of memory regions in a memory
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8321647B2 (en) 2009-05-06 2012-11-27 Apple Inc. Multipage preparation commands for non-volatile memory systems
US20100287329A1 (en) * 2009-05-06 2010-11-11 Apple Inc. Partial Page Operations for Non-Volatile Memory Systems
US9092340B2 (en) * 2009-12-18 2015-07-28 Sandisk Technologies Inc. Method and system for achieving die parallelism through block interleaving
US8356137B2 (en) * 2010-02-26 2013-01-15 Apple Inc. Data storage scheme for non-volatile memories based on data priority

Also Published As

Publication number Publication date
US20100287353A1 (en) 2010-11-11
CN102422271A (zh) 2012-04-18
KR101354341B1 (ko) 2014-01-22
WO2010129306A1 (en) 2010-11-11
JP2012526324A (ja) 2012-10-25
US8321647B2 (en) 2012-11-27
US8806151B2 (en) 2014-08-12
US20130073800A1 (en) 2013-03-21
CN102422271B (zh) 2015-09-02
EP2430549A1 (en) 2012-03-21
KR20120014579A (ko) 2012-02-17

Similar Documents

Publication Publication Date Title
JP5519779B2 (ja) 不揮発性メモリシステムのためのマルチページ準備コマンド
JP5591917B2 (ja) 管理型不揮発性メモリのための低レイテンシ読み取り動作
US8612791B2 (en) Method of selective power cycling of components in a memory device independently by turning off power to a memory array or memory controller
US8370603B2 (en) Architecture for address mapping of managed non-volatile memory
US8489803B2 (en) Efficient use of flash memory in flash drives
US8880483B2 (en) System and method for implementing extensions to intelligently manage resources of a mass storage system
US8112574B2 (en) Swappable sets of partial-mapping tables in a flash-memory system with a command queue for combining flash writes
CN106681654B (zh) 映射表载入方法与存储器存储装置
US20100287329A1 (en) Partial Page Operations for Non-Volatile Memory Systems
US8296466B2 (en) System, controller, and method thereof for transmitting data stream
US8838877B2 (en) File system derived metadata for management of non-volatile memory
US20240070033A1 (en) Storage device including nonvolatile memory device and operating method of storage device
CN115576497A (zh) 数据读取方法、存储器存储装置及存储器控制电路单元

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130612

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130910

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131007

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140206

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140213

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140317

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140403

R150 Certificate of patent or registration of utility model

Ref document number: 5519779

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees