JP2014238871A - 単一の仮想化されたeccアルゴリズムを提供するコントローラと、このコントローラを含む記憶システム、及びこの記憶システムを管理する方法 - Google Patents
単一の仮想化されたeccアルゴリズムを提供するコントローラと、このコントローラを含む記憶システム、及びこの記憶システムを管理する方法 Download PDFInfo
- Publication number
- JP2014238871A JP2014238871A JP2014158171A JP2014158171A JP2014238871A JP 2014238871 A JP2014238871 A JP 2014238871A JP 2014158171 A JP2014158171 A JP 2014158171A JP 2014158171 A JP2014158171 A JP 2014158171A JP 2014238871 A JP2014238871 A JP 2014238871A
- Authority
- JP
- Japan
- Prior art keywords
- controller
- nand
- ecc
- nand memory
- storage system
- 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
Links
Landscapes
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】単一の仮想化ECC-NANDコントローラが複数のNANDメモリ構造体にサービスすることを可能にする。
【解決手段】単一の仮想化ECC-NANDコントローラ26が、ECCアルゴリズムを実行し、NANDフラッシュ・メモリのスタック24を管理する。この仮想化ECC-NANDコントローラ26は、スタック24内の選択されたNANDメモリ・デバイスにデータをリダイレクトし、その一方で、ホスト・プロセッサ20がフラッシュ・メモリ・デバイスのスタックを単一のNANDチップとして駆動することを可能にする。
【選択図】図2
【解決手段】単一の仮想化ECC-NANDコントローラ26が、ECCアルゴリズムを実行し、NANDフラッシュ・メモリのスタック24を管理する。この仮想化ECC-NANDコントローラ26は、スタック24内の選択されたNANDメモリ・デバイスにデータをリダイレクトし、その一方で、ホスト・プロセッサ20がフラッシュ・メモリ・デバイスのスタックを単一のNANDチップとして駆動することを可能にする。
【選択図】図2
Description
(本文中に技術分野に該当する記載なし)
今日の通信装置は、機能を増大させるのに際して、より精巧で多様になり続けている。これらの装置は、より高い容量メモリを必要とするマルチメディア、特には複数チップ・パッケージ設計で提供されるマルチメディアに役立っている。通信リンク、バス、チップ間相互接続および記憶媒体は、固有の信号/記憶の故障を高いレベルで伴って動作することがある。これらの通信装置には、エラー検出/訂正メカニズムが組み込まれていることが求められる。ECC(エラー訂正符号)が、メモリ記憶構造中に用いられてきているが、更なる改善が必要とされる。
本発明とみなされる主題は、添付の特許請求の範囲において、具体的に指摘されるとともに明確に特許請求される。ただし、構成および動作方法に関して、本発明の目的、特徴、および利点とともに本発明は、以下の詳細な説明を添付の図面と併せて参照することにより最適に理解することができる。
本発明に係るECCアルゴリズムを実行し、ホスト・プロセッサとNANDメモリのスタックとの間のデータ転送を管理するための仮想化ECC-NANDコントローラを組み込んだ無線アーキテクチャの図である。
メモリ・インターフェースに対するホスト・プロセッサの図であって、仮想化ECC−NANDコントローラが、ECCアルゴリズムを実行するとともにNANDメモリのスタックへのデータ転送を管理する機能ブロックを提供する様を示す図である。
仮想化ECC-NANDコントローラの更なる詳細を示す図である。
図示の簡略化および明確化のために、図中の要素は必ずしも原寸に比例して描かれていないことが理解されるであろう。たとえば、明確化のために、いくつかの要素の寸法が、他の要素に対して誇張されていることがあってもよい。さらに、対応しているまたは類似している要素を示すために、参照番号を複数の図面で必要に応じて繰り返している。
以下の詳細な説明では、本発明の完全な理解を実現するために多数の具体的詳細について述べる。ただし、こうした具体的詳細なしに本発明が実施され得ることが、当業者には理解されるであろう。他の例では、本発明が分かりにくくならないように、周知の方法、手順、構成部品および回路を詳細には説明していないこともある。
図1に示す実施形態は、本発明に係る、複数のNANDフラッシュ装置を使用可能にする仮想化ECC-NANDコントローラを有する不揮発性メモリを含み得る通信装置10を示す。本発明は、無線通信の実施形態に限定されるものではなく、他の非無線の応用例に本発明を使用してもよい。この無線実施形態に示すように、通信装置10には、無線機が他の無線通信装置と通信を行うのを可能にするための1つまたは複数のアンテナ構造体14が含まれる。したがって、通信装置10は、セルラ式装置、または、たとえばWi-Fi(Wireless Fidelity)、WiMax、モバイルWiMax、WCDMA(広帯域符号化分割多元接続)、GSM(汎欧州移動体通信システム)ネットワークなどの無線ネットワーク中で動作する装置として動作し得る。ただし、本発明は、これらのネットワーク中のみでの動作に限定されない。通信装置10の同一プラットホーム中に配置された無線サブシステムが、無線周波数空間中の様々な周波数帯を用いてネットワーク中の他の装置と通信を行う機能を提供する。
本実施形態では、変調/復調を調節するためのトランシーバ12へのアンテナ構造体14の結合を示している。一般には、アナログ・フロントエンド・トランシーバ12は、スタンドアロン型無線周波数(RF)ディスクリート回路またはスタンドアロン型無線周波数集積アナログ回路であっても、あるいはトランシーバ12は1つまたは複数のプロセッサ・コア16および18を有するホスト中央処理ユニット(CPU)20に組み込まれていてもよい。これら複数のコアにより、処理負荷を各コアで共有することが可能となり、ベースバンド機能およびアプリケーション機能が取り扱われる。データおよび命令は、メモリ・インターフェース28を介してCPUとメモリ記憶装置との間を転送され得る。
システム・メモリ22には、たとえばNANDメモリ構造体24などの揮発性メモリと不揮発性メモリとの両方が含まれ得る。これら揮発性メモリおよび不揮発性メモリは、別々に実装されても、積重ねプロセスで組み合わせられてもよいことに留意されたい。具体的には、ボード上のフットプリントを減少させるために、これらの複数のNANDメモリ構造体はマルチチップ・パッケージ(MCP)内に配置されてもよい。したがって、通信製品中の限られたスペースを利用するためにメモリ・デバイスとメモリ構成とを混合することにより様々な方法で、メモリ・デバイスは配置され得、低電力で信頼度の高い正しい組合せを見つけるために様々な実装オプションで用いられ得ることが、システム・メモリ22の様々な実施形態に示される。
従来技術では、NANDメモリ内部で実施されるECC(エラー訂正符号)アルゴリズムは、単一のメモリ・デバイスのみに適用可能なエラー検出/訂正メカニズムを提供するように制限されている。新たなNAND技術をサポートするために、固定されたホスト・プラットホームをアップデートすることは、ECCの必要性、ページ・サイズ、アドレス能力、新たなコマンド・セット適用等の点から高コストである。さらに、ECCアルゴリズムを制限することは、特定の技術に向けてのことである。たとえば、シングル・レベル・セル(SLC)技術とマルチ・レベル・セル(MLC)技術とを交換すると、使用されているECCアルゴリズムが無効になる。さらに、製品シュリンクレベルの異なるメモリへの置換えにより、現行のECCアルゴリズムの改変が必要になる。また、内部に組み込まれたECCを備える現在のメモリ・デバイスには、フラッシュおよびECCアルゴリズム論理回路向けのダイ・エリアの組合せに基づくコスト上の不利益が存在する。
これらの不備を解消するために、本発明によれば、図2に示すアーキテクチャにより、単一の仮想化ECC-NANDコントローラ26が複数のNANDメモリ構造体、すなわち「raw」メモリ・スタック24にサービスすることが可能になっている。「raw」の語は、NANDメモリ・デバイスがECCアルゴリズムを内部で実施しないことを意味する。ホストCPU20が、仮想化ECC-NANDコントローラ26およびraw NANDメモリ構造体を、内部のraw NANDメモリの数に関わらず単一のメモリ・システムとして駆動する。さらに、この解決手法では、1度に1つのNANDを選択することができるので、従来技術のスタック・アーキテクチャと比較して電力消費が減少する。仮想化ECC-NANDコントローラ26には、ホストCPU20と信号を交換するプロトコル・インタフェース30と、ECCアルゴリズムを実施するように機能するECCエンジン32と、メモリ・スタック24を管理するNANDインタフェース34とが含まれる。
仮想化ECC-NANDコントローラ26は、ホストNANDインタフェースからraw NANDメモリ・スタックへのブリッジとして機能し、システム・メモリ中に設けられたrawNANDに対する正しいECCアルゴリズムをホストに供給する。ホスト側は、自体の標準NANDインタフェース、アドレス空間、コマンド・セット、ページ・サイズ、ECC等を用いて動作し、仮想化ECC-NANDコントローラ26は、メモリ・スタック中に組み込まれた特定のraw NANDにホスト側を適応させる。
NANDスタック中の個々のNANDメモリ・デバイスからECC機能を取り除き、この機能をECC-NANDコントローラ26に組み込むことにより、様々な特徴を実現させることができる。NANDメモリ・デバイスの外にあるECC-NANDコントローラ26の場合、ホスト側では、複数のNANDメモリ・デバイスが記憶システム中に存在しても、ホストがシステムを単一のNANDチップとして駆動することを可能にする仮想化アドレス空間が実現する。したがって、ホストCPU20は、より多くのチップをインタフェースにおいて自由に管理することができる。すなわち、ホストCPU20が1つのチップをインタフェースにおいて管理すれば、仮想化ECC-NANDコントローラ26がスタック・メモリ中の複数のNANDメモリ・デバイスを管理することができる。
従来技術の製品では、ECCが、たとえばFTL(Flash Translation Layer)、ウエアレベリング、不良ブロック管理等のデータ管理アルゴリズムとともに共通の集積回路に組み込まれている。これに対して、図に示すアーキテクチャでは、ECCがデータ管理アルゴリズムから分離している。仮想化ECC-NANDコントローラ26は、ECCアルゴリズムのみを実行し、他のデータ管理アルゴリズムを実行しない。これにより、ホストCPU20は、データ・ページおよびメタデータ・エリアについて仮想化メモリの完全な制御を維持することができ、仮想化ECC-NANDコントローラ26は、より良好なECCエンジンを提供することができる。
ホストNANDインタフェースからraw NANDメモリ・スタックへのブリッジとして仮想化ECC-NANDコントローラ26を利用する際には、ホスト・プラットホームは、raw NANDのページ・サイズとは異なるページ・サイズを管理することもできる。さらに、仮想化ECC-NAND26は、ホスト・プラットホームをメモリ・スタックから分離し、これにより、ホストCPU20が、rawNANDにサポートされていないいくつかのコマンドを使用することが可能になる。一実施形態では、ホストCPU20は、仮想化ECC-NAND中の物理メモリ・デバイスのコマンド・セットよりも大きなコマンド・セットを有することができ、別の実施形態では、ホストのコマンド・セットを、仮想化ECC-NAND中のコマンド・セットと比較して縮減したコマンド・セットとすることができる。どちらの実施形態でも、ECC-NANDコントローラ26中の論理回路により、ホストCPU20のコマンド・セットが物理メモリ・デバイスのコマンド・セットに適応される。ホスト・プラットホームは、基本NANDコマンド・セットを使用してもよく、また仮想化NANDコントローラ26は、拡張新規コマンド・セットを使用してもよい。
図3は、ホストCPU20が、プロトコル仕様から変化していない電気的接続を介してプロトコル・インタフェース30にインタフェースをとることを可能にし、これにより、ホストが、エラーの無い広いアドレス空間を用いて単一のメモリ・システムと通信を行うことが可能になる、更なる詳細を示す。言い換えると、このアーキテクチャは、ホストCPU20がメモリ・スタック24とのデータ交換を標準NANDインタフェースとして実現することを可能にし、これにより、仮想コマンド・セットおよびアドレス空間を維持している。
同時に、ホスト・プラットホームに内部論理回路を追加することなく、ECC-NAND26は、raw NAND中のビットエラーを訂正することによりデータ交換の総合的信頼度を増大させるためのECC機能を提供する。仮想化ECC-NANDコントローラ26がスタックの選択されたNANDにデータをリダイレクトし、その一方で、ホストCPU20が接続されたメモリ・デバイスを単一のNANDチップであるかのように駆動するので、このアドレス指定は仮想化されたものである。このように、単一の仮想化ECC-NANDコントローラ26が、NANDフラッシュ・メモリのスタックを管理し、ECCアルゴリズムを実行する。
さらに、仮想化ECC-NANDコントローラ26をホストCPU20とメモリ・スタック24との間に有するこのアーキテクチャにより、様々なチップイネーブル(CE)ピンを使用してNANDメモリの組を管理することの可能なホストに、単一のNANDデバイスの使用を適用することができるようになる。一実施形態では、ホスト・インタフェースが、CE信号を使用して様々なフラッシュ・メモリを選択的に駆動するが、仮想化ECC-NANDは、より密度の高い単一のNANDチップからなるものである。仮想化ECC-NANDコントローラ26の内部論理回路が、ホストCPU20からの要求を変換し、これにより、CEの1つがアサートされてNANDアレイの一部分をアドレス指定し、こうすることにより、選択されたNANDメモリ・デバイス自体によってサポートされたアドレス・サイクルにこのホストCPU20からの要求が符号化される。ホストCPU20は、rawNANDメモリ・デバイスに必要なサイクル数よりも低いアドレス・サイクル数を有してもよいことに留意されたい。さらに、このホスト・プラットホームは、rawNANDメモリ・デバイスのページ・サイズとは異なるページ・サイズを管理し得、たとえばマルチプレーン(multi-plane)・オペレーションやキャッシュ(cache)・オペレーションなどの、メモリ・デバイスにサポートされていないいくつかのコマンドを使用さえし得る。
たとえば、raw NANDメモリ・デバイスがマルチプレーン・オペレーションをサポートしていない場合、仮想化ECC-NANDコントローラ26は、これらマルチプレーン・オペレーションのコマンドを2つのチャンネルでエミュレートすることができる。rawNANDメモリ・デバイスがキャッシュ・オペレーションをサポートしていない場合、仮想化ECC-NANDコントローラ26は、内部ピンポン・バッファ等を用いてこれらキャッシュ・オペレーションのコマンドをエミュレートすることができる。さらに、ホスト・プラットホームがrawNANDメモリ・デバイスのページ・サイズと異なるページ・サイズを必要とする場合、仮想化ECC-NANDコントローラ26は、ページ・サイズおよびページ数が実際のものとは異なる仮想化物理的ブロックを提供する。
プロトコル・インタフェース30は、仮想化ECC-NANDコントローラ26の、標準NAND通信プロトコルを用いてホストCPU20と通信を行う部分である。プロトコル・インタフェース30は、任意の受信コマンドを解釈し、さらに、ホストが転送する任意のデータの格納を指示する。さらに、プロトコル・インタフェース30は、ECCアルゴリズムによるレイテンシ(待ち時間)を考慮に入れるために、NANDレディ/ビジー(Ready/Busy)信号を管理する。プロトコル・インタフェース30は、ホストCPU20により送信されるデータをプログラム動作中格納するための内部バッファ36を有する。プロトコル・インタフェース30は、確認コマンドに従って、仮想化ECC-NANDコントローラ26へのいかなるデータ・オペレーションをも回避するためにビジー信号をロー(low)にセットする。
バッファ36のサイズは、ECCの計算によるレイテンシを短縮するように適当に選択される。バッファ・サイズが適当であれば、ホストCPU20は、書込み動作中に前のフラッシュ動作が終了するのを待つことなく新たなページを送り始めることができる。このタイミング的利点は、順次読取り動作中に有益であり、したがって、ECCエンジン30が現在のページの冗長度を計算しながら、次のページをrawNANDから取り出すことができる。
ECCエンジン32は、仮想化ECC-NANDコントローラ26の、ホストCPU20から送られたデータの冗長度を計算するECCアルゴリズムを実施するように機能する部分である。ECCアルゴリズムは、オリジナルの情報に対して、スタック・メモリ24への格納、書込み、またはそこからの読出し中に起こるエラーを検出および訂正するのに使用される。ECCアルゴリズムは、多値、巡回、エラー訂正、可変長デジタル符号を実行して、複数のランダムなエラーパターンを訂正することができる。よって、ECCエンジン32は、BCH符号またはリード・ソロモン・アルゴリズムを実行することができる。
書込み動作中、ECCアルゴリズムにより、ホストから送られたデータの冗長度が計算される。冗長度が計算されると、それはホスト・データに加えられて、NANDフラッシュ・ページ・バッファに転送される。読取り動作中、ECCエンジン32は、rawNANDからのデータの冗長度を再度計算し、この冗長度を、先立ってフラッシュ・メモリ中に記憶していた古い冗長値と比較する。2つの冗長度が等しい場合、データは正しいものであり、そのデータはプロトコル・インタフェース・バッファからホストCPU20に転送することができる。ただし、2つの冗長度が等しくない場合、ECCエンジン32が誤ったデータ・ビットを訂正し、その後、データをホストCPU20に転送し得る。エラーの数がECC訂正能力を上回る場合、読取り失敗の信号がホストCPU20に送られる。
NANDインタフェース34は、仮想化ECC-NANDコントローラ26の、ホストCPU20から先立って受け取ったコマンド及びアドレスの両方を再構成することによりraw NANDと通信を行うように機能する部分である。こうして、書込み動作中、データは、プロトコル・インタフェース・バッファから、選択されたフラッシュ・メモリに転送される。この機能では、NANDインタフェース34は、アドレスを復号して、受け取ったデータを選択されたNANDにリダイレクトし、ECC冗長度を加えたデータの新たなペイロードを、スタック・メモリ24中の選択されたrawNANDに送る。この動作中、ビジー信号はローに維持され、raw NANDプログラム動作が終了すると、高信号レベルに移行する。
読取り動作中、NANDインタフェース34は、選択されたraw NANDからのデータをプロトコル・インタフェース30中のバッファ36に転送する。一方、ECCエンジン32は、このデータを処理して関連パリティを計算し、フラッシュ・ストレージから読み取った冗長度と比較し、必要に応じて、ビット訂正が実施される。
プロトコル・インタフェース30が1つのチップイネーブル・ピンを有し、NANDインタフェース34が2つ以上のチップイネーブル・ピンを有する場合、メモリ・スタックの選択されたrawNANDメモリ・デバイスにデータをリダイレクトするためにアドレスが復号される。他方、プロトコル・インタフェース30がNANDインタフェース34よりも多くのチップイネーブル・ピンを有する場合、どのチップイネーブルがローであるかに応じてrawNANDの正しい部分にデータをリダイレクトするために、アドレスが復号される。
仮想化ECC-NANDコントローラ26を使用して、NANDフラッシュ・メモリのスタックの外部でECCアルゴリズムを実行することにより、技術およびメモリ・デバイスの数に関してフレキシブルなメモリ・システムの解決手法が保証される。実際、仮想化ECC-NANDコントローラ26は、メモリ・スタック24に含まれる不揮発性メモリがSLCかMLCかに関係なく動作し続けることができる。さらに、仮想化ECC-NANDコントローラ26は、複数のフラッシュNANDデバイスを管理することが可能であり、様々なシュリンクレベルのメモリ・デバイスを収容しさえする。また、仮想化ECC-NANDコントローラ26中のECC訂正機能の変更は、フラッシュNAND設計に影響を与えないことに留意されたい。さらに、図3に示すアーキテクチャで例示する解決手法では、1度に1つのNANDメモリ・デバイスを選択することができるので、従来のスタック・アーキテクチャと比較して消費電力が減少する。
新たなメモリ技術により、単一のセル中に格納するビット数が増大するにつれて、読取りエラー、書込みエラー、及び保持エラーの確率が上昇する。これにより、訂正力の向上した符号を有するより完全なECCアルゴリズムを使用することが必要になる。これらの技術的困難を解消するために、先に示した本発明の実施形態により、単一のコントローラがECCアルゴリズムを実施することに加えて、NANDフラッシュ・メモリのスタックを管理するアーキテクチャが提供されるということが明らかになったはずである。このアーキテクチャにより、ホストCPUが、エラーの無い広いアドレス空間で、標準NANDプロトコルを使用して単一のメモリ・システムを駆動することが可能になる。ECC訂正機能を外部コントローラ中に置くことにより、フラッシュ・マスク(flash mask)の変更の必要なしに、ECCアルゴリズムの変更を容易化することができる。また、こうした外部コントローラは、コントローラおよびNANDメモリに対する様々な技術の使用を可能にし、様々なシュリンクレベルのメモリ・デバイスを可能にする。
本発明の特定の特徴の例示および説明を本明細書中で行ってきたが、当業者は、多くの修正形態、代替形態、変更形態、均等物を見出すであろう。したがって、添付の特許請求の範囲は、本発明の真の趣旨に含まれる全てのこうした修正形態および変更形態を包含することを意図するものであることを理解されたい。
Claims (20)
- ホストに結合された記憶システムであって、
前記記憶システム内の第1および第2のNANDメモリ・デバイスと、
前記第1および第2のNANDメモリ・デバイスの外部にあるコントローラであって、前記記憶システムが複数のNANDメモリ・デバイスを含んでいても、前記ホストが前記記憶システムを単一のNANDチップとして駆動することを可能にするための仮想化アドレス空間を、前記ホストにエクスポートするコントローラと、
を備える記憶システム。 - 前記コントローラが、エラー訂正符号(ECC)アルゴリズムを実施し、ウエアレベリングおよび不良ブロック管理のデータ管理アルゴリズムを実施しない、
請求項1に記載の記憶システム。 - 前記コントローラが、前記ECCアルゴリズムの計算によるレイテンシを短縮するためのバッファを有するプロトコル・インタフェース回路を含む、
請求項2に記載の記憶システム。 - 前記プロトコル・インタフェース回路が、ECCアルゴリズムレイテンシを考慮に入れるための前記ホスト・プロセッサへのNANDレディ/ビジー信号を管理する、
請求項3に記載の記憶システム。 - 前記コントローラが、前記ホストのページ・サイズとは異なる、前記第1のNANDメモリ・デバイスのページ・サイズを管理する、
請求項1に記載の記憶システム。 - 前記コントローラが、前記ホストにより発行され、前記第1および第2のNANDメモリ・デバイスにサポートされていないコマンドを適応させる、
請求項1に記載の記憶システム。 - 前記コントローラが、前記ホスト・プロセッサから受け取るデータを選択されたNANDメモリ・デバイスにリダイレクトする不揮発性メモリ・デバイスである、
請求項1に記載の記憶システム。 - 記憶システム内のNANDメモリとのインタフェースをとるためのコントローラであって、
ホスト・プロセッサと信号を交換するためのプロトコル・インタフェース回路と、
ECCアルゴリズムを実行するためのECCエンジンと、
前記NANDメモリを管理するためのNANDインタフェースと
を備え、
前記ホスト・プロセッサにより発行され、前記NANDメモリにサポートされていないコマンドが、前記コントローラ内でエミュレートされる、
コントローラ。 - 前記コントローラが、ホストNANDインタフェースから前記NANDメモリへのブリッジであり、
前記コントローラが、前記記憶システム内に備えられた前記NANDメモリについて、前記ホスト・プロセッサに対するECCアルゴリズムを選択する、
請求項8に記載のコントローラ。 - 前記コントローラが、前記NANDメモリのページ・サイズとは異なる、前記ホスト・プロセッサからのページ・サイズを管理する、
請求項8に記載のコントローラ。 - 前記コントローラが、前記ホスト・プロセッサに対する単一のNANDインタフェースを提供し、こうすることにより、利用可能なアドレス入力サイクルに起因する、前記NANDメモリ内の使用可能なフラッシュの数の制限を取り除く、
請求項8に記載のコントローラ。 - 前記コントローラが、前記ホスト・プロセッサにデータを転送するためのバッファを備えるプロトコル・インタフェース回路を含み、
前記バッファが、順次読取り動作におけるECCアルゴリズム実行を並列化するためにデータの2番目のページを読み取るためのバッファリング能力を有する、
請求項8に記載のコントローラ。 - 前記プロトコル・インタフェース回路が、ECCアルゴリズムレイテンシを考慮に入れるための前記ホスト・プロセッサへのNANDレディ/ビジー信号を管理する、
請求項12に記載のコントローラ。 - ECCアルゴリズムを内部で実行しないNANDメモリ・デバイスのスタックを管理する方法であって、
ホスト・プロセッサと信号を交換するために、コントローラ・デバイスのプロトコル・インタフェース・ブロックを使用するステップであって、これにより、前記ホスト・プロセッサがエラーの無い広いアドレス空間を用いて通信を行うことを可能にする、ステップと、
前記コントローラ・デバイスに組み込まれたECCエンジン・ブロックを用いてECCアルゴリズムを実行するステップと、
前記NANDメモリ・デバイスのスタックへのデータ転送を管理するために、前記ホスト・プロセッサから受け取ったコマンド及びアドレスの両方を、前記コントローラ・デバイスに組み込まれたNANDインタフェース・ブロックを用いて再構成するステップと、
を含む方法。 - 前記ホスト・プロセッサからのデータの格納を命令するために、前記プロトコル・インタフェース・ブロックを用いて前記ホスト・プロセッサから受け取ったコマンドを解釈するステップをさらに含む、
請求項14に記載の方法。 - 順次読取り動作においてECCアルゴリズム実行を並列化するためにデータの2番目のページを読み取るためのバッファリング能力を有する前記プロトコル・インタフェース・ブロック内のバッファを、ロードするステップをさらに含む、
請求項14に記載の方法。 - 複数のNANDメモリ・デバイスを含む無線通信システムであって、
トランシーバと、
前記トランシーバに結合され、第1および第2のプロセッサ・コアを有するプロセッサと、
ECCコントローラであって、
コマンドおよびアドレスを受け取るための、及び前記プロセッサと信号を交換するための組込みNANDインタフェース・ブロック、
ECCアルゴリズムを実行するためのECCエンジン、ならびに
前記ホスト・プロセッサから受け取ったコマンド及びアドレスの両方を再構成して、前記複数のNANDメモリ・デバイスとのデータ転送を命令するためのNANDインタフェース回路、を有するECCコントローラと、
を備える無線通信システム。 - 前記ECCコントローラが、前記ECCアルゴリズムの計算によるレイテンシを短縮するためのバッファを有するプロトコル・インタフェース回路をさらに有する、
請求項17に記載の無線通信システム。 - 前記ECCコントローラは、前記プロセッサから受け取るデータを選択されたNANDメモリ・デバイスに前記ECCコントローラがリダイレクトし、その一方で、前記プロセッサが前記複数のNANDメモリ・デバイスを単一のNANDチップとして駆動することを可能にする、
請求項17に記載の無線通信システム。 - 前記ECCコントローラは、前記プロセッサが前記複数のNANDメモリ・デバイスのページ・サイズとは異なるページ・サイズを管理することを可能にする、
請求項17に記載の無線通信システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014158171A JP2014238871A (ja) | 2014-08-01 | 2014-08-01 | 単一の仮想化されたeccアルゴリズムを提供するコントローラと、このコントローラを含む記憶システム、及びこの記憶システムを管理する方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014158171A JP2014238871A (ja) | 2014-08-01 | 2014-08-01 | 単一の仮想化されたeccアルゴリズムを提供するコントローラと、このコントローラを含む記憶システム、及びこの記憶システムを管理する方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011530580A Division JP5650116B2 (ja) | 2008-10-09 | 2008-10-09 | 仮想化ecc−nand |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014238871A true JP2014238871A (ja) | 2014-12-18 |
Family
ID=52135907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014158171A Pending JP2014238871A (ja) | 2014-08-01 | 2014-08-01 | 単一の仮想化されたeccアルゴリズムを提供するコントローラと、このコントローラを含む記憶システム、及びこの記憶システムを管理する方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014238871A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853162B2 (en) | 2019-11-28 | 2023-12-26 | Sony Semiconductor Solutions Corporation | Controller and storage device |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6349812A (ja) * | 1986-08-19 | 1988-03-02 | Fujitsu Ltd | メモリ制御方式 |
US5918242A (en) * | 1994-03-14 | 1999-06-29 | International Business Machines Corporation | General-purpose customizable memory controller |
JP2003015947A (ja) * | 2001-07-05 | 2003-01-17 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2003131941A (ja) * | 2001-10-29 | 2003-05-09 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
US20030156454A1 (en) * | 2002-02-21 | 2003-08-21 | Jian Wei | Direct memory swapping between NAND flash and SRAM with error correction coding |
JP2003242470A (ja) * | 2002-02-21 | 2003-08-29 | Sony Corp | 外部接続機器及びホスト機器 |
JP2005107599A (ja) * | 2003-09-26 | 2005-04-21 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
JP2005209140A (ja) * | 2003-12-26 | 2005-08-04 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及び制御方法 |
US20070074093A1 (en) * | 2005-09-26 | 2007-03-29 | M-Systems Flash Disk Pioneers Ltd. | NAND flash memory controller exporting and NAND interface |
JP2008040723A (ja) * | 2006-08-04 | 2008-02-21 | Tdk Corp | メモリコントローラ及びメモリコントローラを用いたフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US20080082872A1 (en) * | 2006-09-29 | 2008-04-03 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and data transfer method |
JP2008102693A (ja) * | 2006-10-18 | 2008-05-01 | Tdk Corp | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2009003994A (ja) * | 2007-06-19 | 2009-01-08 | Toshiba Corp | 半導体記憶装置 |
-
2014
- 2014-08-01 JP JP2014158171A patent/JP2014238871A/ja active Pending
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6349812A (ja) * | 1986-08-19 | 1988-03-02 | Fujitsu Ltd | メモリ制御方式 |
US5918242A (en) * | 1994-03-14 | 1999-06-29 | International Business Machines Corporation | General-purpose customizable memory controller |
JP2003015947A (ja) * | 2001-07-05 | 2003-01-17 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
JP2003131941A (ja) * | 2001-10-29 | 2003-05-09 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム及びフラッシュメモリの制御方法 |
US20030156454A1 (en) * | 2002-02-21 | 2003-08-21 | Jian Wei | Direct memory swapping between NAND flash and SRAM with error correction coding |
JP2003242470A (ja) * | 2002-02-21 | 2003-08-29 | Sony Corp | 外部接続機器及びホスト機器 |
US20040133717A1 (en) * | 2002-02-21 | 2004-07-08 | Jun Tashiro | External connection device, host device, and data communication system |
JP2005107599A (ja) * | 2003-09-26 | 2005-04-21 | Tdk Corp | メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法 |
JP2005209140A (ja) * | 2003-12-26 | 2005-08-04 | Tdk Corp | メモリコントローラ、フラッシュメモリシステム及び制御方法 |
US20070074093A1 (en) * | 2005-09-26 | 2007-03-29 | M-Systems Flash Disk Pioneers Ltd. | NAND flash memory controller exporting and NAND interface |
WO2007034481A2 (en) * | 2005-09-26 | 2007-03-29 | Sandisk Il Ltd. | A nand flash memory controller exporting a nand interface |
JP2008040723A (ja) * | 2006-08-04 | 2008-02-21 | Tdk Corp | メモリコントローラ及びメモリコントローラを用いたフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
US20080082872A1 (en) * | 2006-09-29 | 2008-04-03 | Kabushiki Kaisha Toshiba | Memory controller, memory system, and data transfer method |
JP2008090433A (ja) * | 2006-09-29 | 2008-04-17 | Toshiba Corp | メモリコントローラ、メモリシステム及びデータ転送方法 |
JP2008102693A (ja) * | 2006-10-18 | 2008-05-01 | Tdk Corp | メモリコントローラ及びフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2009003994A (ja) * | 2007-06-19 | 2009-01-08 | Toshiba Corp | 半導体記憶装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11853162B2 (en) | 2019-11-28 | 2023-12-26 | Sony Semiconductor Solutions Corporation | Controller and storage device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5650116B2 (ja) | 仮想化ecc−nand | |
US10372339B2 (en) | Extensible memory hub | |
US9929967B2 (en) | Packet deconstruction/reconstruction and link-control | |
US20180203605A1 (en) | Data transmitting method, memory storage device and memory control circuit unit | |
US10116335B2 (en) | Data processing method, memory storage device and memory control circuit unit | |
US20140108714A1 (en) | Apparatus and method for generating descriptors to transfer data to and from non-volatile semiconductor memory of a storage drive | |
US20150205540A1 (en) | Memory system including nonvolatile memory devices and operating method | |
KR20220045343A (ko) | 데이터 처리 시스템 내 데이터 전송에서 발생한 에러를 정정하는 장치 및 방법 | |
EP3847539B1 (en) | A memory sub-system including an in package sequencer separate from a controller | |
WO2020051520A1 (en) | Providing bandwidth expansion for a memory sub-system including a sequencer separate from a controller | |
US11101822B1 (en) | Data writing method, memory control circuit unit and memory storage apparatus | |
EP3499376B1 (en) | Memory system varying operation of memory controller according to internal status of memory device | |
US11139044B2 (en) | Memory testing method and memory testing system | |
JP2014238871A (ja) | 単一の仮想化されたeccアルゴリズムを提供するコントローラと、このコントローラを含む記憶システム、及びこの記憶システムを管理する方法 | |
CN107608817B (zh) | 解码方法、存储器存储装置及存储器控制电路单元 | |
US10067677B2 (en) | Memory management method for configuring super physical units of rewritable non-volatile memory modules, memory control circuit unit and memory storage device | |
TWI475378B (zh) | 耦合至一主機之儲存系統、與儲存系統中之nand記憶體介接之控制器及管理nand記憶體裝置堆疊之方法 | |
US10102121B1 (en) | Memory management method, memory control circuit unit and memory storage device | |
KR20210083888A (ko) | 입출력 성능이 향상된 메모리 시스템 및 그의 동작 방법 | |
US11409596B1 (en) | Encoding control method, memory storage device and memory control circuit unit | |
CN117331866A (zh) | 控制器高速缓存架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20150820 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150901 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20151104 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20151215 |