JP7457342B2 - データストレージ装置 - Google Patents

データストレージ装置 Download PDF

Info

Publication number
JP7457342B2
JP7457342B2 JP2019078102A JP2019078102A JP7457342B2 JP 7457342 B2 JP7457342 B2 JP 7457342B2 JP 2019078102 A JP2019078102 A JP 2019078102A JP 2019078102 A JP2019078102 A JP 2019078102A JP 7457342 B2 JP7457342 B2 JP 7457342B2
Authority
JP
Japan
Prior art keywords
data
storage device
data storage
read
time
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
Application number
JP2019078102A
Other languages
English (en)
Other versions
JP2020177362A5 (ja
JP2020177362A (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 株式会社ポトスセミコンダクタ
Priority to JP2019078102A priority Critical patent/JP7457342B2/ja
Publication of JP2020177362A publication Critical patent/JP2020177362A/ja
Publication of JP2020177362A5 publication Critical patent/JP2020177362A5/ja
Priority to JP2023204834A priority patent/JP2024015180A/ja
Application granted granted Critical
Publication of JP7457342B2 publication Critical patent/JP7457342B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)

Description

本発明は、データストレージ装置(Data Storage Apparatus)に関する。より詳細には、データ分割保存技術とデータ仕分保存技術を実装したデータストレージ装置に関する。
SSD(Solid State Disc)などのデータストレージ装置にはデータストレージデバイス(Data Storage Device、例えばNAND Flash)が用いられる。このデータストレージデバイスにNAND Flashを用いた場合、データ演算処理装置(例えばCPU(Central Processing Unit))から読出し命令を受けてから実際にデータを出力するまでのランダムデータ第1読出し時間が極端に長い。
このNAND Flashのランダムデータ第1読出し時間の遅さの原因は、内部のメモリセルからデータをデータ・レジスタにデータを配列するまでの内部準備時間が30μ秒から100μ秒かかることにある。実際のデータ演算処理装置がデータ読出し命令を発してから、データストレージ装置からデータを受け取り始めるまでの時間は、このデータストレージデバイスのデータ出力時間にデータストレージ装置内のストレージコントローラによる処理時間も加えられる。
従来のSSD型データストレージ装置は512Bから256KBデータまでの小サイズデータ領域で読出し速度が遅い。このような従来のSSD型データストレージ装置高速化を達成するためには、(1)ストレージコントローラの制御時間、(2)メモリデバイスのデータ内部準備時間、(3)メモリデバイスのデータ外部転送時間、をそれぞれ短縮するほかない。
従来技術において、ストレージコントローラの改良は進められており、制御時間は9μ秒程度のものが発表されている(2018 ISSI Samsung社発表)。NAND Flashのデータ内部準備時間は一般的には75μ秒程度、データ外部転送時間は10n秒/Byte程度である。大サイズデータにおいてはストレージコントローラの制御時間の短縮、NAND Flashの性能改良等により一定の読出速度の改善は見込まれる。
しかしながら、通常のデータストレージ装置に使われるNAND Flashでは、小サイズデータにおいて読出速度が極めて低い。小サイズデータ領域では読出時間が45μ秒以下になることはない。小サイズデータ領域で、データストレージ装置において通常のNAND Flashを用いて、例えば、10μsecの実現を図ることは不可能である。
さらに、データ保存装置の速度改善を目的として、メモリデバイスの多チャンネル化が検討されているが、やはり、大サイズデータ領域で顕著な速度改善は認められるものの、小サイズデータ領域ではほとんど効果がない。これは、NAND Flashのデータ内部準備時間が、多チャンネル化した全てのデバイスにおいても同時に必要であるため、16KB以下のデータサイズ領域で読出時間改善効果がほとんど出ないことが理由である。但し、NAND Flashのデータ外部転送時間は多チャネル化により大幅に改善する。大サイズデータ領域での多チャンネル化の顕著な効果の理由となるが、今回の小サイズデータ領域での高速化には寄与しない。
以上のとおり、従来技術では、データ保存装置による小サイズデータ領域での読出時間が長く、読出し速度が低い問題は解決することができない。
特開2015-46175号公報
本発明は、データストレージ装置に関する小サイズデータ領域での読出時間の短縮を実現し、小サイズデータ領域での読出速度向上を図ることを課題としている。
NAND Flashは、SLC(Single Level Cell)品とMLC(Multi Level Cell)品が入手可能である。一般に、読出速度向上にはSLC品の採用が効果はある。しかし、MLC品に代えてSLC品を全面的に採用するのは大幅にコストが上昇する。SLC品はMLC品の5倍程度のコストがかかる。そこで、本発明は、MLC品の利用を前提にしてもなおコストが大幅に上がらない速度改善対策を目的としている。
上記課題を解決するため、本発明の一実施態様においては、本発明の一実施態様にかかるデータストレージ装置は、第1のデータストレージデバイスと、第1のデータストレージデバイスよりも読出し時間が長い第2のデータストレージデバイスと、元データをデータ頭に近い第1の部分及びデータ頭からより遠い第2の部分を含むように分割し、第1の部分を第1のデータストレージデバイスに、第2の部分を第2のデータストレージデバイスにそれぞれ格納し、データを読み出す際には、読み出した第1のデータと第2のデータとを結合して出力するストレージコントローラと、を具備することを特徴とする。
また、本発明の他の実施態様においては、第1のデータストレージデバイスと、第1のデータストレージデバイスよりも読出し時間が長い第2のデータストレージデバイスと、格納すべきデータを、データサイズが第1の所定範囲である場合には第1の群に、そのデータサイズが第1の所定範囲よりも大きな第2の所定範囲である場合には第2の群に仕分けし、第1の群に属するデータを第1のデータストレージデバイスに、第2の群に属するデータを第2のデータストレージデバイスにそれぞれ格納するストレージコントローラと、を具備することを特徴とする。
本発明の各実施形態に係るデータストレージ装置の読出し処理時間を示した図である。 本発明の各実施形態に係るデータストレージ装置に用いるデータストレージデバイスのデータ読出し時間を示した図である。 本発明の第1の実施形態に係るデータストレージ装置の構成図である。 本発明の第1の実施形態に係るデータストレージ装置の構成図である。 本発明の第1の実施形態に係るストレージコントローラの動作を示す図である。 本発明の第1の実施形態に係るストレージコントローラの動作を示す図である。 本発明の第1の実施形態に係るストレージコントローラの具体例1を示す図である。 本発明の第1の実施形態に係るデータストレージ装置の変形例1を示す図である。 本発明の第1の実施形態に係るデータストレージ装置の変形例1を示す図である。 本発明の第1の実施形態に係るデータストレージ装置の変形例2を示す図である。 本発明の第2の実施形態に係るデータストレージ装置の動作を示す図である。 本発明の第2の実施形態に係るデータストレージ装置の動作を示す図である。 本発明の第2の実施形態に係るストレージコントローラの具体例1を示す図である。 本発明の第2の実施形態に係るストレージコントローラの具体例1を示す図である。 本発明の第1又は第2の実施形態に係るデータストレージ装置の変形例3を示す図である。 本発明の第1又は第2の実施形態に係るデータストレージ装置の変形例4を示す図である。 データストレージ装置の動作に必要な各時間を示した図表である。 データストレージ装置の読出時間(μ秒)を示した図表である。 データストレージ装置の読出速度(MB/秒)を示した図表である。 第1の実施態様の具体例1の読出時間を示した図表である。 第1の実施態様の具体例1の読出時間を示したグラフである。 第1の実施態様の具体例1の読出速度を示した図表である。 第1の実施態様の具体例1の読出速度を示したグラフである。 第1の実施態様の具体例2(ダイレクトアクセスMRAM)の読出時間を示した図表である。 第1の実施態様の具体例2(ダイレクトアクセスMRAM)の読出時間を示したグラフである。 第1の実施態様の具体例2(ダイレクトアクセスMRAM)の読出速度を示した図表である。 第1の実施態様の具体例2(ダイレクトアクセスMRAM)の読出速度を示したグラフである。 第2の実施態様の具体例1の読出時間を示した図表である。 第2の実施態様の具体例1の読出時間を示したグラフである。 第2の実施態様の具体例1の読出速度を示した図表である。 第2の実施態様の具体例1の読出速度を示したグラフである。 第2の実施態様の具体例2(ダイレクトアクセスMRAM)の読出時間を示した図表である。 第2の実施態様の具体例2(ダイレクトアクセスMRAM)の読出時間を示したグラフである。 第2の実施態様の具体例2(ダイレクトアクセスMRAM)の読出速度を示した図表である。 第2の実施態様の具体例2(ダイレクトアクセスMRAM)の読出速度を示したグラフである。
以下、図面を参照して本発明に係るデータストレージ装置について説明する。本発明に係るデータストレージ装置は、以下に示す実施の形態の記載内容に限定して解釈されるものではない。なお、本実施の形態で参照する図面において、同一部分又は同様な機能を有する部分には同一の符号を付し、その繰り返しの説明は省略する。
[第1の実施形態]
図1は、本発明の各実施形態に係るデータストレージ装置100の読出し処理時間を示した図である。CPU等のデータ演算処理装置200は読出し命令をデータストレージ装置100に送る。データストレージ装置100は、ストレージコントローラ110とデータストレージデバイス120とから構成される。ストレージコントローラ110はデータストレージデバイス120に読出し命令を発する。ストレージコントローラ110がデータストレージデバイス120に読出し命令を発するまでの読出し制御処理時間が制御処理時間1である。次いで、読出し命令を受けたデータストレージデバイス120がデータを出力する時間がデータストレージデバイスデータ処理時間であり、これは、データ内部準備時間とデータ外部転送時間とから構成される。次いで、データストレージデバイスが出力した読出しデータをストレージコントローラ110がデータ演算処理装置200に出力制御するのにかかる出力制御処理時間が制御処理時間2である。データストレージ装置100がデータの読出しにかかる時間は、制御処理時間1+データ内部準備時間+データ外部転送時間+制御処理時間2の合計時間である。
図2は、本発明の各実施形態に係るデータストレージ装置100に用いるデータストレージデバイス120のデータ読出し時間を示した図である。データ内部準備時間は、データストレージデバイス120が読出し命令を受け取ってから、データの頭出し(最初のデータの出力、first data output)をするまでの時間である。データストレージデバイスにはページバッファが供えられており、このページバッファに読出したデータがセットされる。そして、このようにページバッファにセットされたデータが外部に転送される。データ外部転送時間は、データが外部に転送される時間である。
データ内部準備時間は、メモリデバイスの種類によって異なる。SLC NAND Flashでは例えば35μ秒であり、MLC NAND Flashでは例えば75μ秒である。株式会社ポトスセミコンダクタが販売するB4-Flashにおいては例えば0.1μ秒である。
B4-Flashは、B4-HE(Back Bias assisted Band to Band tunneling、 Hot Electron)を用いた書き込み動作原理を採用したNORフラッシュメモリである。NORフラッシュメモリであることから、ランダムアクセスが極めて高速である。
データ外部転送時間は、メモリデバイスの種類によって変わることもあれば変わらないこともある。一例として、SLC NAND Flash、MLC NAND Flashでは例えば10n秒×データサイズ(Byte)である。B4-Flashにおいては例えば(10n秒~20n秒)×データサイズ(Byte)である。
図3は、本発明の第1の実施形態に係るデータストレージ装置100のデータ内部準備時間を説明する図である。データストレージ装置100はデータ演算処理装置200と接続されている。データストレージ装置100はストレージコントローラ110とn個のデータストレージデバイス121~124からなる。n個のデータストレージデバイス121~124のデータ内部準備時間は、それぞれ、t1、t2~tnであり、これらはすべて同じではない。例えば、t1が小さく、t2~tnは大きい場合がある。t1<t2<tn-1=tnでもよい。
図4は、本発明の第1の実施形態に係るデータストレージ装置100のデータ外部転送時間を説明する図である。n個のデータストレージデバイス121~124のデータ外部転送時間は、それぞれ、s1、s2~snであり、これらはすべて同じではない。例えば、s1が小さく、s2~snは大きい場合がある。s1<s2<sn-1=snでもよい。
図5及び図6に、図3及び図4に示した本発明の第1の実施形態に係るストレージコントローラ110の動作を示す。元データは分割前のデータである。最も早い読出し点がデータ頭(Data Header)、最も遅い読出し点がデータ最後尾(Data Tail)である。そして、データ読み出し時の出力時系列に沿って、より早い読出し領域からより遅い読出し領域まで並んでいる。ストレージコントローラ110は、この元データに、予めの設定により区切りを入れる。区切りは、例えば、V1、V2、V3・・・Vn-1である。ストレージコントローラ110は、元データを最大でn個のデータD1(データ頭からV1以下のデータ)、D2(V1を超過し、V2以下のデータ)、D3(V2を超過し、V3以下のデータ)・・・Dn(Vn-1超過データ)に分割する。
図6に示すとおり、最大でn個のデータD1~Dnは、それぞれ、読み出し性能(ここでは、データ内部準備時間)が異なる、データストレージデバイス(1)121、データストレージデバイス(2)122、データストレージデバイス(3)123・・・データストレージデバイス(n)124に格納される(書き込みの際はこの対応関係で書き込みがなされ、読み出しの際はこの対応関係で読み出しがなされる。)。
読み出し性能が異なる、データストレージデバイス(1)121、データストレージデバイス(2)122、データストレージデバイス(3)123・・・データストレージデバイス(n)124は、データ内部準備時間が異なるのではなく、または、これとともに、データ外部転送時間が異なるものであってもよい。
図7に、図5及び図6に示した本発明の第1の実施形態に係るストレージコントローラ110の具体例1を示す。分割前の元データの最大サイズは1024KBである。これをストレージコントローラ110が8KB、64KBでデータに区切りを入れる。元データは、データ頭から8KBのデータ、56KBのデータ、残りの960KBのデータに分割される。そして、データ頭から8KBのデータは高速(データ内部準備時間が最も短い)なB4-Flashに、56KBのデータは中速(データ内部準備時間が中程度)のSLC NAND Flashに、残りの960KBのデータは低速(データ内部準備時間が最も長い)なMLC NAND Flashに、それぞれ格納される(書き込みの際はこの対応関係で書き込みがなされ、読み出しの際はこの対応関係で読み出しがなされる。)。
他の具体例2としてMRAM(Magnetoresistive Random Access Memory)を用いる例もある。MRAMはB4-FlashやNAND Flashと異なり、物理アドレスと論理アドレスの変換を行わないダイレクトアクセスを利用できる。この場合、ストレージコントローラ110が提供するファイルシステムを通さないことから極めて高速な動作が可能である。そして、ストレージコントローラ110の制御処理時間1及び制御処理時間2の合計9μ秒だけさらに高速になる。分割前の元データの最大サイズは1024KBである。これをストレージコントローラ110が1KB、8KB、64KBでデータに区切りを入れる。元データは、データ頭から1KBのデータ、7KBのデータ、56KBのデータ、残りの960KBのデータに分割される。そして、データ頭から1KBのデータは最高速(制御処理時間がゼロであるとともにデータ内部準備時間が極めて短い)なMRAMに、7KBのデータは高速(データ内部準備時間が短い)なB4-Flashに、56KBのデータは中速(データ内部準備時間が中程度)のSLC NAND Flashに、残りの960KBのデータは低速(データ内部準備時間が最も長い)なMLC NAND Flashに、それぞれ格納される(書き込みの際はこの対応関係で書き込みがなされ、読み出しの際はこの対応関係で読み出しがなされる。)。
[変形例1:分割情報の保存]
図8は本発明の第1の実施形態に係るデータストレージ装置100の変形例1のデータ書き込み動作を示す図である。分割情報(元データを分割する際の区切りを示すデータであるV1、V2、V3・・・Vn-1を含む)を保存する保存領域130が設けられている。保存領域130はストレージコントローラ110の内部にあってもよいし、ストレージコントローラ110の外部に設けられていてもよい。ストレージコントローラ110は、これら分割情報を保存領域130に保存する。ストレージコントローラ110は、データ演算処理装置200から所定のコマンドを受信することで、元データを分割する際の区切りを示すデータであるV1、V2、V3・・・Vn-1の具体的値を設定できるようにしてもよい。
図9は本発明の第1の実施形態に係るデータストレージ装置の変形例1のデータ読み出し動作を示す図である。データ演算処理装置200からデータ読み出し要求があると、ストレージコントローラ110は分割情報の保存領域130から分割情報を読み込み、この値に基づいて、データストレージデバイス121~124から読み出しを行う。このようにして、読み出された分割データD1、D2、D3及びDnは再結合されて、データ演算処理装置200にデータ出力される。
[変形例2:元データの保存]
図10は本発明の第1の実施形態に係るデータストレージ装置100の変形例2を示す図である。上記実施形態に加えて、データストレージデバイス140が追加されている。このデータストレージデバイス140には元データをそのまま格納する。この結果、分割データと分割前データの整合性が確保される。特に、上記変形例2とともに用いる場合、分割情報が変更されても、元のデータを復元できるという効果がある。
[第2の実施形態]
図11は本発明の第2の実施形態に係るストレージコントローラ110の動作を示す。元データData1、Data2、・・・Datamはさまざまなデータサイズを有する。ストレージコントローラ110は、この各元データをデータサイズ毎に仕分けをする。しきい値となるデータサイズは、V1、V2、V3・・・Vn-1(単位、Byte)である。ストレージコントローラ110は、各元データを1群(データサイズがV1以下のデータ)、2群(データサイズがV1を超過し、V2以下のデータ)、3群(データサイズがV2を超過し、V3以下のデータ)・・・n群(データサイズがVn-1超過のデータ)に仕分ける。
図12は本発明の第2の実施形態に係るストレージコントローラ110の動作(続き)を示す。ストレージコントローラ110によって仕分けされた元データが示されている。1群にはData3が、2群にはData4が、3群にはData1及びData6が、・・・n群にはData2及びDatamがそれぞれ振り分けられている。ストレージコントローラ110は、これら群に仕分けされたデータを、それぞれ、読み出し性能(ここでは、データ内部準備時間)が異なるデータストレージデバイス120に格納する。1群のデータはデータストレージデバイス(1)121に、2群のデータはデータストレージデバイス(2)122に、3群のデータはデータストレージデバイス(3)123に、n群のデータはデータストレージデバイス(n)124にそれぞれ格納される。
読み出し性能が異なる、データストレージデバイス(1)121、データストレージデバイス(2)122、データストレージデバイス(3)123・・・データストレージデバイス(n)124は、データ内部準備時間が異なるのではなく、または、これとともに、データ外部転送時間が異なるものであってもよい。
図13及び14に、図11及び12に示した本発明の第2の実施形態に係るストレージコントローラ110の具体例1を示す。仕分け前の元データには様々なデータサイズがある。これをストレージコントローラ110が8KB、64KBをしきい値にして仕分けをする。1群は8KB以下のデータサイズのデータ、2群は8KBを超過し64KB以下のデータサイズのデータ、3群は64KBを超過するデータサイズのデータである。そして、ストレージコントローラ110は、1群のデータを高速B4-Flashに、2群のデータをSLC NAND Flashに、3群のデータをMLC NAND Flashにそれぞれ格納する。
他の具体例2としてMRAMを用いる例もある。仕分け前の元データには様々なデータサイズがある。これをストレージコントローラ110が1KB、8KB、64KBをしきい値にして仕分けをする。1群は1KB以下のデータサイズのデータ、2群は1KBを超過し8KB以下のデータサイズのデータ、3群は8KBを超過し64KB以下のデータサイズのデータ、4群は64KBを超過するデータサイズのデータである。そして、ストレージコントローラ110は、1群のデータをダイレクトアクセスMRAMに、2群のデータを高速B4-Flashに、3群のデータをSLC NAND Flashに、4群のデータをMLC NAND Flashにそれぞれ格納する。
第2の実施形態にかかるデータストレージ装置100がデータ演算処理装置200からデータの読出し命令を受けると、ストレージコントローラ110は対応するデータが格納されているデータストレージデバイスからデータを読み出す。そして、読み出したデータをデータ演算処理装置200に転送する。
[変形例3:データストレージデバイス群等を用いる例]
図15は本発明の第1又は第2の実施形態に係るデータストレージ装置100の変形例3を示す図である。同一のメモリ特性(内部準備時間やデータ転送時間等の読み出し性能を含む各種の特性)を有する複数のデータストレージデバイスがグループ化されている。データストレージデバイス(1-1)1211~(1-m1)121mは同一のメモリ特性c1を有する。データストレージデバイス(2-1)1221~(2-m2)122mは同一のメモリ特性c2を有する。データストレージデバイス(n-1)12n1~(n-mn)12nmは同一のメモリ特性cnを有する。ストレージコントローラ110は第1の実施形態にあっては元データをn分割してメモリ特性に応じて分割されたデータを格納し、第2の実施形態にあっては元データをn群に仕分けしてそれぞれ異なるグループのデータストレージデバイス群に格納する。
データストレージデバイス(群)はそれぞれがNAND FlashやB4-Flashのチップであってもよい。ストレージコントローラ110は独立したLSIであってもよいし、データストレージデバイス(群)はそれぞれがNAND FlashやB4-Flashのチップ内に設けられてもよい。また、ストレージコントローラ110は一つの独立したLSIであってもよいし、メインストレージコントローラと、それぞれが個々のデータストレージデバイス(群)に対応する複数のサブストレージコントローラとから、いわばツリー状に構成してもよい。
一部のデータストレージデバイス121(1211~121m)はストレージコントローラ110とともに1つの半導体チップ中に形成し、その他のデータストレージデバイス122(1221~122m)~124(12n1~12nm))は外付けのチップで構成してもよい。
具体的には、データ内部準備時間は極めて短いが小容量のB4ーFlashは主としてロジック回路から構成されるストレージコントローラ110と混載させ、三次元化が進み極めて製造工程が複雑でロジック回路との混載に適切ではないNAND Flashは外付けの半導体チップで構成する、という例が望ましい。
[変形例4:1つのメモリデバイス内のメモリ特性が異なる複数の領域を用いる例]
図16は本発明の第1又は第2の実施形態に係るデータストレージ装置100の変形例4を示す図である。1つのメモリデバイス150内に、メモリ特性が異なる複数の領域(a1)151、(a2)152、(an-1)15n-1、(an)15nが設けられている。ストレージコントローラ110は第1の実施形態にあっては元データをn分割してメモリ特性に応じて分割されたデータを格納し、第2の実施形態にあっては元データをn群に仕分けしてそれぞれ異なるメモリデバイス内領域に格納する。
変形例4においても、変形例3と組み合わせて、一部のデータストレージデバイス121はストレージコントローラ110とともに1つの半導体チップ中に形成し、その他のデータストレージデバイス122は外付けとし、その外付けのデータストレージデバイス122の内部にメモリ特性が異なる複数の領域(a2)152、(a3)153を設けてもよい。具体的には、データ内部準備時間は極めて短いが小容量のB4ーFlashからなるデータストレージデバイス121は主としてロジック回路から構成されるストレージコントローラ110と混載させる。そして、三次元化が進み極めて製造工程が複雑でロジック回路との混載に適切ではないNAND Flashからなるデータストレージデバイス122は外付けの半導体チップで構成する。そして、データストレージデバイス122内にはSLC領域(a2)152とMLC領域(a3)153が設けられる。
[実施例による検証]
本発明の上記実施形態の効果の検証に用いるデータストレージデバイス120は、B4-Flash、SLC NAND Flash、MLC NAND Flashの3種類の組み合わせである。データストレージ装置の動作に必要な各時間を図17に示した。独立に動作するチャンネル数は4とした。
図17に示したデータストレージデバイス120を用いたデータストレージ装置100読出時間(μ秒)と読出速度(MB/秒)は図18及び19に示すとおりである。データストレージ装置は、データストレージデバイス120にB4-Flashを用いることで、小データ領域において高速化が実現できる。64KByteで高速化の効果がみえるが、8KByte以下で顕著である。しかし、B4-FlashはNAND Flashと比べて高価(MLC NAND Flashの10倍以上、SLC NAND Flashの2倍以上)であるため、B4-Flashのみでデータストレージデバイス120を構成すると、データストレージ装置が極めて高価になってしまう。
[第1の実施態様の具体例1の検証]
検証に用いた第1の実施態様の具体例1は以下のとおりである。すなわち、分割前の元データの最大サイズは1024KBである。これをストレージコントローラ110が8K、64KBでデータに区切りを入れる。元データは、データ頭から8KBのデータ、56KBのデータ、残りの960KBのデータに分割される。そして、データ頭から8KBのデータは高速(データ内部準備時間が最も短い)なB4-Flashに、56KBのデータは中速(データ内部準備時間が中程度)のSLC NAND Flashに、残りの960KBのデータは低速(データ内部準備時間が最も長い)なMLC NAND Flashに、それぞれ格納される。図20は第1の実施態様の具体例1の読出時間、図21はそれをグラフにしたものである。図22は第1の実施態様の具体例1の読出速度、図23はそれをグラフにしたものである。
8KB以下のデータはB4-Flash領域のみから読出しする。8KB超過で64KB以下のデータでは当該データの8KBまでのB4-Flash領域の部分データと8KB超過で64KB以下のSLC NAND領域の部分データを読出し結合する。64KB超過データでは、当該データの8KBまでのB4-Flash領域の部分データと8KB超過で64KB以下のSLC NAND領域の部分データ、及び64KB超過のMLC NANDの部分データを読出し結合する。なお、MLC NANDのデータを読み出す際にはSLC NAND領域の8KB超過で64KB以下の部分データを読み出す前に、MLC NAND領域のデータを保存制御器のバッファ領域に先読みすることができるためB4-FlashのみやSLC NANDのみの場合より高速になる。
このように、第1の実施態様の具体例1によれば、小サイズデータ領域で従来技術の最高速であったB4-Flashとほぼ変わらぬ速度を実現し、中サイズデータ領域でもほぼ最高速のB4-Flashと同等の速度が得られている。128KB以降の大サイズデータ領域では改良MLC NANDデータの先読み効果が出ており最高速を実現している。
このような効果を得る為のコストについて検討する。1T(tera)Byteのデータストレージ装置として平均1MBのデータを記憶する装置を考える。保存すべきファイル数は1M個となる。全てのファイルデータについて8KBのB4-Flash領域、56KBのSLC NAND領域に対してそれぞれ1M個のデータセットを準備する必要があるため、B4-Flashは8GB、SLC NANDは56GBの容量が必要である。しかし、全体容量1TBに対して、B4-Flashで0.8%の容量、SLC NANDで5.6%のメモリ容量を搭載するだけである。MLC NANDのコストに対してB4-Flashが10倍のコスト、SLC NANDが5倍のコストとすると、従来データストレージ装置1TBのコストに対して、8%+28%=36%のコストアップとなるが、性能的には他の技術では実現できない性能が得られる。もし、最高性能を得るために1TB全体をB4-Flashで実現した場合、全体コストは10倍になるので、本実施態様におけるコスト削減効果は大きい。
[第1の実施態様の具体例2の検証]
検証に用いた第1の実施態様の具体例2は以下のとおりである。すなわち、分割前の元データの最大サイズは1024KBである。これをストレージコントローラ110が1KB、8KB、64KBでデータに区切りを入れる。元データは、データ頭から1KBのデータ、7KBのデータ、56KBのデータ、残りの960KBのデータに分割される。そして、データ頭から1KBのデータは超高速(ダイレクトアクセスでデータ内部準備時間が最も短い)のMRAM、7KBのデータは高速(データ内部準備時間が短い)なB4-Flashに、56KBのデータは中速(データ内部準備時間が中程度)のSLC NAND Flashに、残りの960KBのデータは低速(データ内部準備時間が最も長い)なMLC NAND Flashに、それぞれ格納される。MRAMはダイレクトアクセスなので、ストレージコントローラ110によるファイルシステム(論理アドレス/物理アドレス変換)を通さないため、9μ秒のオーバーヘッド時間が節約できる。図24は第1の実施態様の具体例2の読出時間、図25はそれをグラフにしたものである。図26は第1の実施態様の具体例2の読出速度、図27はそれをグラフにしたものである。
これら表及びグラフからわかるとおり、1KB以下の領域での速度改善効果が極めて高い。これは、具体例1の検証では、データストレージ装置のストレージコントローラの動作に必要な制御時間が固定時間であり、データ量の少ないところで速度に影響する。これに対してMRAMはデータの書き込みと読み出しがB4-Flashの読出し速度と同じ程度に早いうえ、ダイレクトアクセスを用いるとファイルシステムを介さずにデータの処理が可能となる。但し、MRAMはコストがMLC NANDの1000倍程度高いため大容量な製品をデータストレージ装置のデータストレージデバイス用途に用いることが不可能であった。
具体例2では、このようなMRAMの利点を活かした上で、コストが高い欠点を補う方法によりデータ保存装置の極小サイズデータの超高速化を実現できた。具体例1でB4-Flash領域に保存されていた8KB以下のデータを更に、データ頭から1KB以下と、1KB超過で8KB以下の7KBのデータに分割し、前者をMRAM領域に保存し、後者をB4-Flash領域に保存する。MRAM領域のデータはファイルシステムを用いないデータとしてダイレクトメモリアクセス方式で保存されるためMRAM動作が簡易になり0.1μsecで動作することができる。上記検証では、MRAMをダイレクトアクセスする際の制御時間を0.2μsecとした。また、MRAMの性能はいくつかの種類があるが現時点で入手可能な、データ内部準備時間=0.1μsec、データ外部出力時間=10n秒/Byteと設定した。
具体例2の検証結果から1KB以下の領域で、具体例1よりも、いちだんと高速化の効果が得られている。1TBのデータ保存装置で、1M個のファイルを保存する場合、1KB*1M個=1GBのMRAMが必要となる。MRAMのコストがMLC NANDの1000倍と考えると、具体例1の追加コストに加えて100%のコストが加算される。つまり、従来のMLC NANDによるデータ保存装置に比べてコストは2倍以上となるが、他では実現不可能な高速化が達成できる。
[第2の実施態様の具体例1の検証]
検証に用いた第2の実施態様の具体例1は以下のとおりである。すなわち、データ演算処理装置より保存を命令されたデータを、データサイズが8KB以下のものを1群、データサイズが8KB超過で、64KB以下のものを2群、データサイズが64KB超過しているものを3群、にストレージコントローラで仕分けを行う。1群から3群までを、ストレージデバイスのデータ内部準備時間の短いものから順に保存する。1群のデータをB4-Flashに、2群のデータをSLC NANDに、3群のデータをMLC NANDに保存する。図28は第2の実施態様の具体例1の読出時間、図29はそれをグラフにしたものである。図30は第2の実施態様の具体例1の読出速度、図31はそれをグラフにしたものである。
第2の実施態様の具体例1の検証結果から以下の事実が理解できる。8KBまでの小サイズデータ領域では第1の実施態様の具体例1と同様の効果が得られているが、8KB超過して64KBまでの中サイズデータ領域ではSLC NANDだけによるデータストレージ装置、64KB超過の大サイズデータ領域ではMLC NANDとだけによるデータストレージ装置と全く同等の読出し速度となっている。これは、第1の実施形態の具体例1で得られていた中サイズデータでデータ内の小サイズデータ部分の先読み効果が本実施例では得られていないことによる。大サイズデータ領域でも同様である。
本具体例では、装置のハードウエア構成は第1の実施形態の具体例1と同じでありコストも同じとなるが、ストレージコントローラの内部動作手順が容易になり、ソフトウエア開発負荷が減る。また、ストレージコントローラの制御時間の短縮による効果も期待できる。
[第2の実施態様の具体例1の検証]
検証に用いた第2の実施態様の具体例2は以下のとおりである。すなわち、データ演算処理装置より保存を命令されたデータを、データサイズが1KB以下のものを1群、データサイズが1KB超過で8KB以下のものを2群、データサイズが8KB超過で64KB以下のものを3群、データサイズが64KBを超過しているものを4群、にストレージコントローラで仕分けを行う。1群から4群までを、ストレージデバイスのデータ内部準備時間の短いものから順に保存する。1群のデータをMRAM(ダイレクトアクセス)に、2群のデータをB4-Flashに、3群のデータをSLC NANDに、4群のデータをMLC NANDに保存する。図32は第2の実施態様の具体例2の読出時間、図33はそれをグラフにしたものである。図34は第2の実施態様の具体例2の読出速度、図35はそれをグラフにしたものである。
[その他の変形例]
上記具体例においては、データストレージデバイスとして、SLC NAND、MLC NAND、B4-Flash、MRAMなどを用いた。しかし、3DXpointやReRAMなどの不揮発性メモリを用いてもよく、またDRAMなどの揮発性メモリを用いてもよい。但し、揮発性メモリを用いる場合は電源オフ時の処置対策が別に必要となる。具体的には、バッテリーバックアップが必要である。
上記具体例では、独立したデータ保存装置を例に説明したが、一部又は全ての機能を分離した別々の独立したユニットで構成してもよく、また、全て又は一部の機能を一つ又は複数の半導体チップ内に実装してもよい。
100 データストレージ装置
110 ストレージコントローラ
120~124 データストレージデバイス
200 データ演算処理装置

Claims (9)

  1. B4-Flashである第1のデータストレージデバイスと、
    前記第1のデータストレージデバイスよりも読出し時間が長いNAND Flashである第2のデータストレージデバイスと、
    元データをデータ頭に近い第1の部分及びデータ頭からより遠い第2の部分を含むように分割し、前記第1の部分を前記第1のデータストレージデバイスに、前記第2の部分を前記第2のデータストレージデバイスにそれぞれ格納し、データを読み出す際には、読み出した第1のデータと第2のデータとを結合して出力するストレージコントローラと、
    を具備するデータストレージ装置であって、
    前記第1のデータストレージデバイスと前記ストレージコントローラとは、1つの半導体チップに混載又は実装され、
    前記第1のデータストレージデバイスに格納される前記第1の部分の最初のデータが前記データストレージ装置から前記データストレージ装置に接続されるデータ演算処理装置に出力される時間は、前記ストレージコントローラが前記データ演算処理装置から第1の読出し命令を受けることで、前記ストレージコントローラが前記第1のデータストレージデバイスに前記第1の読出し命令に対応する第2の読出し命令を発するまでの制御処理時間1と、前記第2の読出し命令を受けた前記第1のデータストレージデバイスが前記第2の読出し命令に対応する前記最初のデータの頭出しをするまでのデータ内部準備時間と、前記第1のデータストレージデバイスから前記ストレージコントローラに前記最初のデータが転送されるデータ外部転送時間と、前記ストレージコントローラが前記データ演算処理装置に前記最初のデータを出力制御するのにかかる制御処理時間2と、の合計時間であることを特徴とするデータストレージ装置。
  2. 請求項1記載のデータストレージ装置において、前記第2のデータストレージデバイスはSLC NAND Flashであり、さらに、前記第2のデータストレージデバイスよりも読出し時間が長いMLC NAND Flashからなる第3のデータストレージデバイスを有し、
    前記ストレージコントローラは前記元データをデータ頭に近い前記第1の部分及びデータ頭から遠い前記第2の部分に加えて、前記第2の部分よりもデータ頭からより遠い第3の部分とを含むように分割し、前記第1の部分を前記第1のデータストレージデバイスに、前記第2の部分を前記第2のデータストレージデバイスに、前記第3の部分を前記第3のデータストレージデバイスにそれぞれ格納し、データを読み出す際には、読み出した第1のデータと第2のデータと第3のデータとを結合して出力することを特徴とするデータストレージ装置。
  3. 請求項1記載のデータストレージ装置において、さらに、前記第1のデータストレージデバイスよりも読出し時間が短いMRAM、ReRAM、3DXpoint、またはDRAMの何れかからなる第4のデータストレージデバイスを有し、
    前記ストレージコントローラは格納すべきデータをデータ頭に最も近い第4の部分と、前記第4の部分よりデータ頭から遠い前記第1の部分と、前記第1の部分よりもデータ頭からより遠い前記第2の部分と、を含むように分割し、前記第4の部分を前記第4のデータストレージデバイスに、前記第1の部分を前記第1のデータストレージデバイスに、前記第2の部分を前記第2のデータストレージデバイスにそれぞれ格納し、データを読み出す際には、読み出した第4のデータと第1のデータと第2のデータとを結合して出力することを特徴とするデータストレージ装置。
  4. 請求項記載のデータストレージ装置において、前記第4のデータストレージデバイスはダイレクトアクセスを利用できるMRAMであることを特徴とするデータストレージ装置。
  5. 請求項1記載のデータストレージ装置において、前記第1の部分と前記第2の部分を区画する境界にかかる情報を保存する記憶領域を有することを特徴とするデータストレージ装置。
  6. 請求項1記載のデータストレージ装置において、前記第2のデータストレージデバイスよりも読出し時間が長い第5のデータストレージデバイスを有し、
    前記ストレージコントローラは前記元データを前記第5のデータストレージデバイスに格納することを特徴とするデータストレージ装置。
  7. 請求項1記載のデータストレージ装置において、同一のメモリ特性を有する複数の第1のデータストレージデバイスを有し、
    前記第1の部分を前記複数の第1のデータストレージデバイスに格納することを特徴とするデータストレージ装置。
  8. 請求項記載のデータストレージ装置において、前記ストレージコントローラは、メインストレージコントローラと、それぞれが個々の前記複数の第1のデータストレージデバイスに対応する複数のサブストレージコントローラとから、ツリー状に構成されることを特徴とするデータストレージ装置。
  9. 請求項1記載のデータストレージ装置において、前記第1のデータストレージデバイスと前記第2のデータストレージデバイスとは、1つのデータストレージデバイスの異なる領域を含むことを特徴とするデータストレージ装置。
