JP2014507738A - 論理アドレス変換 - Google Patents

論理アドレス変換 Download PDF

Info

Publication number
JP2014507738A
JP2014507738A JP2013557761A JP2013557761A JP2014507738A JP 2014507738 A JP2014507738 A JP 2014507738A JP 2013557761 A JP2013557761 A JP 2013557761A JP 2013557761 A JP2013557761 A JP 2013557761A JP 2014507738 A JP2014507738 A JP 2014507738A
Authority
JP
Japan
Prior art keywords
offset
physical
encryption key
key
lba
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.)
Granted
Application number
JP2013557761A
Other languages
English (en)
Other versions
JP5719041B2 (ja
Inventor
エル. カリー,マーティン
エー. マニング,トロイ
ディー. ラーセン,トロイ
Original Assignee
マイクロン テクノロジー, インク.
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 マイクロン テクノロジー, インク. filed Critical マイクロン テクノロジー, インク.
Publication of JP2014507738A publication Critical patent/JP2014507738A/ja
Application granted granted Critical
Publication of JP5719041B2 publication Critical patent/JP5719041B2/ja
Active 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0665Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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
    • G06F12/04Addressing variable-length words or parts of words
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • 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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1027Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • G06F12/1475Key-lock mechanism in a virtual system, e.g. with translation means
    • 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/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7202Allocation control and policies
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本開示は、論理アドレス変換のための方法と、メモリシステムを作動させるための方法と、メモリシステムとを含む。1つのこのような方法は、LAと関連付けられたコマンドを受信することを含む。LAは、特定のLA範囲内にある。このような方法はまた、LAをメモリ内の物理的位置へ変換することを含む。この変換は、この特定の範囲以外の一定範囲のLAと関連付けられたデータを書き込む際にスキップされた複数の物理的位置に対応するオフセットを用いて、行われる。
【選択図】図2

Description

本開示は、主に半導体メモリデバイス、方法およびシステムに関し、より詳細には、論理アドレス変換に関する。
メモリデバイスは典型的には、コンピュータ内または他の電子デバイスの内部半導体,集積回路として提供されることが多い。揮発性および不揮発性メモリを含めて、異なる多数の種類のメモリが存在する。揮発性メモリの場合、そのデータを維持するための電力を必要とし得、及び、とりわけ、ランダムアクセスメモリ(RAM)と、ダイナミックランダムアクセスメモリ(DRAM)と、同期型ダイナミックランダムアクセスメモリ(SDRAM)とを含む。給電されていない場合、不揮発性メモリは、記憶情報を保持することにより永続的データを提供することができ、NANDフラッシュメモリ、NORフラッシュメモリ、リードオンリーメモリ(ROM)、電気的消去可能ROM(EEPROM)、消去可能ROM(EPROM)および相変化ランダムアクセスメモリ(PCRAM)などを含み得る。
メモリデバイスを相互に組み合わせることにより、半導体ドライブ(SSD)を形成することができる。半導体ドライブは、不揮発性メモリを含み得る(例えば、NANDフラッシュメモリおよびNORフラッシュメモリ)、かつ/または揮発性メモリを含み得る(例えば、他の多様な種類の不揮発性および揮発性メモリの内DRAMおよびSRAM)。フラッシュメモリデバイス(例えば、窒化物層中の電荷トラップに情報を保存する半導体−酸化物−窒化物−酸化物−半導体および金属−酸化物−窒化物−酸化物−半導体コンデンサ構造を用いたフローティングゲートフラッシュデバイスおよび電荷捕獲フラッシュ(CTF)デバイス)は、広範な電子用途のための不揮発性メモリとして利用することができる。フラッシュメモリデバイスは典型的には、高メモリ密度、高信頼性および低電力消費を可能にする単一トランジスタメモリセルを用いる。
SSDは、コンピュータ用主記憶デバイスとしてのハードディスクドライブの代わりに用いることが可能である。なぜならば、半導体ドライブは、性能、サイズ、重量、耐久性、動作温度範囲および電力消費の点においてハードドライブよりも有利であり得る。例えば、SSDを磁気ディスクドライブと比較した場合、SSD内には可動部が無いため、磁気ディスクドライブと関連付けられたシーク時間、待ち時間および他の電気機械遅延を回避することができるため、SSDの方がより高性能であり得る。SSD製造業者は、不揮発性フラッシュメモリを用いて内部バッテリー電源を用いないフラッシュSSDを生成することができ、これにより、ドライブを高汎用性かつコンパクトにすることができる。
SSDは、複数のメモリデバイスを含み得る(例えば、複数のメモリチップ(本明細書中用いられる「複数の〜」という表現は、1つ以上の存在を指し得る(例えば、複数のメモリデバイスは、1つ以上のメモリデバイスを指し得る)。当業者であれば理解するように、メモリチップは、複数のダイおよび/または論理ユニット(LUN)を含み得る。各ダイは、複数のメモリアレイと、アレイ上の周辺回路とを含み得る。これらのメモリアレイは、複数の物理的ページとして編成された複数のメモリセルを含み、物理的ページは複数のブロックとして編成され得る。
SSDは、論理アドレス(LA)テーブルを含み得る(例えば、論理ブロックアドレス(LBA)テーブル)。LBAテーブルを用いて、情報を記録することができる。この情報により、例えば、データの論理アドレスが、SSDのメモリアレイ中のデータの物理的位置へと変換(例えば、リンク)される。LBAテーブルを半導体ドライブ中の揮発性メモリ中に保存することができ、LBAテーブルのコピーをソリッドステートドライブ中の不揮発性メモリ中に保存することもできる。コマンド(例えば、読み出し要求および/または書き込み要求)がソリッドステートドライブにおいて開始した場合、LBAテーブルを用いて、例えば半導体ドライブ中のデータの物理的位置を変換(例えば、ロケイト(配置))することができる。特定の論理アドレスにおけるデータを読み出しおよび/または書き込むための読み出しおよび/または書き込み要求は、ホストによって開始され得る。論理アドレスはLBAテーブル中において見受けられ、その後対応する物理的アドレスを表示することができる。半導体ドライブは、表示された物理的アドレスからデータを読み出して、半導体ドライブについての読み出し要求を完了しかつ/または半導体ドライブは表示された物理的アドレスにデータを書き込んで、ソリッドステートドライブについての書き込み要求を完了することができる。
暗号データは、ソリッドステートメモリデバイス中に保存することができ、ホストが一定範囲のLBAをグループとして取り扱う場合がある。例えば、暗号鍵は、特定のLBA範囲と関連付けられ得る。複数の暗号鍵を用いて、メモリデバイス中に保存されたデータを暗号化することができる。
本開示の1つ以上の実施形態による少なくとも1つのメモリシステムを含むコンピューティングシステムの機能ブロック図である。 本開示の1つ以上の実施形態による不揮発性メモリ中の鍵ゾーンのブロック図を示す。 本開示の1つ以上の実施形態によるa鍵範囲テーブルを示す。
本開示は、論理アドレス変換のための方法を含む。このような1つの方法は、LAと関連付けられたコマンドを受信することを含む。LAは特定の範囲のLA中に存在し、特定の範囲以外の一定範囲のLAと関連付けられたデータが書き込まれる際にスキップされた複数の物理的位置に対応するオフセットを用いて、LAがメモリ中の物理的位置へと変換される。
以下の本開示の詳細な記載において、本開示の一部を形成する添付図面を参照する。図面中、本開示の1つ以上の実施形態を実行する様態を例示的に示す。これらの実施形態は、当業者が本開示の実施形態を実行することを可能にするための充分な詳細を記載する。他の実施形態が利用可能であり、プロセス変更、電気的変更および/または構造的変更が本開示の範囲から逸脱することなく可能であることが理解されるべきである。本明細書中用いられる「N」という用語が特に図面中の参照符号と共に用いられる場合、複数の特定の特徴が本開示の1つ以上の実施形態において含まれ得ることを意味する。
本明細書中の図面において用いられるナンバリング法として、第1の桁(単数または複数)が図面数に対応し、残りの桁は、図面中の要素または構成要素を差す。異なる図面における類似の要素または構成要素は、類似の桁を用いて示す。例えば、108は、図1中の要素「08」を指し得、類似の要素を図2中において208として示し得る。理解されるように、本開示の複数のさらなる実施形態が可能となるように、本明細書中の多様な実施形態中に示される要素を追加、交換かつ/または省略することが可能である。加えて、理解されるように、図面中に記載の要素の比率および相対的大きさは、本発明の特定の実施形態を例示することを意図し、限定的なものとしてとられるべきではない。
図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)であり得る。
図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つ以上のプロセッサ(例えば、並列処理システム、複数のコプロセッサ)を意図し得ることを理解する。
1つ以上の実施形態において、物理的ホストインターフェースは、標準インターフェースの形態をとり得る。例えば、メモリシステム104がコンピューティングシステム100中のデータ保存に用いられる場合、物理的ホストインターフェースは、シリアル高度技術アタッチメント(SATA)、周辺構成要素相互接続エクスプレス(PCIe)またはユニバーサルシリアルバス(USB)、および他のコネクタおよびインターフェースであり得る。しかし、一般的に、物理的ホストインターフェースにより、メモリシステム104と、物理的ホストインターフェースのための適合可能な受容器を有するホスト102との間において制御、アドレス、データおよび他の信号を送るためのインターフェースを得ることができる。
データの読み出し、書き込みおよび消去などの動作を行うために、コントローラ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への所望のアクセスを達成することができる。
ソリッドステートメモリデバイス110−1、...、110−Nは、メモリセルの1つ以上のアレイを含み得る(例えば、不揮発性メモリセル)。これらのアレイは、例えばNANDアーキテクチャのフラッシュアレイであり得る。NANDアーキテクチャにおいて、「行」のメモリセルの制御ゲートをアクセス(例えば、ワード、ライン)と接続することができ、一方メモリセルを、選択ゲートソーストランジスタと選択ゲートドレイントランジスタとの間の「ストリング」内のドレインへと直列ソースに接続することができる。選択ゲートドレイントランジスタにより、ストリングをデータ(例えば、ビット線)へと接続することができる。「行」および「ストリング」という用語は、メモリセルが直線状または直接に配置されている状態を示さない。当業者であれば理解するように、メモリセルをビット線およびソース線へ接続する様態は、アレイがNANDアーキテクチャ、NORアーキテクチャまたは何らかの他のメモリアレイアーキテクチャであるかによって異なる。
ソリッドステートメモリデバイス110−1、...、110−Nは、グループ分けすることが可能な複数のメモリセルを含み得る。本明細書中用いられる「グループ」という用語は、1つ以上のメモリセルを含み得る(例えば、ページ、ブロック、面、ダイ、アレイ全体、または他のメモリセルグループ)。例えば、いくつかのメモリアレイは、1つのメモリセルブロックを構成するメモリセルからなる複数のページを含み得る。複数のブロックは、メモリセルの面内に含まれ得る。複数のメモリセル面が、ダイ上に含まれ得る。一例として、128GBメモリデバイスは、1ページ毎に4314バイトのデータ、1ブロック毎に128ページ、1面毎に2048ブロック、1デバイス毎に16面を含み得る。
ソリッドステートメモリデバイス110−1、...、110−Nは複数のチャンネルを含み得、各チャンネルは複数のダイを含み得る。各チャンネルは、論理ユニット数(LUN)を用いて組織化することができる。ソリッドステートメモリデバイス110−1、...、110−Nへデータを書き込む場合、チャンネルおよびLUNの数上にデータをストライプすることができる。ソリッドステートメモリデバイス110−1、...、110−Nへのデータ書き込みは、チャンネルと関連付けられたメモリセル間の予測パターン中にデータをストライプする書き込みパターンアルゴリズムを用いて行われる。データ書き込みは、ホストからチャンネルへと送られるデータトラフィックを取り扱うチャンネルの能力によって限定され得るため、複数のチャンネルをメモリシステムによって用いることにより、チャンネルの数上へのデータの書き込みおよび読み出しを行うことが可能になる。
暗号データを、ソリッドステートメモリデバイス110−1、...、110−N。中に保存することができる例えば、複数の暗号鍵を用いて、メモリデバイス110中に保存されたデータを暗号化することができる。LBAの範囲は、暗号鍵と関連付けることができる。例えば、LBA〜LBAと関連付けられたデータは、暗号鍵0でもって暗号であり得、LBAx+1〜LBA2yと関連付けられたデータは、暗号with暗号鍵1暗号化され得、LBA2y+1〜LBA3zと関連付けられたデータは、暗号鍵2でもって暗号可され得る。1つ以上の実施形態において、メモリシステムは、データ暗号化のために16個の異なる暗号鍵を用いることができる。
メモリデバイスにおいて、物理的ページは、書き込み単位および/または読み出し単位を指し得る(例えば、共に書き込まれかつ/または読み出される複数のセルまたはメモリセルの機能グループ)。別個の書き込み動作および/または読み出し動作により、偶数ページおよび奇数ページを書き込みおよび/または読み出しすることができる。多レベルセル(MLC)を含む実施形態において、物理的ページを論理的に分割して、例えばデータの上側ページおよび下側ページとすることができる。例えば、1つのメモリセルは、1ビット以上をデータの上側ページへ提供し得、1ビット以上をデータの下側ページへ提供し得る。よって、データの上側ページおよび下側ページを1つの書き込み動作および/または読み出し動作の一部として書き込みおよび/または読み出すことが可能となる。なぜならば、論理上側ページおよび論理下側ページはどちらとも、1つの物理的ページの一部であるからである。
図1の実施形態は、本開示の実施形態を不明瞭にしないために図示していないさらなる回路を含み得る。例えば、メモリシステム104は、アドレス回路を含み得る。このアドレス回路は、I/O接続を介してI/O回路を通じて提供されたアドレス信号をラッチする。アドレス信号は、行復号器および列復号器によって受信および復号化され得る。行復号器および列復号器は、ソリッドステートメモリデバイス110−1、...、110−Nへアクセスする。当業者であれば、アドレス入力接続の数は、ソリッドステートメモリデバイス110−1、...、110−Nの密度およびアーキテクチャに応じて異なり得ることを理解する。
一般的に、コントローラ108は、ホストシステム102から受信された(例えば、PCIeバスから受信された)コマンドパケットをホストメモリ変換回路に対するコマンド命令へと変換することと、メモリ応答を要求元ホストへと送られるホストシステムコマンドへ変換することとを行う。例えば、ホストインターフェース回路は、PCIeベーストランザクション層パケットからSATAコマンドパケットを構築することができる。
コントローラ108は、論理(例えば、ホスト)アドレス(例えば、受信コマンドと関連付けられたもの)を物理的メモリアドレスへと変換するように構成され得る。例えば、コントローラ108中のFTL112は、鍵範囲テーブルからの入力を用いて、ホストセクター読み出しコマンドおよび書き込みコマンドを、ソリッドステートメモリデバイス110−1、...、110−Nの特定部分向けのコマンドへと変換することができる。各ホスト動作は、単一セクターまたは多セクターの不揮発性メモリ動作へ変換することができる。
1つ以上の実施形態において、メモリデバイスへのデータ書き込みは、1ページに同時に行うことができる。メモリデバイス中の各ページは複数の物理的セクターを持ち得、各物理的セクターはLBAと関連付けることができる。一例として、1つの物理的ページは、8つの物理的データセクターを持ち得る。しかし、実施形態は、物理的ページ毎の特定の数の物理的セクターに限定されない。データ書き込みを1ページに同時に行う場合、当該ページのデータを、例えば8個のLBAと関連付けることができる。いくつかの実施形態において、第1の数のLBA(例えば、3個のLBA)を第1の暗号鍵と関連付けることができ、第2の数LBA(例えば、5個のLBA)を第2の暗号鍵と関連付けることができる。ページについて規定されたデータが2つの異なる暗号鍵と関連付けられたLBAと関連付けられている場合、このデータを代わりに2つの異なるページに書き込むことができる。第1の数のLBAと関連付けられたデータは、第1の暗号鍵と関連付けられた第1のページへ書き込まれ得、第2の数のLBAと関連付けられたデータは、第2の暗号鍵と関連付けられた第2のページへと書き込まれ得る。その結果、データを含まない第1のページへ割り当てられたデータを含むページの複数の物理的位置(例えば、セクター)が得られる。例えば、第1のページのうち残りの物理的セクターが、書き込みプロセスにおいてスキップされる。本開示の1つ以上の実施形態において、これらの物理的セクターのスキッピングは、鍵範囲テーブルのオフセットで説明される。FTLは、鍵範囲テーブル中の情報に基づいて、LBAをシフト物理的位置へと変換することができる。
コントローラ108は、鍵範囲テーブル114を用いて、LBAと関連付けられたデータの物理的位置を変換することができる。鍵範囲テーブル114は、複数の入力を含み得る。これらの入力はそれぞれ、各入力と関連付けられた範囲に先行する一定範囲(単数または複数)のLBAの範囲と関連付けられたデータのページ(単数または複数)が書き込まれた際にスキップされた複数の物理的位置(例えば、物理的セクター)に対応する各オフセットを示す。鍵範囲テーブルは、各暗号鍵についての入力と、暗号鍵と関連付けられたLBA範囲と、先行範囲内の最終LBAへ割り当てられたデータ書き込み後にスキップされた物理的セクター数を示すオフセットとを含み得る。複数のLBAと関連付けられかつ暗号鍵と関連付けられたデータを書き込む場合、先行LBA範囲からの鍵範囲テーブル内のオフセットおよび暗号鍵を蓄積(例えば、合計)することができ、この蓄積(合計)数を用いて、LBA数と関連付けられたデータの物理的位置を変換することができる。LBAと関連付けられたデータの物理的位置を変換する際に用いられるオフセットは、鍵範囲テーブル内においてロケイト(配置)することができる。このオフセットは、LBAと関連付けられた暗号鍵に基づいて鍵範囲テーブル内においてロケイト(配置)することができる。
図2は、本開示の1つ以上の実施形態による不揮発性メモリ中の鍵ゾーンのブロック図である。図2において、第1の数のメモリセルと、第1の鍵ゾーン242によって示されるような第1の暗号鍵とを関連付けることができ、第2の数のメモリセルと、第2の鍵ゾーン244によって示されるような第2の暗号鍵とを関連付けることができる。メモリセルの数は、ページ状に配置することができ、これを図2中の行によって示す。例えば、図2において、ページ246は1行の物理的セクターを含み得、各物理的セクターは複数のメモリセルを含み得る。1つのページは複数の物理的セクターを含み得、例えば図2中のページ246は8個の物理的セクターを含む。
メモリ内のページへデータを書き込む場合、データ暗号化/復号化のための鍵ゾーンの暗号鍵とこのデータを関連付けることができ、このデータを複数のLBAと関連付けることができる。例えば、鍵ゾーン242の第1の暗号鍵と関連付けられた複数のLBAおよび鍵ゾーン244の第2の暗号鍵と関連付けられた複数のLBAと関連付けられたデータを書き込むためのコマンド(単数または複数)を受信することができる。よって、1つの暗号鍵と関連付けられた複数のLBAから別の暗号鍵と関連付けられた複数のLBAへの遷移を、物理的ページの最中に発生させることができる。例えば、鍵ゾーン242の第1の暗号鍵と関連付けられた最後の2つのLBAと関連付けられたデータを、ページ254のうち物理的セクター248において終了する第1の2つの物理的セクターに書き込むことができる。鍵ゾーン244の第2の暗号鍵と関連付けられたLBAと関連付けられたデータを、ページ256のうち物理的セクター250(例えば、新規物理的ページ)から開始する第1の6個の物理的セクターへ書き込むことができる。第1の暗号鍵と関連付けられたLBAと関連付けられたデータが、第2の暗号鍵と関連付けられたLBと異なるページへ書き込まれる。例えば、FTLの状態によっては、異なる暗号鍵と関連付けられたLBAと関連付けられたデータを同一ページへ書き込むことができない場合がある。第1の暗号鍵と関連付けられたLBAと関連付けられたデータと、第2の暗号鍵と関連付けられたLBAと関連付けられたデータとを異なる物理的ページ上に書き込む場合、セクター248が存在しているページの最終の6個の物理的セクターをスキップする(例えば、これらのセクターにはデータは書き込まれない)。鍵ゾーン242の暗号鍵と関連付けられたLBA範囲と関連付けられた暗号鍵の記載と共にこれらのスキップされた物理的セクターは、鍵範囲テーブル入力に記載される、。1つ以上の実施形態において、2つ以上の異なる暗号鍵と関連付けられたデータのページを書き込む際、任意の数の物理的セクターをスキップすることができる。
図3は、本開示の1つ以上の実施形態による鍵範囲テーブルを示す。図3中の鍵範囲テーブルは、複数の列を含む。第1の列360は、データ暗号化に用いられる暗号鍵を示す。第2の列370は、特定の暗号鍵と関連付けられたLBA範囲を示す。第3の列380は、暗号鍵およびLBA範囲と関連付けられたLBAオフセットを示す。
図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)と関連付けられる。
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オフセットの合計である。
図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である(例えば、鍵範囲テーブル中の先行暗号鍵と関連付けられたデータの最終ページにおいてスキップされた物理的セクターの合計)。
この例において、LBA範囲372−3と関連付けられた暗号鍵362−3の個々のLBAオフセットは7である。暗号鍵362−3の個々のLBAオフセットが7であるということは、暗号鍵362−2と関連付けられたデータの最終ページにおいて7個の物理的セクターがスキップされたことを示す。暗号鍵362−3の累積LBAオフセット382−3は14である(例えば、鍵範囲テーブル中の先行暗号鍵と関連付けられたデータの最終ページにおいてスキップされた物理的セクターの合計)。
この例において、LBA範囲372−4と関連付けられた暗号鍵362−4の個々のLBAオフセットは1である。暗号鍵362−4の個々のLBAオフセットが1であるということは、暗号鍵362−3と関連付けられたデータの最終ページにおいて1個の物理的セクターがスキップされたことを示す。暗号鍵362−4の累積LBAオフセット382−4は15である(例えば、鍵範囲テーブル中の先行暗号鍵と関連付けられたデータの最終ページにおいてスキップされた物理的セクターの合計)。
この例において、LBA範囲372−5と関連付けられた暗号鍵362−5の個々のLBAオフセットは6である。暗号鍵362−5の個々のLBAオフセットが6であることは、暗号鍵362−4と関連付けられたデータの最終ページにおいて6個の物理的セクターがスキップされたことを示す。暗号鍵362−5の累積LBAオフセット382−5は21である(例えば、鍵範囲テーブル中の先行暗号鍵と関連付けられたデータの最終ページにおいてスキップされた物理的セクターの合計)。
<結論>
本開示は、論理ブロックアドレス変換のための方法を含む。1つのこのような方法は、LAと関連付けられたコマンドを受信することを含む。LAは、特定のLA範囲内にある。このような方法はまた、この特定の範囲以外の一定範囲のLAと関連付けられたデータを書き込む際にスキップされた複数の物理的位置に対応するオフセットを用いて、LAをメモリ内の物理的位置へと変換することを含む。
本明細書中、特定の実施形態を図示および記載してきたが、当業者であれば、同じ結果を達成するように計算された配置構成の代わりに、これらの記載の特定の実施形態を用いることが可能であることを理解する。本開示は、本開示の1つ以上の実施形態の適応または改変を網羅することを意図する。上記記載は例示的に示されたものであり、限定的なものではないことが理解されるべきである。当業者であれば、上記記載を鑑みれば、上記の実施形態と、本明細書中に具体的に記載されていない他の実施形態との組み合わせを想起する。本開示の1つ以上の実施形態の範囲は、上記の構造および方法が用いられる他の用途を含む。よって、本開示の1つ以上の実施形態の範囲は、添付の特許請求の範囲およびその均等物の範囲全体を元に決定されるべきである。
上記の詳細な記載において、本開示を簡潔にする目的のため、いくつかの特徴を単一の実施形態においてグループ分けしている。本開示の方法は、本開示の開示の実施形態において、各請求項中に明示的に記載された特徴よりも多数の特徴を用いなければならないという意図を反映したものととして解釈されるべきではない。すなわち、以下の特許請求の範囲に記載のように、本発明の内容は、単一の開示の実施形態の全特徴未満の特徴に含まれる。よって、以下の特許請求の範囲は詳細の記載に採用され、各請求項は、別個の実施形態として独立する。

Claims (27)

  1. 論理アドレス(LA)変換のための方法であって、
    LAと関連付けられたコマンドを受信することであって、前記LAは特定のLA範囲内にある、ことと、
    前記LAをメモリ中の物理的位置へと変換することであって、前記変換は、前記特定の範囲以外の一定のLA範囲と関連付けられたデータを書き込む際にスキップされた複数の物理的位置に対応するオフセットを用いて行われる、ことと、
    を含む、方法。
  2. 前記他の範囲は第1の暗号鍵と関連付けられ、前記特定の範囲は第2の暗号鍵と関連付けられる、請求項1に記載の方法。
  3. 前記方法は、鍵範囲テーブル中に前記オフセットをロケイト(配置)することを含む、請求項1に記載の方法。
  4. 変換することは、変換前に前記オフセットを前記LAへ付加することを含む、請求項1に記載の方法。
  5. 前記LAを物理的位置へ変換することは、前記オフセットによって示された複数の物理的セクターをスキップすることを含む、請求項4に記載の方法。
  6. 前記オフセットによって示される物理的位置の数スキップすることは、前記他の範囲のLAと関連付けられた暗号鍵と関連付けられたデータを書き込む際にスキップされた物理的位置の累計合計をスキップすることを含む、請求項5に記載の方法。
  7. 変換することは、物理的セクターへ変換することを含む、請求項1〜6のうちいずれか1項に記載の方法。
  8. 変換することは、オフセットを用いて前記LAを物理的位置へ変換することを含み、前記オフセットは、前記特定の範囲に先行する一定範囲のLAと関連付けられたデータを書き込む際にスキップされた複数の物理的位置に対応する、請求項1〜6のうちいずれか1項に記載の方法。
  9. 前記範囲はそれぞれ、異なる暗号鍵と関連付けられる、請求項8に記載の方法。
  10. 論理アドレス(LA)変換のための方法であって、
    第1のLAグループ内において受信されたLAへ付加されるべき第1のオフセットを付加することと、
    第2のLAグループ内において受信されたLAへ付加されるべき第2のオフセットを付加することであって、前記第2のオフセットは、前記第1のオフセットへさらなるオフセットを加えることにより決定される、ことと、
    前記第2のグループ内において受信された前記LAを変換し、前記第2のオフセットをメモリ内の物理的位置へ付加することと、
    を含む、方法。
  11. 第1の暗号鍵は前記第1のLAグループと関連付けられ、第2の暗号鍵は前記第2のLAグループと関連付けられる、請求項10に記載の方法。
  12. 鍵範囲テーブル内において前記第1のオフセットをロケイト(配置)することをさらに含む、請求項10に記載の方法。
  13. 前記第1のオフセットは、先行LAグループ内の最終LAと関連付けられたデータの物理的ページにおいてスキップされた複数の物理的セクターに少なくとも部分的に基づく、請求項10に記載の方法。
  14. 前記第2のオフセットは、前記第1のLAグループの最終LAと関連付けられたデータの物理的ページにおいてスキップされた複数の物理的セクターに少なくとも部分的に基づく、請求項10に記載の方法。
  15. 前記第2のオフセットは、前記第1のLAグループの最終LAおよび前記第1のオフセットと関連付けられたデータの物理的ページにおいてスキップされた複数の物理的セクターの合計を含む、請求項14に記載の方法。
  16. 鍵範囲テーブル内において前記第2のオフセットをロケイト(配置)することをさらに含む、請求項15に記載の方法。
  17. 前記第2のグループ内の前記LAをホストから受信することを含み、前記受信されたLAをコントローラ中の変換層を介して変換する前に、前記第2のグループ内の前記受信されたLAへ前記第2のオフセットを付加する、請求項10〜16のうちいずれか1項に記載の方法。
  18. メモリシステムを作動させるための方法であって、
    第1の数の物理的セクターへデータを書き込むことであって、第1の暗号鍵および第2の暗号鍵と関連付けられた論理アドレス(LA)と関連付けられたデータを書き込む際、前記第1の数の物理的セクターのうち1つ以上がスキップされる、ことと、
    鍵範囲テーブルに鍵テーブル入力を入力することであって、前記鍵テーブル入力は、前記第1の暗号鍵および前記第2の暗号鍵と関連付けられたLAと関連付けられたデータを書き込む際にスキップされた前記第1の数の物理的セクターの数量を示す、ことと、
    を含み、
    前記第2の暗号鍵と関連付けられたLAを、前記鍵テーブル入力を用いて物理的位置へ変換することが可能である、
    方法。
  19. データを書き込むことは、第1の暗号鍵と関連付けられたLAと関連付けられたデータを第1のページへ書き込むことと、第2の暗号鍵と関連付けられたLAに割り当てられたデータを第2のページへ書き込むこととを含む、請求項18に記載の方法。
  20. 前記鍵範囲テーブル入力を用いることは、前記第2の暗号鍵と関連付けられた前記LAと関連付けられたデータの物理的位置を、前記第1の暗号鍵と関連付けられたLAと関連付けられたデータを書き込む際にスキップされる前記第1の数の物理的セクターだけオフセットさせることを含む、請求項18に記載の方法。
  21. 前記鍵範囲テーブル入力を用いることは、前記第2の暗号鍵と関連付けられた前記と関連付けられたデータの物理的位置LAを、前記第1の暗号鍵と関連付けられたLAと関連付けられたデータを書き込む際にスキップされる前記第1の数の物理的セクターと、前回用いられた暗号鍵と関連付けられたLAと関連付けられたデータを書き込む際にスキップされた物理的セクター数とだけオフセットさせることを含む、請求項18〜20のうちいずれか1項に記載の方法。
  22. メモリシステムであって、
    不揮発性メモリと、
    前記不揮発性メモリに接続されたコントローラであって、前記コントローラは、
    論理アドレス(LA)のグループと、暗号鍵とを関連付けることと、
    特定のLA範囲内の前記LAと、別のLA範囲と関連付けられたデータを書き込む際にスキップされる複数の物理的位置とに基づいて、コマンドと関連付けられたLAを変換することと、
    を行うよう構成される、コントローラと、
    を含む、メモリシステム。
  23. 2つの暗号鍵と関連付けられたLAと関連付けられたデータが書き込まれる際、複数の物理的セクターがスキップされる、請求項22に記載のメモリシステム。
  24. 前記コントローラは鍵範囲テーブルをさらに含み、前記鍵範囲テーブルは、オフセットをそれぞれ有する複数の入力を含み、前記オフセットは、各暗号鍵と関連付けられたLA以外のLAと関連付けられたデータが書き込まれる際にスキップされる物理的セクターの数を示す、請求項22〜23のうちいずれか1項に記載のメモリシステム。
  25. 鍵範囲テーブル入力数それぞれと関連付けられた前記オフセットは、各先行する鍵範囲テーブル入力からのオフセットを累積することにより、決定される、請求項24に記載のメモリシステム。
  26. メモリシステムであって、
    不揮発性メモリと、
    前記不揮発性メモリへ接続されたコントローラであって、前記コントローラは、
    複数のLBAオフセットを決定することであって、複数の暗号鍵はそれぞれ、LBAオフセットの各数と関連付けられ、前記複数のLBAオフセットはそれぞれ、前記複数の暗号鍵のうちの1つと関連付けられた最終ページ上の複数の書き込まれていない物理的セクターに対応する、ことと、
    暗号鍵と関連付けられたLBAを受信することと、
    前記受信されたLBAを物理的位置へ変換することであって、前記変換は、前記受信されたLBAと関連付けられた前記暗号鍵と関連付けられた前記LBAオフセットを用いて行われる、ことと、
    を行うように構成される、コントローラと、
    を含む、メモリシステム。
  27. 前記複数のLBAオフセットは鍵範囲テーブル内にあり、前記複数のLBAオフセットはそれぞれ、前記テーブル中の各先行オフセットと関連付けられた前記暗号鍵全てと関連付けられた最終ページ上の書き込まれていない物理的セクターの合計数を含む、請求項26に記載のメモリシステム。
JP2013557761A 2011-03-06 2012-03-01 論理アドレス変換 Active JP5719041B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/041,402 US8732431B2 (en) 2011-03-06 2011-03-06 Logical address translation
US13/041,402 2011-03-06
PCT/US2012/027265 WO2012121968A2 (en) 2011-03-06 2012-03-01 Logical address translation

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2015055721A Division JP6181689B2 (ja) 2011-03-06 2015-03-19 論理アドレス変換

Publications (2)

Publication Number Publication Date
JP2014507738A true JP2014507738A (ja) 2014-03-27
JP5719041B2 JP5719041B2 (ja) 2015-05-13

Family

ID=46754039

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2013557761A Active JP5719041B2 (ja) 2011-03-06 2012-03-01 論理アドレス変換
JP2015055721A Active JP6181689B2 (ja) 2011-03-06 2015-03-19 論理アドレス変換

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2015055721A Active JP6181689B2 (ja) 2011-03-06 2015-03-19 論理アドレス変換

Country Status (7)

Country Link
US (2) US8732431B2 (ja)
EP (1) EP2684132B1 (ja)
JP (2) JP5719041B2 (ja)
KR (1) KR101554084B1 (ja)
CN (1) CN103502958B (ja)
TW (1) TWI459200B (ja)
WO (1) WO2012121968A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864547B2 (en) 2015-08-06 2018-01-09 Toshiba Memory Corporation Storage device and control method

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8862902B2 (en) * 2011-04-29 2014-10-14 Seagate Technology Llc Cascaded data encryption dependent on attributes of physical memory
US9086999B2 (en) * 2011-07-05 2015-07-21 International Business Machines Corporation Data encryption management
KR101818445B1 (ko) * 2011-07-08 2018-01-16 삼성전자주식회사 메모리 컨트롤러, 이의 동작 방법, 및 상기 메모리 컨트롤러를 포함하는 전자 장치들
US9460290B2 (en) 2011-07-19 2016-10-04 Elwha Llc Conditional security response using taint vector monitoring
US9465657B2 (en) 2011-07-19 2016-10-11 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9798873B2 (en) 2011-08-04 2017-10-24 Elwha Llc Processor operable to ensure code integrity
US9575903B2 (en) * 2011-08-04 2017-02-21 Elwha Llc Security perimeter
US9558034B2 (en) 2011-07-19 2017-01-31 Elwha Llc Entitlement vector for managing resource allocation
US9471373B2 (en) 2011-09-24 2016-10-18 Elwha Llc Entitlement vector for library usage in managing resource allocation and scheduling based on usage and priority
US9298918B2 (en) 2011-11-30 2016-03-29 Elwha Llc Taint injection and tracking
US9443085B2 (en) 2011-07-19 2016-09-13 Elwha Llc Intrusion detection using taint accumulation
KR101979392B1 (ko) * 2012-05-17 2019-05-16 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 방법
US8898548B1 (en) 2012-08-24 2014-11-25 Western Digital Technologies, Inc. Methods, data storage devices and systems having variable size ECC page size
US9268682B2 (en) 2012-10-05 2016-02-23 Skyera, Llc Methods, devices and systems for physical-to-logical mapping in solid state drives
US9507523B1 (en) 2012-10-12 2016-11-29 Western Digital Technologies, Inc. Methods, devices and systems for variable size logical page management in a solid state drive
US9489296B1 (en) 2012-10-17 2016-11-08 Western Digital Technologies, Inc. Methods, devices and systems for hardware-based garbage collection in solid state drives
US9684593B1 (en) * 2012-11-30 2017-06-20 EMC IP Holding Company LLC Techniques using an encryption tier property with application hinting and I/O tagging
TWI479359B (zh) * 2013-08-01 2015-04-01 Phison Electronics Corp 指令執行方法、記憶體控制器與記憶體儲存裝置
US9354955B1 (en) 2014-03-19 2016-05-31 Western Digital Technologies, Inc. Partial garbage collection for fast error handling and optimized garbage collection for the invisible band
US9298647B2 (en) * 2014-08-25 2016-03-29 HGST Netherlands B.V. Method and apparatus to generate zero content over garbage data when encryption parameters are changed
CN104391805B (zh) * 2014-10-27 2017-12-05 浪潮集团有限公司 一种用于加密固态存储的数据结构
EP3274824B1 (en) 2015-03-27 2021-03-17 Intel Corporation Efficient address translation
US20170093823A1 (en) * 2015-09-25 2017-03-30 Vinodh Gopal Encrypting Observable Address Information
US10592433B1 (en) * 2015-12-10 2020-03-17 Massachusetts Institute Of Technology Secure execution of encrypted software in an integrated circuit
TWI595356B (zh) * 2016-08-19 2017-08-11 大心電子(英屬維京群島)股份有限公司 資料傳輸方法及使用所述方法的儲存控制器與清單管理電路
KR102458312B1 (ko) * 2017-06-09 2022-10-24 삼성전자주식회사 스토리지 장치 및 이의 동작 방법
US10534718B2 (en) * 2017-07-31 2020-01-14 Micron Technology, Inc. Variable-size table for address translation
US11436154B2 (en) 2017-12-01 2022-09-06 Micron Technology, Inc. Logical block mapping based on an offset
US10977182B2 (en) * 2017-12-01 2021-04-13 Micron Technology, Inc. Logical block mapping based on an offset
US10831596B2 (en) 2018-01-22 2020-11-10 Micron Technology, Inc. Enhanced error correcting code capability using variable logical to physical associations of a data block
CN109951275B (zh) * 2019-02-22 2021-08-17 记忆科技(深圳)有限公司 密钥生成方法、装置、计算机设备及存储介质
KR20210142974A (ko) * 2020-05-19 2021-11-26 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350665A (ja) * 2000-06-06 2001-12-21 Hitachi Ltd ブロックアラインメント機能付き半導体記憶装置
JP2007094900A (ja) * 2005-09-29 2007-04-12 Eastman Kodak Co アクセス装置
JP2007516541A (ja) * 2003-06-23 2007-06-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 欠陥発生時の物理アドレスへの論理アドレスの再マッピングを伴う情報を記録するための装置及び方法
JP2008108039A (ja) * 2006-10-25 2008-05-08 Hitachi Ltd 暗号化機能を備えたストレージサブシステム
JP2009503729A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム
JP2009258948A (ja) * 2008-04-16 2009-11-05 Panasonic Corp メモリコントローラ、不揮発性記憶装置および演算処理システム
US20100088525A1 (en) * 2008-10-03 2010-04-08 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
US20100185830A1 (en) * 2009-01-21 2010-07-22 Micron Technology, Inc. Logical address offset

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162433A (ja) * 2001-11-27 2003-06-06 Fujitsu Ltd メモリシステム
US7039788B1 (en) * 2002-10-28 2006-05-02 Sandisk Corporation Method and apparatus for splitting a logical block
US20080046641A1 (en) 2006-08-21 2008-02-21 Sandisk Il Ltd. NAND flash memory controller exporting a logical sector-based interface
EP2188812B1 (en) 2006-08-21 2013-05-22 Nxp B.V. Circuit arrangement and method for data processing
KR100969758B1 (ko) 2007-01-22 2010-07-13 삼성전자주식회사 플래시 변환 레이어에서 데이터를 암호화하여 처리하기위한 방법 및 장치
US8412880B2 (en) * 2009-01-08 2013-04-02 Micron Technology, Inc. Memory system controller to manage wear leveling across a plurality of storage nodes
US8176295B2 (en) * 2009-04-20 2012-05-08 Imation Corp. Logical-to-physical address translation for a removable data storage device
US8386747B2 (en) 2009-06-11 2013-02-26 Freescale Semiconductor, Inc. Processor and method for dynamic and selective alteration of address translation
US9015401B2 (en) * 2011-04-28 2015-04-21 Seagate Technology Llc Selective purge of confidential data from a non-volatile memory

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001350665A (ja) * 2000-06-06 2001-12-21 Hitachi Ltd ブロックアラインメント機能付き半導体記憶装置
JP2007516541A (ja) * 2003-06-23 2007-06-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 欠陥発生時の物理アドレスへの論理アドレスの再マッピングを伴う情報を記録するための装置及び方法
JP2009503729A (ja) * 2005-08-03 2009-01-29 サンディスク コーポレイション 論理アドレス空間と直接データファイル方式で動作するインターフェイスシステム
JP2007094900A (ja) * 2005-09-29 2007-04-12 Eastman Kodak Co アクセス装置
JP2008108039A (ja) * 2006-10-25 2008-05-08 Hitachi Ltd 暗号化機能を備えたストレージサブシステム
JP2009258948A (ja) * 2008-04-16 2009-11-05 Panasonic Corp メモリコントローラ、不揮発性記憶装置および演算処理システム
US20100088525A1 (en) * 2008-10-03 2010-04-08 Microsoft Corporation External encryption and recovery management with hardware encrypted storage devices
US20100185830A1 (en) * 2009-01-21 2010-07-22 Micron Technology, Inc. Logical address offset

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9864547B2 (en) 2015-08-06 2018-01-09 Toshiba Memory Corporation Storage device and control method
US10152280B2 (en) 2015-08-06 2018-12-11 Toshiba Memory Corporation Storage device and control method

Also Published As

Publication number Publication date
US20140317374A1 (en) 2014-10-23
WO2012121968A3 (en) 2012-11-22
US20120226887A1 (en) 2012-09-06
CN103502958A (zh) 2014-01-08
EP2684132B1 (en) 2019-04-24
JP6181689B2 (ja) 2017-08-16
US8732431B2 (en) 2014-05-20
JP2015164044A (ja) 2015-09-10
US9164701B2 (en) 2015-10-20
KR20130120541A (ko) 2013-11-04
EP2684132A2 (en) 2014-01-15
TWI459200B (zh) 2014-11-01
EP2684132A4 (en) 2014-12-10
KR101554084B1 (ko) 2015-09-17
CN103502958B (zh) 2016-08-17
JP5719041B2 (ja) 2015-05-13
WO2012121968A2 (en) 2012-09-13
TW201250470A (en) 2012-12-16

Similar Documents

Publication Publication Date Title
JP6181689B2 (ja) 論理アドレス変換
US9472244B2 (en) Apparatus power control
KR101491943B1 (ko) 트랜잭션 로그 복구
JP6142081B2 (ja) 不揮発性メモリデバイスにおける揮発性メモリアーキテクチャ及び関連コントローラ
US8090900B2 (en) Storage device and data management method
US9189383B2 (en) Nonvolatile memory system and data processing method
US20210232508A1 (en) Last written page searching
TW201229757A (en) Stripe-based non-volatile multilevel memory operation
KR20190099693A (ko) 메모리 시스템 및 그것의 동작 방법
CN101800071A (zh) 固态盘设备及其编程失败处理方法
US10936508B2 (en) Storage device and method of operating the same
TWI717751B (zh) 資料寫入方法、記憶體控制電路單元及記憶體儲存裝置
US10466938B2 (en) Non-volatile memory system using a plurality of mapping units and operating method thereof
US20230137866A1 (en) Program command generation with dummy data generation at a memory device

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130903

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131003

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20131003

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140711

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140722

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20141015

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141015

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: 20150217

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150319

R150 Certificate of patent or registration of utility model

Ref document number: 5719041

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250