JP2017527877A - フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 - Google Patents
フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 Download PDFInfo
- Publication number
- JP2017527877A JP2017527877A JP2016575098A JP2016575098A JP2017527877A JP 2017527877 A JP2017527877 A JP 2017527877A JP 2016575098 A JP2016575098 A JP 2016575098A JP 2016575098 A JP2016575098 A JP 2016575098A JP 2017527877 A JP2017527877 A JP 2017527877A
- Authority
- JP
- Japan
- Prior art keywords
- data
- flash memory
- buffer
- data area
- size
- 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.)
- Pending
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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- 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
-
- 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/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
- 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
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
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)
- Techniques For Improving Reliability Of Storages (AREA)
- Memory System (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Microelectronics & Electronic Packaging (AREA)
Abstract
Description
データ読み取り命令を受信するステップであって、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含む、ステップと、
物理アドレスを求めてバッファを検索するステップと、
物理アドレスがバッファにおいて発見されなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するステップと、
物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータをバッファデータ領域内にバッファリングするステップと
を含む。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングするステップであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、ステップをさらに含む。
データ書き込み命令を受信するステップであって、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含む、ステップと、
書き込まれるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割するステップと、
書き込まれるべきデータをバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングするステップであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、ステップと、
物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むステップと
を含む。
識別子情報をバッファデータ領域に追加し、バッファデータ領域におけるデータがフラッシュメモリにおけるデータと一致しないとき、識別子情報をダーティデータを示す情報として識別するステップと、
内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むステップ、または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むステップと
をさらに含む。
受信ユニットは、データ読み取り命令を受信するように構成され、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含み、
検索ユニットは、受信ユニットにより受信された物理アドレスを求めてバッファを検索するように構成され、
分割ユニットは、検索ユニットがバッファにおいて物理アドレスを発見しなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するように構成され、
バッファリングユニットは、物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータを、分割ユニットにより分割されたバッファデータ領域内にバッファリングするように構成される。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダにバッファリングするようにさらに構成され、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含み、
バッファデータ領域のサイズは、読み取られるべきデータのサイズよりも大きく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり、または
バッファデータ領域のサイズは、読み取られるべきデータのサイズと等しく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり、
フラッシュメモリの実際の物理ブロックサイズは、フラッシュメモリの識別子情報CIDと、フラッシュメモリの識別子情報CIDに従ったフラッシュメモリの実際の物理ブロックサイズとの間の対応テーブルから、フラッシュメモリのドライバ層によって取得される。
受信ユニットは、データ書き込み命令を受信するように構成され、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含み、
分割ユニットは、受信ユニットにより受信された書き込まれるべきデータのサイズおよびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割するように構成され、
バッファリングユニットは、書き込まれるべきデータを、分割ユニットにより分割されたバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとを、分割ユニットにより分割されたバッファヘッダ内にバッファリングするように構成され、バッファデータ領域の属性情報は、バッファデータ領域の論理アドレスおよびサイズを含み、
書き込みユニットは、物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むように構成される。
書き込みユニットは、内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、追加ユニットにより追加されたダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込む、または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、追加ユニットにより追加されたダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むようにさらに構成される。
ネットワークインターフェースと、
1または複数のプロセッサと、
記憶装置(storage)であって、内部メモリおよびフラッシュメモリを含む、該記憶装置と、
記憶装置に記憶され、1または複数のプロセッサによって実行されるように構成された1または複数のプログラムと
を備え、1または複数のプログラムは、
データ読み取り命令を受信することであって、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含む、受信することと、
物理アドレスを求めてバッファを検索することと、
物理アドレスがバッファにおいて発見されなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割することと、
物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータをバッファデータ領域内にバッファリングすることと
を含む。
ネットワークインターフェースと、
1または複数のプロセッサと、
記憶装置であって、内部メモリおよびフラッシュメモリを含む、該記憶装置と、
記憶装置に記憶され、1または複数のプロセッサによって実行されるように構成された1または複数のプログラムと
を備え、1または複数のプログラムは、
データ書き込み命令を受信することであって、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含む、受信することと、
書き込まれるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割することと、
書き込まれるべきデータをバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングすることであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、バッファリングすることと、
物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むことと
を含む。
識別子情報をバッファデータ領域に追加し、バッファデータ領域におけるデータがフラッシュメモリにおけるデータと一致しないとき、識別子情報をダーティデータを示す情報として識別することと、
内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むこと、または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むことと
をさらに含む。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングするステップであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、ステップをさらに含む。たとえば、バッファデータ領域の開始アドレスが200Kであってサイズが24Kである場合、開始アドレス200Kおよびサイズ24Kが、バッファデータ領域に対応するバッファヘッダに記憶される。
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込む。
1)内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータが、フラッシュメモリ内に書き込まれる場合と;
2)バッファデータ領域が内部メモリに存在する時間が、予め設定された第2の閾値よりも大きいとき、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータが、フラッシュメモリ内に書き込まれる場合とがある。
受信ユニット501は、データ読み取り命令を受信するように構成され、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含み;
検索ユニット502は、受信ユニット501により受信された物理アドレスを求めてバッファを検索するように構成され;
分割ユニット503は、検索ユニット502がバッファにおいて物理アドレスを発見しなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するように構成され;
バッファリングユニット504は、物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータを、分割ユニット503により分割されたバッファデータ領域内にバッファリングするように構成される。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域のバッファ属性情報と物理アドレスとをバッファヘッダにバッファリングするようにさらに構成され、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含み、
バッファデータ領域のサイズは、読み取られるべきデータのサイズよりも大きく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり;または
バッファデータ領域のサイズは、読み取られるべきデータのサイズと等しく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり;
フラッシュメモリの実際の物理ブロックサイズは、フラッシュメモリの識別子情報CIDと、フラッシュメモリの識別子情報CIDに従ったフラッシュメモリの実際の物理ブロックサイズとの間の対応テーブルから、フラッシュメモリのドライバ層によって取得される。
受信ユニット601は、データ書き込み命令を受信するように構成され、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含み;
分割ユニット602は、受信ユニット601により受信された書き込まれるべきデータのサイズおよびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割するように構成され;
バッファリングユニット603は、書き込まれるべきデータを、分割ユニット602により分割されたバッファデータ領域内にバッファリングし、バッファデータ領域のバッファ属性情報と物理アドレスとを、分割ユニットにより分割されたバッファヘッダ内にバッファリングするように構成され、バッファデータ領域の属性情報は、バッファデータ領域の論理アドレスおよびサイズを含み;
書き込みユニット604は、物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むように構成される。
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、追加ユニットにより追加されたダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むようにさらに構成される。
データ読み取り命令を受信することであって、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含む、受信することと;
物理アドレスを求めてバッファを検索することと;
物理アドレスがバッファにおいて発見されなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割することと;
物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータをバッファデータ領域内にバッファリングすることとを含む。
データ書き込み命令を受信することであって、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含む、受信することと;
書き込まれるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割することと;
書き込まれるべきデータをバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングすることであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、バッファリングすることと;
物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むことと
を含む。
識別子情報をバッファデータ領域に追加し、バッファデータ領域におけるデータがフラッシュメモリにおけるデータと一致しないとき、識別子情報をダーティデータを示す情報として識別することと;
内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むこと;または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むことと
をさらに含む。
データ読み取り命令を受信するステップであって、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含む、ステップと、
物理アドレスを求めてバッファを検索するステップと、
物理アドレスがバッファにおいて発見されなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するステップと、
物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータをバッファデータ領域内にバッファリングするステップと
を含む。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングするステップであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、ステップをさらに含む。
データ書き込み命令を受信するステップであって、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含む、ステップと、
書き込まれるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割するステップと、
書き込まれるべきデータをバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングするステップであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、ステップと、
物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むステップと
を含む。
識別子情報をバッファデータ領域に追加し、バッファデータ領域におけるデータがフラッシュメモリにおけるデータと一致しないとき、識別子情報をダーティデータを示す情報として識別するステップと、
内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むステップ、または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むステップと
をさらに含む。
受信ユニットは、データ読み取り命令を受信するように構成され、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含み、
検索ユニットは、受信ユニットにより受信された物理アドレスを求めてバッファを検索するように構成され、
分割ユニットは、検索ユニットがバッファにおいて物理アドレスを発見しなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するように構成され、
バッファリングユニットは、物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータを、分割ユニットにより分割されたバッファデータ領域内にバッファリングするように構成される。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダにバッファリングするようにさらに構成され、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含み、
バッファデータ領域のサイズは、読み取られるべきデータのサイズよりも大きく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり、または
バッファデータ領域のサイズは、読み取られるべきデータのサイズと等しく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり、
フラッシュメモリの実際の物理ブロックサイズは、フラッシュメモリの識別子情報CIDと、フラッシュメモリの識別子情報CIDに従ったフラッシュメモリの実際の物理ブロックサイズとの間の対応テーブルから、フラッシュメモリのドライバ層によって取得される。
受信ユニットは、データ書き込み命令を受信するように構成され、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含み、
分割ユニットは、受信ユニットにより受信された書き込まれるべきデータのサイズおよびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割するように構成され、
バッファリングユニットは、書き込まれるべきデータを、分割ユニットにより分割されたバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとを、分割ユニットにより分割されたバッファヘッダ内にバッファリングするように構成され、バッファデータ領域の属性情報は、バッファデータ領域の論理アドレスおよびサイズを含み、
書き込みユニットは、物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むように構成される。
書き込みユニットは、内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、追加ユニットにより追加されたダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込む、または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、追加ユニットにより追加されたダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むようにさらに構成される。
ネットワークインターフェースと、
1または複数のプロセッサと、
記憶装置(storage)であって、内部メモリおよびフラッシュメモリを含む、該記憶装置と、
記憶装置に記憶され、1または複数のプロセッサによって実行されるように構成された1または複数のプログラムと
を備え、1または複数のプログラムは、
データ読み取り命令を受信することであって、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含む、受信することと、
物理アドレスを求めてバッファを検索することと、
物理アドレスがバッファにおいて発見されなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割することと、
物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータをバッファデータ領域内にバッファリングすることと
を含む。
ネットワークインターフェースと、
1または複数のプロセッサと、
記憶装置であって、内部メモリおよびフラッシュメモリを含む、該記憶装置と、
記憶装置に記憶され、1または複数のプロセッサによって実行されるように構成された1または複数のプログラムと
を備え、1または複数のプログラムは、
データ書き込み命令を受信することであって、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含む、受信することと、
書き込まれるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割することと、
書き込まれるべきデータをバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングすることであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、バッファリングすることと、
物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むことと
を含む。
識別子情報をバッファデータ領域に追加し、バッファデータ領域におけるデータがフラッシュメモリにおけるデータと一致しないとき、識別子情報をダーティデータを示す情報として識別することと、
内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むこと、または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むことと
をさらに含む。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングするステップであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、ステップをさらに含む。たとえば、バッファデータ領域の開始アドレスが200Kであってサイズが24Kである場合、開始アドレス200Kおよびサイズ24Kが、バッファデータ領域に対応するバッファヘッダに記憶される。
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込む。
1)内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータが、フラッシュメモリ内に書き込まれる場合と;
2)バッファデータ領域が内部メモリに存在する時間が、予め設定された第2の閾値よりも大きいとき、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータが、フラッシュメモリ内に書き込まれる場合とがある。
受信ユニット501は、データ読み取り命令を受信するように構成され、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含み;
検索ユニット502は、受信ユニット501により受信された物理アドレスを求めてバッファを検索するように構成され;
分割ユニット503は、検索ユニット502がバッファにおいて物理アドレスを発見しなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するように構成され;
バッファリングユニット504は、物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータを、分割ユニット503により分割されたバッファデータ領域内にバッファリングするように構成される。
内部メモリから、バッファデータ領域に対応するバッファヘッダを分割し、バッファデータ領域のバッファ属性情報と物理アドレスとをバッファヘッダにバッファリングするようにさらに構成され、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含み、
バッファデータ領域のサイズは、読み取られるべきデータのサイズよりも大きく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり;または
バッファデータ領域のサイズは、読み取られるべきデータのサイズと等しく、バッファデータ領域のサイズは、フラッシュメモリの実際の物理ブロックサイズの整数倍であり;
フラッシュメモリの実際の物理ブロックサイズは、フラッシュメモリの識別子情報CIDと、フラッシュメモリの識別子情報CIDに従ったフラッシュメモリの実際の物理ブロックサイズとの間の対応テーブルから、フラッシュメモリのドライバ層によって取得される。
受信ユニット601は、データ書き込み命令を受信するように構成され、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含み;
分割ユニット602は、受信ユニット601により受信された書き込まれるべきデータのサイズおよびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割するように構成され;
バッファリングユニット603は、書き込まれるべきデータを、分割ユニット602により分割されたバッファデータ領域内にバッファリングし、バッファデータ領域のバッファ属性情報と物理アドレスとを、分割ユニットにより分割されたバッファヘッダ内にバッファリングするように構成され、バッファデータ領域の属性情報は、バッファデータ領域の論理アドレスおよびサイズを含み;
書き込みユニット604は、物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むように構成される。
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、追加ユニットにより追加されたダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むようにさらに構成される。
データ読み取り命令を受信することであって、データ読み取り命令は、読み取られるべきデータのサイズ、およびフラッシュメモリにおける読み取られるべきデータの物理アドレスを含む、受信することと;
物理アドレスを求めてバッファを検索することと;
物理アドレスがバッファにおいて発見されなかったとき、読み取られるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割することと;
物理アドレスに従って、フラッシュメモリから読み取られるべきデータを読み取り、読み取られるべきデータをバッファデータ領域内にバッファリングすることとを含む。
データ書き込み命令を受信することであって、データ書き込み命令は、書き込まれるべきデータ、書き込まれるべきデータのサイズ、およびフラッシュメモリにおける書き込まれるべきデータの物理アドレスを含む、受信することと;
書き込まれるべきデータのサイズ、およびフラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、バッファデータ領域に対応するバッファヘッダを分割することと;
書き込まれるべきデータをバッファデータ領域内にバッファリングし、バッファデータ領域の属性情報と物理アドレスとをバッファヘッダ内にバッファリングすることであって、バッファデータ領域の属性情報は、バッファデータ領域のアドレスおよびサイズを含む、バッファリングすることと;
物理アドレスに従って、書き込まれるべきデータをフラッシュメモリ内に書き込むことと
を含む。
識別子情報をバッファデータ領域に追加し、バッファデータ領域におけるデータがフラッシュメモリにおけるデータと一致しないとき、識別子情報をダーティデータを示す情報として識別することと;
内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むこと;または
バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、フラッシュメモリ内に、ダーティデータを示す情報である識別子情報に対応するバッファデータ領域におけるデータを書き込むことと
をさらに含む。
Claims (21)
- フラッシュメモリからデータを読み取るための方法であって、
データ読み取り命令を受信するステップであって、前記データ読み取り命令は、読み取られるべきデータのサイズ、および前記フラッシュメモリにおける前記読み取られるべきデータの物理アドレスを含む、ステップと、
前記物理アドレスを求めてバッファを検索するステップと、
前記物理アドレスが前記バッファにおいて発見されなかったとき、前記読み取られるべきデータの前記サイズ、および前記フラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するステップと、
前記物理アドレスに従って、前記フラッシュメモリから前記読み取られるべきデータを読み取り、前記読み取られるべきデータを前記バッファデータ領域内にバッファリングするステップと
を含むことを特徴とする方法。 - 前記バッファデータ領域のサイズは、前記読み取られるべきデータの前記サイズよりも大きく、前記バッファデータ領域の前記サイズは、前記フラッシュメモリの前記実際の物理ブロックサイズの整数倍であることを特徴とする請求項1に記載の方法。
- 前記バッファデータ領域のサイズは、前記読み取られるべきデータの前記サイズと等しく、前記バッファデータ領域の前記サイズは、前記フラッシュメモリの前記実際の物理ブロックサイズの整数倍であることを特徴とする請求項1に記載の方法。
- 内部メモリからバッファデータ領域を前記分割するステップの後に、かつ前記物理アドレスに従って、前記フラッシュメモリから前記読み取られるべきデータを前記読み取るステップの前に、
前記内部メモリから、前記バッファデータ領域に対応するバッファヘッダを分割し、前記バッファデータ領域の属性情報と前記物理アドレスとを前記バッファヘッダ内にバッファリングするステップであって、前記バッファデータ領域の前記属性情報は、前記バッファデータ領域のアドレスおよび前記サイズを含む、ステップをさらに含むことを特徴とする請求項2または3に記載の方法。 - 前記フラッシュメモリの前記実際の物理ブロックサイズは、前記フラッシュメモリの識別子情報CIDと、前記フラッシュメモリの前記識別子情報CIDに従った前記フラッシュメモリの前記実際の物理ブロックサイズとの間の対応テーブルから、前記フラッシュメモリのドライバ層によって取得されることを特徴とする請求項1乃至4のいずれか一項に記載の方法。
- データ読み取り命令を前記受信するステップの前に、前記フラッシュメモリのブロックデバイス層を使用することによって、前記フラッシュメモリのドライバ層により送信された前記フラッシュメモリの前記実際の物理ブロックサイズを受信するステップをさらに含むことを特徴とする請求項1に記載の方法。
- フラッシュメモリ内にデータを書き込むための方法であって、
データ書き込み命令を受信するステップであって、前記データ書き込み命令は、書き込まれるべきデータ、前記書き込まれるべきデータのサイズ、および前記フラッシュメモリにおける前記書き込まれるべきデータの物理アドレスを含む、ステップと、
前記書き込まれるべきデータの前記サイズ、および前記フラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、前記バッファデータ領域に対応するバッファヘッダを分割するステップと、
前記書き込まれるべきデータを前記バッファデータ領域内にバッファリングし、前記バッファデータ領域の属性情報と前記物理アドレスとを前記バッファヘッダ内にバッファリングするステップであって、前記バッファデータ領域の前記属性情報は、前記バッファデータ領域のアドレスおよびサイズを含む、ステップと、
前記物理アドレスに従って、前記書き込まれるべきデータを前記フラッシュメモリ内に書き込むステップと
を含むことを特徴とする方法。 - 識別子情報を前記バッファデータ領域に追加し、前記バッファデータ領域におけるデータが前記フラッシュメモリにおけるデータと一致しないとき、前記識別子情報をダーティデータを示す情報として識別するステップと、
前記内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、前記フラッシュメモリ内に、ダーティデータを示す前記情報である前記識別子情報に対応する前記バッファデータ領域におけるデータを書き込むステップ、または
前記バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、前記フラッシュメモリ内に、ダーティデータを示す前記情報である前記識別子情報に対応する前記バッファデータ領域におけるデータを書き込むステップと
をさらに含むことを特徴とする請求項7に記載の方法。 - フラッシュメモリからデータを読み取るための装置であって、受信ユニット、検索ユニット、分割ユニット、およびバッファリングユニットを備え、
前記受信ユニットは、データ読み取り命令を読み取るように構成され、前記データ読み取り命令は、読み取られるべきデータのサイズ、および前記フラッシュメモリにおける前記読み取られるべきデータの物理アドレスを含み、
前記検索ユニットは、前記受信ユニットにより受信された前記物理アドレスを求めてバッファを検索するように構成され、
前記分割ユニットは、前記検索ユニットが前記バッファにおいて前記物理アドレスを発見しないとき、前記読み取られるべきデータの前記サイズ、および前記フラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割するように構成され、
前記バッファリングユニットは、前記物理アドレスに従って、前記フラッシュメモリから前記読み取られるべきデータを読み取り、前記読み取られるべきデータを、前記分割ユニットにより分割された前記バッファデータ領域内にバッファリングするように構成されたことを特徴とする装置。 - 前記分割ユニットは、
前記内部メモリから、前記バッファデータ領域に対応するバッファヘッダを分割し、前記バッファデータ領域の属性情報と前記物理アドレスとを前記バッファヘッダにバッファリングするようにさらに構成され、前記バッファデータ領域の前記属性情報は、前記バッファデータ領域のアドレスおよびサイズを含み、
前記バッファデータ領域の前記サイズは、前記読み取られるべきデータの前記サイズよりも大きく、前記バッファデータ領域の前記サイズは、前記フラッシュメモリの前記実際の物理ブロックサイズの整数倍であり、または
前記バッファデータ領域の前記サイズは、前記読み取られるべきデータの前記サイズと等しく、前記バッファデータ領域の前記サイズは、前記フラッシュメモリの前記実際の物理ブロックサイズの整数倍であり、
前記フラッシュメモリの前記実際の物理ブロックサイズは、前記フラッシュメモリの識別子情報CIDと、前記フラッシュメモリの前記識別子情報CIDに従った前記フラッシュメモリの前記実際の物理ブロックサイズとの間の対応テーブルから、前記フラッシュメモリのドライバ層によって取得される
ことを特徴とする請求項9に記載の装置。 - 前記受信ユニットは、前記フラッシュメモリのブロックデバイス層を使用することによって、前記フラッシュメモリのドライバ層により送信された前記フラッシュメモリの前記実際の物理ブロックサイズを受信するようにさらに構成されたことを特徴とする請求項9または10に記載の装置。
- フラッシュメモリ内にデータを書き込むための装置であって、受信ユニット、分割ユニット、バッファリングユニット、および書き込みユニットを備え、
前記受信ユニットは、データ書き込み命令を受信するように構成され、前記データ書き込み命令は、書き込まれるべきデータ、前記書き込まれるべきデータのサイズ、および前記フラッシュメモリにおける前記書き込まれるべきデータの物理アドレスを含み、
前記分割ユニットは、前記受信ユニットにより受信された前記書き込まれるべきデータの前記サイズおよび前記フラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、前記バッファデータ領域に対応するバッファヘッダを分割するように構成され、
前記バッファリングユニットは、前記書き込まれるべきデータを、前記分割ユニットにより分割された前記バッファデータ領域内にバッファリングし、前記バッファデータ領域の属性情報と前記物理アドレスとを、前記分割ユニットにより分割された前記バッファヘッダ内にバッファリングするように構成され、前記バッファデータ領域の前記属性情報は、前記バッファデータ領域の論理アドレスおよびサイズを含み、
前記書き込みユニットは、前記物理アドレスに従って、前記書き込まれるべきデータを前記フラッシュメモリ内に書き込むように構成されたことを特徴とする装置。 - 識別子情報を前記バッファデータ領域に追加し、前記バッファデータ領域におけるデータが前記フラッシュメモリにおけるデータと一致しないとき、前記識別子情報をダーティデータを示す情報として識別するように構成された追加ユニットをさらに備え、
前記書き込みユニットは、前記内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、前記フラッシュメモリ内に、前記追加ユニットにより追加されたダーティデータを示す前記情報である前記識別子情報に対応する前記バッファデータ領域におけるデータを書き込む、または
前記バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、前記フラッシュメモリ内に、前記追加ユニットにより追加されたダーティデータを示す前記情報である前記識別子情報に対応する前記バッファデータ領域におけるデータを書き込むようにさらに構成されたことを特徴とする請求項12に記載の装置。 - ユーザ機器であって、
ネットワークインターフェースと、
1または複数のプロセッサと、
記憶装置であって、内部メモリおよびフラッシュメモリを含む、該記憶装置と、
前記記憶装置に記憶され、前記1または複数のプロセッサによって実行されるように構成された1または複数のプログラムと
を備え、前記1または複数のプログラムは、
データ読み取り命令を受信することであって、前記データ読み取り命令は、読み取られるべきデータのサイズ、および前記フラッシュメモリにおける前記読み取られるべきデータの物理アドレスを含む、受信することと、
前記物理アドレスを求めてバッファを検索することと、
前記物理アドレスが前記バッファにおいて発見されなかったとき、前記読み取られるべきデータの前記サイズ、および前記フラッシュメモリの実際の物理ブロックサイズに従って、前記内部メモリからバッファデータ領域を分割することと、
前記物理アドレスに従って、前記フラッシュメモリから前記読み取られるべきデータを読み取り、前記読み取られるべきデータを前記バッファデータ領域内にバッファリングすることと
を含むことを特徴とするユーザ機器。 - 前記バッファデータ領域のサイズは、前記読み取られるべきデータの前記サイズよりも大きく、前記バッファデータ領域の前記サイズは、前記フラッシュメモリの前記実際の物理ブロックサイズの整数倍であることを特徴とする請求項14に記載の機器。
- 前記バッファデータ領域のサイズは、前記読み取られるべきデータの前記サイズと等しく、前記バッファデータ領域の前記サイズは、前記フラッシュメモリの前記実際の物理ブロックサイズの整数倍であることを特徴とする請求項14に記載の機器。
- 前記1または複数のプログラムは、前記内部メモリから、前記バッファデータ領域に対応するバッファヘッダを分割し、前記バッファデータ領域の属性情報と前記物理アドレスとを前記バッファヘッダ内にバッファリングすることをさらに含み、前記バッファデータ領域の前記属性情報は、前記バッファデータ領域のアドレスおよび前記サイズを含むことを特徴とする請求項15または16に記載の機器。
- 前記フラッシュメモリの前記実際の物理ブロックサイズは、前記フラッシュメモリの識別子情報CIDと、前記フラッシュメモリの前記識別子情報CIDに従った前記フラッシュメモリの前記実際の物理ブロックサイズとの間の対応テーブルから、前記フラッシュメモリのドライバ層によって取得されることを特徴とする請求項14乃至17のいずれか一項に記載の機器。
- 前記1または複数のプログラムは、前記フラッシュメモリのブロックデバイス層を使用することによって、前記フラッシュメモリのドライバ層により送信された前記フラッシュメモリの前記実際の物理ブロックサイズを受信することをさらに含むことを特徴とする請求項14に記載の機器。
- ユーザ機器であって、
ネットワークインターフェースと、
1または複数のプロセッサと、
記憶装置であって、内部メモリおよびフラッシュメモリを含む、該記憶装置と、
前記記憶装置に記憶され、前記1または複数のプロセッサによって実行されるように構成された1または複数のプログラムと
を備え、前記1または複数のプログラムは、
データ書き込み命令を受信することであって、前記データ書き込み命令は、書き込まれるべきデータ、前記書き込まれるべきデータのサイズ、および前記フラッシュメモリにおける前記書き込まれるべきデータの物理アドレスを含む、受信することと、
前記書き込まれるべきデータの前記サイズ、および前記フラッシュメモリの実際の物理ブロックサイズに従って、内部メモリからバッファデータ領域を分割し、前記バッファデータ領域に対応するバッファヘッダを分割することと、
前記書き込まれるべきデータを前記バッファデータ領域内にバッファリングし、前記バッファデータ領域の属性情報と前記物理アドレスとを前記バッファヘッダ内にバッファリングすることであって、前記バッファデータ領域の前記属性情報は、前記バッファデータ領域のアドレスおよびサイズを含む、バッファリングすることと、
前記物理アドレスに従って、前記書き込まれるべきデータを前記フラッシュメモリ内に書き込むことと
を含むことを特徴とするユーザ機器。 - 前記1または複数のプログラムは、
識別子情報を前記バッファデータ領域に追加し、前記バッファデータ領域におけるデータが前記フラッシュメモリにおけるデータと一致しないとき、前記識別子情報をダーティデータを示す情報として識別することと、
前記内部メモリの占有率が、予め設定された第1の閾値よりも大きいとき、前記フラッシュメモリ内に、ダーティデータを示す前記情報である前記識別子情報に対応する前記バッファデータ領域におけるデータを書き込むこと、または
前記バッファデータ領域が存在する時間が、予め設定された第2の閾値よりも大きいとき、前記フラッシュメモリ内に、ダーティデータを示す前記情報である前記識別子情報に対応する前記バッファデータ領域におけるデータを書き込むことと
をさらに含むことを特徴とする請求項20に記載の機器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/080686 WO2015196378A1 (zh) | 2014-06-25 | 2014-06-25 | 读写闪存中数据的方法、装置及用户设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017527877A true JP2017527877A (ja) | 2017-09-21 |
Family
ID=54936449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016575098A Pending JP2017527877A (ja) | 2014-06-25 | 2014-06-25 | フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10152274B2 (ja) |
EP (1) | EP3142014B1 (ja) |
JP (1) | JP2017527877A (ja) |
KR (1) | KR20170010810A (ja) |
CN (1) | CN105393228B (ja) |
WO (1) | WO2015196378A1 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107003943B (zh) * | 2016-12-05 | 2019-04-12 | 华为技术有限公司 | NVMe over Fabric架构中数据读写命令的控制方法、存储设备和系统 |
US10628325B2 (en) * | 2018-05-10 | 2020-04-21 | Sap Se | Storage of data structures in non-volatile memory |
CN109614048B (zh) * | 2018-12-10 | 2022-11-11 | 深圳市硅格半导体有限公司 | 基于闪存的数据读写方法、装置及计算机可读存储介质 |
CN111694769A (zh) * | 2019-03-15 | 2020-09-22 | 上海寒武纪信息科技有限公司 | 数据读取方法及装置 |
CN111857578A (zh) * | 2020-06-30 | 2020-10-30 | 浪潮(北京)电子信息产业有限公司 | 一种数据信息的读写方法、装置、设备及存储介质 |
CN112131144B (zh) * | 2020-09-27 | 2023-09-26 | 芯天下技术股份有限公司 | 串行接口nand存储芯片及从其中读取数据的方法 |
CN113268201A (zh) | 2021-05-13 | 2021-08-17 | 三星(中国)半导体有限公司 | 基于文件属性的缓存管理方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007528079A (ja) * | 2004-03-08 | 2007-10-04 | サンディスク コーポレイション | フラッシュコントローラのキャッシュ構造 |
WO2009084724A1 (en) * | 2007-12-28 | 2009-07-09 | Kabushiki Kaisha Toshiba | Semiconductor storage device |
US20120134203A1 (en) * | 2010-11-30 | 2012-05-31 | Hitachi, Ltd. | Semiconductor Device and Data Processing System |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6016472A (en) * | 1997-09-29 | 2000-01-18 | Lucent Technologies Inc. | System and method for interfacing a digital audio processor to a low-speed serially addressable storage device |
JP2005128596A (ja) | 2003-10-21 | 2005-05-19 | Sony Corp | 情報処理装置および方法、記録媒体、プログラム、並びにコンテンツ関連データ |
US7383375B2 (en) | 2003-12-30 | 2008-06-03 | Sandisk Corporation | Data run programming |
CN101533662B (zh) | 2009-04-09 | 2011-08-10 | 成都市华为赛门铁克科技有限公司 | 一种闪存读写方法与闪存设备 |
US8688897B2 (en) | 2010-05-28 | 2014-04-01 | International Business Machines Corporation | Cache memory management in a flash cache architecture |
US9122631B2 (en) * | 2011-11-07 | 2015-09-01 | Peking University | Buffer management strategies for flash-based storage systems |
CN103064803B (zh) | 2012-12-10 | 2015-11-25 | 华为技术有限公司 | 一种NAND Flash存储设备的数据读写方法和装置 |
CN103425602B (zh) * | 2013-08-15 | 2017-09-08 | 深圳市江波龙电子有限公司 | 一种闪存存储设备数据读写的方法、装置及主机系统 |
CN103559146B (zh) * | 2013-11-05 | 2016-03-30 | 山东大学 | 一种提高NAND flash控制器读写速度的方法 |
-
2014
- 2014-06-25 EP EP14895589.1A patent/EP3142014B1/en active Active
- 2014-06-25 WO PCT/CN2014/080686 patent/WO2015196378A1/zh active Application Filing
- 2014-06-25 JP JP2016575098A patent/JP2017527877A/ja active Pending
- 2014-06-25 KR KR1020167035646A patent/KR20170010810A/ko not_active Application Discontinuation
- 2014-06-25 US US15/319,166 patent/US10152274B2/en active Active
- 2014-06-25 CN CN201480036355.4A patent/CN105393228B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007528079A (ja) * | 2004-03-08 | 2007-10-04 | サンディスク コーポレイション | フラッシュコントローラのキャッシュ構造 |
WO2009084724A1 (en) * | 2007-12-28 | 2009-07-09 | Kabushiki Kaisha Toshiba | Semiconductor storage device |
US20100037009A1 (en) * | 2007-12-28 | 2010-02-11 | Hirokuni Yano | Semiconductor storage device, method of controlling the same, controller and information processing apparatus |
JP2010250845A (ja) * | 2007-12-28 | 2010-11-04 | Toshiba Corp | 半導体記憶装置 |
US20120134203A1 (en) * | 2010-11-30 | 2012-05-31 | Hitachi, Ltd. | Semiconductor Device and Data Processing System |
Non-Patent Citations (1)
Title |
---|
HEESEUNG JO, ET AL.: ""FAB: Flash-Aware Buffer Management Policy for Portable Media Players"", IEEE TRANSACTIONS ON CONSUMER ELECTRONICS, vol. 52, no. 2, JPN6018006789, 2006, US, pages 485 - 493, XP008116208, ISSN: 0003898648, DOI: 10.1109/TCE.2006.1649669 * |
Also Published As
Publication number | Publication date |
---|---|
KR20170010810A (ko) | 2017-02-01 |
EP3142014A1 (en) | 2017-03-15 |
US20170153850A1 (en) | 2017-06-01 |
US10152274B2 (en) | 2018-12-11 |
CN105393228B (zh) | 2019-09-03 |
WO2015196378A1 (zh) | 2015-12-30 |
CN105393228A (zh) | 2016-03-09 |
EP3142014A4 (en) | 2017-06-28 |
EP3142014B1 (en) | 2023-05-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417901B2 (en) | Combining write commands to overlapping addresses or to a specific page | |
JP2017527877A (ja) | フラッシュメモリから/フラッシュメモリへデータを読み取る/書き込むための方法および装置、ならびにユーザ機器 | |
TWI650644B (zh) | 管理快閃記憶體模組的方法及相關的快閃記憶體控制器及電子裝置 | |
US10409502B2 (en) | Method and apparatus for writing metadata into cache | |
EP2732374B1 (en) | Mobile memory cache read optimization | |
US10042576B2 (en) | Method and apparatus for compressing addresses | |
KR20170097609A (ko) | 압축된 데이터 백그라운드를 캐싱하는 장치, 시스템 및 방법 | |
KR20100081880A (ko) | 비휘발성 메모리와, 이의 페이지 동적할당장치 및 페이지 매핑장치와, 이의 페이지 동적할당방법 및 페이지 매핑방법 | |
US20190042153A1 (en) | Mass storage device capable of fine grained read and/or write operations | |
KR20140093505A (ko) | 단말기의 메모리 확장 장치 및 방법 | |
CN106170757A (zh) | 一种数据存储方法及装置 | |
US20100131699A1 (en) | Methods, apparatuses, and computer program products for enhancing memory erase functionality | |
US20140219041A1 (en) | Storage device and data processing method thereof | |
CN103229150A (zh) | 数据控制方法及系统 | |
US20240086113A1 (en) | Synchronous write method and device, storage system and electronic device | |
US9996296B2 (en) | Electronic control unit and method for rewriting data | |
CN108427648B (zh) | 存储系统页内脏数据索引方法和装置 | |
CN108519860B (zh) | 一种ssd读命中的处理方法和装置 | |
CN116340198A (zh) | 固态硬盘的数据写入方法、其装置及固态硬盘 | |
KR101101324B1 (ko) | Hdd를 제어하는 스토리지 제어 장치를 포함하는 모바일 장치 및 스토리지 제어 방법 | |
WO2022021337A1 (zh) | 闪存控制方法和装置 | |
TWI693517B (zh) | 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器 | |
TW202034170A (zh) | 用來進行儲存空間管理之方法以及資料儲存裝置及其控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180227 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20180511 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20180511 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180528 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20181016 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20181207 |