JP2019078102A 2019-04-16 2019-04-16 データストレージ装置 Active JP7457342B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2019078102A JP7457342B2 (ja) 2019-04-16 2019-04-16 データストレージ装置
JP2023204834A JP2024015180A (ja) 2019-04-16 2023-12-04 データストレージ装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019078102A JP7457342B2 (ja) 2019-04-16 2019-04-16 データストレージ装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2023204834A Division JP2024015180A (ja) 2019-04-16 2023-12-04 データストレージ装置

Publications (3)

Publication Number Publication Date
JP2020177362A JP2020177362A (ja) 2020-10-29
JP2020177362A5 JP2020177362A5 (ja) 2022-04-08
JP7457342B2 true JP7457342B2 (ja) 2024-03-28

Family

ID=72937094

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2019078102A Active JP7457342B2 (ja) 2019-04-16 2019-04-16 データストレージ装置
JP2023204834A Pending JP2024015180A (ja) 2019-04-16 2023-12-04 データストレージ装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2023204834A Pending JP2024015180A (ja) 2019-04-16 2023-12-04 データストレージ装置

Country Status (1)

Country Link
JP (2) JP7457342B2 (ja)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218194A (ja) 2009-03-17 2010-09-30 Nec Corp ストレージシステム
JP2013142947A (ja) 2012-01-10 2013-07-22 Sony Corp 記憶制御装置、記憶装置および記憶制御装置の制御方法
JP2014078231A (ja) 2012-10-08 2014-05-01 Hgst Netherlands B V 低電力・低遅延・大容量ストレージ・クラス・メモリのための装置および方法
US20180173419A1 (en) 2016-12-21 2018-06-21 Western Digital Technologies, Inc. Hybrid ssd with delta encoding

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005108304A (ja) * 2003-09-29 2005-04-21 Toshiba Corp 半導体記憶装置及びその制御方法
JP2013205872A (ja) * 2012-03-27 2013-10-07 Sony Corp 記憶制御装置、記憶装置、情報処理システム、および、それらにおける処理方法
JP2014052724A (ja) * 2012-09-05 2014-03-20 Toshiba Corp デバイス制御システム
US9135164B2 (en) * 2013-03-15 2015-09-15 Virident Systems Inc. Synchronous mirroring in non-volatile memory systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010218194A (ja) 2009-03-17 2010-09-30 Nec Corp ストレージシステム
JP2013142947A (ja) 2012-01-10 2013-07-22 Sony Corp 記憶制御装置、記憶装置および記憶制御装置の制御方法
JP2014078231A (ja) 2012-10-08 2014-05-01 Hgst Netherlands B V 低電力・低遅延・大容量ストレージ・クラス・メモリのための装置および方法
US20180173419A1 (en) 2016-12-21 2018-06-21 Western Digital Technologies, Inc. Hybrid ssd with delta encoding

Also Published As

Publication number Publication date
JP2020177362A (ja) 2020-10-29
JP2024015180A (ja) 2024-02-01

Similar Documents

Publication Publication Date Title
US10379782B2 (en) Host managed solid state drivecaching using dynamic write acceleration
US10095436B2 (en) Cache memory device and data processing method of the device
CN105518784A (zh) 具有用于高可靠性操作的存储控制器的数据处理器和方法
JP6408712B2 (ja) メモリアクセス方法、ストレージクラスメモリ、およびコンピュータシステム
TWI772877B (zh) 用於資料移動之可程式化引擎
CN110447075B (zh) 多内核管芯上存储器微控制器
CN105138470A (zh) 一种多通道nand flash控制器
TWI750798B (zh) 多階層記憶體之彈性化的供應
US20230273749A1 (en) Latency and throughput centric reconfigurable storage device
CN111752484A (zh) 一种ssd控制器、固态硬盘及数据写入方法
CN111796759B (zh) 多平面上的片段数据读取的计算机可读取存储介质及方法
US20210081338A1 (en) Channel depth adjustment in memory systems
CN114402307B (zh) 具有集成数据移动器的存储器芯片
US11327881B2 (en) Technologies for column-based data layouts for clustered data systems
EP3462327A2 (en) Systems, methods and apparatus for memory access and scheduling
CN112559391A (zh) 用于设置2级自动关闭定时器以访问存储器装置的技术
CN110537172B (zh) 混合存储器模块
JP7457342B2 (ja) データストレージ装置
CN113778907A (zh) 存储设备
US10095433B1 (en) Out-of-order data transfer mechanisms for data storage systems
US10892031B2 (en) Data storage device and control method for non-volatile memory
US8788748B2 (en) Implementing memory interface with configurable bandwidth
TWI721660B (zh) 控制資料讀寫裝置與方法
KR101455682B1 (ko) 해시 파티셔닝 장치 및 방법
TWM652759U (zh) 資料儲存裝置

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20200121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220331

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220331

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20221227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230124

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20230316

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230523

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231204

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20240118

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240308

R150 Certificate of patent or registration of utility model

Ref document number: 7457342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150