JP7074454B2 - 計算機システムおよび制御方法 - Google Patents
計算機システムおよび制御方法 Download PDFInfo
- Publication number
- JP7074454B2 JP7074454B2 JP2017209344A JP2017209344A JP7074454B2 JP 7074454 B2 JP7074454 B2 JP 7074454B2 JP 2017209344 A JP2017209344 A JP 2017209344A JP 2017209344 A JP2017209344 A JP 2017209344A JP 7074454 B2 JP7074454 B2 JP 7074454B2
- Authority
- JP
- Japan
- Prior art keywords
- block
- address
- data
- storage device
- physical address
- 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/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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- 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
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F12/023—Free address space management
- G06F12/0253—Garbage collection, i.e. reclamation of unreferenced memory
-
- 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
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- 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
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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
- 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
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- 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/0688—Non-volatile semiconductor memory arrays
-
- 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/1016—Performance 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/10—Providing a specific technical effect
- G06F2212/1032—Reliability improvement, data loss prevention, degraded operation etc
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
-
- 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/72—Details relating to flash memory management
- G06F2212/7203—Temporary buffering, e.g. using volatile buffer or dedicated buffer blocks
-
- 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/72—Details relating to flash memory management
- G06F2212/7205—Cleaning, compaction, garbage collection, erase control
-
- 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/72—Details relating to flash memory management
- G06F2212/7208—Multiple device management, e.g. distributing data over multiple flash devices
Description
コピーされた有効データの旧物理記憶位置を示す物理アドレスと、コピーされた有効データの新物理記憶位置を示す物理アドレスとをホスト2に通知する。
トリムコマンド(Trim)/デュプリケーションコマンド(Duplicate)は、フラッシュアドレス、長さ、参照カウントの増減量(reference-count-to-add-or-subtract)を含んでもよい。トリムコマンド(Trim)/デュプリケーションコマンド(Duplicate)は、各セットがフラッシュアドレス、長さ、参照カウントの増減量を含む複数のセットを含んでもよい。
(1)ライトコマンドの受信
フラッシュストレージデバイス3においては、ホスト2から受信される、LBAを含むライトコマンド、およびデータは、フラッシュストレージデバイス3内のライトバッファ31に一時的に格納される。
ライト動作制御部21は、不良情報管理テーブル33で管理されている不良情報を参照して、書き込み対象のスーパーブロックに含まれる非不良ブロックの中から一つのブロックを書き込み先ブロックとして選択し、書き込み先ブロック内の書き込み先位置を決定する。
ライト動作制御部21は、書き込み先ブロックと書き込み先ブロック内の書き込み先位置を決定すると、書き込み先ブロックと書き込み先ブロックの双方を示すフラッシュアドレス(Rawアドレス)を指定する書き込み指示をライトバッファ31を介してフラッシュI/O制御回路13に送信する。ここで、Rawアドレスには、DieID、Raw Block、Raw Page、Offsetが含まれる。Rawアドレスを受信したフラッシュI/O制御回路13は、Rawアドレスに基づいて、書き込み先ブロックとして選択されたブロック内の書き込み先位置にライトデータを書き込む。
ライト動作制御部21は、Rawアドレスと、LBAとをホスト2に通知する。これにより、ホスト2は、LUTを更新してこのRawアドレスをこのLBAにマッピングすることができる。
(11)LBAの通知
リードパーサ2Bは、LBAを含むリードコマンドを受信すると、LBAをフラッシュトランスレーション部2Aに通知する。
フラッシュトランスレーション部2Aは、リードパーサ2BからLBAを受信すると、LUTを参照し、受信したLBAに対応するRawアドレスを取得し、取得したRawアドレスをリードパーサ2Bに返す。これにより、リードパーサ2Bは、Rawアドレスを取得でき、LBAを含むリードコマンドを、Rawアドレスを含むリードコマンドに変換することができる。
リードパーサ2Bは、Rawアドレスを含むリードコマンドをフラッシュストレージデバイス3に送信する。フラッシュストレージデバイス3においては、Rawアドレスを含むリードコマンドを受信したフラッシュI/O制御回路13は、Rawアドレスに基づいて、データをリードし、リードデータをリードバッファ30に送信する。リードバッファ30ではリードデータが一時的に記憶される。
リードバッファ30で一時的に記憶されたリードデータは、ホスト2に送信される。
Claims (16)
- 各々が複数のブロックを含む複数の不揮発性メモリダイを備えるストレージデバイスを制御する計算機システムであって、
メモリと、
前記メモリに電気的に接続され、前記メモリに格納されたコンピュータプログラムを実行するように構成されたプロセッサとを具備し、
前記プロセッサは、
書き込むべき第1のデータに対応する第1の論理アドレスと前記第1のデータの長さとを指定するライト要求を前記ストレージデバイスに送信し、
不良ブロックを除くブロックの中から前記第1のデータのための書き込み先ブロックとして前記ストレージデバイスによって選択された第1のブロックおよび前記第1のデータが書き込まれた前記第1のブロック内の第1の物理記憶位置の双方を示す第1の物理アドレスと、前記第1の論理アドレスとを、前記ストレージデバイスから受信し、
論理アドレスそれぞれと前記ストレージデバイスの物理アドレスそれぞれとの間のマッピングを管理する第1のテーブルを更新して前記第1の論理アドレスに前記第1の物理アドレスをマッピングするように構成されている、計算機システム。 - 前記プロセッサは、
前記第1のテーブルを参照して前記第1の論理アドレスにマッピングされている前記第1の物理アドレスを取得し、
前記第1の物理アドレスを指定するリード要求を前記ストレージデバイスに送信するように構成されている請求項1記載の計算機システム。 - 前記プロセッサは、
前記ストレージデバイスによって前記第1のデータが旧物理記憶位置から新物理記憶位置にコピーされた後、前記第1の論理アドレスと、前記旧物理記憶位置を示す第2の物理アドレスと、前記新物理記憶位置を示す第3の物理アドレスとを前記ストレージデバイスから受信し、
前記第1のテーブルを参照して前記第1の論理アドレスにマッピングされている現在の物理アドレスを取得し、
前記第2の物理アドレスが前記取得された現在の物理アドレスに一致する場合、前記第1のテーブルを更新して前記第1の論理アドレスに前記第3の物理アドレスをマッピングし、
前記第2の物理アドレスが前記取得された現在の物理アドレスに一致しない場合、前記第1のテーブルを更新せずに前記現在の物理アドレスを維持するように構成されている請求項1記載の計算機システム。 - 前記プロセッサは、前記第1のテーブルを更新して前記第1の論理アドレスに前記第3の物理アドレスをマッピングした後、前記第2の物理アドレスを指定する第1のコマンドを前記ストレージデバイスに送信することによって前記第2の物理アドレスに対応するデータを無効化すべきことを前記ストレージデバイスに指示するように構成されている請求項3記載の計算機システム。
- 前記プロセッサは、前記第1のデータが、前記ストレージデバイスに既に書き込まれている旧データの更新データである場合、前記第1のテーブルを更新して前記第1の論理アドレスに前記第1の物理アドレスをマッピングした後、前記旧データに対応する物理アドレスを指定する第1のコマンドを前記ストレージデバイスに送信することによって、前記旧データを無効化すべきことを前記ストレージデバイスに指示するように構成されている請求項1記載の計算機システム。
- 前記プロセッサは、前記第1のデータが、前記ストレージデバイスに既に書き込まれている旧データの更新データであり、且つ前記旧データが複数の論理アドレスによって参照されている重複データである場合、前記第1のテーブルを更新して前記第1の論理アドレスに前記第1の物理アドレスをマッピングした後、前記旧データに対応する物理アドレスを指定する第1のコマンドを前記ストレージデバイスに送信することによって、前記旧データを参照している論理アドレスの数を示す参照カウントを減らすべきことを前記ストレージデバイスに指示するように構成されている請求項1記載の計算機システム。
- 前記計算機システムは前記参照カウントを保持していない請求項6記載の計算機システム。
- 複数の不揮発性メモリダイを備え且つ異なる不揮発性メモリダイに属するブロックそれぞれを各々が含む複数の並列単位を管理するように構成されたストレージデバイスを制御する計算機システムであって、
メモリと、
前記メモリに電気的に接続され、前記メモリに格納されたコンピュータプログラムを実行するように構成されたプロセッサとを具備し、
前記プロセッサは、
書き込むべき第1のデータに対応する第1の論理アドレスと前記第1のデータの長さとを指定するライト要求を前記ストレージデバイスに送信し、
書き込み対象の一つの並列単位に含まれる不良ブロック以外のブロックの中から前記第1のデータのための書き込み先ブロックとして前記ストレージデバイスによって選択された第1のブロックおよび前記第1のデータが書き込まれた前記第1のブロック内の第1の物理記憶位置の双方を示す第1の物理アドレスと、前記第1の論理アドレスとを、前記ストレージデバイスから受信し、
論理アドレスそれぞれと前記ストレージデバイスの物理アドレスそれぞれとの間のマッピングを管理する第1のテーブルを更新して前記第1の論理アドレスに前記第1の物理アドレスをマッピングするように構成されている、計算機システム。 - 前記ライト要求は、前記第1の論理アドレスと、前記複数の並列単位内の一つの並列単位を示す第1のブロックアドレスとを指定し、
前記書き込み対象の前記一つの並列単位は、前記指定された第1のブロックアドレスを有する並列単位である請求項8記載の計算機システム。 - 前記プロセッサは、
前記第1のテーブルを参照して前記第1の論理アドレスにマッピングされている前記第1の物理アドレスを取得し、
前記第1の物理アドレスを指定するリード要求を前記ストレージデバイスに送信するように構成されている請求項8記載の計算機システム。 - 前記プロセッサは、
前記ストレージデバイスによって前記第1のデータが旧物理記憶位置から新物理記憶位置にコピーされた後、前記第1の論理アドレスと、前記旧物理記憶位置を示す第2の物理アドレスと、前記新物理記憶位置を示す第3の物理アドレスとを前記ストレージデバイスから受信し、
前記第1のテーブルを参照して前記第1の論理アドレスにマッピングされている現在の物理アドレスを取得し、
前記第2の物理アドレスが前記取得された現在の物理アドレスに一致する場合、前記第1のテーブルを更新して前記第1の論理アドレスに前記第3の物理アドレスをマッピングし、
前記第2の物理アドレスが前記取得された現在の物理アドレスに一致しない場合、前記第1のテーブルを更新せずに前記現在の物理アドレスを維持するように構成されている請求項8記載の計算機システム。 - 前記プロセッサは、前記第1のテーブルを更新して前記第1の論理アドレスに前記第3の物理アドレスをマッピングした後、前記第2の物理アドレスを指定する第1のコマンドを前記ストレージデバイスに送信することによって前記第2の物理アドレスに対応するデータを無効化すべきことを前記ストレージデバイスに指示するように構成されている請求項11記載の計算機システム。
- 各々が複数のブロックを含む複数の不揮発性メモリダイを備えるストレージデバイスを制御する計算機システムによって実行される制御方法であって、
書き込むべき第1のデータに対応する第1の論理アドレスと前記第1のデータの長さとを指定するライト要求を前記ストレージデバイスに送信することと、
不良ブロックを除くブロックの中から前記第1のデータのための書き込み先ブロックとして前記ストレージデバイスによって選択された第1のブロックおよび前記第1のデータが書き込まれた前記第1のブロック内の第1の物理記憶位置の双方を示す第1の物理アドレスと、前記第1の論理アドレスとを、前記ストレージデバイスから受信することと、
論理アドレスそれぞれと前記ストレージデバイスの物理アドレスそれぞれとの間のマッピングを管理する第1のテーブルを更新して前記第1の論理アドレスに前記第1の物理アドレスをマッピングすることとを具備する制御方法。 - 前記第1のテーブルを参照して前記第1の論理アドレスにマッピングされている前記第1の物理アドレスを取得することと、
前記第1の物理アドレスを指定するリード要求を前記ストレージデバイスに送信することとをさらに具備する請求項13記載の制御方法。 - 前記ストレージデバイスによって前記第1のデータが旧物理記憶位置から新物理記憶位置にコピーされた後、前記第1の論理アドレスと、前記旧物理記憶位置を示す第2の物理アドレスと、前記新物理記憶位置を示す第3の物理アドレスとを前記ストレージデバイスから受信することと、
前記第1のテーブルを参照して前記第1の論理アドレスにマッピングされている現在の物理アドレスを取得することと、
前記第2の物理アドレスが前記取得された現在の物理アドレスに一致する場合、前記第1のテーブルを更新して前記第1の論理アドレスに前記第3の物理アドレスをマッピングすることと、
前記第2の物理アドレスが前記取得された現在の物理アドレスに一致しない場合、前記第1のテーブルを更新せずに前記現在の物理アドレスを維持することとをさらに具備する請求項13記載の制御方法。 - 前記第1のテーブルを更新して前記第1の論理アドレスに前記第3の物理アドレスをマッピングした後、前記第2の物理アドレスを指定する第1のコマンドを前記ストレージデバイスに送信することによって前記第2の物理アドレスに対応するデータを無効化すべきことを前記ストレージデバイスに指示することをさらに具備する請求項15記載の制御方法。
Priority Applications (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017209344A JP7074454B2 (ja) | 2017-10-30 | 2017-10-30 | 計算機システムおよび制御方法 |
US16/017,195 US10558563B2 (en) | 2017-10-30 | 2018-06-25 | Computing system and method for controlling storage device |
TW111114108A TWI805323B (zh) | 2017-10-30 | 2018-08-06 | 儲存裝置 |
CN201810887535.3A CN109725848A (zh) | 2017-10-30 | 2018-08-06 | 计算机系统及储存装置的控制方法 |
TW109121852A TWI765289B (zh) | 2017-10-30 | 2018-08-06 | 儲存系統 |
TW107127263A TWI700586B (zh) | 2017-10-30 | 2018-08-06 | 計算機系統及儲存裝置之控制方法 |
US16/740,680 US11151029B2 (en) | 2017-10-30 | 2020-01-13 | Computing system and method for controlling storage device |
US17/475,025 US11669444B2 (en) | 2017-10-30 | 2021-09-14 | Computing system and method for controlling storage device |
US18/138,378 US20230259452A1 (en) | 2017-10-30 | 2023-04-24 | Computing system and method for controlling storage device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017209344A JP7074454B2 (ja) | 2017-10-30 | 2017-10-30 | 計算機システムおよび制御方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019082817A JP2019082817A (ja) | 2019-05-30 |
JP7074454B2 true JP7074454B2 (ja) | 2022-05-24 |
Family
ID=66243968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017209344A Active JP7074454B2 (ja) | 2017-10-30 | 2017-10-30 | 計算機システムおよび制御方法 |
Country Status (4)
Country | Link |
---|---|
US (4) | US10558563B2 (ja) |
JP (1) | JP7074454B2 (ja) |
CN (1) | CN109725848A (ja) |
TW (3) | TWI765289B (ja) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20190082513A (ko) * | 2018-01-02 | 2019-07-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 그것의 동작방법 |
KR102524432B1 (ko) * | 2018-04-09 | 2023-04-24 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 메모리 시스템의 동작방법 |
KR102530369B1 (ko) * | 2018-04-23 | 2023-05-10 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
CN110658980B (zh) * | 2018-06-29 | 2021-03-23 | 华为技术有限公司 | 数据处理方法及装置、存储系统 |
KR20210018570A (ko) * | 2019-08-05 | 2021-02-18 | 에스케이하이닉스 주식회사 | 컨트롤러, 컨트롤러의 동작 방법 및 이를 포함하는 저장 장치 |
KR20210076497A (ko) | 2019-12-16 | 2021-06-24 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 그 동작 방법 |
US11734175B2 (en) | 2019-08-22 | 2023-08-22 | SK Hynix Inc. | Storage device and method of operating the same |
US20210064278A1 (en) * | 2019-08-27 | 2021-03-04 | Micron Technology, Inc. | Managing attributes of memory components |
CN110609660A (zh) * | 2019-09-10 | 2019-12-24 | 深圳忆联信息系统有限公司 | Ssd阵列的主机端映射方法、装置、计算机设备及存储介质 |
US11762769B2 (en) | 2019-09-20 | 2023-09-19 | SK Hynix Inc. | Memory controller based on flush operation and method of operating the same |
KR20210043314A (ko) * | 2019-10-11 | 2021-04-21 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
JP7214758B2 (ja) | 2019-11-15 | 2023-01-30 | キオクシア株式会社 | ストレージデバイスおよびストレージシステム |
US11561870B2 (en) * | 2020-03-30 | 2023-01-24 | Kioxia Corporation | SSD with compressed superblock mapping table |
CN111177091B (zh) * | 2020-04-10 | 2020-07-31 | 深圳市思拓通信系统有限公司 | 基于xfs文件系统录像预分配存储方法、系统及存储介质 |
US11609909B2 (en) * | 2020-05-12 | 2023-03-21 | Google Llc | Zero copy optimization for select * queries |
CN112711501B (zh) * | 2020-12-30 | 2023-04-25 | 杭州国芯科技股份有限公司 | 采用NAND Flash作为存储器时坏块管理的方法 |
US11494124B2 (en) | 2021-02-17 | 2022-11-08 | Micron Technology, Inc. | Inversion refresh of physical memory location |
US11561713B2 (en) * | 2021-03-11 | 2023-01-24 | Western Digital Technologies, Inc. | Simplified high capacity die and block management |
TWI802279B (zh) * | 2022-02-18 | 2023-05-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TWI805231B (zh) | 2022-02-18 | 2023-06-11 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TW202334821A (zh) | 2022-02-18 | 2023-09-01 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體控制方法 |
TWI814590B (zh) * | 2022-09-26 | 2023-09-01 | 慧榮科技股份有限公司 | 資料處理方法及對應之資料儲存裝置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008226040A (ja) | 2007-03-14 | 2008-09-25 | Hitachi Ltd | 情報処理装置及びコマンド多重度制御方法 |
JP2009245163A (ja) | 2008-03-31 | 2009-10-22 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2011197945A (ja) | 2010-03-18 | 2011-10-06 | Toshiba Corp | コントローラ、データ記憶装置、及びプログラム |
WO2014155668A1 (ja) | 2013-03-29 | 2014-10-02 | 株式会社 東芝 | データの重複をハッシュテーブルに基づいて排除するためのストレージシステム、ストレージコントローラ及び方法 |
JP2014222528A (ja) | 2014-07-08 | 2014-11-27 | 株式会社東芝 | メモリシステムおよび不揮発性メモリの制御方法 |
JP2016021246A (ja) | 2012-06-19 | 2016-02-04 | 株式会社東芝 | 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置 |
JP2017162068A (ja) | 2016-03-08 | 2017-09-14 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728851B1 (en) | 1995-07-31 | 2004-04-27 | Lexar Media, Inc. | Increasing the memory performance of flash memory devices by writing sectors simultaneously to multiple flash memory devices |
US6427186B1 (en) * | 1999-03-30 | 2002-07-30 | Frank (Fong-Long) Lin | Memory, interface system and method for mapping logical block numbers to physical sector numbers in a flash memory, using a master index table and a table of physical sector numbers |
JP5019567B2 (ja) * | 2006-08-04 | 2012-09-05 | ソニーモバイルコミュニケーションズ株式会社 | メモリ管理方法および携帯端末装置 |
US20090013148A1 (en) * | 2007-07-03 | 2009-01-08 | Micron Technology, Inc. | Block addressing for parallel memory arrays |
EP2476079A4 (en) * | 2009-09-09 | 2013-07-03 | Fusion Io Inc | APPARATUS, SYSTEM, AND METHOD FOR STORAGE ALLOCATION |
US9582431B2 (en) | 2010-03-22 | 2017-02-28 | Seagate Technology Llc | Storage address space to NVM address, span, and length mapping/converting |
JP5581256B2 (ja) | 2011-03-28 | 2014-08-27 | 株式会社東芝 | メモリシステム、コントローラ、およびメモリシステムの制御方法 |
CN102279712A (zh) * | 2011-08-10 | 2011-12-14 | 北京百度网讯科技有限公司 | 一种适用于互联网存储系统的存储控制方法、系统和装置 |
US20140181455A1 (en) * | 2012-12-20 | 2014-06-26 | Apple Inc. | Category based space allocation for multiple storage devices |
WO2014102882A1 (en) * | 2012-12-28 | 2014-07-03 | Hitachi, Ltd. | Storage apparatus and storage control method |
US10824553B2 (en) * | 2015-04-24 | 2020-11-03 | Toshiba Memory Corporation | Memory device that controls timing of receiving write data from a host |
JP2017045288A (ja) * | 2015-08-27 | 2017-03-02 | 株式会社東芝 | メモリシステム |
US20170139616A1 (en) * | 2015-11-17 | 2017-05-18 | HGST Netherlands B.V. | Method of decreasing write amplification factor and over-provisioning of nand flash by means of diff-on-write approach |
JP6414853B2 (ja) * | 2015-12-14 | 2018-10-31 | 東芝メモリ株式会社 | メモリシステムおよび制御方法 |
JP6523193B2 (ja) | 2016-03-08 | 2019-05-29 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
TWI645289B (zh) * | 2017-10-31 | 2018-12-21 | 慧榮科技股份有限公司 | 資料儲存裝置以及非揮發式記憶體操作方法 |
-
2017
- 2017-10-30 JP JP2017209344A patent/JP7074454B2/ja active Active
-
2018
- 2018-06-25 US US16/017,195 patent/US10558563B2/en active Active
- 2018-08-06 CN CN201810887535.3A patent/CN109725848A/zh active Pending
- 2018-08-06 TW TW109121852A patent/TWI765289B/zh active
- 2018-08-06 TW TW107127263A patent/TWI700586B/zh active
- 2018-08-06 TW TW111114108A patent/TWI805323B/zh active
-
2020
- 2020-01-13 US US16/740,680 patent/US11151029B2/en active Active
-
2021
- 2021-09-14 US US17/475,025 patent/US11669444B2/en active Active
-
2023
- 2023-04-24 US US18/138,378 patent/US20230259452A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008226040A (ja) | 2007-03-14 | 2008-09-25 | Hitachi Ltd | 情報処理装置及びコマンド多重度制御方法 |
JP2009245163A (ja) | 2008-03-31 | 2009-10-22 | Tdk Corp | メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法 |
JP2011197945A (ja) | 2010-03-18 | 2011-10-06 | Toshiba Corp | コントローラ、データ記憶装置、及びプログラム |
JP2016021246A (ja) | 2012-06-19 | 2016-02-04 | 株式会社東芝 | 制御プログラム、ホスト装置の制御方法、情報処理装置およびホスト装置 |
WO2014155668A1 (ja) | 2013-03-29 | 2014-10-02 | 株式会社 東芝 | データの重複をハッシュテーブルに基づいて排除するためのストレージシステム、ストレージコントローラ及び方法 |
JP2014222528A (ja) | 2014-07-08 | 2014-11-27 | 株式会社東芝 | メモリシステムおよび不揮発性メモリの制御方法 |
JP2017162068A (ja) | 2016-03-08 | 2017-09-14 | 東芝メモリ株式会社 | ストレージシステム、情報処理システムおよび制御方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI700586B (zh) | 2020-08-01 |
TWI805323B (zh) | 2023-06-11 |
US20230259452A1 (en) | 2023-08-17 |
US20190129841A1 (en) | 2019-05-02 |
TW201917580A (zh) | 2019-05-01 |
US10558563B2 (en) | 2020-02-11 |
JP2019082817A (ja) | 2019-05-30 |
US11669444B2 (en) | 2023-06-06 |
US20210406173A1 (en) | 2021-12-30 |
TW202230136A (zh) | 2022-08-01 |
TW202046116A (zh) | 2020-12-16 |
US11151029B2 (en) | 2021-10-19 |
US20200151091A1 (en) | 2020-05-14 |
CN109725848A (zh) | 2019-05-07 |
TWI765289B (zh) | 2022-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7074454B2 (ja) | 計算機システムおよび制御方法 | |
JP7074453B2 (ja) | メモリシステムおよび制御方法 | |
JP6785205B2 (ja) | メモリシステムおよび制御方法 | |
JP6982468B2 (ja) | メモリシステムおよび制御方法 | |
JP6785204B2 (ja) | メモリシステムおよび制御方法 | |
JP7013546B2 (ja) | メモリシステム | |
JP7204020B2 (ja) | 制御方法 | |
JP7102482B2 (ja) | メモリシステムおよび制御方法 | |
JP7167295B2 (ja) | メモリシステムおよび制御方法 | |
JP7366222B2 (ja) | メモリシステムおよび制御方法 | |
JP2023021450A (ja) | メモリシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20180830 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200915 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20211026 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20211210 |
|
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: 20220412 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20220512 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7074454 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |