JP5918906B2 - ストレージ装置及びストレージ制御方法 - Google Patents
ストレージ装置及びストレージ制御方法 Download PDFInfo
- Publication number
- JP5918906B2 JP5918906B2 JP2015510545A JP2015510545A JP5918906B2 JP 5918906 B2 JP5918906 B2 JP 5918906B2 JP 2015510545 A JP2015510545 A JP 2015510545A JP 2015510545 A JP2015510545 A JP 2015510545A JP 5918906 B2 JP5918906 B2 JP 5918906B2
- Authority
- JP
- Japan
- Prior art keywords
- segment
- data
- pba
- nvm module
- nvm
- 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.)
- Expired - Fee Related
Links
- 238000003860 storage Methods 0.000 title claims description 411
- 238000000034 method Methods 0.000 title claims description 83
- 230000008569 process Effects 0.000 claims description 74
- 230000008859 change Effects 0.000 claims description 17
- 239000004065 semiconductor Substances 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 136
- 238000012545 processing Methods 0.000 description 75
- 229920001485 poly(butyl acrylate) polymer Polymers 0.000 description 40
- 238000006243 chemical reaction Methods 0.000 description 35
- 230000007704 transition Effects 0.000 description 30
- 238000004193 electrokinetic chromatography Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 16
- 230000006837 decompression Effects 0.000 description 15
- 238000013144 data compression Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 12
- 238000007906 compression Methods 0.000 description 11
- 230000006835 compression Effects 0.000 description 11
- 230000007423 decrease Effects 0.000 description 10
- 238000012217 deletion Methods 0.000 description 6
- 230000037430 deletion Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 5
- 238000013403 standard screening design Methods 0.000 description 5
- 238000012937 correction Methods 0.000 description 4
- 230000006866 deterioration Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- RTZKZFJDLAIYFH-UHFFFAOYSA-N Diethyl ether Chemical compound CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000012005 ligant binding assay Methods 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000002250 progressing effect Effects 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
Images
Classifications
-
- 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/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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0868—Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
-
- 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/0866—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
- G06F12/0871—Allocation or management of cache space
-
- 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/22—Employing cache memory using specific memory technology
- G06F2212/222—Non-volatile memory
-
- 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/28—Using a specific disk cache architecture
- G06F2212/282—Partitioned cache
-
- 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/50—Control mechanisms for virtual memory, cache or TLB
- G06F2212/502—Control mechanisms for virtual memory, cache or TLB using adaptive policy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
NVMモジュール126は、内部に、フラッシュメモリ(FM)コントローラ210と、複数(例えば、32個)のフラッシュメモリチップ(以下、FMチップ)220〜228等を有する。
NVMモジュールPBA割り当て量706は、セグメントに割り当てられた物理領域の総容量を示す。NVMモジュールPBA割り当て量706は、NVMモジュール126から、ストレージコントローラ110に通知される。
NVMモジュールPBA割り当て量706は、プロセッサ215がデータをNVMモジュール126に格納するために推定した物理的な記憶領域でも良い。また、PBA割り当て量706は、プロセッサ215が、送信データをNVMモジュール126に格納した際に、実際に割り当てた物理的な記憶容量でも良い。
NVMモジュールPBA1001は、FMチップ(220〜228)における物理ブロックを一意に識別する情報を示す。本実施例では、NVMモジュールPBAがブロック単位で管理される。図10では、NVMモジュールPBA1001は、物理ブロックの先頭アドレスである。例えば、「0x000_0000_0000」は、「0x000_0000_0000」〜「0x000_003F_FFFF」のNVMモジュールPBA範囲が該当することを示している。
NVMチップ番号1002は、物理ブロックを含むFMチップ(220〜228)の番号を示す。
PBA割り当て管理情報1100は、NVMモジュール126(例えばRAM213)内に格納されている。PBA割り当て管理情報1100は、PBA割り当て量1101、PBA割り当て残量1102及び無効PBA量1103を有する。
PBA割り当て量1101は、LBA−PBA変換テーブル900によってNVMモジュールLBA901に対応付けられているNVMモジュールPBA902の総量(つまり、論理空間を構成する複数の論理ブロックに割り当てられている物理ブロックの総容量)を示す。
PBA割り当て残量1102は、FMチップ(220〜228)により構成されるPBAの総量からPBA割り当て量1101を引いた値を示す。
NVMモジュールPBAの割り当て残量があらかじめ定められている閾値より大きいとき、NVMモジュールPBAの割り当て量には余裕があり、セグメントの解放処理は不要なので、ストレージコントローラ110によるライト処理は終了となる。一方、NVMモジュールPBAの割り当て残量が閾値以下であるとき、NVMモジュールPBAの割り当て量は枯渇し始めているため、ストレージコントローラ110は、セグメント解放処理を実施する。
NVMモジュール126のPBA割り当て残量1102があらかじめ定められている閾値以下となる場合とは、例えば、仮想的に拡張しているNVMモジュールLBAに割り当てるNVMモジュールPBAが枯渇し始めていることを表しており、NVMモジュールLBAに対応付けられたセグメントの利用数を減らす必要がある。このため、本実施例では、プロセッサ121は、NVMモジュール126のPBA割り当て残量1102が閾値より多くなるまで、クリーン属性のセグメントを解放する(フリー属性のセグメントとする)。
NVMモジュール126のリード処理の最初のステップであるS1901で、NVMモジュール126(FMコントローラ210)は、ストレージコントローラ110よりリード先のアドレスとしてNVMモジュールLBAを受信する。
NVMモジュールLBAに割り当てるNVMモジュールPBAを、データを圧縮することにより更に削減することで、実施例2では、実施例1よりNVMモジュールLBAの領域を拡張することができ、NVMモジュール126が有する物理的な記憶領域をより効率的に利用できる。
NVMモジュールPBA2102は、NVMモジュール126が管理する全FMチップ(220〜228)の特定の領域を示す情報を格納する。本実施例では、NVMモジュールPBA2102は、FMチップ(220〜228)の最小書き込み単位であるページ単位で区切られたアドレスを持つ。図9の例では、NVMモジュールLBA「0x000_0000_0000」に対応付けられたPBA(Physical Block Address)として、「XXX」というPBAが対応付けられている。このPBAは、LBAに基づくデータを圧縮したデータ(以下、圧縮データ)を記憶しているFMチップ(220〜228)の記憶領域を一意に示すアドレスである。これにより、リードコマンドの参照先アドレスとして、NVMモジュールLBA「0x000_0000_0000」を受信した場合、NVMモジュール126内の圧縮データを記憶した物理的なリード先が取得される。
NVMモジュール126の管理情報について説明する。なお、実施例3のNVMモジュール126の管理情報であるLBA−PBA変換テーブルは、実施例1と、実質的に同様であるため説明を省略する。
NVMモジュール126は、このとき解放されたNVMモジュールPBA領域を予備領域として管理し制御することで、予備領域を増加させることができる。
Claims (13)
- 上位装置からのアクセスコマンドに従うアクセス対象のデータのアクセスをアクセス先の記憶領域の基になっている記憶デバイスに対して行うコントローラと、
前記記憶デバイスに対してアクセスされるアクセス対象のデータが一時的に格納されるキャッシュメモリ(CM)と
を有し、
前記CMは、記憶媒体として不揮発性半導体メモリ(NVM)を有しており、
前記CMは、前記コントローラに対して論理空間を提供し、前記コントローラは、前記論理空間を複数のセグメントに分割して管理するようになっており、前記論理空間の論理アドレスを指定して前記CMにアクセスし、前記CMは、前記論理アドレスを指定したアクセスを受けて、前記NVMを構成する複数の物理領域のうち、前記コントローラから指定された論理アドレスに属する論理領域に割り当てられた物理領域にアクセスするようになっており、
セグメントの単位である第1管理単位は、前記CMにおいて前記NVMに対して行われるアクセスの単位である第2管理単位よりも大きく、
前記論理空間の容量は、前記NVMの記憶容量よりも大きい容量であり、
前記コントローラは、前記論理空間を構成する複数のセグメントの各々の属性を管理しており、
セグメントの属性として、前記記憶デバイスに未格納のデータが記憶されているセグメントであることを意味するダーティと、前記記憶デバイスに格納済のデータが記憶されていることを意味するクリーンと、新たにデータが書き込まれてよいセグメントであることを意味するフリーとがあり、
前記論理空間の残容量は、フリーのセグメントの合計容量であり、
前記コントローラは、前記NVMにおけるフリーの物理領域の合計容量である残容量に関する容量情報を含んだ内部情報を前記CMから受信するようになっており、
フリーの物理領域は、いずれの論理領域にも割り当てられておらず、データが新たに書き込まれることが可能な記憶領域であり、
前記コントローラは、所定の契機で、前記容量情報を基に、前記CMの残容量を特定し、特定した残容量が所定の閾値以下の場合に、残容量が所定の閾値より多くなるように、クリーンのセグメントの属性をフリーに変更する、
ストレージ装置。 - 前記コントローラは、属性がフリーに変更されるセグメントの論理アドレスを前記CMに通知し、前記CMが、通知された論理アドレスに属する論理領域に対する物理領域をフリーの物理領域に変更する、
請求項1記載のストレージ装置。 - 前記CMは、論理アドレスが指定されたライトリクエストを前記コントローラから受信し、且つ、前記ライトリクエストに従うデータを、前記ライトリクエストで指定されている論理アドレスに属する論理領域に割り当てた物理領域に書き込んだ場合に、前記内部情報を前記コントローラに送信するようになっており、
前記所定の契機は、前記ライトリクエストに応答して前記CMから前記内部情報を前記コントローラが受信したときである、
請求項2記載のストレージ装置。 - 前記コントローラから前記CMへのライトリクエストは、前記アクセスコマンドとして受信したリードコマンドに従うデータであり前記記憶デバイスから読み出されたデータのライトリクエスト、又は、前記上位装置からアクセスコマンドとして受信したライトコマンドに従うデータのライトリクエストである、
請求項3記載のストレージ装置。 - 前記容量情報は、前記NVMの実際の残容量よりも少ない残容量が特定される偽容量情報である、
請求項1記載のストレージ装置。 - 前記容量情報が前記偽容量情報とされるのは、前記NVMの書き換え頻度が所定の閾値より多い場合である、
請求項5記載のストレージ装置。 - 前記セグメントの属性として、クリーンのセグメントのうち相対的にアクセス数の少ないデータを格納しており許可されたセグメントであることを意味するフリーウェイトがあり、
前記コントローラは、前記CMに対して、複数のフリーウェイトアドレスを通知し、前記CMは、前記複数のフリーウェイトアドレスに属する複数の論理領域にそれぞれ割り当てられている複数の物理領域の中から、フリーの物理領域とする物理領域を選択し、
フリーウェイトアドレスは、フリーウェイトのセグメントに属する論理アドレスである、
請求項2記載のストレージ装置。 - 前記NVMは、それぞれが複数の物理ページで構成された複数の物理ブロックを有するフラッシュメモリであり、
前記CMは、フリーの物理ブロックを増やすためのリクラメーション処理において、移動される有効データの総量が所定の閾値以下となるように、複数のフリーウェイトアドレスに属する複数の論理ブロックに割り当てられている複数の物理ブロックの中から、フリーの物理ブロックとする物理ブロックを選択する、
請求項7記載のストレージ装置。 - 前記CMは、選択した物理ブロックに対応したフリーウェイトアドレスを指定したアクセスを前記コントローラから受けた場合、前記コントローラに対して、前記指定されたフリーウェイアドレスについてフリーとされたことを通知する、
請求項7記載のストレージ装置。 - 前記CMは、選択した物理ブロックに対応したフリーウェイトアドレスを前記コントローラに通知し、通知したフリーウェイトアドレスのうち前記コントローラから許諾されたフリーウェイトアドレスに対応する物理領域のみを、フリーの物理領域とする、
請求項7記載のストレージ装置。 - 前記CMは、前記コントローラからのデータを圧縮して前記NVMに格納するようになっており、且つ、圧縮されたデータを格納した場合に、前記圧縮されたデータが格納された物理領域の容量に従い容量情報を更新し更新後の容量情報を含んだ前記内部情報を前記コントローラに送信するようになっている、
請求項1記載のストレージ装置。 - 前記論理空間の容量は、前記第2管理単位に対する前記第1管理単位の比率と、前記NVMの記憶容量とに基づいて決定された容量である、
請求項1記載のストレージ装置。 - 上位装置からアクセスコマンドを受信し前記アクセスコマンドに従うアクセス対象のデータのアクセスをアクセス先の記憶領域の基になっている記憶デバイスに対して行うコントローラに対して、前記記憶デバイスに対してアクセスされるアクセス対象のデータが一時的に格納され不揮発性半導体メモリ(NVM)を有するキャッシュメモリ(CM)によって、論理空間を提供し、
前記CMによって、複数のセグメントで構成される前記論理空間の論理アドレスを指定したアクセスを前記コントローラから受けて、前記NVMを構成する複数の物理領域のうち、前記コントローラから指定された論理アドレスに属する論理領域に割り当てられた物理領域にアクセスし、
セグメントの単位である第1管理単位は、前記CMにおいて前記NVMに対して行われるアクセスの単位である第2管理単位よりも大きく、
前記論理空間の容量は、前記NVMの記憶容量よりも大きい容量であり、
前記コントローラは、前記論理空間を構成する複数のセグメントの各々の属性を管理するようになっており、
セグメントの属性として、前記記憶デバイスに未格納のデータが記憶されているセグメントであることを意味するダーティと、前記記憶デバイスに格納済のデータが記憶されていることを意味するクリーンと、新たにデータが書き込まれてよいセグメントであることを意味するフリーとがあり、
前記論理空間の残容量は、フリーのセグメントの合計容量であり、
前記CMによって、前記NVMにおけるフリーの物理領域の合計容量である残容量に関する容量情報を含んだ内部情報を前記コントローラに送信し、
フリーの物理領域は、いずれの論理領域にも割り当てられておらず、データが新たに書き込まれることが可能な記憶領域であり、
前記コントローラは、所定の契機で、前記容量情報を基に、前記CMの残容量を特定し、特定した残容量が所定の閾値以下の場合に、残容量が所定の閾値より多くなるように、クリーンのセグメントの属性をフリーに変更するようになっている、
ストレージ制御方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2012/008437 WO2014102882A1 (en) | 2012-12-28 | 2012-12-28 | Storage apparatus and storage control method |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015527623A JP2015527623A (ja) | 2015-09-17 |
JP5918906B2 true JP5918906B2 (ja) | 2016-05-18 |
Family
ID=47603954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015510545A Expired - Fee Related JP5918906B2 (ja) | 2012-12-28 | 2012-12-28 | ストレージ装置及びストレージ制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20140189203A1 (ja) |
JP (1) | JP5918906B2 (ja) |
WO (1) | WO2014102882A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8959307B1 (en) | 2007-11-16 | 2015-02-17 | Bitmicro Networks, Inc. | Reduced latency memory read transactions in storage devices |
US8665601B1 (en) | 2009-09-04 | 2014-03-04 | Bitmicro Networks, Inc. | Solid state drive with improved enclosure assembly |
US8447908B2 (en) | 2009-09-07 | 2013-05-21 | Bitmicro Networks, Inc. | Multilevel memory bus system for solid-state mass storage |
US8560804B2 (en) | 2009-09-14 | 2013-10-15 | Bitmicro Networks, Inc. | Reducing erase cycles in an electronic storage device that uses at least one erase-limited memory device |
US9372755B1 (en) | 2011-10-05 | 2016-06-21 | Bitmicro Networks, Inc. | Adaptive power cycle sequences for data recovery |
US9606929B2 (en) * | 2011-11-08 | 2017-03-28 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Simulated NVRAM |
US9043669B1 (en) | 2012-05-18 | 2015-05-26 | Bitmicro Networks, Inc. | Distributed ECC engine for storage media |
US9423457B2 (en) | 2013-03-14 | 2016-08-23 | Bitmicro Networks, Inc. | Self-test solution for delay locked loops |
US10489318B1 (en) | 2013-03-15 | 2019-11-26 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9734067B1 (en) | 2013-03-15 | 2017-08-15 | Bitmicro Networks, Inc. | Write buffering |
US9400617B2 (en) | 2013-03-15 | 2016-07-26 | Bitmicro Networks, Inc. | Hardware-assisted DMA transfer with dependency table configured to permit-in parallel-data drain from cache without processor intervention when filled or drained |
US9875205B1 (en) | 2013-03-15 | 2018-01-23 | Bitmicro Networks, Inc. | Network of memory systems |
US9971524B1 (en) | 2013-03-15 | 2018-05-15 | Bitmicro Networks, Inc. | Scatter-gather approach for parallel data transfer in a mass storage system |
US9916213B1 (en) | 2013-03-15 | 2018-03-13 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9798688B1 (en) | 2013-03-15 | 2017-10-24 | Bitmicro Networks, Inc. | Bus arbitration with routing and failover mechanism |
US9842024B1 (en) * | 2013-03-15 | 2017-12-12 | Bitmicro Networks, Inc. | Flash electronic disk with RAID controller |
US9672178B1 (en) | 2013-03-15 | 2017-06-06 | Bitmicro Networks, Inc. | Bit-mapped DMA transfer with dependency table configured to monitor status so that a processor is not rendered as a bottleneck in a system |
US9501436B1 (en) | 2013-03-15 | 2016-11-22 | Bitmicro Networks, Inc. | Multi-level message passing descriptor |
US9858084B2 (en) | 2013-03-15 | 2018-01-02 | Bitmicro Networks, Inc. | Copying of power-on reset sequencer descriptor from nonvolatile memory to random access memory |
US9934045B1 (en) | 2013-03-15 | 2018-04-03 | Bitmicro Networks, Inc. | Embedded system boot from a storage device |
US9720603B1 (en) | 2013-03-15 | 2017-08-01 | Bitmicro Networks, Inc. | IOC to IOC distributed caching architecture |
US9430386B2 (en) | 2013-03-15 | 2016-08-30 | Bitmicro Networks, Inc. | Multi-leveled cache management in a hybrid storage system |
US10042792B1 (en) | 2014-04-17 | 2018-08-07 | Bitmicro Networks, Inc. | Method for transferring and receiving frames across PCI express bus for SSD device |
US10055150B1 (en) | 2014-04-17 | 2018-08-21 | Bitmicro Networks, Inc. | Writing volatile scattered memory metadata to flash device |
US10078604B1 (en) | 2014-04-17 | 2018-09-18 | Bitmicro Networks, Inc. | Interrupt coalescing |
US9952991B1 (en) | 2014-04-17 | 2018-04-24 | Bitmicro Networks, Inc. | Systematic method on queuing of descriptors for multiple flash intelligent DMA engine operation |
US9811461B1 (en) | 2014-04-17 | 2017-11-07 | Bitmicro Networks, Inc. | Data storage system |
US10025736B1 (en) | 2014-04-17 | 2018-07-17 | Bitmicro Networks, Inc. | Exchange message protocol message transmission between two devices |
TWI514251B (zh) * | 2014-10-09 | 2015-12-21 | Realtek Semiconductor Corp | 資料配置方法與裝置 |
JP6459644B2 (ja) * | 2015-03-05 | 2019-01-30 | 富士通株式会社 | ストレージ制御装置、制御システム及び制御プログラム |
US10893029B1 (en) * | 2015-09-08 | 2021-01-12 | Amazon Technologies, Inc. | Secure computing service environment |
CN108027710B (zh) * | 2015-12-03 | 2020-11-06 | 株式会社日立制作所 | 在软件定义的存储系统中进行高速缓存的方法和装置 |
JP2017107321A (ja) * | 2015-12-08 | 2017-06-15 | 京セラドキュメントソリューションズ株式会社 | 電子機器およびデータアクセス制御プログラム |
US10275160B2 (en) * | 2015-12-21 | 2019-04-30 | Intel Corporation | Method and apparatus to enable individual non volatile memory express (NVME) input/output (IO) Queues on differing network addresses of an NVME controller |
US10001776B2 (en) * | 2016-03-21 | 2018-06-19 | The Boeing Company | Unmanned aerial vehicle flight control system |
US10200376B2 (en) | 2016-08-24 | 2019-02-05 | Intel Corporation | Computer product, method, and system to dynamically provide discovery services for host nodes of target systems and storage resources in a network |
US10176116B2 (en) | 2016-09-28 | 2019-01-08 | Intel Corporation | Computer product, method, and system to provide discovery services to discover target storage resources and register a configuration of virtual target storage resources mapping to the target storage resources and an access control list of host nodes allowed to access the virtual target storage resources |
US10613974B2 (en) * | 2016-10-04 | 2020-04-07 | Pure Storage, Inc. | Peer-to-peer non-volatile random-access memory |
CN108241585B (zh) * | 2016-12-23 | 2023-08-22 | 北京忆芯科技有限公司 | 大容量nvm接口控制器 |
CN108241468B (zh) * | 2016-12-23 | 2021-12-07 | 北京忆芯科技有限公司 | Io命令处理方法与固态存储设备 |
WO2018159691A1 (ja) * | 2017-02-28 | 2018-09-07 | 日本電信電話株式会社 | 通信処理装置、情報処理装置、及び、通信処理装置の制御方法 |
US10552050B1 (en) | 2017-04-07 | 2020-02-04 | Bitmicro Llc | Multi-dimensional computer storage system |
KR102498668B1 (ko) | 2017-05-17 | 2023-02-09 | 삼성전자주식회사 | 플래시-인지 힙 메모리 관리 방법 및 호스트 장치 |
JP7074453B2 (ja) | 2017-10-30 | 2022-05-24 | キオクシア株式会社 | メモリシステムおよび制御方法 |
JP7074454B2 (ja) * | 2017-10-30 | 2022-05-24 | キオクシア株式会社 | 計算機システムおよび制御方法 |
US11281587B2 (en) * | 2018-01-02 | 2022-03-22 | Infinidat Ltd. | Self-tuning cache |
JP6800904B2 (ja) * | 2018-03-20 | 2020-12-16 | 株式会社東芝 | モデル生成装置、情報処理装置、モデル生成方法およびプログラム |
KR20200072639A (ko) | 2018-12-12 | 2020-06-23 | 삼성전자주식회사 | 저장 장치 및 그것의 동작 방법 |
CN110007859B (zh) * | 2019-03-27 | 2022-04-08 | 新华三云计算技术有限公司 | 一种i/o请求处理方法、装置及客户端 |
KR20220079212A (ko) * | 2020-12-04 | 2022-06-13 | 삼성전자주식회사 | 가비지 컬렉션을 수행하기 위한 전자 장치 및 방법 |
US12175119B2 (en) | 2021-12-06 | 2024-12-24 | SanDisk Technologies, Inc. | Enterprise host memory buffer for DRAM-less SSD |
US11816337B2 (en) | 2021-12-06 | 2023-11-14 | Western Digital Technologies, Inc. | Enterprise host memory buffer |
US20230393747A1 (en) * | 2022-06-02 | 2023-12-07 | Micron Technology, Inc. | Controller for a memory device and a storage device |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3358655B2 (ja) * | 1998-12-22 | 2002-12-24 | 日本電気株式会社 | ディスクアレイ装置におけるキャッシュメモリ管理方法 |
US7343451B2 (en) * | 2003-12-25 | 2008-03-11 | Hitachi, Ltd. | Disk array device and remote copying control method for disk array device |
US9519540B2 (en) * | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
JP2009205335A (ja) | 2008-02-27 | 2009-09-10 | Hitachi Ltd | 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法 |
JP5028381B2 (ja) * | 2008-10-22 | 2012-09-19 | 株式会社日立製作所 | ストレージ装置およびキャッシュ制御方法 |
JP5593577B2 (ja) * | 2010-12-27 | 2014-09-24 | 株式会社日立製作所 | ストレージシステム及びその制御情報の管理方法 |
US8838895B2 (en) * | 2011-06-09 | 2014-09-16 | 21Vianet Group, Inc. | Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time |
JP5250143B2 (ja) * | 2012-07-23 | 2013-07-31 | 株式会社日立製作所 | ストレージシステムおよびストレージシステム制御方法 |
-
2012
- 2012-12-28 WO PCT/JP2012/008437 patent/WO2014102882A1/en active Application Filing
- 2012-12-28 US US13/811,008 patent/US20140189203A1/en not_active Abandoned
- 2012-12-28 JP JP2015510545A patent/JP5918906B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20140189203A1 (en) | 2014-07-03 |
WO2014102882A1 (en) | 2014-07-03 |
JP2015527623A (ja) | 2015-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5918906B2 (ja) | ストレージ装置及びストレージ制御方法 | |
US10713161B2 (en) | Memory system and method for controlling nonvolatile memory | |
US10789162B2 (en) | Memory system and method for controlling nonvolatile memory | |
CN104956312B (zh) | 存储装置及存储装置的控制方法 | |
US11747979B2 (en) | Electronic device, computer system, and control method | |
JP5593577B2 (ja) | ストレージシステム及びその制御情報の管理方法 | |
WO2015145532A1 (ja) | ストレージシステム及びデータ処理方法 | |
JP6062060B2 (ja) | ストレージ装置、ストレージシステム、及びストレージ装置制御方法 | |
JP6429963B2 (ja) | ストレージ装置及びストレージ装置の制御方法 | |
WO2015076354A1 (ja) | ストレージ装置と方法並びにプログラム | |
US9317423B2 (en) | Storage system which realizes asynchronous remote copy using cache memory composed of flash memory, and control method thereof | |
JP6677740B2 (ja) | ストレージシステム | |
WO2016056104A1 (ja) | ストレージ装置、及び、記憶制御方法 | |
US10296229B2 (en) | Storage apparatus | |
US10049042B2 (en) | Storage device, semiconductor memory device, and method for controlling same | |
US20190243758A1 (en) | Storage control device and storage control method | |
JP6666405B2 (ja) | メモリシステムおよび制御方法 | |
JP6721765B2 (ja) | メモリシステムおよび制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160115 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160229 |
|
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: 20160329 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160408 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5918906 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |