JP6823734B2 - ソリッドステートディスクアクセス - Google Patents
ソリッドステートディスクアクセス Download PDFInfo
- Publication number
- JP6823734B2 JP6823734B2 JP2019556277A JP2019556277A JP6823734B2 JP 6823734 B2 JP6823734 B2 JP 6823734B2 JP 2019556277 A JP2019556277 A JP 2019556277A JP 2019556277 A JP2019556277 A JP 2019556277A JP 6823734 B2 JP6823734 B2 JP 6823734B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- sector
- stripe
- cache
- flash memory
- 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
- 239000007787 solid Substances 0.000 title claims description 5
- 230000015654 memory Effects 0.000 claims description 108
- 238000000034 method Methods 0.000 claims description 60
- 238000011084 recovery Methods 0.000 description 16
- 230000032683 aging Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000013403 standard screening design Methods 0.000 description 2
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000002431 foraging effect Effects 0.000 description 1
- 238000012005 ligant binding assay Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
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/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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- 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/0873—Mapping of cache memory to specific storage devices or parts thereof
-
- 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
-
- 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/0604—Improving or facilitating administration, e.g. storage 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction 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/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/068—Hybrid storage device
-
- 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/1008—Correctness of operation, e.g. memory ordering
-
- 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/21—Employing a record carrier using a specific recording technology
- G06F2212/214—Solid state disk
-
- 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/26—Using a specific storage system architecture
- G06F2212/261—Storage comprising a plurality of storage devices
- G06F2212/262—Storage comprising a plurality of storage devices configured as RAID
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Read Only Memory (AREA)
Description
本願は、出願日が2017年4月14日であり、出願番号が201710244793.5であり、発明名称が「ソリッドステートディスクアクセス方法及び装置」である中国特許出願の優先権を主張し、当該出願の全文が引用により本願に組み込まれる。
データ書き込み
図4に示すように、SSDは、ホスト(Host)から送信されたデータ書き込み命令を受信した後、書き込み操作を以下のように実行する。
数式(1)により、各LBAは、異なるストライプに配分可能である。そして、LBAの初期値から、N1個ずつの連続するLBAは、同一のストライプに配分可能である。
また、キャッシュに何れか1つのストライプを作成した後、当該ストライプのインデックスをエージング連結リストに追加する。エージング連結リストにおけるそれぞれのストライプは、対応する優先度を有する。ストライプに対応する優先度は、キャッシュの記憶空間の大きさ、データ読み取り/書き込み命令数、ストライプ使用頻度、ストライプ直近使用時間、ストライプ有効データ量等のパラメータのうちの1つまたは複数の組み合わせに関連する。例えば、使用頻度が高いストライプの優先度は、低くされる。このように、よく変更される必要のあるデータをできるだけキャッシュに格納することが確保され、フラッシュメモリに対する消去・書き込み回数の低減も容易になる。例えば、エージング連結リストから1つの最も高い優先度のストライプを周期的に選択してエージングを行う。
図6に示すように、ホストから送信されたデータ読み取り命令が受信された後、SSDで実行される読取操作は、下記のようになる。
ステップS606では、フラッシュメモリから第3セクタのデータを読み取り、その後、ステップS605を実行する。
SSDの信頼性が向上されるように、ある物理チャンネルが失効したときに、サービスを中断せずに、失効した物理チャンネルにマウントされたフラッシュメモリに記憶されたデータを回復し、且つ、失効前のストライプ(以下、旧ストライプとも称する)におけるデータを新ストライプに移転する必要はある。データ回復および移転が完成された旧ストライプを特定するために、旧ストライプにおいてデータ回復および移転を完成した後、当該旧ストライプのインデックスをストライプ回復(strip_recover)表に記録してもよい。
キャッシュに当該旧ストライプが存在する場合に、当該旧セクタに対応する論理チャンネルにバインディングされた物理チャンネルが正常であるとき、キャッシュまたはメモリから当該旧セクタのデータを読み取ってホストに返信し、当該旧セクタに対応する論理チャンネルにバインディングされた物理チャンネルが失効したとき、当該旧ストライプのデータに対してデータ回復および移転を行う。
図10に示すように、上記SSDアクセス装置60は、算出手段603を更に備える。
当該セクタがユーザデータを格納するためのユーザデータセクタであるときに、当該ユーザデータセクタに対応する論理チャンネルの識別子d_logic_channel_idを
当該セクタがチェックデータを格納するためのチェックデータセクタであるときに、当該チェックデータセクタに対応する論理チャンネルの識別子p_logic_channel_idをp_logic_channel_id=strip_index%Nで特定することとを含む。
検出手段604は、物理チャンネルの状態を検出する。
回復されたデータを失効セクタのデータとしてキャッシュに書き込む。
Claims (14)
- ソリッドステートディスク(SSD)アクセス方法であって、
SSDに対するデータ書き込み命令を受信するステップであって、前記SSDがN個の物理チャンネルとキャッシュとを含み、前記物理チャンネルのそれぞれにフラッシュメモリがマウントされ、前記キャッシュが複数のストライプを含み、前記ストライプのそれぞれがN個のセクタを含み、Nが3以上の整数であるステップと、
前記データ書き込み命令に付加される書き込み待ちデータの論理ブロックアドレス(LBA)に対応する第1ストライプと第1セクタとを特定するステップと、
前記キャッシュに前記第1ストライプが存在する場合に、前記書き込み待ちデータを前記第1セクタのデータとして前記キャッシュに書き込むステップと、
前記キャッシュに前記第1ストライプが存在しない場合に、前記第1ストライプを作成し、前記書き込み待ちデータを前記第1セクタのデータとして前記キャッシュに書き込むステップと、を含むことを特徴とするSSDアクセス方法。 - 第2ストライプにおけるユーザデータセクタごとに、当該セクタのデータがフラッシュメモリに記憶された場合に、当該セクタのデータを前記フラッシュメモリから読み取って前記キャッシュに書き込むステップと、
前記キャッシュに格納された前記第2ストライプの全てのユーザデータセクタのデータに対してチェック演算を行って前記第2ストライプのチェックデータセクタのチェックデータを取得し、当該チェックデータを前記キャッシュに書き込むステップと、
前記キャッシュに格納された前記第2ストライプの全てのセクタのデータをフラッシュメモリに書き込むステップと、を更に含むことを特徴とする請求項1に記載の方法。 - セクタに対応する論理チャンネルを特定することと、
当該論理チャンネルに対応する物理チャンネルを検索することと、
前記キャッシュに格納された当該セクタのデータを当該物理チャンネルにマウントされた前記フラッシュメモリに書き込むこととにより、
前記キャッシュに格納された当該セクタのデータをフラッシュメモリに書き込むステップを更に含むことを特徴とする請求項1に記載の方法。 - 当該セクタに対応する論理チャンネルを特定することは、
当該セクタがユーザデータを格納するためのユーザデータセクタであるときに、当該ユーザデータセクタに対応する論理チャンネルの識別子d_logic_channel_idを
で特定することと、
当該セクタがチェックデータを格納するためのチェックデータセクタであるときに、当該チェックデータセクタに対応する論理チャンネルの識別子p_logic_channel_idをp_logic_channel_id=strip_index%Nで特定することと、を含み、
sector_idは、当該セクタの識別子を示し、strip_indexは、当該セクタの所在するストライプのインデックスを示し、%は、モジュロ演算子を示すことを特徴とする請求項4に記載の方法。 - 前記SSDに対するデータ読み取り命令を受信するステップと、
前記データ読み取り命令に付加される読み取り待ちデータのLBAに対応する第3ストライプと第3セクタとを特定するステップと、
前記キャッシュに前記第3ストライプが存在し、且つ前記第3セクタのデータが前記キャッシュに記憶された場合に、前記キャッシュから前記第3セクタのデータを前記読み取り待ちデータとして読み取るステップと、
前記キャッシュに前記第3ストライプが存在し、且つ前記第3ストライプにおける前記第3セクタのデータがフラッシュメモリに格納された場合に、前記第3セクタに対応するフラッシュメモリから前記第3セクタのデータを前記読み取り待ちデータとして読み取るステップと、
前記キャッシュに前記第3ストライプが存在しない場合に、前記第3セクタに対応するフラッシュメモリから前記第3セクタのデータを前記読み取り待ちデータとして読み取るステップと、を更に含むことを特徴とする請求項1に記載の方法。 - 前記N物理チャンネルの1つが失効したことが検出されたときに、前記キャッシュにおける旧ストライプに対して以下のステップを実行することを更に含み、前記以下のステップは、
当該ストライプのうちの失効セクタ以外の他のセクタのデータを前記フラッシュメモリから読み取るステップであって、当該失効セクタが前記失効した物理チャンネルにバインディングされた論理チャンネルに対応するセクタであるステップと、
読み出されたデータを用いて前記失効セクタのデータを回復するステップと、
回復されたデータを前記失効セクタのデータとして前記キャッシュに書き込むステップと、
当該ストライプにおけるそれぞれのユーザデータセクタのLBAに基づいて当該LBAに対応する新ストライプと新ユーザデータセクタとを特定するステップであって、当該新ストライプにおけるセクタの数が前記SSDにおける有効物理チャンネルの数に等しいステップと、
当該ユーザデータセクタのデータが前記キャッシュに記憶された場合に、当該ユーザデータセクタのデータを当該新ストライプにおける当該新ユーザデータセクタに移転するステップと、
当該ユーザデータセクタのデータが前記フラッシュメモリに記憶された場合に、当該ユーザデータセクタのデータを前記フラッシュメモリから読み取って前記キャッシュに書き込んだ後、当該ユーザデータセクタのデータを当該新ストライプにおける当該新ユーザデータセクタに移転するステップと、を含むことを特徴とする請求項1に記載の方法。 - ソリッドステートディスク(SSD)であって、
複数のストライプ(前記ストライプのそれぞれがN個のセクタを含み、Nが3以上の整数である)を含むキャッシュと、
N個の物理チャンネルと、
それぞれの前記物理チャンネルにマウントされたフラッシュメモリと、
コントローラと、
機器の実行可能な指令が記憶された機器読み取り可能な記憶媒体と、を備え、
前記コントローラは、前記機器の実行可能な指令を読み取って実行することにより、
前記SSDに対するデータ書き込み命令を受信することと、
前記データ書き込み命令に付加される書き込み待ちデータの論理ブロックアドレス(LBA)に対応する第1ストライプと第1セクタとを特定することと、
前記キャッシュに前記第1ストライプが存在する場合に、前記書き込み待ちデータを前記第1セクタのデータとして前記キャッシュに書き込むことと、
前記キャッシュに前記第1ストライプが存在しない場合に、前記第1ストライプを作成し、前記書き込み待ちデータを前記第1セクタのデータとして前記キャッシュに書き込むことと、を実行させることを特徴とするSSD。 - 前記コントローラは、更に、前記機器の実行可能な指令により、
第2ストライプにおけるユーザデータセクタごとに、当該セクタのデータがフラッシュメモリに記憶された場合に、当該セクタのデータを前記フラッシュメモリから読み取って前記キャッシュに書き込むことと、
前記キャッシュに格納された前記第2ストライプの全てのユーザデータセクタのデータに対してチェック演算を行って前記第2ストライプのチェックデータセクタのチェックデータを取得し、当該チェックデータを前記キャッシュに書き込むことと、
前記キャッシュに格納された前記第2ストライプの全てのセクタのデータをフラッシュメモリに書き込むことと、を実行させることを特徴とする請求項8に記載のSSD。 - 前記コントローラは、更に、前記機器の実行可能な指令で、
セクタに対応する論理チャンネルを特定することと、
当該論理チャンネルに対応する物理チャンネルを検索することと、
前記キャッシュに格納された当該セクタのデータを当該物理チャンネルにマウントされた前記フラッシュメモリに書き込むこととにより、
前記キャッシュに格納された当該セクタのデータをフラッシュメモリに書き込むことを実行させることを特徴とする請求項8に記載のSSD。 - 当該セクタに対応する論理チャンネルを特定する際には、前記コントローラは、更に、前記機器の実行可能な指令により、
当該セクタがユーザデータを格納するためのユーザデータセクタであるときに、当該ユーザデータセクタに対応する論理チャンネルの識別子d_logic_channel_idを
で特定することと、
当該セクタがチェックデータを格納するためのチェックデータセクタであるときに、当該チェックデータセクタに対応する論理チャンネルの識別子p_logic_channel_idを
p_logic_channel_id=strip_index%Nで特定することと、を実行させ、
sector_idは、当該セクタの識別子を示し、strip_indexは、当該セクタの所在するストライプのインデックスを示し、%は、モジュロ演算子を示すことを特徴とする請求項11に記載のSSD。 - 前記コントローラは、更に、前記機器の実行可能な指令により、
前記SSDに対するデータ読み取り命令を受信することと、
前記データ読み取り命令に付加される読み取り待ちデータのLBAに対応する第3ストライプと第3セクタとを特定することと、
前記キャッシュに前記第3ストライプが存在し、且つ前記第3セクタのデータが前記キャッシュに記憶された場合に、前記キャッシュから前記第3セクタのデータを前記読み取り待ちデータとして読み取ることと、
前記キャッシュに前記第3ストライプが存在し、且つ前記第3ストライプにおける前記第3セクタのデータがフラッシュメモリに格納された場合に、前記第3セクタに対応するフラッシュメモリから前記第3セクタのデータを前記読み取り待ちデータとして読み取ることと、
前記キャッシュに前記第3ストライプが存在しない場合に、前記第3セクタに対応するフラッシュメモリから前記第3セクタのデータを前記読み取り待ちデータとして読み取ることと、を実行させることを特徴とする請求項8に記載のSSD。 - 前記コントローラは、更に、前記機器の実行可能な指令により、
前記N物理チャンネルの1つが失効したことが検出されたときに、前記キャッシュにおける旧ストライプに対して以下のステップを実行することを実行させ、前記以下のステップは、
当該ストライプのうちの失効セクタ以外の他のセクタのデータを前記フラッシュメモリから読み取るステップであって、当該失効セクタが前記失効した物理チャンネルにバインディングされた論理チャンネルに対応するセクタであるステップと、
読み出されたデータを用いて前記失効セクタのデータを回復するステップと、
回復されたデータを前記失効セクタのデータとして前記キャッシュに書き込むステップと、
当該ストライプにおけるそれぞれのユーザデータセクタのLBAに基づいて当該LBAに対応する新ストライプと新ユーザデータセクタとを特定するステップであって、当該新ストライプにおけるセクタの数が前記SSDにおける有効物理チャンネルの数に等しいステップと、
当該ユーザデータセクタのデータが前記キャッシュに記憶された場合に、当該ユーザデータセクタのデータを当該新ストライプにおける当該新ユーザデータセクタに移転するステップと、
当該ユーザデータセクタのデータが前記フラッシュメモリに記憶された場合に、当該ユーザデータセクタのデータを前記フラッシュメモリから読み取って前記キャッシュに書き込んだ後、当該ユーザデータセクタのデータを当該新ストライプにおける当該新ユーザデータセクタに移転するステップと、を含むことを特徴とする請求項8に記載のSSD。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710244793.5A CN108255414B (zh) | 2017-04-14 | 2017-04-14 | 固态硬盘访问方法及装置 |
CN201710244793.5 | 2017-04-14 | ||
PCT/CN2018/082740 WO2018188618A1 (zh) | 2017-04-14 | 2018-04-12 | 固态硬盘访问 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020517026A JP2020517026A (ja) | 2020-06-11 |
JP6823734B2 true JP6823734B2 (ja) | 2021-02-03 |
Family
ID=62721790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019556277A Active JP6823734B2 (ja) | 2017-04-14 | 2018-04-12 | ソリッドステートディスクアクセス |
Country Status (5)
Country | Link |
---|---|
US (1) | US11126377B2 (ja) |
EP (1) | EP3598290B1 (ja) |
JP (1) | JP6823734B2 (ja) |
CN (1) | CN108255414B (ja) |
WO (1) | WO2018188618A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112395216A (zh) * | 2019-07-31 | 2021-02-23 | 北京百度网讯科技有限公司 | 用于存储管理的方法、装置、设备和计算机可读存储介质 |
JP7491545B2 (ja) | 2019-12-27 | 2024-05-28 | Necソリューションイノベータ株式会社 | 情報処理方法 |
CN112130762B (zh) * | 2020-09-07 | 2024-01-26 | 上海威固信息技术股份有限公司 | 一种固态硬盘数据存储与操作方法 |
CN112817533A (zh) * | 2021-01-29 | 2021-05-18 | 深圳忆联信息系统有限公司 | Ssd管理方法、装置计算机设备及存储介质 |
US11733925B2 (en) * | 2021-08-30 | 2023-08-22 | Micron Technology, Inc. | Enabling multiple data capacity modes at a memory sub-system |
CN113918485B (zh) * | 2021-10-12 | 2023-04-11 | 广东省高峰科技有限公司 | 一种闪存资料防丢失方法、装置、设备及存储介质 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090204872A1 (en) * | 2003-12-02 | 2009-08-13 | Super Talent Electronics Inc. | Command Queuing Smart Storage Transfer Manager for Striping Data to Raw-NAND Flash Modules |
JP4440803B2 (ja) | 2005-03-03 | 2010-03-24 | 富士通株式会社 | 記憶装置、その制御方法及びプログラム |
US8959280B2 (en) * | 2008-06-18 | 2015-02-17 | Super Talent Technology, Corp. | Super-endurance solid-state drive with endurance translation layer (ETL) and diversion of temp files for reduced flash wear |
CN101727295B (zh) * | 2008-10-31 | 2012-01-04 | 西安奇维测控科技有限公司 | 一种基于虚拟块闪存地址映射的数据写入及读出方法 |
CN101840364A (zh) * | 2010-01-29 | 2010-09-22 | 成都市华为赛门铁克科技有限公司 | 一种恢复数据的方法及存储装置 |
CN101819509A (zh) * | 2010-04-19 | 2010-09-01 | 清华大学深圳研究生院 | 一种固态硬盘读写方法 |
JP2012064158A (ja) * | 2010-09-17 | 2012-03-29 | Toshiba Corp | メモリ管理装置及びメモリ管理方法 |
CN102779548A (zh) * | 2011-05-09 | 2012-11-14 | 深圳市晶凯电子技术有限公司 | 用闪存介质作为存储体进行分级管理的固态存储装置及其构建方法 |
CN102713828B (zh) * | 2011-12-21 | 2015-07-08 | 华为技术有限公司 | 提供多设备镜像和条带功能的磁盘缓存方法、设备和系统 |
US9390020B2 (en) * | 2012-07-06 | 2016-07-12 | Seagate Technology Llc | Hybrid memory with associative cache |
US20150160999A1 (en) | 2012-07-13 | 2015-06-11 | Samsung Electronics Co., Ltd. | Solid state drive controller, solid state drive, data processing method of solid state drive, multi-channel solid state drive, raid controller and computer-readable recording medium having recorded therein computer program for providing sequence information to solid state drive |
US11037625B2 (en) * | 2012-11-20 | 2021-06-15 | Thstyme Bermuda Limited | Solid state drive architectures |
US9811531B2 (en) * | 2013-08-26 | 2017-11-07 | Vmware, Inc. | Scalable distributed storage architecture |
US9703699B2 (en) * | 2014-09-17 | 2017-07-11 | Kabushiki Kaisha Toshiba | Hybrid-HDD policy for what host-R/W data goes into NAND |
KR102368071B1 (ko) * | 2014-12-29 | 2022-02-25 | 삼성전자주식회사 | 레이드 스토리지 시스템에서의 스트라이프 재구성 방법 및 이를 적용한 가비지 컬렉션 동작 방법 및 레이드 스토리지 시스템 |
KR20160083762A (ko) * | 2015-01-02 | 2016-07-12 | 삼성전자주식회사 | 스토리지 시스템에서의 매핑 테이블 관리 방법 및 이를 적용한 스토리지 시스템 |
US9678665B2 (en) * | 2015-03-06 | 2017-06-13 | Western Digital Technologies, Inc. | Methods and systems for memory page allocation |
EP3367251B1 (en) * | 2016-12-29 | 2023-06-21 | Huawei Technologies Co., Ltd. | Storage system and solid state hard disk |
-
2017
- 2017-04-14 CN CN201710244793.5A patent/CN108255414B/zh active Active
-
2018
- 2018-04-12 WO PCT/CN2018/082740 patent/WO2018188618A1/zh unknown
- 2018-04-12 JP JP2019556277A patent/JP6823734B2/ja active Active
- 2018-04-12 EP EP18785096.1A patent/EP3598290B1/en active Active
- 2018-04-12 US US16/604,984 patent/US11126377B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP3598290A1 (en) | 2020-01-22 |
CN108255414A (zh) | 2018-07-06 |
EP3598290B1 (en) | 2024-02-28 |
JP2020517026A (ja) | 2020-06-11 |
CN108255414B (zh) | 2020-04-03 |
WO2018188618A1 (zh) | 2018-10-18 |
EP3598290A4 (en) | 2020-04-08 |
US11126377B2 (en) | 2021-09-21 |
US20200159458A1 (en) | 2020-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6823734B2 (ja) | ソリッドステートディスクアクセス | |
JP5907739B2 (ja) | 不揮発性記憶装置 | |
KR101086857B1 (ko) | 데이터 머지를 수행하는 반도체 스토리지 시스템의 제어 방법 | |
EP3399421B1 (en) | Flash memory device access method and apparatus | |
KR101678868B1 (ko) | 플래시 주소 변환 장치 및 그 방법 | |
US9990277B2 (en) | System and method for efficient address translation of flash memory device | |
TWI494761B (zh) | 分割實體區塊之方法及記憶體系統 | |
EP3376394B1 (en) | Method and device for processing access request, and computer system | |
CN110678836A (zh) | 用于键值存储的持久性存储器 | |
KR100526178B1 (ko) | 플래시 메모리 액세스 장치 및 방법 | |
EP3754508B1 (en) | Access request processing method and apparatus, and computer system | |
US20100318726A1 (en) | Memory system and memory system managing method | |
US20200133543A1 (en) | Locality-aware, memory-efficient, time-efficient hot data identification using count-min-sketch for flash or streaming applications | |
KR20110139956A (ko) | 맵핑 테이블을 복구하는 데이터 기억 장치 및 데이터 관리 방법 | |
KR20170065427A (ko) | Ssd의 데이터 프로세싱 방법 및 장치 | |
JP2019028954A (ja) | ストレージ制御装置、プログラム、及び重複排除方法 | |
CN107273306B (zh) | 一种固态硬盘的数据读取、数据写入方法及固态硬盘 | |
CN115904255A (zh) | 一种数据请求方法、装置、设备及存储介质 | |
WO2016206070A1 (zh) | 一种文件更新方法及存储设备 | |
KR101369408B1 (ko) | 스토리지 시스템 및 이의 데이터 전송 방법 | |
EP2381354A2 (en) | Data recording device | |
JP2011022963A (ja) | 情報処理装置および情報処理方法 | |
US20210390048A1 (en) | Method and system for facilitating log-structure data organization | |
JP2017045177A (ja) | ストレージシステム、ホスト計算機、ストレージコントローラ及びデータ重複検出方法 | |
KR101379161B1 (ko) | 저장장치에서 블룸필터를 적용한 역매핑 방법 및 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201130 |
|
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: 20201215 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210108 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6823734 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |