特許第6181689号(P6181689)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ マイクロン テクノロジー, インク.の特許一覧

<>
  • 特許6181689-論理アドレス変換 図000002
  • 特許6181689-論理アドレス変換 図000003
  • 特許6181689-論理アドレス変換 図000004
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6181689
(24)【登録日】2017年7月28日
(45)【発行日】2017年8月16日
(54)【発明の名称】論理アドレス変換
(51)【国際特許分類】
   G06F 21/60 20130101AFI20170807BHJP
   G06F 12/10 20160101ALI20170807BHJP
   H04L 9/14 20060101ALI20170807BHJP
【FI】
   G06F21/60 320
   G06F12/10 505Z
   H04L9/00 641
【請求項の数】2
【全頁数】12
(21)【出願番号】特願2015-55721(P2015-55721)
(22)【出願日】2015年3月19日
(62)【分割の表示】特願2013-557761(P2013-557761)の分割
【原出願日】2012年3月1日
(65)【公開番号】特開2015-164044(P2015-164044A)
(43)【公開日】2015年9月10日
【審査請求日】2015年3月19日
(31)【優先権主張番号】13/041,402
(32)【優先日】2011年3月6日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】595168543
【氏名又は名称】マイクロン テクノロジー, インク.
(74)【代理人】
【識別番号】100106851
【弁理士】
【氏名又は名称】野村 泰久
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】カリー,マーティン エル.
(72)【発明者】
【氏名】マニング,トロイ エー.
(72)【発明者】
【氏名】ラーセン,トロイ ディー.
【審査官】 青木 重徳
(56)【参考文献】
【文献】 特表2006−504198(JP,A)
【文献】 特開2008−108039(JP,A)
【文献】 特開2001−350665(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/60
G06F 12/10
H04L 9/14
(57)【特許請求の範囲】
【請求項1】
第1、第2の暗号鍵を用いて暗号化されたデータが格納された不揮発性メモリと、前記不揮発性メモリと接続されたコントローラとを含むメモリシステムであって、
前記コントローラは、
第1の論理アドレス(LA)のグループを前記第1の暗号鍵と関連付けることと、
第2のLAのグループを前記第2の暗号鍵と関連付けることと、
前記第1の暗号鍵を用いて前記第1のLAのグループに関連付けられたデータを暗号化した第1のデータを前記不揮発性メモリの第1のゾーンに書き込むことと、
前記第2の暗号鍵を用いて前記第2のLAのグループに関連付けられたデータを暗号化した第2のデータを前記不揮発性メモリの第2のゾーンに書き込むことを実行し、
前記コントローラは、前記第1のデータ及び前記第2のデータを異なる物理的ページ上に書き込む場合に、前記第1のゾーンの最後の物理的ページに前記第1のデータが書き込まれていない部分が存在するように前記第1のデータを書き込んだとき、前記第2のデータ前記第1のゾーンの前記最後の物理的ページに存在する前記第1のデータが書き込まれていない部分をスキップして、前記第2のゾーンに書き込むように構成される、メモリシステム。
【請求項2】
暗号化された前記第1のデータは前記不揮発性メモリ中の複数の物理的ページにわたり書き込まれる請求項に記載のメモリシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、主に半導体メモリデバイス、方法およびシステムに関し、より詳細には、論理アドレス変換に関する。
【背景技術】
【0002】
メモリデバイスは典型的には、コンピュータ内または他の電子デバイスの内部半導体集積回路として提供されることが多い。揮発性および不揮発性メモリを含めて、異なる多数の種類のメモリが存在する。揮発性メモリの場合、そのデータを維持するための電力を必要とし得、及び、とりわけ、ランダムアクセスメモリ(RAM)と、ダイナミックランダムアクセスメモリ(DRAM)と、同期型ダイナミックランダムアクセスメモリ(SDRAM)とを含む。給電されていない場合、不揮発性メモリは、記憶情報を保持することにより永続的データを提供することができ、NANDフラッシュメモリ、NORフラッシュメモリ、リードオンリーメモリ(ROM)、電気的消去可能ROM(EEPROM)、消去可能ROM(EPROM)および相変化ランダムアクセスメモリ(PCRAM)などを含み得る。
【0003】
メモリデバイスを相互に組み合わせることにより、半導体ドライブ(SSD)を形成することができる。半導体ドライブは、不揮発性メモリ(例えば、NANDフラッシュメモリおよびNORフラッシュメモリ)を含み得、かつ/または揮発性メモリ(例えば、他の多様な種類の不揮発性および揮発性メモリの内DRAMおよびSRAM)を含み得る。フラッシュメモリデバイス(例えば、窒化物層中の電荷トラップに情報を保存する半導体−酸化物−窒化物−酸化物−半導体および金属−酸化物−窒化物−酸化物−半導体コンデンサ構造を用いたフローティングゲートフラッシュデバイスおよび電荷捕獲フラッシュ(CTF)デバイス)は、広範な電子用途のための不揮発性メモリとして利用することができる。フラッシュメモリデバイスは典型的には、高メモリ密度、高信頼性および低電力消費を可能にする単一トランジスタメモリセルを用いる。
【0004】
SSDは、コンピュータ用主記憶デバイスとしてのハードディスクドライブの代わりに用いることが可能である。なぜならば、半導体ドライブは、性能、サイズ、重量、耐久性、動作温度範囲および電力消費の点においてハードドライブよりも有利であり得る。例えば、SSDを磁気ディスクドライブと比較した場合、SSD内には可動部が無いため、磁気ディスクドライブと関連付けられたシーク時間、待ち時間および他の電気機械遅延を回避することができるため、SSDの方がより高性能であり得る。SSD製造業者は、不揮発性フラッシュメモリを用いて内部バッテリー電源を用いないフラッシュSSDを生成することができ、これにより、ドライブを高汎用性かつコンパクトにすることができる。
【0005】
SSDは、幾つかのメモリデバイスを含み得る(例えば、幾つかのメモリチップ(本明細書中用いられる「幾つかの〜」という表現は、1つ以上の存在を指し得る(例えば、幾つかのメモリデバイスは、1つ以上のメモリデバイスを指し得る)。当業者であれば理解するように、メモリチップは、幾つかのダイおよび/または論理ユニット(LUN)を含み得る。各ダイは、幾つかのメモリアレイと、アレイ上の周辺回路とを含み得る。これらのメモリアレイは、幾つかの物理的ページとして編成された幾つかのメモリセルを含み、物理的ページは幾つかのブロックへと編成され得る。
【0006】
SSDは、論理アドレス(LA)テーブルを含み得る(例えば、論理ブロックアドレス(LBA)テーブル)。LBAテーブルを用いて、情報を記録することができる。この情報により、例えば、データの論理アドレスが、SSDのメモリアレイ中のデータの物理的位置へと変換(例えば、リンク)される。LBAテーブルを半導体ドライブ中の揮発性メモリ中に保存することができ、LBAテーブルのコピーをソリッドステートドライブ中の不揮発性メモリ中に保存することもできる。コマンド(例えば、読み出し要求および/または書き込み要求)がソリッドステートドライブにおいて開始した場合、LBAテーブルを用いて、例えば半導体ドライブ中のデータの物理的位置を変換(例えば、ロケイト(配置))することができる。特定の論理アドレスにおけるデータを読み出しおよび/または書き込むための読み出しおよび/または書き込み要求は、ホストによって開始され得る。論理アドレスはLBAテーブル中において見受けられ、その後対応する物理的アドレスを表示することができる。半導体ドライブは、表示された物理的アドレスからデータを読み出して、半導体ドライブについての読み出し要求を完了しかつ/または半導体ドライブは表示された物理的アドレスにデータを書き込んで、ソリッドステートドライブについての書き込み要求を完了することができる。
【0007】
暗号データは、ソリッドステートメモリデバイス中に保存することができ、ホストが一定範囲のLBAをグループとして取り扱う場合がある。例えば、暗号鍵は、特定のLBA範囲と関連付けられ得る。複数の暗号鍵を用いて、メモリデバイス中に保存されたデータを暗号化することができる。
【0008】
従来のソリッドステートメモリデバイスが、例えば特許文献1及び2に記載されている。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2001−350665号公報
【特許文献2】特開2007−94900号公報
【発明の概要】
【発明を解決するための手段】
【0010】
本発明のデータ処理方法は、第1の暗号鍵を第1の論理アドレス(LA)のグループに関連付けることと、第2の暗号鍵を第2のLAのグループに関連付けることと、前記第1のLAのグループと関連付けられた第1のデータをメモリデバイス内の第1の数のメモリセルの一部に書き込む第1の書き込み動作と、前記第2のLAのグループと関連付けられた第2のデータを前記メモリデバイス内の第2の数のメモリセルに書き込む第2の書き込み動作と、を備え、前記第1、第2の書き込み動作において、前記第1のデータと前記第2のデータが異なるページに書き込まれるように、前記第1の数のメモリセルのうちの残りのメモリセルをスキップする、ことを特徴するものである。
【0011】
本発明の他のデータ処理方法は、第1の暗号鍵を用いて第1の論理アドレス(LA)のグループに関連付けられたデータを暗号化した第1のデータをメモリデバイスに書き込むことと、第2の暗号鍵を用いて第2のLAのグループに関連付けられたデータを暗号化した第2のデータを前記メモリデバイスに書き込むことと、を備え、前記第1のデータの末尾から前記末尾が属するページの最後まで書き込みデータの含まれない複数の物理的位置を設けることで、前記第1のデータと前記第2のデータとを、それぞれ異なるページに書き込む、ことを特徴とするものである。
【0012】
本発明のメモリシステムは、第1、第2の暗号鍵を用いて暗号化されたデータが格納された不揮発性メモリと、前記不揮発性メモリと接続されたコントローラであって、前記コントローラは、第1の論理アドレス(LA)のグループを前記第1の暗号鍵と関連付けることと、第2のLAのグループを前記第2の暗号鍵と関連付けることと、前記第1の暗号鍵を用いて前記第1のLAのグループに関連付けられたデータを暗号化した第1のデータと、前記第2の暗号鍵を用いて前記第2のLAのグループに関連付けられたデータを暗号化した第2のデータと、を前記不揮発性メモリに書き込む際に、前記第1のデータの末尾から前記末尾が属するページの最後まで書き込みデータの含まれない複数の物理的位置を設けることで、前記第1のデータと前記第2のデータとは、異なるページに書き込むことと、を含む、ことを特徴とするものである。
【図面の簡単な説明】
【0013】
図1】本開示の1つ以上の実施形態による少なくとも1つのメモリシステムを含むコンピューティングシステムの機能ブロック図である。
図2】本開示の1つ以上の実施形態による不揮発性メモリ中の鍵ゾーンのブロック図を示す。
図3】本開示の1つ以上の実施形態によるa鍵範囲テーブルを示す。
【発明を実施するための形態】
【0014】
本開示は、論理アドレス変換のための方法を含む。このような1つの方法は、LAと関連付けられたコマンドを受信することであって、LAは特定の範囲のLA中に存在する、ことと、上記特定の範囲以外の範囲のLAと関連付けられたデータを書き込む際にスキップされる幾つかの物理的位置に対応するオフセットを用いて、LAをメモリ中の物理的位置へと変換することと、を含む。
【0015】
以下の本開示の詳細な記載において、本開示の一部を形成する添付図面を参照する。図面中、本開示の1つ以上の実施形態を実行する様態を例示的に示す。これらの実施形態は、当業者が本開示の実施形態を実行することを可能にするための充分な詳細を記載する。他の実施形態が利用可能であり、プロセス変更、電気的変更および/または構造的変更が本開示の範囲から逸脱することなく可能であることが理解されるべきである。本明細書中用いられる「N」という用語が特に図面中の参照符号と共に用いられる場合、幾つかの特定の特徴が本開示の1つ以上の実施形態において含まれ得ることを意味する。
【0016】
本明細書中の図面において用いられるナンバリング法として、第1の桁(単数または複数)が図面数に対応し、残りの桁は、図面中の要素または構成要素を差す。異なる図面における類似の要素または構成要素は、類似の桁を用いて示す。例えば、108は、図1中の要素「08」を指し得、類似の要素を図2中において208として示し得る。理解されるように、本開示の複数のさらなる実施形態が可能となるように、本明細書中の多様な実施形態中に示される要素を追加、交換かつ/または省略することが可能である。加えて、理解されるように、図面中に記載の要素の比率および相対的大きさは、本発明の特定の実施形態を例示することを意図し、限定的なものとしてとられるべきではない。
【0017】
図1は、本開示の1つ以上の実施形態による、少なくとも1つのメモリシステム104を含むコンピューティングシステム100の機能ブロック図である。図1に示す実施形態において、メモリシステム104(例えば、半導体ドライブ(SSD))は、コントローラ108と、1つ以上のソリッドステートメモリデバイス110−1、...、110−N)とを含み得る。ソリッドステートメモリデバイス110−1、...、110−Nにより、メモリシステム(例えば、メモリデバイスに合わせてフォーマットされたファイルシステム)のための記憶ボリュームを得ることができる。コントローラ108は、制御回路を含み得る(例えば、ハードウェア、ファームウェアおよび/またはソフトウェア)。1つ以上の実施形態において、コントローラ108は、物理的インターフェースおよびソリッドステートメモリデバイス110−1、...、110−Nを含むプリント基板へ接続された特定用途向け集積回路(ASIC)であり得る。
【0018】
図1に示すように、コントローラ108は、ソリッドステートメモリデバイス110−1、...、110−Nに接続することができる。ホスト102は、メモリシステム104をアドレス指定する際、論理ブロックアドレス(LBA)を用いることができる。フラッシュ変換層(FTL)112は、LBAをソリッドステートメモリデバイス110−1、...、110−N中の物理的位置へと変換することができ、この逆も成立する。その結果、ホスト102は、メモリデバイス110−1、…、110−Nの物理的特性を無視し、メモリシステム104を論理セクターの連続した線形マップとして取り扱うことができる。ホスト102は、ラップトップコンピュータ、パーソナルコンピュート、デジタルカメラ、デジタル記録および再生デバイス、携帯電話、PDA、メモリカードリーダー、インターフェースハブ、他のホストシステムを含み得、メモリアクセスデバイス(例えば、プロセッサ)を含み得る。当業者であれば、「プロセッサ」とは、1つ以上のプロセッサ(例えば、並列処理システム、複数のコプロセッサ)を意図し得ることを理解する。
【0019】
1つ以上の実施形態において、物理的ホストインターフェースは、標準インターフェースの形態をとり得る。例えば、メモリシステム104がコンピューティングシステム100中のデータ保存に用いられる場合、物理的ホストインターフェースは、シリアル高度技術アタッチメント(SATA)、周辺構成要素相互接続エクスプレス(PCIe)またはユニバーサルシリアルバス(USB)、および他のコネクタおよびインターフェースであり得る。しかし、一般的に、物理的ホストインターフェースにより、メモリシステム104と、物理的ホストインターフェースのための適合可能な受容器を有するホスト102との間において制御、アドレス、データおよび他の信号を送るためのインターフェースを得ることができる。
【0020】
データの読み出し、書き込みおよび消去などの動作を行うために、コントローラ108は、ソリッドステートメモリデバイス110−1、...、110−Nと通信し得る。コントローラ108は、回路を持ち得る。この回路は、1つ以上の集積回路および/または別個の構成要素であり得る。図1に示すように、コントローラ108は、物理的変換機能のための論理を含み得る(例えば、フラッシュ変換層(FTL)112)。FTL112を用いて、ホスト102から受信された要求と関連付けられた論理アドレスを、ソリッドステートメモリデバイス110−1、...、110−N内の物理的位置へとマッピングすることができる。本明細書中にさらに記載されるように、FTL112は、LBAを物理的位置へと変換するためのオフセットを示す鍵範囲テーブル114中の情報を用いることができる(鍵範囲テーブル114は、コントローラに含まれるが、メモリデバイス110に含まれる場合もある)。メモリコントローラは、ソリッドステートメモリデバイス110−1、...、110−NのI/O接続(図1中図示せず)を選択的に接続して、適切な信号を適切なI/O接続において適切な時期に受信することができる。同様に、ホスト102とメモリシステム104との間の通信プロトコルは、ソリッドステートメモリデバイス110−1、...、110−Nのアクセスに必要なものと異なり得る。その後、コントローラ108は、ホストから受信されたコマンドを適切なコマンドへと変換して、ソリッドステートメモリデバイス110−1、...、110−Nへの所望のアクセスを達成することができる。
【0021】
ソリッドステートメモリデバイス110−1、...、110−Nは、メモリセルの1つ以上のアレイを含み得る(例えば、不揮発性メモリセル)。これらのアレイは、例えばNANDアーキテクチャのフラッシュアレイであり得る。NANDアーキテクチャにおいて、「行」のメモリセルの制御ゲートをアクセスライン(例えば、ワードライン)と接続することができ、一方メモリセルを、選択ゲートソーストランジスタと選択ゲートドレイントランジスタとの間の「ストリング」の形態で、ドレインとソースとを直列に接続することができる。選択ゲートドレイントランジスタにより、ストリングをデータライン(例えば、ビットライン)へと接続することができる。「行」および「ストリング」という用語は、メモリセルが直線状または直接に配置されている状態を示さない。当業者であれば理解するように、メモリセルをビットラインおよびソースラインへ接続する様態は、アレイがNANDアーキテクチャ、NORアーキテクチャまたは何らかの他のメモリアレイアーキテクチャであるかによって異なる。
【0022】
ソリッドステートメモリデバイス110−1、...、110−Nは、グループ分けすることが可能な幾つかのメモリセルを含み得る。本明細書中用いられる「グループ」という用語は、1つ以上のメモリセルを含み得る(例えば、ページ、ブロック、プレーン、ダイ、アレイ全体、または他のメモリセルグループ)。例えば、いくつかのメモリアレイは、1つのメモリセルブロックを構成するメモリセルからなる幾つかのページを含み得る。幾つかのブロックは、メモリセルのプレーン内に含まれ得る。幾つかのメモリセルプレーンが、ダイ上に含まれ得る。一例として、128GBメモリデバイスは、1ページ毎に4314バイトのデータ、1ブロック毎に128ページ、1プレーン毎に2048ブロック、1デバイス毎に16プレーンを含み得る。
【0023】
ソリッドステートメモリデバイス110−1、...、110−Nは幾つかのチャンネルを含み得、各チャンネルは幾つかのダイを含み得る。各チャンネルは、論理ユニット数(LUN)を用いて組織化することができる。ソリッドステートメモリデバイス110−1、...、110−Nへデータを書き込む場合、幾つかのチャンネルおよびLUN上にデータをストライプすることができる。ソリッドステートメモリデバイス110−1、...、110−Nへのデータ書き込みは、チャンネルと関連付けられたメモリセル間の予測パターン中にデータをストライプする書き込みパターンアルゴリズムを用いて行われる。データ書き込みは、ホストからチャンネルへと送られるデータトラフィックを取り扱うチャンネルの能力によって限定され得るため、幾つかのチャンネルをメモリシステムによって用いることにより、幾つかのチャンネル上へのデータの書き込みおよび読み出しを行うことが可能になる。
【0024】
暗号データを、ソリッドステートメモリデバイス110−1、...、110−N中に保存することができる。例えば、複数の暗号鍵を用いて、メモリデバイス110中に保存されたデータを暗号化することができる。LBAの範囲は、暗号鍵と関連付けることができる。例えば、LBA〜LBAと関連付けられたデータは、暗号鍵0で暗号化され得、LBAx+1〜LBA2yと関連付けられたデータは、暗号鍵1で暗号化され得、LBA2y+1〜LBA3zと関連付けられたデータは、暗号鍵2で暗号化され得る。1つ以上の実施形態において、メモリシステムは、データ暗号化のために16個の異なる暗号鍵を用いることができる。
【0025】
メモリデバイスにおいて、物理的ページは、書き込み単位および/または読み出し単位のことを指し得る(例えば、共にまたはメモリセルの機能グループとして書き込まれかつ/または読み出される幾つかのセル)。別個の書き込み動作および/または読み出し動作により、偶数ページおよび奇数ページを書き込みおよび/または読み出しすることができる。多(マルチ)レベルセル(MLC)を含む実施形態において、物理的ページを論理的に分割して、例えばデータの上側ページおよび下側ページとすることができる。例えば、1つのメモリセルは、1ビット以上をデータの上側ページへ提供し得、1ビット以上をデータの下側ページへ提供し得る。よって、データの上側ページおよび下側ページを1つの書き込み動作および/または読み出し動作の一部として書き込みおよび/または読み出すことが可能となる。なぜならば、論理上側ページおよび論理下側ページはどちらとも、1つの物理的ページの一部であるからである。
【0026】
図1の実施形態は、本開示の実施形態を不明瞭にしないために図示していないさらなる回路を含み得る。例えば、メモリシステム104は、アドレス回路を含み得る。このアドレス回路は、I/O接続を介してI/O回路を通じて提供されたアドレス信号をラッチする。アドレス信号は、行復号器および列復号器によって受信および復号化され得る。行復号器および列復号器は、ソリッドステートメモリデバイス110−1、...、110−Nへアクセスする。当業者であれば、アドレス入力接続の数は、ソリッドステートメモリデバイス110−1、...、110−Nの密度およびアーキテクチャに応じて異なり得ることを理解する。
【0027】
一般的に、コントローラ108は、ホストシステム102から受信された(例えば、PCIeバスから受信された)コマンドパケットをホストメモリ変換回路に対するコマンド命令へと変換することと、メモリ応答を要求元ホストへと送られるホストシステムコマンドへ変換することとを行う。例えば、ホストインターフェース回路は、PCIeベーストランザクション層パケットからSATAコマンドパケットを構築することができる。
【0028】
コントローラ108は、論理(例えば、ホスト)アドレス(例えば、受信コマンドと関連付けられたもの)を物理的メモリアドレスへと変換するように構成され得る。例えば、コントローラ108中のFTL112は、鍵範囲テーブルからの入力を用いて、ホストセクター読み出しコマンドおよび書き込みコマンドを、ソリッドステートメモリデバイス110−1、...、110−Nの特定部分向けのコマンドへと変換することができる。各ホスト動作は、単一セクターまたは多セクターの不揮発性メモリ動作へ変換することができる。
【0029】
1つ以上の実施形態において、メモリデバイスへのデータ書き込みは、1ページに対して一度に行うことができる。メモリデバイス中の各ページは幾つかの物理的セクターを持ち得、各物理的セクターはLBAと関連付けることができる。一例として、1つの物理的ページは、8つの物理的データセクターを持ち得る。しかし、実施形態は、物理的ページ毎の特定の数の物理的セクターに限定されない。データ書き込みを1ページに対して一度に行う場合、当該ページのデータを、例えば8個のLBAと関連付けることができる。いくつかの実施形態において、第1の数のLBA(例えば、3個のLBA)を第1の暗号鍵と関連付けることができ、第2の数LBA(例えば、5個のLBA)を第2の暗号鍵と関連付けることができる。1つのページについて規定されたデータが、2つの異なる暗号鍵と関連付けられたLBAと関連付けられている場合、これらのデータを代わりに2つの異なるページに書き込むことができる。第1の数のLBAと関連付けられたデータは、第1の暗号鍵と関連付けられた第1のページへ書き込まれ得、第2の数のLBAと関連付けられたデータは、第2の暗号鍵と関連付けられた第2のページへと書き込まれ得る。これにより、第1のページへ割り当てられたデータを含む、ページの幾つかの物理的位置(例えば、セクター)を、データなしのまま残しておくことができる。例えば、第1のページのうちの残りの物理的セクターが、書き込みプロセスにおいてスキップされる。本開示の1つ以上の実施形態において、これらの物理的セクターのスキップは、鍵範囲テーブルのオフセットで説明される。FTLは、鍵範囲テーブル中の情報に基づいて、LBAを、シフトされた物理的位置へと変換することができる。
【0030】
コントローラ108は、鍵範囲テーブル114を用いて、LBAと関連付けられたデータの物理的位置を変換することができる。鍵範囲テーブル114は、幾つかのエントリー(項目)を含み得る。これらのエントリーはそれぞれ、各エントリーと関連付けられた範囲に先行するLBAの範囲(単数または複数)と関連付けられたデータのページ(単数または複数)を書き込む際にスキップされた幾つかの物理的位置(例えば、物理的セクター)に対応する各オフセットを示す。鍵範囲テーブルは、各暗号鍵についてのエントリーと、暗号鍵と関連付けられたLBA範囲と、先行する範囲内の最終LBAへ割り当てられたデータを書き込んだ後にスキップされた上記幾つかの物理的セクターを示すオフセットとを含み得る。幾つかのLBAと関連付けられかつ暗号鍵と関連付けられたデータを書き込む場合、先行するLBA範囲からの鍵範囲テーブル内のオフセットおよび暗号鍵を累積(例えば、合計)し、かつ、この累積(合計)数を用いて、上記幾つかのLBAと関連付けられたデータの物理的位置を変換することができる。LBAと関連付けられたデータの物理的位置を変換する際に用いられるオフセットは、鍵範囲テーブル内に配置することができる。このオフセットは、LBAと関連付けられた暗号鍵に基づいて鍵範囲テーブル内に配置することができる。
【0031】
図2は、本開示の1つ以上の実施形態による不揮発性メモリ中の鍵ゾーンのブロック図である。図2において、第1の数のメモリセルと、第1の鍵ゾーン242によって示されるような第1の暗号鍵とを関連付けることができ、第2の数のメモリセルと、第2の鍵ゾーン244によって示されるような第2の暗号鍵とを関連付けることができる。上記の数のメモリセルは、ページ状に配置することができ、これを図2中の行によって示す。例えば、図2において、ページ246は1行の物理的セクターを含み得、各物理的セクターは幾つかのメモリセルを含み得る。1つのページは幾つかの物理的セクターを含み得、例えば図2中のページ246は8個の物理的セクターを含む。
【0032】
メモリ内のページへデータを書き込む場合、このデータをデータ暗号化/復号化のための鍵ゾーンの暗号鍵と関連付けることができ、かつ、このデータを幾つかのLBAと関連付けることができる。例えば、鍵ゾーン242の第1の暗号鍵と関連付けられた幾つかのLBAおよび鍵ゾーン244の第2の暗号鍵と関連付けられた幾つかのLBAと関連付けられたデータを書き込むためのコマンド(単数または複数)を受信することができる。よって、1つの暗号鍵と関連付けられた幾つかのLBAから別の暗号鍵と関連付けられた幾つかのLBAへの遷移を、物理的ページの途中で発生させることができる。例えば、鍵ゾーン242の第1の暗号鍵と関連付けられた最後の2つのLBAと関連付けられたデータを、ページ254のうちの物理的セクター248において終了する最初の2つの物理的セクターに書き込むことができる。鍵ゾーン244の第2の暗号鍵と関連付けられたLBAと関連付けられたデータを、ページ256のうちの物理的セクター250(例えば、新規の物理的ページ)から開始する最初の6個の物理的セクターへ書き込むことができる。第1の暗号鍵と関連付けられたLBAと関連付けられたデータが、第2の暗号鍵と関連付けられたLBAとは異なるページへ書き込まれる。例えば、FTLの状態によっては、異なる暗号鍵と関連付けられたLBAと関連付けられたデータを同一ページへ書き込むことができない場合がある。第1の暗号鍵と関連付けられたLBAと関連付けられたデータと、第2の暗号鍵と関連付けられたLBAと関連付けられたデータとを、異なる物理的ページ上に書き込む場合、セクター248が存在しているページの最終の6個の物理的セクターをスキップする(例えば、これらのセクターにはデータは書き込まれない)。これらのスキップされた物理的セクターは、鍵ゾーン242の暗号鍵と関連付けられたLBA範囲と関連付けられた暗号鍵の記載と共に、鍵範囲テーブルのエントリーに記載される。1つ以上の実施形態において、2つ以上の異なる暗号鍵と関連付けられたデータのページを書き込む際、任意の数の物理的セクターをスキップすることができる。
【0033】
図3は、本開示の1つ以上の実施形態による鍵範囲テーブルを示す。図3中の鍵範囲テーブルは、幾つかの列を含む。第1の列360は、データ暗号化に用いられる暗号鍵を示す。第2の列370は、特定の暗号鍵と関連付けられたLBA範囲を示す。第3の列380は、暗号鍵およびLBA範囲と関連付けられたLBAオフセットを示す。
【0034】
図3に示す例において、列360は、幾つかの異なる暗号鍵362−1(「a」)、362−2(「b」)、362−3(「c」)、362−4(「d」)および362−5(「e」)を含む。各暗号鍵は、各LBA範囲372−1(LBA範囲0−127)、372−2(LBA範囲128−255)、372−3(LBA範囲256−383)、372−4(LBA範囲384−511)および372−5(LBA範囲512−639)と関連付けられる。
【0035】
1つ以上の実施形態において、鍵範囲テーブルの列380中のLBAオフセットは、FTL(例えば、図1に示すFTL)がLBAをメモリシステム(例えば、図1中のシステム104)における物理的位置へ変換する際にスキップすべき物理的セクター数を示し得る。各暗号鍵362−1、362−2、362−3、362−4および362−5と、それらに関連付けられたLBA範囲372−1、372−2、372−3、372−4および372−5とは、それらに関連付けられたLBAオフセットを持ち得る。LBAオフセットは、1つの暗号鍵と関連付けられたデータの書き込みから別の(例えば、異なる)暗号鍵と関連付けられたデータの書き込みへ遷移する際の物理的ページ内の幾つかの物理的セクターのスキップに基づき得る。1つ以上の実施形態において、特定のLBA範囲に対応するLBAオフセットは、LBA値の増加と共に累積し得る。例えば、暗号鍵と関連付けられたLBAのオフセットは、各先行する暗号鍵間の遷移時におけるデータ書き込みと関連付けられた各LBAオフセットの合計である。
【0036】
図3に示す例において、LBA範囲372−1と関連付けられた暗号鍵362−1のLBAオフセットは0である。なぜならば、暗号鍵362−1は鍵テーブル内の第1の暗号鍵であるため、暗号鍵362−1と関連付けられたLBAと関連付けられた先行する累積LBAオフセットは存在しないからである。よって、暗号鍵362−1と関連付けられた累積(例えば、合計)LBAオフセット382−1は0である。この例において、LBA範囲372−2と関連付けられた暗号鍵362−2の個々のLBAオフセットは7である。暗号鍵362−2の個々のLBAオフセットが7であるということは、暗号鍵362−1と関連付けられたデータの最終ページにおいて7個の物理的セクターがスキップされることを示す。暗号鍵362−2の累積LBAオフセット382−2は7である(例えば、鍵範囲テーブル中の先行する暗号鍵と関連付けられたデータの最終ページにおいてスキップされる物理的セクターの合計)。
【0037】
この例において、LBA範囲372−3と関連付けられた暗号鍵362−3の個々のLBAオフセットは7である。暗号鍵362−3の個々のLBAオフセットが7であるということは、暗号鍵362−2と関連付けられたデータの最終ページにおいて7個の物理的セクターがスキップされることを示す。暗号鍵362−3の累積LBAオフセット382−3は14である(例えば、鍵範囲テーブル中の先行する暗号鍵と関連付けられたデータの最終ページにおいてスキップされる物理的セクターの合計)。
【0038】
この例において、LBA範囲372−4と関連付けられた暗号鍵362−4の個々のLBAオフセットは1である。暗号鍵362−4の個々のLBAオフセットが1であるということは、暗号鍵362−3と関連付けられたデータの最終ページにおいて1個の物理的セクターがスキップされることを示す。暗号鍵362−4の累積LBAオフセット382−4は15である(例えば、鍵範囲テーブル中の先行する暗号鍵と関連付けられたデータの最終ページにおいてスキップされる物理的セクターの合計)。
【0039】
この例において、LBA範囲372−5と関連付けられた暗号鍵362−5の個々のLBAオフセットは6である。暗号鍵362−5の個々のLBAオフセットが6であることは、暗号鍵362−4と関連付けられたデータの最終ページにおいて6個の物理的セクターがスキップされることを示す。暗号鍵362−5の累積LBAオフセット382−5は21である(例えば、鍵範囲テーブル中の先行する暗号鍵と関連付けられたデータの最終ページにおいてスキップされる物理的セクターの合計)。
【0040】
<結論>
本開示は、論理ブロックアドレス変換のための方法を含む。1つのこのような方法は、LAと関連付けられたコマンドを受信することを含む。LAは、特定のLA範囲内にある。このような方法はまた、この特定の範囲以外の範囲のLAと関連付けられたデータを書き込む際にスキップされる幾つかの物理的位置に対応するオフセットを用いて、LAをメモリ内の物理的位置へと変換することを含む。
【0041】
本明細書中、特定の実施形態を図示および記載してきたが、当業者であれば、同じ結果を達成するように計算された配置構成の代わりに、これらの記載の特定の実施形態を用いることが可能であることを理解する。本開示は、本開示の1つ以上の実施形態の適応または改変を網羅することを意図する。上記記載は例示的に示されたものであり、限定的なものではないことが理解されるべきである。当業者であれば、上記記載を鑑みれば、上記の実施形態と、本明細書中に具体的に記載されていない他の実施形態との組み合わせを想起する。本開示の1つ以上の実施形態の範囲は、上記の構造および方法が用いられる他の用途を含む。よって、本開示の1つ以上の実施形態の範囲は、添付の特許請求の範囲およびその均等物の範囲全体を元に決定されるべきである。
【0042】
上記の詳細な記載において、本開示を簡潔にする目的のため、いくつかの特徴を単一の実施形態においてグループ分けしている。本開示の方法は、本開示の開示の実施形態において、各請求項中に明示的に記載された特徴よりも多数の特徴を用いなければならないという意図を反映したものととして解釈されるべきではない。すなわち、以下の特許請求の範囲に記載のように、本発明の内容は、単一の開示の実施形態の全特徴未満の特徴に含まれる。よって、以下の特許請求の範囲は詳細の記載に採用され、各請求項は、別個の実施形態として独立する。
【符号の説明】
【0043】
100 コンピューティングシステム
102 ホストシステム
104 メモリシステム
108 コントローラ
110−1〜110−N ソリッドステートメモリデバイス
112 フラッシュ変換層(FTL)
114 鍵範囲テーブル
242、244 鍵ゾーン
246 ページ
248、250 物理的セクター
254、256 ページ
360、370、380 列
362−1〜362−5 暗号鍵
372−1〜372−5 LBA範囲
382−1〜382−5 累積LBAオフセット
図1
図2
図3