(57)【要約】【課題】モバイル・メモリ・デバイスのためのキャッシュ読み取り最適化を可能にする方法が記載されている。【解決手段】この方法は、メモリ・デバイスにおいて、ホストから、前記メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするように指示する１つ以上のアクセス・コマンドを受信するステップを含む。この少なくとも２つのデータ・ブロックはアクセスされる。この方法は、このメモリ・デバイスにより、前記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成することを含む。この方法に関する装置とコンピュータ読取り可能メディアも、記述される。【選択図】図６
2014523046.tif 000002
【特許請求の範囲】
【請求項１】
メモリ・デバイスにおいて、ホストから、少なくとも１つのアクセス・コマンドを受信するステップであって、該アクセス・コマンドは、該メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするように指示する、ステップと、
前記少なくとも２つのデータ・ブロックにアクセスするステップと、
前記メモリ・デバイスにより、前記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、前記少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成するステップと、
を含む方法。
【請求項２】
前記プリフェッチ情報を生成するステップは、前記ホストによって提供される情報と、前記メモリ・デバイスに対するコントローラにおけるルールと、のうちの少なくとも１つに、さらに基づいている、請求項１に記載の方法。
【請求項３】
前記少なくとも１つのアクセス・コマンドの各々のアクセス・コマンドは、
コンテキスト識別子と、
タスク・タグと、
プリフェッチ識別子と、
グループ番号と、
のうちの少なくとも１つを含むインデックス情報に結びついている、請求項１または２に記載の方法。
【請求項４】
前記少なくとも１つのアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを含み、
第１のアクセス・コマンドと第２のアクセス・コマンドとは、同一のインデックス情報を含む、
請求項３に記載の方法。
【請求項５】
少なくとも１つのアクセス・コマンドを受信するステップは、
１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信することと、
前記１回目の後、２回目に第２のアクセス・コマンドを受信することであって、前記第２のアクセス・コマンドは、前記第１のインデックス情報と異なる第２のインデックス情報を含む、ことと、
前記２回目の後、３回目に前記第１のインデックス情報を含む第３のアクセス・コマンドを受信することと、
を含む、請求項３に記載の方法。
【請求項６】
前記プリフェッチ情報を生成するステップは、前記第１のアクセス・コマンドに応じてアクセスされた最後のデータ・ブロックを前記第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックにリンクすることを含む、請求項５に記載の方法。
【請求項７】
前記プリフェッチ情報を生成するステップは、第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックに対する新たなリンキング・データ・セッションを開始することを含み、
同一のインデックス情報を有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる、請求項５に記載の方法。
【請求項８】
マッチング・インデックス情報を有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、
前記マッチング・インデックス情報を有する前のアクセス・コマンドの後の所定の時間の経過と、前記リンキング・データ・セッションが開始した後の時間の経過と、制御レジスタにおける変更と、のうちの１つに応じて、新たなリンキング・データ・セッションを開始することをさらに含む、請求項３に記載の方法。
【請求項９】
前記プリフェッチ情報を生成するステップは、前記少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、前記少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクすることを含む、請求項１ないし４のいずれか１項に記載の方法。
【請求項１０】
前記少なくとも１つのアクセス・コマンドは、読み取りコマンドと書き込みコマンドとの少なくとも１つを含む、請求項１ないし９のいずれか１項に記載の方法。
【請求項１１】
前記プリフェッチ情報は、第１のブロックが読み取られるときに、少なくとも２つのブロックをプリフェッチする指示を含む、請求項１ないし１０のいずれか１項に記載の方法。
【請求項１２】
前記メモリ・デバイスに、前記ホストに第１の読み取られたデータ・ブロックを提供するように指示する第１の読み取りコマンドを受信するステップと、
前記第１の読み取られたデータ・ブロックを前記ホストに提供するステップと、
プリフェッチ情報に基づいて続いて読み取られたデータ・ブロックを決定するステップと、
前記続いて読み取られたデータ・ブロックをプリフェッチするステップと、
前記続いて読み取られたデータ・ブロックをプリフェッチした後に、前記続いて読み取られたデータ・ブロックを、前記ホストに提供するように前記メモリ・デバイスに指示する第２の読み取りコマンドを受信するステップと、
プリフェッチされた前記続いて読み取られたデータ・ブロックを、前記ホストに提供するステップと、
をさらに含む請求項１ないし１１のいずれか１項に記載の方法。
【請求項１３】
前記メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成することをやめるコマンドを受信するステップと、
前記メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止するステップと、
をさらに含む請求項１に記載の方法。
【請求項１４】
前記メモリ・デバイスに、前記少なくとも２つのデータ・ブロックのうちの少なくとも１つにアクセスするように指示する少なくとも１つの追加アクセス・コマンドを受信するステップと、
前記少なくとも１つの追加アクセス・コマンドに応じてアクセスされたデータ・ブロックの順序に基づいて、前記プリフェッチ情報を除去するステップと、
をさらに含む請求項１に記載の方法。
【請求項１５】
前記メモリ・デバイスは、少なくとも１つのＮＡＮＤメモリ格納デバイスを備える、請求項１ないし１４のいずれか１項に記載の方法。
【請求項１６】
少なくとも１つのプロセッサと、コンピュータ・プログラム・コードを含む少なくとも１つのメモリと、を備える装置であって、
前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、前記少なくとも１台のプロセッサで、前記装置に、
メモリ・デバイスにおいて、ホストから、前記メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするように指示する少なくとも１つのアクセス・コマンドを受信することと、
前記少なくとも２つのデータ・ブロックにアクセスすることと、
前記メモリ・デバイスにより、前記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、前記少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成することと、を少なくとも実行させるように構成されている、装置。
【請求項１７】
前記プリフェッチ情報を生成するステップは、さらに、前記ホストによって提供される情報と、前記メモリ・デバイスに対するコントローラにおけるルールと、のうちの少なくとも１つに基づいている、請求項１６に記載の装置。
【請求項１８】
前記少なくとも１つのアクセス・コマンドの各々のアクセス・コマンドは、
コンテキスト識別子と、
タスク・タグと、
プリフェッチ識別子と、
グループ番号と、のうちの少なくとも１つを含むインデックス情報に結びついている、請求項１６または１７に記載の装置。
【請求項１９】
前記少なくとも１つのアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを含み、
前記第１のアクセス・コマンドと前記第２のアクセス・コマンドとは、同一のインデックス情報を含む、請求項１８に記載の装置。
【請求項２０】
前記少なくとも１つのアクセス・コマンドを受信するとき、前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、
前記装置に、１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信させ、
前記１回目の後、２回目に第２のアクセス・コマンドを受信させ、ここで、前記第２のアクセス・コマンドは、前記第１のインデックス情報と異なる第２のインデックス情報を含み、
前記２回目の後、３回目に前記第１のインデックス情報を含む第３のアクセス・コマンドを受信させるように構成されている、請求項１８に記載の装置。
【請求項２１】
前記プリフェッチ情報を生成するときに、前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、
前記装置に、前記第１のアクセス・コマンドに応じてアクセスされた最後のデータ・ブロックを、前記第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックにリンクさせるように構成されている、請求項２０に記載の装置。
【請求項２２】
前記プリフェッチ情報を生成するときに、前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、
前記装置に、前記第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックに対する新たなリンキング・データ・セッションを開始させるように構成されており、
同一のインデックス情報を有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる、請求項２０に記載の装置。
【請求項２３】
インデックス情報のマッチングを有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、
前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、前記装置に、前記マッチング・インデックス情報を有する前のアクセス・コマンドの後の所定の時間の経過と、前記リンキング・データ・セッションが開始した後の時間の経過と、制御レジスタにおける変更と、のうちの１つに応じて、新たなリンキング・データ・セッションを開始させるように構成されている、請求項１８に記載の装置。
【請求項２４】
前記プリフェッチ情報を生成するときに、前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、前記装置に、前記少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、前記少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクさせるように構成されている、請求項１６ないし１９のいずれか１項に記載の装置。
【請求項２５】
前記少なくとも１つのアクセス・コマンドは、読み取りコマンドと書き込みコマンドとの少なくとも１つを含む、請求項１６ないし２４のいずれか１項に記載の装置。
【請求項２６】
前記プリフェッチ情報は、第１のブロックが読み取られるときに、少なくとも２つのブロックをプリフェッチする指示を含む、請求項１６ないし２５のいずれか１項に記載の装置。
【請求項２７】
前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、前記装置に、前記メモリ・デバイスに、
第１の読み取られたデータ・ブロックを前記ホストに提供するように指示している前記第１の読み取りコマンドを受信させ、
前記第１の読み取られたデータ・ブロックを、前記ホストに提供させ、
前記プリフェッチ情報に基づいて、続いて読み取られたデータ・ブロックを決定させ、  前記続いて読み取られたデータ・ブロックをプリフェッチさせ、
前記続いて読み取られたデータ・ブロックをプリフェッチした後に、前記続いて読み取られたデータ・ブロックを、前記ホストに提供するように前記メモリ・デバイスに指示している第２の読み取りコマンドを受信させ、
前記ホストに前記プリフェッチされた、続いて読み取られたデータ・ブロックを提供させるように構成されている、請求項１６ないし２６のいずれか１項に記載の装置。
【請求項２８】
前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、前記装置に、
前記メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成することをやめるコマンドを受信させ、
前記メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止させるように構成されている、請求項１６に記載の装置。
【請求項２９】
前記少なくとも１つのメモリと前記コンピュータ・プログラム・コードとは、
前記装置に、前記メモリ・デバイスに、前記少なくとも２つのデータ・ブロックのうちの少なくとも１つにアクセスするように指示する少なくとも１つの追加アクセス・コマンドを受信させ、
前記少なくとも１つのアクセス・コマンドに応答してアクセスされたデータ・ブロックの順序に基づいて、前記プリフェッチ情報を除去させるように構成されている、請求項１６に記載の装置。
【請求項３０】
前記装置は、集積回路において実現される、請求項１６ないし２９のいずれか１項に記載の装置。
【請求項３１】
プロセッサによって実行可能なコンピュータ・プログラムで実体的にエンコードされたコンピュータ読取り可能メディアであって、前記プロセッサによって実行可能な処理は、  メモリ・デバイスにおいて、ホストから、前記メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするように指示する少なくとも１つのアクセス・コマンドを受信することと、
前記少なくとも２つのデータ・ブロックにアクセスすることと、
前記メモリ・デバイスにより、前記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、前記少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成することと、を含む、コンピュータ読取り可能メディア。
【請求項３２】
前記プリフェッチ情報を生成することは、さらに、前記ホストによって提供される情報と、前記メモリ・デバイスに対するコントローラにおけるルールと、の少なくとも１つに基づいている、請求項３１に記載のコンピュータ読取り可能メディア。
【請求項３３】
前記少なくとも１つのアクセス・コマンドの各々のアクセス・コマンドは、
コンテキスト識別子と、
タスク・タグと、
プリフェッチ識別子と、
グループ番号と、のうちの少なくとも１つを含むインデックス情報に結びついている、請求項３１または３２に記載のコンピュータ読取り可能メディア。
【請求項３４】
前記少なくとも１つのアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを含み、
前記第１のアクセス・コマンドと前記第２のアクセス・コマンドとは、同一のインデックス情報を含む、請求項３３に記載のコンピュータ読取り可能メディア。
【請求項３５】
前記少なくとも１つのアクセス・コマンドを受信することは、
１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信することと、
前記１回目の後、２回目に、前記第１のインデックス情報と異なる第２のインデックス情報を含む、第２のアクセス・コマンドを受信することと、
前記２回目の後、３回目に前記第１のインデックス情報を含む第３のアクセス・コマンドを受信することと、を含む、請求項３３に記載のコンピュータ読取り可能メディア。
【請求項３６】
前記プリフェッチ情報を生成するステップは、前記第１のアクセス・コマンドに応じてアクセスされた最後のデータ・ブロックを、前記第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックにリンクすることを含む、請求項３５に記載のコンピュータ読取り可能メディア。
【請求項３７】
前記プリフェッチ情報を生成するステップは、第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックに対する新たなリンキング・データ・セッションを開始することを含み、
同一のインデックス情報を有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる、請求項３５に記載のコンピュータ読取り可能メディア。
【請求項３８】
インデックス情報のマッチングを有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、
前記処理は、さらに、前記マッチング・インデックス情報を有する前のアクセス・コマンドの後の所定の時間の経過と、前記リンキング・データ・セッションが開始した後の時間の経過と、制御レジスタにおける変更と、のうちの１つに応じて、新たなリンキング・データ・セッションを開始することを含む、請求項３３に記載のコンピュータ読取り可能メディア。
【請求項３９】
前記プリフェッチ情報を生成するステップは、前記少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、前記少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクすることを含む、請求項３１ないし３４のいずれか１項に記載のコンピュータ読取り可能メディア。
【請求項４０】
前記少なくとも１つのアクセス・コマンドは、読み取りコマンドと書き込みコマンドとの少なくとも１つを含む、請求項３１ないし３９のいずれか１項に記載のコンピュータ読取り可能メディア。
【請求項４１】
前記プリフェッチ情報は、第１のブロックが読み取られるときに、少なくとも２つのブロックをプリフェッチする指示を含む、請求項３１ないし４０のいずれか１項に記載のコンピュータ読取り可能メディア。
【請求項４２】
前記処理は、さらに、
前記メモリ・デバイスに、第１の読み取られたデータ・ブロックを前記ホストに提供するように指示している前記第１の読み取りコマンドを受信することと、
前記第１の読み取られたデータ・ブロックを前記ホストに提供することと、
プリフェッチ情報に基づいて続いて読み取られたデータ・ブロックを決定することと、前記続いて読み取られたデータ・ブロックをプリフェッチすることと、
前記続いて読み取られたデータ・ブロックをプリフェッチした後に、
前記続いて読み取られたデータ・ブロックを、前記ホストに提供するように前記メモリ・デバイスに指示する第２の読み取りコマンドを受信することと、
プリフェッチされた前記続いて読み取られたデータ・ブロックを、前記ホストに提供することと、を含む、請求項３１ないし４１のいずれか１項に記載のコンピュータ読取り可能メディア。
【請求項４３】
前記処理は、さらに、
前記メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成することをやめるコマンドを受信することと、
前記メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止することと、を含む、請求項３１に記載のコンピュータ読取り可能メディア。
【請求項４４】
前記処理は、さらに、
前記メモリ・デバイスに、前記少なくとも２つのデータ・ブロックのうちの少なくとも１つにアクセスするように指示する少なくとも１つの追加アクセス・コマンドを受信することと、
前記少なくとも１つのアクセス・コマンドに応答してアクセスされたデータ・ブロックの順序に基づいて、前記プリフェッチ情報を除去することと、を含む、請求項３１に記載のコンピュータ読取り可能メディア。
【請求項４５】
前記メモリ・デバイスは、少なくとも１つのＮＡＮＤメモリ格納デバイスを備える、請求項３１ないし４４のいずれか１項に記載のコンピュータ読取り可能メディア。
【請求項４６】
メモリ・デバイスにおいて、ホストから、少なくとも１つのアクセス・コマンドを受信する手段であって、該少なくとも１つのアクセス・コマンドは、前記メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするように指示する、手段と、
前記少なくとも２つのデータ・ブロックにアクセスする手段と、
前記メモリ・デバイスにより、前記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、前記少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成する手段と、を備える装置。
【請求項４７】
前記生成する手段は、前記ホストによって提供される情報と、前記メモリ・デバイスに対するコントローラにおけるルールと、のうちの少なくとも１つのに基づいて、前記プリフェッチ情報を生成するためのものである、請求項４６に記載の装置。
【請求項４８】
前記少なくとも１つのアクセス・コマンドの各々のアクセス・コマンドは、
コンテキスト識別子と、
タスク・タグと、
プリフェッチ識別子と、
グループ番号と、のうちの少なくとも１つを含むインデックス情報に結びついている、請求項４６または４７に記載の装置。
【請求項４９】
少なくとも１つのアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを備え、
前記第１のアクセス・コマンドと前記第２のアクセス・コマンドとは、同一のインデックス情報を含む、請求項４８に記載の装置。
【請求項５０】
前記受信する手段は、
１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信する手段と、
前記１回目の後、２回目に、前記第１のインデックス情報と異なる第２のインデックス情報を含む第２のアクセス・コマンドを受信する手段と、
前記２回目の後、３回目に前記第１のインデックス情報を含む第３のアクセス・コマンドを受信する手段と、を備える、請求項４８に記載の装置。
【請求項５１】
前記第１のアクセス・コマンドに応じてアクセスされた前記生成する手段は、最後のデータ・ブロックを前記第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックにリンクする手段を備える、請求項５０に記載の装置。
【請求項５２】
前記生成する手段は、前記第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックに対する新たなリンキング・データ・セッションを開始する手段であって、同一のインデックス情報を有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる、手段を備える、請求項５０に記載の装置。
【請求項５３】
インデックス情報のマッチングを有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、
前記マッチング・インデックス情報を有する前のアクセス・コマンドの後の所定の時間の経過と、前記リンキング・データ・セッションが開始した後の時間の経過と、制御レジスタにおける変更と、のうちの１つに応じて、新たなリンキング・データ・セッションを開始する手段をさらに含む、請求項４８に記載の装置。
【請求項５４】
前記生成する手段は、前記少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、前記少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクする手段を備える、請求項４６ないし４９のいずれか１項に記載の装置。
【請求項５５】
少なくとも１つのアクセス・コマンドは、読み取りコマンドと書き込みコマンドとの少なくとも１つを含む、請求項４６ないし５４のいずれか１項に記載の装置。
【請求項５６】
前記プリフェッチ情報は、第１のブロックが読み取られるときに、少なくとも２つのブロックをプリフェッチする指示を含む、請求項４６ないし５５のいずれか１項に記載の装置。
【請求項５７】
前記メモリ・デバイスに、前記ホストに第１の読み取られたデータ・ブロックを提供するように指示する第１の読み取りコマンドを受信する手段と、
前記ホストに前記第１の読み取られたデータ・ブロックを提供する手段と、
前記プリフェッチ情報に基づいて、続いて読み取られたデータ・ブロックを決定する手段と、
続いて読み取られたデータ・ブロックをプリフェッチする手段と、
前記続いて読み取られたデータ・ブロックをプリフェッチした後に、前記続いて読み取られたデータ・ブロックを、前記ホストに提供するように前記メモリ・デバイスに指示している第２の読み取りコマンドを受信する手段と、
前記ホストに、前記プリフェッチされた、続いて読み取られたデータ・ブロックを提供するための手段と、をさらに備える請求項４６ないし５６のいずれか１項に記載の装置。
【請求項５８】
前記メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成することをやめるコマンドを受信する手段と、
前記メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止する手段と、をさらに備える請求項４６に記載の装置。
【請求項５９】
前記メモリ・デバイスに、前記少なくとも２つのデータ・ブロックのうちの少なくとも１つにアクセスするように指示する少なくとも１つの追加アクセス・コマンドを受信する手段と、
前記少なくとも１つのアクセス・コマンドに応答してアクセスされたデータ・ブロックの順序に基づいて、前記プリフェッチ情報を除去する手段と、をさらに備える請求項４６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明の例示的で非限定的な実施形態は、一般に、メモリ・デバイスに関し、より詳細には、モバイル・メモリ・デバイスのキャッシュ読み取り最適化を提供することに関するものである。
【背景技術】
【０００２】
このセクションでは、特許請求の範囲において記載される本願発明についての背景および文脈を提供することを目的とする。ここでの説明は、追求することができた概念を含むかもしれないが、しかし、必ずしも、出願以前に考えられた、あるいは、追求されたものであるというわけではない。したがって、ここで、特に示されない限り、このセクションにおいて記述される内容は、本願の発明の説明と特許請求の範囲に対する先行技術でなく、このセクションにおいて含まれる先行技術であると認められない。
【０００３】
本願明細書や図面において見られるつぎの略語は、以下の通りに定められる。
ＤＢ            データベース
ＤＲＡＭ        ダイナミック・ランダム・アクセス・メモリ
ＥＣＣ          誤り訂正符号
ｅ−ＭＭＣ      埋め込みマルチ・メディア・カード
ｅＮＢ          Ｅ−ＵＴＲＡＮノードＢ（進化型ノードＢ）
ＦＷ            ファームウェア
ＨＷ            ハードウェア
ＮｏｄｅＢ      基地局
ＯＳ            オペレーティング・システム
ＰＣ            パソコン
ＳＢＣ（−３）  ＳＣＳＩブロック・コマンド
ＳＣＳＩ        小型コンピュータ・システム・インタフェース
ＳＳＤ          半導体ディスク
ＳＷ            ソフトウェア
ＵＥ            移動局や移動端末などのユーザ機器
ＵＦＳ      ユニバーサル・フラッシュ・ストレージ
【０００４】
ＵＥなどモバイル・デバイスは、例えば、音楽、ピクチャ、アプリケーション、マップ、など利用者データを格納するメモリを使用することができる。モバイル・デバイスにおいて格納される利用者データの量は、増加しており、大きくなり続けるであろう。いくつかのハイエンドのデバイスは、ＮＡＮＤメモリ技術（別名フラッシュメモリ）など、不揮発性メモリに基づいて、ユーザ・データ・ストレージを提供する。ＮＡＮＤメモリ使用は、ミッドレンジ・デバイスに拡大した。
【０００５】
典型的なモバイル管理ＮＡＮＤデバイスにおいて、実際のキャッシュメモリは、コストと電力最適化のために存在しない。ＮＡＮＤ自体において、いくつかのメモリ・コントローラＳＲＡＭとバッファ・メモリが存在できる。しかしながら、これらは、ＮＡＮＤメモリにプログラムされるか、ホストに配信される前にデータをバッファする一時的ストレージである。いくつかＰＣ市場において、ＳＳＤのような管理ＮＡＮＤデバイスは、そのメモリ・デバイスにおいて含まれるキャッシュ・メモリ・ストレージ、典型的にはＤＲＡＭ、を有することができる。ＳＳＤにおいて、データを、ＮＡＮＤストレージにそれを掃き出す前により長い期間ＤＲＡＭキャッシュに格納することができる。
【０００６】
パフォーマンスの標準化されたキャッシュ定義と改善は、主として、書込み操作に適用される。既存の標準化されたプリフェッチ／パック・コマンド・メカニズムは、事前にそのデバイスにアドレスを提供するために、どのデータが次にフェッチされなければならないかについてホストが分かっていることに基づいている。しかしながら、これは、常に妥当であるということはない。必要であるのは、ＮＡＮＤメモリ・デバイスにおいてメモリ読込みを改善する方法である。
【発明の概要】
【０００７】
この発明の概要は、単に例示的、非限定的であることを意図している。
【０００８】
本願発明の例示的な実施形態の使用によって、前述と他の問題は解決され、他の利点が認識される。
【０００９】
その第１の態様において、この発明の例示的な実施形態は、モバイル・メモリ・デバイスのためのキャッシュ読み取り最適化を可能にする方法を提供する。この方法は、（例えば、プロセッサで）メモリ・デバイスにおいて、ホストから、１つ以上のアクセス・コマンドを受信することを含み、その１つ以上のアクセス・コマンドは、少なくとも２つのデータ・ブロックにアクセスするよう、メモリ・デバイスに指示する。この少なくとも２つのデータ・ブロックにアクセスすることも、また、含まれる。この方法は、このメモリ・デバイスにより、上記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成することを含む。
【００１０】
その更なる態様において、本願発明の例示的な実施形態は、モバイル・メモリ・デバイスのためのキャッシュ読み取り最適化を可能にする装置を提供する。この装置は、１つ以上のプロセッサと、コンピュータ・プログラム・コードを含む１つ以上のメモリとを含み、この１つ以上のメモリとコンピュータ・プログラム・コードとは、この１つ以上のプロセッサで、装置に、処理の実行をさせるように構成されている。この処理は、メモリ・デバイスにおいて、ホストから、１つ以上のアクセス・コマンドを受信することを含み、その１つ以上のアクセス・コマンドは、メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするように指示する。この少なくとも２つのデータ・ブロックはアクセスされる。この処理は、また、このメモリ・デバイスにより、上記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成する。
【００１１】
それとは別の態様において、本願発明の例示的な実施形態は、モバイル・メモリ・デバイスのキャッシュ読み取り最適化を可能にするためのコンピュータ読取り可能媒体を提供する。コンピュータ読取り可能媒体は、処理を実行するプロセッサによって実行可能なコンピュータ・プログラムで実体的にエンコードされる。この処理は、メモリ・デバイスにおいて、ホストから、１つ以上のアクセス・コマンドを受信することを含み、その１つ以上のアクセス・コマンドは、メモリ・デバイスに少なくとも２つのデータ・ブロックにアクセスするように指示する。この少なくとも２つのデータ・ブロックはアクセスされる。この処理は、また、このメモリ・デバイスにより、上記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成することを含む。
【００１２】
その更なる態様において、本願発明の例示的な実施形態は、モバイル・メモリ・デバイスのためのキャッシュ読み取り最適化を可能にする装置を提供する。この装置は、メモリ・デバイスにおいて、ホストから、一つ以上のアクセス・コマンドを受信する手段と、ここで、その１つ以上のアクセス・コマンドは、少なくとも２つのデータ・ブロックにアクセスするよう、メモリ・デバイスに指示するものであり、前記少なくとも２つのデータ・ブロックにアクセスする手段と、このメモリ・デバイスにより、上記少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成する手段と、を含む。
【図面の簡単な説明】
【００１３】
本願発明の例示的な実施形態の前述および他の態様は、以下の「発明を実施するための形態」において、付帯した図面とともに読まれるときに、より明白になる。
【図１】図１は、本願発明の種々の例示的な実施形態の実施に使用するために適切な例示的な電子デバイスの簡略ブロック図を示す。
【図２】図２は、例えば、図１で示されるような例示的なユーザ機器のより詳しく述べられたブロック図を示す。
【図３】図３は、例えば、図１、２で示されるような例示的なメモリ・デバイスのより詳しく述べられたブロック図を示す。
【図４】図４は、図３で示されるような例示的なメモリ・ユニットのより詳しく述べられたブロック図を示す。
【図５】図５は、本願発明にしたがう例示的なメモリ書込み操作を図示する。
【図６】図６は、例示的な方法における動作、および、本願発明の種々の例示的な実施形態にしたがってコンピュータ読取り可能メモリの上で具体化されたコンピュータ・プログラム命令の実行の結果を図示する論理フロー図である。
【発明を実施するための形態】
【００１４】
ＮＡＮＤ読み取りアクセス時間は何十マイクロ秒のスケールでありえるので、次のデータを、少なくとも、ＮＡＮＤデバイスのバッファへ、または、誤り訂正符号（ＥＣＣ）により訂正してコントローラのバッファ／キャッシュに、データの要求に先立って、ホストが次のデータを要求するときに、それをキャッシュから届けることができるように、フェッチすることができることは有利である。これは、ホストプロセッサに負担をかけることなく読込み操作の平均速度を上げることができる。その上に、アクセス要求がより速く満たされるので、メモリ・モジュールは、よりすぐに、電力消費最適化の手段を提供する低電力状態に至ることができる。その上、データのリンキングを、正しいデータがフェッチされることを確実にするために、改善することができる。
【００１５】
本願発明のさらに詳細な種々の例示的な実施形態を記述する前に、本願発明の例示的な実施形態の実施に適切な種々の電子デバイスや装置の簡略ブロック図を図示する図１を参照する。
【００１６】
図１の無線システム２３０において、無線ネットワーク２３５は、ＮｏｄｅＢ（基地局）のような、より具体的にはｅＮＢ２２０のようなネットワーク・アクセス・ノードを介して、ＵＥ２１０として参照される移動通信装置のような装置で無線リンク２３２にわたる通信に適応する。
【００１７】
ＵＥ  ２１０は、コンピュータやデータ・プロセッサ（ＤＰ）２１４などのコントローラと、コンピュータ命令（ＰＲＯＧ）２１８のプログラムを格納するメモリ（ＭＥＭ）２１６として具体化されるコンピュータ可読記憶媒体と、１つ以上のアンテナを介してｅＮＢ２２０との双方向無線通信のために、無線周波数（ＲＦ）トランシーバ２１２などの適切な無線インタフェースと、を含む。ＵＥ２１０は、たとえばメモリ・プロセッサー２１５など１つ以上の専用のプロセッサを含むこともできる。
【００１８】
ＰＲＯＧ２１８は、プログラム命令を含むとされ、結合するＤＰ２１４によって実行されるとき、デバイスが、本願発明の例示的な実施形態に従って動作することを可能にする。これについては、以下で、より詳細に議論する。
【００１９】
すなわち、本願発明の種々の例示的な実施形態は、少なくとも部分的には、ＵＥ２１０のＤＰ２１４によって実行可能なコンピュータ・ソフトウェアによって、または、ハードウェアによって、または、ソフトウェアとハードウェア（および、ファームウェア）の組合せによって、インプリメントすることができる。
【００２０】
一般的に、ＵＥ２１０の種々の実施形態は、移動電話、無線通信能力を有するパーソナル携帯情報機器（ＰＤＡ）、無線通信能力を有するポータブル・コンピュータ、デジタル・カメラのような画像キャプチャー・デバイス、ゲーム・デバイス、音楽格納・再生機器、無線インターネット接続とブラウジングを可能にするインターネット機器、ならびに、そのような機能の組合せを組み込んだ携帯型ユニットまたは端末、を含むことができる。しかし、これらに制限されるものではない。
【００２１】
コンピュータ読取り可能ＭＥＭ２１６は、ローカルな技術的環境に対して適切な任意のタイプであってよく、例えば、半導体ベース・メモリ素子、フラッシュ・メモリ、磁気メモリ・デバイスとシステム、光メモリ・デバイスとシステム、固定メモリと取り外し可能メモリなど、いかなる適切なデータ・ストレージ技術を使用してもインプリメントすることができる。ＤＰ２１４は、ローカルな技術的環境に対して適切な任意のタイプであってよく、汎用コンピュータ、専用コンピュータ、マイクロ・プロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）、マルチコア・プロセッサ・アーキテクチャに基づくプロセッサの１つ以上を、非限定的な例として、含むことができる、無線インタフェース（例えば、ＲＦトランシーバ２１２）は、ローカルな技術的環境に対して適切な任意のタイプであってよく、例えば、個々の送信器、受信機、トランシーバまたはそのようなコンポーネントの組合せなど、いかなる適切な通信技術を使用してもインプリメントすることができる。
【００２２】
図２は、平面図（左）と断面図（右）との両方において、例示的なＵＥに関する詳細を図示する。本願発明は、多くの機能特定コンポーネントの１つまたはいくつかの組合せにおいて、具体化することができる。図２において、ＵＥ２１０は、キーパッドとして図示されるグラフィック・ディスプレイ・インタフェース３２０とユーザ・インタフェース３２２を有する。しかし、また、グラフィック・ディスプレイ・インタフェース３２０ではタッチスクリーン技術、また、マイクロフォン３２４で受信される音声認識技術も含むように理解される。パワー・アクチュエータ３２６は、ユーザによってオン／オフされている装置を制御する。例示的なＵＥ２１０は、（例えば、ビデオ通話のために）前方向きに示されるカメラ３２８を有することができる。しかし、代替的に、あるいは、追加的に、（例えば、ローカル・ストレージに対する画像およびビデオのキャプチャのために）後方向きであることもできる。カメラ３２８は、シャッター・アクチュエータ３３０によって制御され、選択的に、カメラ３２８がアクティブ・モードにないとき、スピーカ３３４のボリューム調整として代替的に機能することができるズーム・アクチュエータ３３２によって制御される。
【００２３】
図２の断面図に、典型的にはセルラ通信に使われる複数の送信／受信アンテナ３３６がみられる。アンテナ３３６は、ＵＥにおいて、他の無線を使用するマルチバンドでありえる。アンテナ３３６のための使用可能なグラウンド層は、ＵＥ筐体により封入された全スペースにわたってシェードされて示されるが、いくつかの実施形態においては、グラウンド層は、パワー・チップ３３８が形成されるプリント配線板の上に配置されるように、より小さな領域に限定することできる。パワー・チップ３３８は、送信されているチャネルや、空間ダイバーシティが用いられ同時に送信するアンテナ全体での電力増幅を制御し、受信信号を増幅する。パワー・チップ３３８は、増幅された受信信号をベースバンド処理のために信号を復調して、ダウンコンバートする無線周波（ＲＦ）チップ３４０に出力する。ベースバンド（ＢＢ）チップ３４２が、信号を検出し、それは、次に、ビット列に変換され、最後にデコードされる。同様の処理が、装置２１０において生成され、それから送信された信号にたいして逆向きに起きる。
【００２４】
カメラ３２８への、および、カメラ３２８からの信号は、種々の画像フレームをエンコードし、デコードする画像／ビデオ・プロセッサ３４４を通過する。別々のオーディオ・プロセッサー３４６が、また、存在し、スピーカ３３４とマイク３２４へ、および、それらから信号を制御することもできる。グラフィック・ディスプレイ・インタフェース３２０は、フレームメモリ３４８からレフレッシュされる。ユーザ・インタフェース・チップ３５０で制御されて、ユーザ・インタフェース・チップ３５０は、表示インタフェース３２０へ、および、それからの信号を処理することができ、追加的に、キーパッド３２２やその他からのユーザ入力を処理することができる。ＵＥ２１０の特定の実施形態は、また、アンテナ・オンチップを組み込むことができる、あるいは、オフ・チップ・アンテナに結合することができる、例えば、無線ローカル・エリア・ネットワークＷＬＡＮ３３７やブルートゥース無線３３９など、１つ以上の二次無線を含むこともできる。装置のいたるところに、例えば、ランダム・アクセス・メモリＲＡＭ３４３、リード・オンリー・メモリＲＯＭ３４５など種々のメモリが存在する。そして、いくつかの実施形態において、図示されたメモリーカード３４７のような取り外し可能メモリが存在する。種々のプログラム２１８は、フラッシュ３３３、例えば、ＮＡＮＤ、ｅＭＭＣ、ＵＦＳ、ＳＳＤ、などののうちの１つ以上のものに格納することができる。ＵＥ２１０の中のこれらのコンポーネントの全てが、通常、例えば、バッテリー３４９のような携帯型電源装置によって電力供給される。
【００２５】
プロセッサ３３８、３４０、３４２、３４４、３４６、３５０は、ＵＥ２１０において別々のエンティティとして具体化される場合には、メイン・プロセッサ２１４のスレーブの関係において動作することができ、そして、メイン・プロセッサ２１４は、次に、それらのマスターの関係にありえる。本願発明の実施形態は、メモリ・モジュール（３３３、３４３、３４５、３４７、３４８）のコントローラに、最も関連する。しかしながら、他の実施形態は、そこに配置する必要はないけれども、図２に対して上述した機能のいくつかを結合する別のプロセッサの中に示すか、配置するように、種々のチップとメモリにわたって配置することができることに留意する。図２のこれらの種々のプロセッサの一部または全部は、種々のメモリの１つ以上にアクセスし、それらのメモリは、そのプロセッサとともにオン・チップであることができ、あるいは、それとは別であることもできる。
【００２６】
上で記述された種々のチップ（例えば、３３８、３４０、３４２など）は、組み合わせて、記述されたものより少数のものにすることができ、最もコンパクトな場合には、単一のチップのなかに物理的に具体化することができることに留意する。
【００２７】
図３は、例えば、図１、２で示されるような、ＭＥＭ２１６、ＲＡＭ３４３、ＲＯＭ３４５、フラッシュ３３３およびメモリーカード３４７など、例示的なメモリ・デバイスのより詳しく述べられたブロック図を示す。ＭＥＭ４１０は、メモリ・コントローラ（ＭＣ）４２０と、図示されるように、２つの個々の記憶装置ＭＥＭ４３０とＭＥＭ４４０を含む。別の例示的な実施形態において、１つ以上のメモリ・ユニットがあり得る。ＭＣ４２０は、読取り／書込み要求を取扱い、それに応じて、ＭＥＭ４３０とＭＥＭ４４０に命令を送るように構成される。
【００２８】
ＭＥＭ４３０とＭＥＭ４４０とは、（例えば、両方ともＮＡＮＤメモリ技術を使用している）同じタイプのメモリ・デバイスであっても良く、あるいは、（例えば、ＭＥＭ４３０がＮＡＮＤメモリ技術を使用し、ＭＥＭ４４０は光ドライブ・メモリ技術であっても良いなど）異なるタイプであっても良い。追加的に、メモリ・ユニット（ＭＥＭ４３０、４４０）の１つ以上を、ＭＣ４２０のためのローカル・キャッシュ・メモリとして、使用することができる。
【００２９】
図４は、図３で示されるような例示的なメモリ・ユニットのより詳しく述べられたブロック図を示す。ＭＥＭ４３０は、種々のメモリ領域（４３２、４３４、４３６および４３８）に分割される。非限定的な具体例として、４つの領域が示されている。しかしながら、（例えば、１、２、４、８など）任意数の領域があっても良い。
【００３０】
領域の分離は、物理的、あるいは、仮想的／論理的な分離であっても良い。仮想的な分離は、種々のメモリーアドレスを、領域に割り当てることによって、行うことができる。領域においてセルは、物理的に隣接しても、隣接しなくても良い。各々の領域は、ＭＣ４２０によって別々に扱うことができる、あるいは、単一のエンティティに結合することもできる。
【００３１】
非限定的な例としては、ＭＥＭ４３０は、各々がメモリまたはメモリ・ブロック（例えば、５１２バイトのブロック）のページを表す多数の領域に分けられることができる。
【００３２】
本願発明にしたがう第１の例示的な実施形態において、プリフェッチ／キャッシングは、（例えば、ｅＭＭＣのＣｏｎｔｅｘｔＩＤフィーチャなど）インデックス識別子と結びついている。ホストがインデックス識別子（例えば、インデックス＃１）に書き込むときはいつでも、対応するＮＡＮＤブロックにおいて書き込まれるデータは、次のインデックス＃１のデータへのリンクを含むことができる。このように、ホストは、（例えば、ソフトウェア（ＳＷ）、画像／音楽データまたはデータベース情報などの）データを、単一のインデックスに書き込むように、動作することができ、データを読むときには、（例えば、いくつかの順次、あるいは、単一ブロック読み込みアクセスを使用するときでも）、次のデータは、ホストのさらなる負荷なしで、プリフェッチすることができる。１つの非限定的な例において、ｅＭＭＣのデータＴＡＧコンセプトまたはＳＣＳＩＳＢＣ−３のグループ・ナンバー・スキームは、最適化された読み取りキャッシングのためにデータを結びつけて使用することができる。
【００３３】
ホストが、メモリに新たなデータを後で書き込む場合には、それは、前に使われた同じインデックスを使用することができる（例えば、ＯＳを書き込む生産において）。有限数の動的インデックスをサポートするために、新しいインデックスが開けられるたびに、そのインデックスに対する最新のデータだけが、一緒にリンクされる。したがって、任意の介在する書込みコマンドは、同じインデックスを有する書込みコマンドの間のプリフェッチ・リンクを防止することができる。これらのインデックスは、同じデータに対応しても、対応しなくても良いからである。
【００３４】
代替的に、インデックスは、また、新たなデータが、以前に閉じられたインデックスへ後で書き込まれる（例えば、そのインデックスは再開される）場合に、この新たなデータが、前のものの書き込みの終わりにリンクされるように固定することができる。インデックスは、無限の時間固定しても良く、あるいは、一時的に固定しても良い（例えば、しばらくの間、コマンドに応じて、システムが所定の時間アイドル状態になるまで、等）。
【００３５】
リンク・セッションは、同じインデックス情報を有する書込みコマンドからのデータがいつリンクされるかを表すことができる。以前に使用されたインデックスが使用されるとき、新たなセッションが始まる。しかし、以前の使用からのブロックは、新たなブロックにリンクされることはない（例えば、前の使用の最後のブロックは、新たな使用の第１のブロックにリンクされない）。
【００３６】
追加的に、リンク・セッションは、次の多くの状況の１つによって、終わり得る。１）そのリンク・セッション（例えば、限られたウィンドウ）を最初に始めてからの期間の後２）最後のアクセス動作（例えば、休止期間の後のタイムアウト）からの期間の後３）メモリ・デバイスの状態（例えば、ｅＭＭＣにおける遷移状態または待機状態、ＵＦＳにおける電力モードまたはアクティブＬＵにリンクされる等）に基づいてあるいは、４）ホストに制御された技術において挙動を変える制御レジスタ。
【００３７】
メモリ・デバイスによる実施例において、ホストは、いかなるタグまたはインデックスを利用する必要はない、むしろ、そのメモリ・デバイスは、プリフェッチを制御する。第１の例において、メモリ・デバイスは、バッファ／キャッシュに、次の論理データまたは物理アドレス・データのプリフェッチを実施する。これは、”書き込みマルチプル・ブロック・コマンド”（例えば、ｅＭＭＣの書き込みマルチプル・ブロック・コマンド）で、シーケンシャル（論理的）アドレスに書き込まれたデータで効率的である。このデバイスは、また、そのようなデータを、リード・プリフェッチのためにリンクすることができる。
【００３８】
代替的に、前の書き込みマルチプル・ブロック・コマンドの最終アドレスは、同じシーケンシャル・ファイルに属していると仮定して、次の書き込みマルチプル・ブロック・コマンドの先頭アドレスに結びつけることができる（例えば、メガバイトのデータ／ファイルは、典型的には、書き込みのためにより小片に切り分けられる）。
【００３９】
この発明に従うさらに例示的な実施形態において、メモリ・デバイスは、同様な”ランダム”・アクセスを一緒にリンクすることができる。例えば、メディアのファイル・システムが、非常に断片化され、データは、メモリ・メディア全体を通して非常に小さな小片（小さなアロケーションユニット粒度）に書き込まれる場合である。
【００４０】
メモリ・デバイスは、データの使用の間（例えば、ホストのインタラクションが制限される場合）、リンクを決定することができる。メモリ・デバイスが、２つの連続する書き込みアクセス（例えば、ブロックＡとＢに）をリンクする場合、そのブロックは、実際に、異なるファイル／エンティティに属することがあり得、したがって、その後プリフェッチされるとき、”キャッシュ・ミス”を発生する。これらの誤ったリンクは、使用の間に、検出することができる。例えば、メモリ・デバイスが、Ａの最終アドレスの後に、ＡとＢとの間のリンクが取り除かれることができることを示すＢの先頭アドレスに続く読み取りがないことを検出する場合である。
【００４１】
追加的に、メモリ・デバイスが、Ａの最終アドレスがアクセスされたあと、Ｃの先頭アドレスが読み出されることを決定するならば、このリンクは実行時の間に、つくることができる。さらに、例示的な実施形態において、１つ以上の可能性のある次のアドレスは、キャッシュにプリフェッチすることができる。例えば、どのデータを、プリフェッチするのが最も有利かはっきり分からない場合には、メモリ・デバイスには分からないかもしれないいくつかのルールにしたがって、続くアクセスが、定期的に変わる。
【００４２】
第１のブロックと第２のブロックとの間のつながり情報は、種々の方法で格納することができる。例えば、リンク情報は、第２ブロックへのポインターとして、第１のブロックに保存することができる。第２ブロックは、第１のブロックへのポインターを格納することもできる。代替的に、リンク情報は、例えば、メモリ全体においてリストの一部として、別の場所において保存することができる。
【００４３】
ブロックは、複数のブロックを示しているリンク情報を記録することもできる。例えば、第２のブロックが、第１のブロックの後に、すぐに書き込まれ、第３のブロックは、第１のブロックに続いて、読み出される場合、あるいは、続いて読み出す動作が、ブロックの限定されたセットの間で交替する場合である。
【００４４】
このリンク情報は、また、追加データも含むこともできる。所与のブロックが読み取られ、所与の時間内に続いてブロックが読み取られない各回のカウントは、いつ、続くブロックへのリンクを破壊（または取り除く）すべきかを決定するために、使用することができる。リンクされたブロックの各々のカウントは、特定のブロックが続いて読まれる回数を表したままであることもできる。このカウントは、どのブロックをプリフェッチすべきかを決定するのに使用することができる。例えば、１つのみのブロックをプレフェッチするとき、直ぐに続いて読み取るブロックを、使用することができる。
【００４５】
いくつか実施形態において、アクセス時間対電力を最適化するために、書き込みフェーズにおいて、または、読み取りフェーズにおいて（例えば、陽なシグナリングを通して）、ホストは、リンク・アドレスを有効または無効にすることができる。（例えば、ホストによって）プリフェッチ動作は、有効または無効にすることができる、または、メディアの全体、または、パーティション毎、または論理ユニット毎に、固定された設定によって確立することができる。
【００４６】
ホストは、また、メモリ・デバイスに、例えば、メッセージにおいてビットフラグを変更することによって、プリフェッチ動作を停止するように指示することもできる。非限定的な例において、ビットフラグは、アボート・プリフェッチ（ＡＢＰＦ）ビットである。
【００４７】
追加的に、ホストは、メモリ・デバイスに、物理的なメモリ・デバイス全体にわたりデータをリンク（またはプリフェッチ）すべきか否かを指示することができる。したがって、メモリ・デバイスは、１つの設定において、別々の物理的デバイス（例えば、２つの異なったＮＡＮＤメモリ）に書き込まれたデータ・ブロックをリンクすることができ、第２の設定において、リンク情報は生成されない。
【００４８】
図５は、本願発明にしたがう例示的なメモリ書込み操作を図示する。
【００４９】
第１の例（１）において、ホストは、第１の書き込みマルチプル・ブロック・コマンド（例えば、ＣＭＤ２３とＣＭＤ２５との組み合わせ）を発行し、メモリは、応答（ＲＥＳＰ）を返す。このシナリオにおいて、コンテキストＩＤ、ＴＡＧ、または特定のルールは、ホストによって提供されない。第１の書き込みコマンドは、２つの５１２バイト・ブロック（またはページ）をメモリに書き込むようにメモリに指示する。ブロックは、巡回冗長検査（ＣＲＣ）を含むことができる、あるいは、対応するＣＲＣを、別の場所へ書き込むことができる。書き込み手続きは第１の指標、Ａ（プリフェッチ・リンク）、を作成し、直近に書き込まれたブロック（第１のブロック）を第２のブロックにリンクする。同様に、ホストが第３のブロックをつくる第２の書き込みコマンドを発行するとき、メモリ・デバイスは、第２の指標、Ｂ、を作成し、直近に書き込まれたブロック（第２のブロック）を第３のブロックにリンクする。
【００５０】
第２の例（２）において、ホストは、コンテキストＩＤまたはＴＡＧを提供する。第１の部分において、第１の書き込みコマンドは、メモリに、２つの５１２バイト・ブロック（またはページ）を第１の識別子（例えば、＃ＩＤ＝１、ＴＡＧ＝Ｘ、等）を用いるメモリに書き込むように指示する。ホストが同一の識別子を用いる第２の書き込みコマンドを発行するとき、メモリ・デバイスは、指標、Ｃ、を作成し、同一の識別子を有する直近に書き込まれたブロック（第２のブロック）を第３のブロックにリンクする。第２の部分（点線の右に）において、それらが識別子を共有するか否かを問わず各々の書き込みコマンドは、別々のプログラム・セッションである。図示されるように、識別子（例えば、＃ＩＤ＝２、ＴＡＧ＝Ｙ、等）に書くとき、識別子、Ｄ、は、閉じられているプログラム・セッションのために、プリフェッチ・リンクにおいて、ブレークをつくって、省略される。
【００５１】
第３の例（３）において、ホストは、コンテキストＩＤまたはＴＡＧを再び提供する。例２のように、識別子、Ｃ、は、つくられ、同一の識別子を有する直近に書き込まれたブロック（第２のブロック）を、第３ブロックにリンクする。この手続きは、異なる識別子を有する他の書き込みコマンドが（例えば、第３の書き込みコマンド）実行されるときでも、ブロック間のリンクをつくることができる。したがって、ホストが、最初の２つの書き込みコマンドと同一の識別子を用いた第４の書き込みコマンドを発行するとき、メモリ・デバイスは、識別子、Ｅをつくり、同一の識別子を有する直近に書き込まれたブロック（第４のブロック）を第７のブロックにリンクする。
【００５２】
例２と３に示されていないが、単一の書き込みコマンドに応じて書き込まれる２つのブロックは、それらをリンクしている識別子を有しても、いなくても良い。これらの識別子は、異なる書き込みコマンドによって書き込まれるブロックをリンクしているものと異なることができる。
【００５３】
前述に基づいて、本願発明の例示的な実施形態が、携帯メモリ・デバイスのキャッシュ読み取り最適化を提供する方法、装置とコンピュータ・プログラムを提供することが明らかである。
【００５４】
図６は、それは、本願発明の例示的な実施形態にしたがう方法の動作、コンピュータ・プログラム命令の実行の結果を図示する論理フロー図である。これらの例示的な実施形態に従って、この方法は、ブロック６１０において、メモリ・デバイスにおいて、ホストから少なくとも１つの書き込みコマンドを受信するステップを実行する。少なくとも１つの書き込みコマンドは、メモリ・デバイスに、少なくとも２つのデータ・ブロックを格納するように指示する。この少なくとも２つのデータ・ブロックは、ブロック６２０で格納される。ブロック６３０において、メモリ・デバイスは、少なくとも２つのデータ・ブロックを格納する順序に、少なくとも部分的に基づいて、少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成する。
【００５５】
図６において示される種々のブロックは、方法のステップとして見ることができ、あるいは、コンピュータ・プログラム・コードの動作の結果の動作としても見ることができる。および／または、関係する機能を実行するために構築された複数の連結した論理回路素子として見ることもできる。
【００５６】
一般に、種々の例示的な実施形態は、ハードウェア、または、専用回路、ソフトウェア、論理またはそれらの組合せにおいてインプリメントすることができる。例えば、いくつかの態様は、ハードウェアにおいてインプリメントされることができ、他の態様が、コントローラ、マイクロ・プロセッサまたは他のコンピューティング装置によって実行することができるファームウェアまたはソフトウェアにおいてインプリメントすることができる。しかしながら、本願発明がそれらに制限されるものではない。本願発明の例示的な実施形態の種々の態様が図示され、ブロック図、フローチャートとして、または、いくつかの他の図表現を使用して記載されているが、ここに記述されたこれらのブロック、装置、システム、技術または方法は、非限定的な例として、ハードウェア、ソフトウェア、ファームウェア、専用回路または論理、汎用ハードウェアまたはコントローラまたは他のコンピューティング装置、または、それらのいくつかの組合せにおいてインプリメントすることができることは十分に理解される。
【００５７】
本願発明にしたがう例示的な実施形態において、方法が、モバイル・メモリ・デバイスのキャッシュ読み取り最適化を可能にするために提供される。この方法は、メモリ・デバイスにおいて、ホストから、１つ以上のアクセス・コマンドを受信（例えば、プロセッサにおいて）することを含む。この１つ以上のアクセス・コマンドは、メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするように指示する。少なくとも２つのデータ・ブロックにアクセスする（例えば、プロセッサによって）ことも、含まれる。この方法は、このメモリ・デバイスにより、少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成する（例えば、プロセッサによって）ことを含む。
【００５８】
上記の方法のさらに例示的な実施形態において、プリフェッチ情報を生成することは、ホストによって提供される情報および／または、前記メモリ・デバイスに対するコントローラにおけるルールに、さらに基づく、
【００５９】
上記の方法のいかなる一つの別の例示的な実施形態において、その１つ以上のアクセス・コマンドの各々のアクセス・コマンドは、コンテキスト識別子と、タスク・タグと、プリフェッチ識別子と、および／または、グループ番号と、を含むインデックス情報に結びついている。インデックス情報は、アクセス・コマンドとともに、または、別々のメッセージにおいて送ることができる。
【００６０】
上記の方法のさらに例示的な実施形態において、その１つ以上のアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを含む。第１のアクセス・コマンドと第２のアクセス・コマンドは、同一のインデックス情報を含む。
【００６１】
上記の方法の別の例示的な実施形態において、この１つ以上のアクセス・コマンドを受信することは、第１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信することと、第１回目のあと、第２回目に第２のアクセス・コマンドを受信することと、ここで、第２のアクセス・コマンドは、第１のインデックス情報と異なる第２のインデックス情報を含み、第２回目のあと、第３回目に、第１のインデックス情報を含む第３のアクセス・コマンドを受信することを含む。
【００６２】
上記の方法のさらに例示的な実施形態において、プリフェッチ情報を生成することは、第１のアクセス・コマンドに応じてアクセスされた最後のデータ・ブロックを、第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックにリンクすることを含む。
【００６３】
上記の方法の別の例示的な実施形態において、プリフェッチ情報を生成することは、第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックに対する新たなリンキング・データ・セッションを開始することを含む。同一のインデックス情報を有するアクセス・コマンドに応じて、アクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる。
【００６４】
上記の方法のさらに例示的な実施形態において、マッチング・インデックス情報を有するアクセス・コマンドに応じて、アクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、この方法は、また、マッチング・インデックス情報を有する前のアクセス・コマンドのあとの所定の時間の経過、リンク・データ・セッションが開始した後の時間の経過、または、制御レジスタにおける変更に応じて、新たなリンキング・データ・セッションを開始することを含む。
【００６５】
上記の方法のいかなる一つの別の例示的な実施形態において、プリフェッチ情報を生成することは、少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクすることを含む。
【００６６】
上述の方法の任意の１つの、さらに例示的な実施形態において、その１つ以上のアクセス・コマンドは、読み取りコマンドや書き込みコマンドを含む。
【００６７】
上記の方法のいかなる一つの別の例示的な実施形態において、プリフェッチ情報は、第１のブロックが読み取られるときに、少なくとも２つのブロックをプリフェッチする命令を含む。
【００６８】
上述の方法の任意の１つの、さらに例示的な実施形態において、この方法は、また、第１の読み取られたデータ・ブロックを前記ホストに提供するようにメモリ・デバイスに指示する第１の読み取りコマンドを受信することと、第１の読み取られたデータ・ブロックをホストに提供することと、プリフェッチ情報に基づいて続いて読み取られたデータ・ブロックを決定することと、続いて読み取られたデータ・ブロックをプリフェッチすることと、前記続いて読み取られたデータ・ブロックをプリフェッチした後に、続いて読み取られたデータ・ブロックを、ホストに提供するようにメモリ・デバイスに指示する第２の読み取りコマンドを受信することと、プリフェッチされた、続いて読み取られたデータ・ブロックを、ホストに提供することと、を含む。
【００６９】
上記の方法の別の例示的な実施形態において、この方法は、また、メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成するのを停止するコマンドを受信することと、メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止することと、を含む。
【００７０】
さらに、この方法の例示的な実施形態において、この方法は、また、メモリ・デバイスに２つ以上のデータ・ブロックの１つ以上にアクセスするように指示する１つ以上の追加アクセス・コマンドを受信することと、１つ以上のアクセス・コマンドに応じてアクセスされるデータ・ブロックの順序に基づいて、前記プリフェッチ情報を除去することと、を含む。
【００７１】
上記の方法のいかなる一つの別の例示的な実施形態において、メモリ・デバイスは、１つ以上のＮＡＮＤメモリ格納デバイスを含む。
【００７２】
本願発明に従う別の例示的な実施形態において、この装置は、モバイル・メモリ・デバイスのキャッシュ読み取り最適化を可能にするために提供される。この装置は、１つ以上のプロセッサと、コンピュータ・プログラム・コードを含む１つ以上のメモリとを含み、この１つ以上のメモリとコンピュータ・プログラム・コードとは、この１つ以上のプロセッサで、この装置に、処理の実行をさせるように構成されている。この処理は、メモリ・デバイスにおいて、ホストから、１つ以上のアクセス・コマンドを受信することを含み、ここで、その１つ以上のアクセス・コマンドは、メモリ・デバイスに少なくとも２つのデータ・ブロックにアクセスするように指示する。この少なくとも２つのデータ・ブロックはアクセスされる。この処理は、また、このメモリ・デバイスにより、少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成する。
【００７３】
上の装置の別の例示的な実施形態において、プリフェッチ情報を生成することは、さらに、ホストによって提供される情報、および／または、メモリ・デバイスに対するコントローラにおけるルールに基づいている。
【００７４】
上述の装置の任意の１つのさらに例示的な実施形態において、その１つ以上のアクセス・コマンドの各々のアクセス・コマンドは、コンテキスト識別子と、タスク・タグと、プリフェッチ識別子と、および／または、グループ番号と、を含むインデックス情報に結びついている。
【００７５】
上の装置の別の例示的な実施形態において、その１つ以上のアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを含み、第１のアクセス・コマンドと第２のアクセス・コマンドは、同一のインデックス情報を含む。
【００７６】
上の装置のさらに例示的な実施形態において、１つ以上のアクセス・コマンドを受信するとき、１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、第１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信させ、第１回目のあと、第２回目に第２のアクセス・コマンドを受信させ、ここで、第２のアクセス・コマンドは、第１のインデックス情報と異なる第２のインデックス情報を含み、第２回目のあと、第３回目に、第１のインデックス情報を含む第３のアクセス・コマンドを受信させるように構成されており、
【００７７】
上の装置の別の例示的な実施形態において、プリフェッチ情報を生成するとき、この１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、第１のアクセス・コマンドに応じてアクセスされる最後のデータ・ブロックを、第３のアクセス・コマンドに応じてアクセスされる第１のデータ・ブロックにリンクさせるように構成されており、
【００７８】
上の装置のさらに例示的な実施形態において、プリフェッチ情報を生成するとき、この１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、第３のアクセス・コマンドに応じてアクセスされる第１のデータ・ブロックに対して新たなリンキング・データ・セッションを開始させるように構成されており、同一のインデックス情報を有するアクセス・コマンドに応じて、アクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる。
【００７９】
上の装置の別の例示的な実施形態において、マッチング・インデックス情報を有するアクセス・コマンドに応じて、アクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、この１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、前記マッチング・インデックス情報を有する前のアクセス・コマンドのあと所定の時間の経過、リンク・データ・セッションが開始した後の時間の経過、または、制御レジスタにおける変更に応じて、新たなリンキング・データ・セッションを開始させるように構成されている。
【００８０】
上述の装置の任意の１つのさらに例示的な実施形態において、前記プリフェッチ情報を生成するときに、この１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、前記少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクさせるように構成されている。
【００８１】
上記の装置の任意の１つの別の例示的な実施形態において、その１つ以上のアクセス・コマンドは、読み取りコマンドや書き込みコマンドを含む。
【００８２】
上述の装置の任意の１つのさらに例示的な実施形態において、プリフェッチ情報は、第１のブロックが読み取られるときに、少なくとも２つのブロックをプリフェッチする命令を含む。
【００８３】
上記の装置の任意の１つの別の例示的な実施形態において、この１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、第１の読み取られたデータ・ブロックを前記ホストに提供するようにメモリ・デバイスに指示する第１の読み取りコマンドを受信させ、前記第１の読み取られたデータ・ブロックを、前記ホスに提供させ、前記プリフェッチ情報に基づいて、続いて読み取られたデータ・ブロックを決定させ、前記続いて読み取られたデータ・ブロックをプリフェッチさせ、前記続いて読み取られたデータ・ブロックをプリフェッチした後に、続いて読み取られたデータ・ブロックを、ホストに提供するようにメモリ・デバイスに指示する第２の読み取りコマンドを受信させ、前記ホストに前記プリフェッチされた、続いて読み取られたデータ・ブロックを提供させるように構成されており、
【００８４】
上の装置のさらに例示的な実施形態において、この１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成することをやめるコマンドを受信させ、メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止させるように構成されている。
【００８５】
上記の装置の任意の１つの別の例示的な実施形態において、この１つ以上のメモリとコンピュータ・プログラム・コードとは、前記装置に、メモリ・デバイスに、２つ以上のデータ・ブロックの１つ以上にアクセスするように指示する１つ以上の追加アクセス・コマンドを受信させ、１つ以上のアクセス・コマンドに応じてアクセスされるデータ・ブロックの順序に基づいて、プリフェッチ情報を削除させるように構成されており、
【００８６】
上述の装置の任意の１つのさらに例示的な実施形態において、前記装置は、集積回路において実現される。
【００８７】
本願発明に従う別の例示的な実施形態において、コンピュータ読取り可能媒体は、モバイル・メモリ・デバイスのキャッシュ読み取り最適化を可能にするために提供される。コンピュータ読取り可能媒体は、プロセッサによって実行可能なコンピュータ・プログラムで実体的にエンコードされる。この処理は、メモリ・デバイスにおいて、ホストから、１つ以上のアクセス・コマンドを受信することを含み、ここで、その１つ以上のアクセス・コマンドは、メモリ・デバイスに少なくとも２つのデータ・ブロックにアクセスするように指示する。この少なくとも２つのデータ・ブロックは、アクセスされる。この処理は、また、このメモリ・デバイスにより、少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、この少なくとも２つのデータ・ブロックに対するプリフェッチ情報を生成することを含む。
【００８８】
コンピュータ読取り可能媒体のさらに例示的な実施形態において、前記プリフェッチ情報を生成するステップは、ホストによって提供される情報、および／または、メモリ・デバイスに対するコントローラにおけるルールにさらに基づく。
【００８９】
コンピュータ読取り可能メディアの任意の１つの別の例示的な実施形態において、その１つ以上のアクセス・コマンドの各々のアクセス・コマンドは、コンテキスト識別子と、タスク・タグと、プリフェッチ識別子と、および／または、グループ番号と、を含むインデックス情報に結びついている。
【００９０】
コンピュータ読取り可能媒体のさらに例示的な実施形態において、その１つ以上のアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを含み、第１のアクセス・コマンドと第２のアクセス・コマンドとは、同一のインデックス情報を含む。
【００９１】
上のコンピュータ読取り可能媒体の別の例示的な実施形態において、上の１つ以上のアクセス・コマンドを受信することは、第１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信することと、第１回目の後に、第２回目に第２のアクセス・コマンドを受信することと、ここで、第２のアクセス・コマンドが、第１のインデックス情報と異なる第２のインデックス情報含み、第２回目のあと、第３回目に、第１のインデックス情報を含む第３のアクセス・コマンドを受信することを含み、
【００９２】
コンピュータ読取り可能媒体のさらに例示的な実施形態において、プリフェッチ情報を生成することは、第１のアクセス・コマンドに応じてアクセスされた最後のデータ・ブロックを、第３のアクセス・コマンドに応じてアクセスされた第１のデータ・ブロックにリンクすることを含む。
【００９３】
上のコンピュータ読取り可能媒体の別の例示的な実施形態において、プリフェッチ情報を生成することは、第３のアクセス・コマンドに応じてアクセスされる第１のデータ・ブロックに対して、新たなリンキング・データ・セッションを開始することを含む。同一のインデックス情報を有するアクセス・コマンドに応じて、アクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる。
【００９４】
コンピュータ読取り可能媒体のさらに例示的な実施形態において、インデックス情報のマッチングを有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、この処理は、更に、マッチング・インデックス情報を有する前のアクセス・コマンドのあとの所定の時間の経過、リンク・データ・セッションが開始した後の時間の経過、または、制御レジスタにおける変更に応じて、新たなリンキング・データ・セッションを開始することを含む。
【００９５】
コンピュータ読取り可能メディアの任意の１つの別の例示的な実施形態において、プリフェッチ情報を生成することは、少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクすることを含む。
【００９６】
上述のコンピュータ可読メディアの任意の１つの、さらに例示的な実施形態において、その１つ以上のアクセス・コマンドは、読み取りコマンドや書き込みコマンドを含む。
【００９７】
コンピュータ読取り可能メディアの任意の１つの別の例示的な実施形態において、第１のブロックが読まれるとき、少なくとも２つが妨害するプリフェッチに、プリフェッチ情報は、命令を含む。
【００９８】
上述のコンピュータ可読メディアの任意の１つの、さらに例示的な実施形態において、この処理は、更に、前記メモリ・デバイスに、前記ホストに、第１の読み取られたデータ・ブロックを提供するように指示する第１の読み取りコマンドを受信するステップと、第１の読み取られたデータ・ブロックをホストに提供することと、前記プリフェッチ情報に基づいて、続いて読み取られたデータ・ブロックを決定することと、続いて読み取られたデータ・ブロックをプリフェッチすることと、前記続いて読み取られたデータ・ブロックをプリフェッチした後に、メモリ・デバイスに、続いて読み取られたデータ・ブロックを、ホストに提供するように指示する第２の読み取りコマンドを受信することと、プリフェッチされた、続いて読み取られたデータ・ブロックを、ホストに提供することと、を含む。
【００９９】
上のコンピュータ読取り可能媒体の別の例示的な実施形態において、この処理は、更に、メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成するのを停止するコマンドを受信することと、メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止することと、を含む。
【０１００】
コンピュータ読取り可能媒体のさらに例示的な実施形態において、この処理は、更に、メモリ・デバイスに、２つ以上のデータ・ブロックの１つ以上にアクセスするように指示する１つ以上の追加アクセス・コマンドを受信することと、１つ以上のアクセス・コマンドに応じてアクセスされるデータ・ブロックの順序に基づいて、前記プリフェッチ情報を除去することと、を含む。
【０１０１】
コンピュータ読取り可能メディアの任意の１つの別の例示的な実施形態において、メモリ・デバイスは、１つ以上のＮＡＮＤメモリ格納デバイスを含む。
【０１０２】
上述のコンピュータ可読メディアの任意の１つの、さらに例示的な実施形態において、コンピュータ読取り可能媒体は、一時的でないコンピュータ読取り可能媒体（例えば、ＲＡＭ、ＲＯＭ、ＣＤ−ＲＯＭ、フラッシュ・メモリ、等）である。
【０１０３】
本願発明に従う別の例示的な実施形態において、装置は、モバイル・メモリ・デバイスのキャッシュ読み取り最適化を可能にするために提供される。この装置は、メモリ・デバイスにおいて、ホストから、１つ以上のアクセス・コマンドを受信（例えば、プロセッサにおいて）するための手段と、ここで、この１つ以上のアクセス・コマンドは、メモリ・デバイスに、少なくとも２つのデータ・ブロックにアクセスするよう、指示し、この少なくとも２つのデータ・ブロックにアクセスするための手段（例えば、プロセッサ）と、少なくとも２つのデータ・ブロックにアクセスする順序に少なくとも部分的に基づいて、少なくとも２つのデータ・ブロックに対するプリフェッチ情報をメモリ・デバイスにより生成する手段（例えば、プロセッサ）と、を含む。
【０１０４】
上の装置のさらに例示的な実施形態において、この生成手段は、ホストによって提供される情報、および／または、メモリ・デバイスに対するコントローラにおけるルールに基づいて、プリフェッチ情報を生成するためのものである。
【０１０５】
上記の装置の任意の１つの別の例示的な実施形態において、その１つ以上のアクセス・コマンドの各々のアクセス・コマンドは、コンテキスト識別子と、タスク・タグと、プリフェッチ識別子と、および／または、グループ番号と、を含むインデックス情報に結びついている。
【０１０６】
上の装置のさらに例示的な実施形態において、その１つ以上のアクセス・コマンドは、第１のアクセス・コマンドと第２のアクセス・コマンドを含み、第１のアクセス・コマンドと第２のアクセス・コマンドは、同一のインデックス情報を含む。
【０１０７】
上の装置の別の例示的な実施形態において、この受信手段は、第１回目に、第１のインデックス情報を含む第１のアクセス・コマンドを受信するための手段と、第１回目のあと、第２回目に第２のアクセス・コマンドを受信するための手段と、ここで、第２のアクセス・コマンドは、第１のインデックス情報と異なる第２のインデックス情報を含むものであり、第２回目のあと、第３回目に、第１のインデックス情報を含む第３のアクセス・コマンドを受信するための手段とを含む。
【０１０８】
上の装置のさらに例示的な実施形態において、この生成手段は、第１のアクセス・コマンドに応じてアクセスされる最後のデータ・ブロックを、第３のアクセス・コマンドに応じてアクセスされる第１のデータ・ブロックにリンクするための手段を含む。
【０１０９】
上の装置の別の例示的な実施形態において、この生成手段は、第３のアクセス・コマンドに応じてアクセスされる第１のデータ・ブロックに対して新たなリンキング・データ・セッションを開始する手段を含む。同一のインデックス情報を有するアクセス・コマンドに応じてアクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされる。
【０１１０】
上の装置のさらに例示的な実施形態において、マッチング・インデックス情報を有するアクセス・コマンドに応じて、アクセスされたデータ・ブロックは、リンキング・データ・セッションの間にリンクされ、この装置は、また、マッチング・インデックス情報を有する前のアクセス・コマンドのあとの所定の時間の経過、リンク・データ・セッションが開始した後の時間の経過、または、制御レジスタにおける変更に応じて、新たなリンキング・データ・セッションを開始する手段を含む。
【０１１１】
上記の装置の任意の１つの別の例示的な実施形態において、この生成手段は、少なくとも２つのデータ・ブロックの第１のデータ・ブロックを、少なくとも２つのデータ・ブロックの、次に続いてアクセスされたデータ・ブロックにリンクする手段を含む。
【０１１２】
上述の装置の任意の１つのさらに例示的な実施形態において、その１つ以上のアクセス・コマンドは、読み取りコマンドや書き込みコマンドを含む。
【０１１３】
上記の装置の任意の１つの別の例示的な実施形態において、このプリフェッチ情報は、第１のブロックが読まれるとき、少なくとも２つのブロックをプリフェッチする命令を含む。
【０１１４】
上述の装置の任意の１つのさらに例示的な実施形態において、この装置は、また、メモリ・デバイスに、第１の読み取られたデータ・ブロックを前記ホストに提供するように指示する第１の読み取りコマンドを受信するための手段と、ホストに第１の読み取られたデータ・ブロックを提供する手段と、前記プリフェッチ情報に基づいて、続いて読み取られたデータ・ブロックを決定する手段と、続いて読み取られたデータ・ブロックをプリフェッチする手段と、前記続いて読み取られたデータ・ブロックをプリフェッチした後に、メモリ・デバイスに、続いて読み取られたデータ・ブロックを、ホストに提供するように指示する第２の読み取りコマンドを受信する手段と、ホストに、プリフェッチされた、続いて読み取られたデータ・ブロックを提供するための手段と、を含む。
【０１１５】
上の装置の別の例示的な実施形態において、この装置は、また、メモリ・デバイスの少なくとも部分に対してプリフェッチ情報を生成するのを停止するコマンドを受信するための手段と、メモリ・デバイスの前記部分において、データ・ブロックをアクセスするときに、プリフェッチ情報を生成することを防止する手段と、を含む。
【０１１６】
上の装置のさらに例示的な実施形態において、この装置は、また、メモリ・デバイスに、２つ以上のデータ・ブロックの１つ以上にアクセスするように指示する１つ以上の追加アクセス・コマンドを受信するための手段と、１つ以上のアクセス・コマンドに応じてアクセスされるデータ・ブロックの順序に基づいて、プリフェッチ情報を取り除くための手段とを含む。
【０１１７】
したがって、本願発明の例示的な実施形態の少なくともいくつかの態様は、例えば、集積回路チップとモジュールのような種々のコンポーネントにおいて実施することができ、本願発明の例示的な実施形態は、集積回路として具体化される装置において実現できるように理解すべきである。この集積回路または回路は、本願発明の例示的な実施形態に従って動作するように構成可能である、データ・プロセッサ、デジタル信号プロセッサ、ベースバンド回路、無線周波回路の１つ以上を具体化するための回路（ならびにおそらくファームウェア）を備えることができる。
【０１１８】
本願発明の前述の例示的な実施形態への種々の修正と適合化は、添付の図面とともに読まれるときに、前述の説明を考慮して、当業者に明らかになり得る。しかしながら、すべての修正は、まだ、本願発明の非限定的で例示的な実施形態の範囲に入る。
【０１１９】
「接続した」、「結合した」という用語、あるいは、それらの変形は、２つ以上の要素の間での直接的または間接的な、いかなる接続または結合をも意味し、一緒に「接続された」、あるいは、「結合された」２つの素子の間での、１つ以上の中間要素の存在を含むことができることに留意する。要素間の結合または接続は、物理的なもの、論理的なもの、あるいは、その組合せであり得る。ここで用いられるように、２つの要素は、一つ以上のワイヤー、ケーブルや印刷された電気的接続、ならびに、ラジオ周波数領域、マイクロ波領域および（可視および非可視）光学領域において波長を有している電磁エネルギーのような、電磁エネルギーを用いて、の使用によって、「つながれる」か、一緒に「結合する」と考えることができる。ただし、これらは非限定的、非網羅的な例としてあげたものである。
【０１２０】
さらに、記述されたパラメータに使われる種々の名前（例えば、ＩＤ、ＴＡＧなど）は、これらパラメータはいかなる適切な名前によっても識別することができるものであるので、いかなる点においても制限することを意図するものではない。
【０１２１】
さらにまた、本願発明の種々の非限定的な例示的実施形態の特徴のいくつかは、他の特徴を使用するようにしなくても、有効に使用することができる。したがって、前述の説明は、本願発明の原理、教示、例示的な実施形態の図解的なものにすぎないと考えるべきであって、それらに制限するものではない。
【図１】
2014523046.tif 000003
【図２】
2014523046.tif 000004
【図３】
2014523046.tif 000005
【図４】
2014523046.tif 000006
【図５】
2014523046.tif 000007
【図６】
2014523046.tif 000008
【国際調査報告】
2014523046.tif 000009
2014523046.tif 000010
2014523046.tif 000011