JP6764362B2 - メモリの重複除去方法及び重複除去dramメモリモジュール - Google Patents
メモリの重複除去方法及び重複除去dramメモリモジュール Download PDFInfo
- Publication number
- JP6764362B2 JP6764362B2 JP2017058521A JP2017058521A JP6764362B2 JP 6764362 B2 JP6764362 B2 JP 6764362B2 JP 2017058521 A JP2017058521 A JP 2017058521A JP 2017058521 A JP2017058521 A JP 2017058521A JP 6764362 B2 JP6764362 B2 JP 6764362B2
- Authority
- JP
- Japan
- Prior art keywords
- hash
- memory
- bucket
- virtual
- deduplication
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
- G06F12/1018—Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7821—Tightly coupled to memory, e.g. computational memory, smart memory, processor in memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1748—De-duplication implemented within the file system, e.g. based on file segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0616—Improving the reliability of storage systems in relation to life time, e.g. increasing Mean Time Between Failures [MTBF]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0625—Power saving in storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
- G06F3/0641—De-duplication techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
- G06F3/0649—Lifecycle management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0685—Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1041—Resource optimization
- G06F2212/1044—Space efficiency improvement
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/40—Specific encoding of data in memory or cache
- G06F2212/401—Compressed data
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
このような背景技術で前述した情報は単なる発明の理解を助けるためのものであり、したがって従来の技術を構成しない情報を含むことができる。
本発明の実施形態によるメモリの重複除去方法が提供され、前記メモリの重複除去方法は、複数のハッシュテーブル(Hash table)の各々が、ハッシュ関数に対応し、前記複数のハッシュテーブルの各々が、複数の物理的なハッシュバケット(Hash bucket)を含み、各々の物理的なバケットは、複数のハッシュウェイ(Ways)を含み、データブロックを格納する、前記複数のハッシュテーブルを識別する段階と、複数の仮想バケット(Virtual bucket)の各々が、前記複数の物理的なハッシュバケットの中の一部を含み、前記複数の仮想バケットの中で他の仮想バケットと少なくとも1つの前記物理的なハッシュバケットを共有する、前記複数の仮想バケットを識別する段階と、前記複数の仮想バケットの中で対応する1つの仮想バケットに割当てられて格納されたデータブロックを有する前記複数の物理的なハッシュバケットの各々を識別する段階と、ハッシュ値(Hash value)を生成するためにハッシュ関数の中で対応するハッシュ関数にしたがってデータライン(Data line)をハッシング(Hashing)する段階と、対応するハッシュテーブルの前記仮想バケットの中で対応する仮想バケットが前記ハッシュ値にしたがってデータブロックのための使用可能な空間を有するか否かを決定する段階と、前記仮想バケットの中で対応する仮想バケットが使用可能な空間を有しない場合、前記仮想バケットの中で対応する仮想バケットが前記データブロックのための空間を有するようになるまで前記複数の仮想バケットの中で対応する仮想バケットから前記仮想バケットの中で隣接する仮想バケットに順次データブロックを移動させる段階と、前記複数の仮想バケットの中で対応する仮想バケットに前記データブロックを格納する段階と、を含むことを特徴とする。
前記複数のハッシュテーブルの各々は、参照カウントライン(Reference count line)、署名ライン(Signature line)、及びホップワードライン(Hopword line)をさらに含むことができる。
前記ホップワードベクトルを生成する段階は、前記複数の仮想バケットの各々に対し、前記複数の仮想バケットの中の各々の仮想バケットの前記複数の物理的なハッシュバケットの各々が前記複数の仮想バケットの中で前記各々の仮想バケットと連動されるデータブロックを含むか否かを示すために二進表示子(Binary indicator)を使用する段階を含むことができる。
前記ホップワード値を生成する段階は、前記複数の物理的なハッシュバケット及び仮想バケットの対と関連して表現される位置にデータブロックを含む前記複数の物理的なハッシュバケットの各々のための準アドレスで構成される2次元アレイを生成する段階を含むことができる。
前記揮発性メモリは、DRAM(Dynamic random access memory)を含むことができる。
メモリの重複除去方法は、前記複数の仮想バケットの中で対応する仮想バケットに項目を書き込む場合、前記仮想バケット利用値フィールドを1増加させる段階をさらに含むことができる。
メモリの重複除去方法は、対応するハッシュテーブルが一杯に満たされた場合、バッファメモリに前記データブロックを格納する段階をさらに含むことができる。
また、本発明の実施形態による重複除去DRAMメモリモジュールは、チップ上で重複除去を実行し、重複除去DRAMメモリモジュールの論理的な容量を増加させ、ホストプロセッサのリソースの使用を低減し、重複除去DRAMメモリモジュールへのメモリアクセス数を低減することによりメモリを重複除去する重複除去DRAMメモリモジュールであって、前記重複除去DRAMメモリモジュールは、重複除去されたデータブロックのみを格納するためのハッシュテーブルメモリと、前記重複除去されたデータブロックに対応するアドレスを格納するためのアドレス検索テーブルメモリと、前記重複除去DRAMメモリモジュールが前記ハッシュテーブルメモリから前記データブロックを検索し、前記データブロックを伝送するようにする読出し要求、または前記重複除去DRAMメモリモジュールが前記ハッシュテーブルメモリの前記データブロックを格納するようにする書込み要求を受信するプロセッサと、を含み、前記ハッシュテーブルメモリは、揮発性メモリに格納され、前記ハッシュテーブルメモリに格納される複数のハッシュテーブルの3次元アレイを含み、前記ハッシュテーブルの各々は、複数の物理的なハッシュバケットを含み、各々の物理的なハッシュバケットは、複数のハッシュウェイ(Ways)を含み、前記重複除去されたデータブロックを格納するように構成されることを特徴とする。
前記ハッシュテーブルの各々は、複数の仮想バケットをさらに含み、各々の仮想バケットは、2つ以上の前記物理的なハッシュバケットを含むことができる。
重複除去DRAMメモリモジュールは外部から提供される命令無しでデータ重複除去を実行することができる。
重複除去DRAMメモリモジュールは、前記ハッシュテーブルメモリが一杯に満たされた場合、データブロックを格納するためのバッファメモリをさらに含むことができる。
本明細書で使用する用語は単なる特定な実施形態を説明するためのものであり、本発明を制限しようと意図したものではない。本明細書で使用したように、文脈の上に明確に異なるように意味しない限り、単数形態の“1つ”は複数の形態も含むことを意図する。“構成される”、“構成されている”、“含む”、及び“含んでいる”の用語を本明細書で使用する時、このような用語は定められた特徴、整数、段階、動作、要素、及び/又は成分が存在することを明示するが、1つ又はそれ以上の他の特徴、整数、段階、動作、要素、成分、及び/又はそれらのグループの追加又は存在を不可能にすることではない。本明細書で使用するように、“及び/又は”の用語は1つ又はそれ以上の列挙した項目と関連する任意の、そしてすべての組合せを含む。“少なくとも1つ”のような表現は要素の全体リストを修正し、そしてリストの個別要素を修正しない。
図1を参照すると、コンピュータメモリとして機能するために、重複除去メモリは原本データのコンテンツ及び重複除去された固有のメモリブロックのセット(Set)の間の関係を記録するための“変換(Translation)”として公知された機能を遂行し、記録された関係は圧縮された形態に記録される。例えば、原本データのアドレスは検索テーブル(Lookup Table)に格納される。
図4を参照すると、本発明の実施形態による重複除去DRAMシステムアーキテクチャは複数のハッシュテーブル(Multiple Hash Tables;MHT)480で構成されるハッシュテーブルアレイ400を使用し、各々の複数のハッシュテーブル480はm個の物理的なバケット410を含み、各ハッシュバケット410はn個のハッシュウェイ420を含む。ここで、本発明の実施形態はハッシュテーブル480及びハッシュバケット410をそれらの大きさが一定であると説明したが(例えば、m及びnの整数として説明した)、他の実施形態において、同一の複数のハッシュテーブルアレイ内で他のハッシュテーブルは異なる数のハッシュバケットを有し、そして同様に、複数のハッシュテーブルアレイ内で他のハッシュバケット、又は同一のハッシュテーブル内であっても、異なる数のハッシュウェイを有する。それだけでなく、複数のハッシュテーブル480が集合的に利用されても、ある側面では、互いに異なるハッシュテーブル480は互いに独立である(例えば、互いに異なるハッシュテーブル480は互いに異なるハッシュ関数を有するか、或いは共通のハッシュ関数を有することができる。)。
110 プロセッサ
120 メモリ/PCIe/KTIコントローラ
130 重複除去DRAMメモリモジュール
140 オペレーティングシステム/CPUモジュール
210 アドレス検索テーブルメモリ(ALUTM)
220 ハッシュテーブルメモリ
230 バッファメモリ
310、410 ハッシュバケット
320 ハッシュウェイ
330 署名ライン
340 参照/頻度カウントライン
380、480 ハッシュテーブル
400 ハッシュテーブルアレイ
650 PLID
Claims (20)
- 複数のハッシュテーブル(Hash table)の各々が、ハッシュ関数に対応し、前記複数のハッシュテーブルの各々が、複数の物理的なハッシュバケット(Hash bucket)を含み、各々の物理的なハッシュバケットは、複数のハッシュウェイ(Ways)を含み、データブロックを格納する、前記複数のハッシュテーブルを識別する段階と、
複数の仮想バケット(Virtual bucket)の各々が、前記複数の物理的なハッシュバケットの中の一部を含み、前記複数の仮想バケットの中で他の仮想バケットと少なくとも1つの前記物理的なハッシュバケットを共有する、前記複数の仮想バケットを識別する段階と、
前記複数の仮想バケットの中で対応する1つの仮想バケットに割当てられて格納されたデータブロックを有する前記複数の物理的なハッシュバケットの各々を識別する段階と、
ハッシュ値(Hash value)を生成するために複数のハッシュ関数の中で対応するハッシュ関数にしたがってデータライン(Data line)をハッシング(Hashing)する段階と、
対応するハッシュテーブルの前記複数の仮想バケットの中で対応する仮想バケットが前記ハッシュ値にしたがってデータブロックのための使用可能な空間を有するか否かを決定する段階と、
前記複数の仮想バケットの中で対応する仮想バケットが使用可能な空間を有しない場合、前記仮想バケットの中で対応する仮想バケットが前記データブロックのための空間を有するようになるまで前記複数の仮想バケットの中で対応する仮想バケットから前記仮想バケットの中で隣接する仮想バケットに順次データブロックを移動させる段階と、
前記複数の仮想バケットの中で対応する仮想バケットに前記データブロックを格納する段階と、を含むメモリの重複除去方法。 - 前記データブロックに対応する1つ以上の検索アドレス(Lookup addresses)を変更するためにアドレス検索テーブルメモリをアップデートする段階をさらに含むことを特徴とする請求項1に記載のメモリの重複除去方法。
- 前記複数のハッシュテーブルの各々は、参照カウントライン(Reference count line)、署名ライン(Signature line)、及びホップワードライン(Hopword line)をさらに含むことを特徴とする請求項1に記載のメモリの重複除去方法。
- 前記仮想バケットに対応するデータブロックを含む前記物理的なハッシュバケットを示すためのホップワードベクトル(Hopword vector)を生成する段階をさらに含むことを特徴とする請求項3に記載のメモリの重複除去方法。
- 前記ホップワードベクトルを生成する段階は、
前記複数の仮想バケットの各々に対し、前記複数の仮想バケットの中の各々の仮想バケットの前記複数の物理的なハッシュバケットの各々が前記複数の仮想バケットの中の各々の仮想バケットと連動されるデータブロックを含むか否かを示すために二進表示子(Binary indicator)を使用する段階を含むことを特徴とする請求項4に記載のメモリの重複除去方法。 - 前記複数の物理的なハッシュバケットの中でデータブロックを含むいずれの物理的なハッシュバケットが前記複数の仮想バケットの中でいずれの仮想バケットに対応するかを示すために物理的なハッシュバケット毎にlog2(H)ビットで構成されるホップワード値を生成する段階をさらに含むことを特徴とする請求項3に記載のメモリの重複除去方法。
- 前記ホップワード値を生成する段階は、前記複数の物理的なハッシュバケット及び仮想バケットの対と関連して表現される位置にデータブロックを含む前記複数の物理的なハッシュバケットの各々のための準アドレスで構成される2次元アレイを生成する段階を含むことを特徴とする請求項6に記載のメモリの重複除去方法。
- 前記対応するハッシュテーブルは、揮発性メモリに格納されることを特徴とする請求項1に記載のメモリの重複除去方法。
- 前記揮発性メモリは、DRAM(Dynamic random access memory)を含むことを特徴とする請求項8に記載のメモリの重複除去方法。
- 前記対応するハッシュテーブルをlog2(H)ビットの仮想バケット利用値フィールド及び前記複数の仮想バケットの中の対応する仮想バケットのデータブロックの数と同一である値を含む物理的なラインID(PLID)で索引(Indexing)する段階をさらに含むことを特徴とする請求項1に記載のメモリの重複除去方法。
- 前記複数の仮想バケットの中で対応する仮想バケットに項目を書き込む場合、前記仮想バケット利用値フィールドを1増加させる段階をさらに含むことを特徴とする請求項10に記載のメモリの重複除去方法。
- 対応する前記ハッシュテーブルが一杯に満たされた場合、バッファメモリに前記データブロックを格納する段階をさらに含むことを特徴とする請求項1に記載のメモリの重複除去方法。
- メモリでデータブロックの重複を減少させる重複除去メモリのための重複除去DRAM(Dynamic random access memory)メモリモジュールにおいて、
重複除去されたデータブロックのみを格納し、複数のハッシュテーブルの各々が、複数の物理的なハッシュバケットを含み、各々の物理的なハッシュバケットが、複数のハッシュウェイ(Ways)を含み、データブロックを格納するように構成され、前記重複除去DRAMメモリモジュールに格納されたハッシュテーブルの3次元アレイを含む、ハッシュテーブルメモリと、
前記重複除去されたデータブロックに対応するアドレスを格納するためのアドレス検索テーブルメモリと、
前記重複除去DRAMメモリモジュールが前記ハッシュテーブルメモリから前記データブロックを検索し、前記データブロックを伝送するようにする読出し要求、または前記重複除去DRAMメモリモジュールが前記ハッシュテーブルメモリに前記データブロックを格納するようにする書込み要求を受信するプロセッサと、を含むことを特徴とする重複除去DRAMメモリモジュール。 - チップ上で重複除去を実行し、重複除去DRAMメモリモジュールの論理的な容量を増加させ、ホストプロセッサのリソースの使用を低減し、重複除去DRAMメモリモジュールへのメモリアクセス数を低減することによりメモリを重複除去する重複除去DRAMメモリモジュールであって、
前記重複除去DRAMメモリモジュールは、
重複除去されたデータブロックのみを格納するためのハッシュテーブルメモリと、
前記重複除去されたデータブロックに対応するアドレスを格納するためのアドレス検索テーブルメモリと、
前記重複除去DRAMメモリモジュールが前記ハッシュテーブルメモリから前記データブロックを検索し、前記データブロックを伝送するようにする読出し要求、または前記重複除去DRAMメモリモジュールが前記ハッシュテーブルメモリの前記データブロックを格納するようにする書込み要求を受信するプロセッサと、を含み、
前記ハッシュテーブルメモリは、揮発性メモリに格納され、前記ハッシュテーブルメモリに格納される複数のハッシュテーブルの3次元アレイを含み、前記ハッシュテーブルの各々は、複数の物理的なハッシュバケットを含み、各々の物理的なハッシュバケットは、
複数のハッシュウェイ(Ways)を含み、前記重複除去されたデータブロックを格納するように構成されることを特徴とする重複除去DRAMメモリモジュール。 - 前記複数のハッシュテーブルの各々は、複数の仮想バケットをさらに含み、各々の仮想バケットは、2つ以上の前記物理的なハッシュバケットを含むことを特徴とする請求項13又は14に記載の重複除去DRAMメモリモジュール。
- 前記複数のハッシュテーブルの中の対応するハッシュテーブル内で前記複数の仮想バケットの中の隣接する仮想バケットの間で前記重複除去されたデータブロックを移動させることを特徴とする請求項15に記載の重複除去DRAMメモリモジュール。
- 外部から提供される命令無しでデータ重複除去を実行することを特徴とする請求項13又は14に記載の重複除去DRAMメモリモジュール。
- 前記ハッシュテーブルメモリが一杯に満たされた場合、データブロックを格納するためのバッファメモリをさらに含むことを特徴とする請求項13又は14に記載の重複除去DRAMメモリモジュール。
- 重複除去DRAM(Dynamic random access memory)メモリモジュールにおいて、
複数のハッシュテーブルの各々が、複数の物理的なハッシュバケットを含み、各々の物理的なハッシュバケットが、複数のハッシュウェイ(Ways)を含み、データブロックを格納するように構成され、前記重複除去DRAMメモリモジュールに格納されたハッシュテーブルの3次元アレイと、
プロセッサと、
メモリと、を含み、
前記メモリは、命令を格納し、前記命令が前記プロセッサによって実行される時、前記メモリは、前記重複除去DRAMメモリモジュールが前記複数のハッシュテーブルの中で対応するハッシュテーブル内の隣接する仮想バケットの間で事前に格納された重複除去されたデータブロックを移動させるようにし、前記仮想バケットの各々は、2つ以上の物理的なハッシュバケットを含むことを特徴とする重複除去DRAMメモリモジュール。 - 前記メモリは、命令をさらに格納し、前記命令が前記プロセッサによって実行される時、前記メモリは、重複除去DRAMメモリモジュールが仮想バケットの中で前記事前に格納された重複除去されたデータブロックが移動された1つの仮想バケットにインカミングデータを格納するようにすることを特徴とする請求項19に記載の重複除去DRAMメモリモジュール。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662314918P | 2016-03-29 | 2016-03-29 | |
US62/314,918 | 2016-03-29 | ||
US15/161,136 | 2016-05-20 | ||
US15/161,136 US9983821B2 (en) | 2016-03-29 | 2016-05-20 | Optimized hopscotch multiple hash tables for efficient memory in-line deduplication application |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2017182803A JP2017182803A (ja) | 2017-10-05 |
JP2017182803A5 JP2017182803A5 (ja) | 2020-03-26 |
JP6764362B2 true JP6764362B2 (ja) | 2020-09-30 |
Family
ID=59958768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017058521A Active JP6764362B2 (ja) | 2016-03-29 | 2017-03-24 | メモリの重複除去方法及び重複除去dramメモリモジュール |
Country Status (5)
Country | Link |
---|---|
US (2) | US9983821B2 (ja) |
JP (1) | JP6764362B2 (ja) |
KR (1) | KR102597640B1 (ja) |
CN (1) | CN107239230B (ja) |
TW (1) | TWI710901B (ja) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437785B2 (en) | 2016-03-29 | 2019-10-08 | Samsung Electronics Co., Ltd. | Method and apparatus for maximized dedupable memory |
TWI804466B (zh) * | 2016-05-20 | 2023-06-11 | 南韓商三星電子股份有限公司 | 擷取記憶體中儲存的資料的方法與去重複模組 |
US10462059B2 (en) * | 2016-10-19 | 2019-10-29 | Intel Corporation | Hash table entries insertion method and apparatus using virtual buckets |
US11644992B2 (en) * | 2016-11-23 | 2023-05-09 | Samsung Electronics Co., Ltd. | Storage system performing data deduplication, method of operating storage system, and method of operating data processing system |
US10394784B2 (en) | 2016-12-22 | 2019-08-27 | Intel Corporation | Technologies for management of lookup tables |
US10700974B2 (en) * | 2018-01-30 | 2020-06-30 | Marvell Israel (M.I.S.L) Ltd. | Dynamic allocation of memory for packet processing instruction tables in a network device |
CN108427539B (zh) * | 2018-03-15 | 2021-06-04 | 深信服科技股份有限公司 | 缓存设备数据的离线去重压缩方法、装置及可读存储介质 |
US11392491B2 (en) * | 2018-06-27 | 2022-07-19 | Intel Corporation | Hardware-assisted paging mechanisms |
US11288012B2 (en) | 2018-07-23 | 2022-03-29 | SK Hynix Inc. | Memory system |
US10915470B2 (en) | 2018-07-23 | 2021-02-09 | SK Hynix Inc. | Memory system |
KR102516584B1 (ko) | 2018-11-21 | 2023-04-03 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
US11487473B2 (en) | 2018-07-23 | 2022-11-01 | SK Hynix Inc. | Memory system |
KR102513919B1 (ko) | 2018-11-05 | 2023-03-27 | 에스케이하이닉스 주식회사 | 메모리 시스템 |
KR102665410B1 (ko) * | 2018-07-30 | 2024-05-13 | 삼성전자주식회사 | 메모리 장치의 내부 프로세싱 동작 방법 |
US11079954B2 (en) * | 2018-08-21 | 2021-08-03 | Samsung Electronics Co., Ltd. | Embedded reference counter and special data pattern auto-detect |
US10628072B2 (en) * | 2018-08-21 | 2020-04-21 | Samsung Electronics Co., Ltd. | Scalable architecture enabling large memory system for in-memory computations |
KR20200036461A (ko) * | 2018-09-28 | 2020-04-07 | 삼성전자주식회사 | 메모리 디바이스들 사이의 직접 통신을 위한 메모리 시스템 및 메모리 디바이스 |
US11308036B2 (en) * | 2019-04-11 | 2022-04-19 | EMC IP Holding Company LLC | Selection of digest hash function for different data sets |
CN112068948B (zh) * | 2019-06-10 | 2024-03-26 | 上海赜睿信息科技有限公司 | 数据散列方法、可读存储介质和电子设备 |
EP3764233A1 (en) * | 2019-07-08 | 2021-01-13 | Continental Teves AG & Co. OHG | Method of identifying errors in or manipulations of data or software stored in a device |
US11429573B2 (en) * | 2019-10-16 | 2022-08-30 | Dell Products L.P. | Data deduplication system |
CN111143340B (zh) * | 2019-12-25 | 2023-03-21 | 北京中网易企秀科技有限公司 | 一种数据处理方法、装置及服务器、客户端 |
US11500815B2 (en) | 2020-03-26 | 2022-11-15 | EMC IP Holding Company LLC | Dual relationship-based hash structure for non-volatile memory technology |
US20210326271A1 (en) * | 2020-04-18 | 2021-10-21 | International Business Machines Corporation | Stale data recovery using virtual storage metadata |
US11468193B2 (en) | 2020-05-20 | 2022-10-11 | EMC IP Holding Company LLC | Data masking in a microservice architecture |
US11347690B2 (en) * | 2020-05-20 | 2022-05-31 | EMC IP Holding Company LLC | Data masking in a microservice architecture |
US11475160B2 (en) | 2020-05-20 | 2022-10-18 | EMC IP Holding Company LLC | Data masking in a microservice architecture |
CN112799841B (zh) * | 2021-01-29 | 2023-04-25 | 烽火通信科技股份有限公司 | 一种数据对象存储管理的方法和装置 |
TWI780696B (zh) | 2021-05-10 | 2022-10-11 | 創鑫智慧股份有限公司 | 查找表壓縮方法與查找表讀取方法及其計算設備、主機與裝置 |
CN113298930A (zh) * | 2021-05-12 | 2021-08-24 | 天海欧康科技信息(厦门)有限公司 | 基于webgl技术的三维工艺可视化设计方法 |
Family Cites Families (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6438560B1 (en) | 1999-09-16 | 2002-08-20 | International Business Machines Corporation | Reuse of immutable objects during object creation |
WO2008094455A2 (en) | 2007-01-26 | 2008-08-07 | Cheriton David R | Hierarchical immutable content-addressable memory processor |
US8407428B2 (en) | 2010-05-20 | 2013-03-26 | Hicamp Systems, Inc. | Structured memory coprocessor |
US8504791B2 (en) | 2007-01-26 | 2013-08-06 | Hicamp Systems, Inc. | Hierarchical immutable content-addressable memory coprocessor |
JP5026213B2 (ja) | 2007-09-28 | 2012-09-12 | 株式会社日立製作所 | ストレージ装置及びデータ重複排除方法 |
US8219534B2 (en) | 2008-02-27 | 2012-07-10 | Dell Products L.P. | Multiple file compaction for network attached storage |
US7984022B2 (en) | 2008-04-18 | 2011-07-19 | International Business Machines Corporation | Space recovery with storage management coupled with a deduplicating storage system |
US8370593B2 (en) | 2010-04-14 | 2013-02-05 | Hitachi, Ltd. | Method and apparatus to manage groups for deduplication |
US9401967B2 (en) | 2010-06-09 | 2016-07-26 | Brocade Communications Systems, Inc. | Inline wire speed deduplication system |
US9141625B1 (en) | 2010-06-22 | 2015-09-22 | F5 Networks, Inc. | Methods for preserving flow state during virtual machine migration and devices thereof |
US8370316B2 (en) | 2010-07-12 | 2013-02-05 | Sap Ag | Hash-join in parallel computation environments |
WO2012030383A1 (en) * | 2010-08-31 | 2012-03-08 | Falconstor, Inc. | Data deduplication |
US8352676B2 (en) | 2010-10-26 | 2013-01-08 | Hitachi, Ltd. | Apparatus and method to store a plurality of data having a common pattern and guarantee codes associated therewith in a single page |
US20120158674A1 (en) | 2010-12-20 | 2012-06-21 | Mark David Lillibridge | Indexing for deduplication |
US9639543B2 (en) | 2010-12-28 | 2017-05-02 | Microsoft Technology Licensing, Llc | Adaptive index for data deduplication |
US8462781B2 (en) | 2011-04-06 | 2013-06-11 | Anue Systems, Inc. | Systems and methods for in-line removal of duplicate network packets |
US8938469B1 (en) | 2011-05-11 | 2015-01-20 | Juniper Networks, Inc. | Dynamically adjusting hash table capacity |
US9501421B1 (en) | 2011-07-05 | 2016-11-22 | Intel Corporation | Memory sharing and page deduplication using indirect lines |
US8886508B2 (en) | 2011-08-22 | 2014-11-11 | Freescale Semiconductor, Inc. | Circuit simulation acceleration using model caching |
US9069616B2 (en) * | 2011-09-23 | 2015-06-30 | Google Inc. | Bandwidth throttling of virtual disks |
US9298707B1 (en) | 2011-09-30 | 2016-03-29 | Veritas Us Ip Holdings Llc | Efficient data storage and retrieval for backup systems |
EP2788864B1 (en) | 2011-12-07 | 2016-09-21 | Intel Corporation | Techniques to prelink software to improve memory de-duplication in a virtual system |
KR20130064518A (ko) | 2011-12-08 | 2013-06-18 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
US9116812B2 (en) * | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
US20130275699A1 (en) | 2012-03-23 | 2013-10-17 | Hicamp Systems, Inc. | Special memory access path with segment-offset addressing |
US9177028B2 (en) | 2012-04-30 | 2015-11-03 | International Business Machines Corporation | Deduplicating storage with enhanced frequent-block detection |
US9069810B2 (en) | 2012-07-25 | 2015-06-30 | International Business Machines Corporation | Systems, methods and computer program products for reducing hash table working-set size for improved latency and scalability in a processing system |
US20140115260A1 (en) * | 2012-10-18 | 2014-04-24 | Oracle International Corporation | System and method for prioritizing data in a cache |
US9135383B2 (en) | 2012-11-16 | 2015-09-15 | Freescale Semiconductor, Inc. | Table model circuit simulation acceleration using model caching |
US9502139B1 (en) | 2012-12-18 | 2016-11-22 | Intel Corporation | Fine grained online remapping to handle memory errors |
US9424267B2 (en) | 2013-01-02 | 2016-08-23 | Oracle International Corporation | Compression and deduplication layered driver |
US9141554B1 (en) | 2013-01-18 | 2015-09-22 | Cisco Technology, Inc. | Methods and apparatus for data processing using data compression, linked lists and de-duplication techniques |
US20140281155A1 (en) * | 2013-03-14 | 2014-09-18 | Lsi Corporation | Storage device assisted data de-duplication |
KR20140114515A (ko) * | 2013-03-15 | 2014-09-29 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법 |
US9537771B2 (en) | 2013-04-04 | 2017-01-03 | Marvell Israel (M.I.S.L) Ltd. | Exact match hash lookup databases in network switch devices |
US9471500B2 (en) | 2013-04-12 | 2016-10-18 | Nec Corporation | Bucketized multi-index low-memory data structures |
US9148387B2 (en) * | 2013-05-10 | 2015-09-29 | Brocade Communications Systems, Inc. | Hardware hash table virtualization in multi-packet processor networking systems |
US10339109B2 (en) * | 2013-07-15 | 2019-07-02 | International Business Machines Corporation | Optimizing hash table structure for digest matching in a data deduplication system |
US20150019815A1 (en) | 2013-07-15 | 2015-01-15 | International Business Machines Corporation | Utilizing global digests caching in data deduplication of workloads |
US10073853B2 (en) | 2013-07-17 | 2018-09-11 | International Business Machines Corporation | Adaptive similarity search resolution in a data deduplication system |
US9898410B2 (en) * | 2013-09-10 | 2018-02-20 | Intel Corporation | Hybrid main memory using a fine-grain level of remapping |
US10380073B2 (en) | 2013-11-04 | 2019-08-13 | Falconstor, Inc. | Use of solid state storage devices and the like in data deduplication |
US9870176B2 (en) * | 2013-11-08 | 2018-01-16 | Fujitsu Limited | Storage appliance and method of segment deduplication |
KR20150067583A (ko) * | 2013-12-10 | 2015-06-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 중복 데이터 제거 방법 |
US9792063B2 (en) | 2014-01-15 | 2017-10-17 | Intel Corporation | Deduplication-based data security |
US10380183B2 (en) * | 2014-04-03 | 2019-08-13 | International Business Machines Corporation | Building and querying hash tables on processors |
US8868825B1 (en) | 2014-07-02 | 2014-10-21 | Pure Storage, Inc. | Nonrepeating identifiers in an address space of a non-volatile solid-state storage |
US20160011816A1 (en) * | 2014-07-09 | 2016-01-14 | Nexenta Systems, Inc. | Method to optimize inline i/o processing in tiered distributed storage systems |
WO2016006050A1 (ja) * | 2014-07-09 | 2016-01-14 | 株式会社日立製作所 | ストレージシステム及び記憶制御方法 |
US9489239B2 (en) | 2014-08-08 | 2016-11-08 | PernixData, Inc. | Systems and methods to manage tiered cache data storage |
US9454488B2 (en) * | 2014-08-08 | 2016-09-27 | PernixData, Inc. | Systems and methods to manage cache data storage |
EP3204859B1 (en) * | 2014-10-07 | 2020-12-02 | Google LLC | Methods and systems for cache lines de-duplication |
CN104504076A (zh) * | 2014-12-22 | 2015-04-08 | 西安电子科技大学 | 一种高并发和高空间利用率的分布式缓存方法 |
US9703797B2 (en) | 2015-02-18 | 2017-07-11 | Exagrid Systems, Inc. | Multi-level deduplication |
KR20150035876A (ko) * | 2015-02-24 | 2015-04-07 | 포항공과대학교 산학협력단 | 데이터 중복 제거 방법 및 장치 |
US9892053B2 (en) | 2015-03-24 | 2018-02-13 | Intel Corporation | Compaction for memory hierarchies |
US10089320B2 (en) * | 2015-07-31 | 2018-10-02 | Hiveio Inc. | Method and apparatus for maintaining data consistency in an in-place-update file system with data deduplication |
TWI804466B (zh) * | 2016-05-20 | 2023-06-11 | 南韓商三星電子股份有限公司 | 擷取記憶體中儲存的資料的方法與去重複模組 |
-
2016
- 2016-05-20 US US15/161,136 patent/US9983821B2/en active Active
- 2016-11-09 TW TW105136351A patent/TWI710901B/zh active
- 2016-11-10 KR KR1020160149705A patent/KR102597640B1/ko active IP Right Grant
-
2017
- 2017-03-24 JP JP2017058521A patent/JP6764362B2/ja active Active
- 2017-03-29 CN CN201710196455.9A patent/CN107239230B/zh active Active
-
2018
- 2018-02-26 US US15/905,746 patent/US10318434B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TWI710901B (zh) | 2020-11-21 |
US10318434B2 (en) | 2019-06-11 |
CN107239230A (zh) | 2017-10-10 |
TW201734803A (zh) | 2017-10-01 |
CN107239230B (zh) | 2022-04-05 |
JP2017182803A (ja) | 2017-10-05 |
US9983821B2 (en) | 2018-05-29 |
US20180181495A1 (en) | 2018-06-28 |
KR20170112952A (ko) | 2017-10-12 |
US20170286003A1 (en) | 2017-10-05 |
KR102597640B1 (ko) | 2023-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6764362B2 (ja) | メモリの重複除去方法及び重複除去dramメモリモジュール | |
JP6764359B2 (ja) | 重複除去dramメモリモジュール及びそのメモリ重複除去方法 | |
JP6893805B2 (ja) | メモリモジュールの重複メモリ除去方法、及びそのためのdramメモリモジュール | |
JP6205650B2 (ja) | 不均等アクセス・メモリにレコードを配置するために不均等ハッシュ機能を利用する方法および装置 | |
TWI804466B (zh) | 擷取記憶體中儲存的資料的方法與去重複模組 | |
US10983955B2 (en) | Data unit cloning in memory-based file systems | |
US10678704B2 (en) | Method and apparatus for enabling larger memory capacity than physical memory size | |
US20200349038A1 (en) | Storage management method, electronic device, and computer program product | |
US10528284B2 (en) | Method and apparatus for enabling larger memory capacity than physical memory size | |
US11093169B1 (en) | Lockless metadata binary tree access | |
US12038852B2 (en) | Partial logical-to-physical (L2P) address translation table for multiple namespaces | |
US20220358050A1 (en) | Partial logical-to-physical (l2p) address translation table for multiple namespaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200213 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200213 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200213 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200217 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200616 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200617 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200814 |
|
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: 20200901 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200911 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6764362 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |