JP2020087470A - データアクセス方法、データアクセス装置、機器及び記憶媒体 - Google Patents

データアクセス方法、データアクセス装置、機器及び記憶媒体 Download PDF

Info

Publication number
JP2020087470A
JP2020087470A JP2019209717A JP2019209717A JP2020087470A JP 2020087470 A JP2020087470 A JP 2020087470A JP 2019209717 A JP2019209717 A JP 2019209717A JP 2019209717 A JP2019209717 A JP 2019209717A JP 2020087470 A JP2020087470 A JP 2020087470A
Authority
JP
Japan
Prior art keywords
access request
data
size
buffer area
storage device
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.)
Granted
Application number
JP2019209717A
Other languages
English (en)
Other versions
JP7088897B2 (ja
Inventor
ジハオ リャン,
Zihao Liang
ジハオ リャン,
ジャン オウヤン,
Jian Ouyang
ジャン オウヤン,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Publication of JP2020087470A publication Critical patent/JP2020087470A/ja
Application granted granted Critical
Publication of JP7088897B2 publication Critical patent/JP7088897B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0062Bandwidth consumption reduction during transfers

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

【課題】記憶装置のアクセス効率を向上させるためのデータアクセス方法、データアクセス装置、機器及び記憶媒体を提供する。【解決手段】データアクセス方法は、記憶装置に対する第1のアクセス要求及び第2のアクセス要求を取得するステップと、第1のアクセス要求に関連付けられた第1のデータをソース装置から事前に割り当てられたバッファエリアにロードするステップと、第2のアクセス要求に関連付けられた第2のデータの第1のサイズがバッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定するステップと、第1のサイズが第2のサイズより小さくないと決定されたことに応答して、利用可能なスペースと同じサイズを有する、第2のデータにおける第1の部分を決定するステップと、第1のアクセス要求及び第2のアクセス要求に関連付けられた目標装置に第1のデータ及び第1の部分を提供するステップと、を含む。【選択図】図3

Description

本開示の実施例は、主にデータ記憶の分野に関し、より詳細には、データアクセス方法、装置、機器及びコンピュータ読み取り可能な記憶媒体に関する。
技術の発展に伴い、ソフトウェア・ハードウェア協調設計は、既に様々な分野で応用され始めている。従来の純粋なソフトウェア設計及び純粋なハードウェア設計とは異なり、ソフトウェア・ハードウェア協調設計は、ソフトウェアのプログラム可能な柔軟性を備えているだけでなく、ハードウェアの並列処理及びパイプライン処理を利用してデータ処理効率を向上させることもできる。
ソフトウェア・ハードウェア協調システムでは、複数のコプロセッサが存在する場合があり、一部のコプロセッサは、動作中に同一の記憶装置に同時にアクセスする場合があるため、記憶装置のアクセス効率をどのように向上させるかが既に注目される焦点となっている。
本開示の例示的な実施例によれば、データアクセスための技術案を提供する。
本開示の第1の態様において、記憶装置に対する第1のアクセス要求及び第2のアクセス要求を取得するステップと、第1のアクセス要求に関連付けられた第1のデータをソース装置から事前に割り当てられたバッファエリアにロードするステップであって、バッファエリアは、記憶装置の単一の物理ストレージブロックと同じサイズを有するステップと、第2のアクセス要求に関連付けられた第2のデータの第1のサイズがバッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定するステップと、第1のサイズが第2のサイズより小さくないと決定されたことに応答して、利用可能なスペースと同じサイズを有する、第2のデータにおける第1の部分を決定するステップと、第1のアクセス要求及び第2のアクセス要求に関連付けられた目標装置に第1のデータ及び第1の部分を提供するステップと、を含むデータアクセス方法が提供される。
本開示の第2の態様において、記憶装置に対する第1のアクセス要求及び第2のアクセス要求を取得するように構成される取得モジュールと、第1のアクセス要求に関連付けられた第1のデータをソース装置から事前に割り当てられたバッファエリアにロードするように構成される第1のロードモジュールであって、バッファエリアは、記憶装置の単一の物理ストレージブロックと同じサイズを有する第1のロードモジュールと、第2のアクセス要求に関連付けられた第2のデータの第1のサイズがバッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定するように構成される第1の決定モジュールと、第1のサイズが第2のサイズより小さくないと決定されたことに応答して、利用可能なスペースと同じサイズを有する、第2のデータにおける第1の部分を決定するように構成される第2の決定モジュールと、第1のアクセス要求及び第2のアクセス要求に関連付けられた目標装置に第1のデータ及び第1の部分を提供するように構成される第1の提供モジュールと、を含むデータアクセス装置が提供される。
本開示の第3の態様において、機器が提供され、前記機器は、一つ又は複数のプロセッサと、一つ又は複数のプログラムを記憶するための記憶装置と、を含み、一つ又は複数のプログラムが一つ又は複数のプロセッサによって実行される場合に、一つ又は複数のプロセッサが、本開示の第1の態様に係る方法を実現する。
本開示の第4の態様において、コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体を提供し、当該プログラムがプロセッサによって実行される場合に、本開示の第1の態様に係る方法が実現される。
なお、発明の概要に説明された内容は、本開示の実施例の肝心又は重要な特徴を限定することを意図しておらず、本開示の範囲を限定することも意図していない。本開示の他の特徴は、以下の説明により容易に理解され得る。
本開示の各実施例の前述及び/又は付加的な特徴及び利点は、図面を参照した以下の詳細な説明により、より明らかになる。図面では、同一又は類似の符号は、同一又は類似の要素を表す。
従来のソフトウェア・ハードウェア協調システムオンチップの概略図を示す。 本開示のいくつかの実施例に係る記憶システムの概略図を示す。 本開示のいくつかの実施例に係るデータアクセス方法のフローチャートを示す。 本開示のいくつかの実施例に係る異なるデータをスプライシングする概略図を示す。 本開示のいくつかの実施例に係る異なるデータをスプライシングする概略図を示す。 本開示のいくつかの実施例に係る異なるデータをスプライシングする概略図を示す。 本開示の実施例に係るデータアクセスの装置の概略ブロック図を示す。 本開示の複数の実施例を実施可能なコンピューティング機器のブロック図を示す。
以下に、図面を参照しながら本開示の実施例をさらに詳しく説明する。図面には、本開示の一部の実施例を示したが、本開示は、種々な形式により実現することができ、ここで説明された実施例に限定されるものであると理解されてはならない。逆に、これらの実施例を提供する目的は、本開示がより完全に理解されることである。なお、本開示の図面及び実施例は、単に例示するためのものであり、本開示の保護範囲を限定するものと理解されてはならない。
本開示の実施例の説明において、「含む」との用語及びその類似用語は、開放的に含まれ、即ち、「含むがこれらに限定されない」と理解すべきである。「基づく」は、「少なくとも部分に基づく」と理解すべきである。「一実施例」又は「当該実施例」は、「少なくとも一つの実施例」であると理解すべきである。「第1」、「第2」等は、異なる又は同一の対象を指してもよい。以下の記載において、その他の明確及び暗黙的な定義も含み得る。
前述したように、ソフトウェア・ハードウェア協調システムオンチップ(SoC)システムでは、記憶装置へのアクセス効率は、直接システム全体のデータ処理効率に影響を与える。図1は、本開示の実施例に係るSoCシステム100の概略図を示す。図1に示すように、SoCシステム100は、組み込みプロセッサ110、組み込みプロセッサ110に関連付けられた複数のコプロセッサ120−1、120−2、120−3、及び120−N(コプロセッサ120と総称する又は個別にいう)、複数の記憶装置130−1、130−2、及び130−M(記憶装置130と総称する又は個別にいう)を含む。いくつかの実施例では、記憶装置130は、リードオンリーメモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、又はランダムアクセスメモリ(RAM)などを含むことができる。
図1に示すように、複数のコプロセッサ(例えば、記憶装置120−1と記憶装置120−2)は、単一の記憶装置(例えば、記憶装置130−1)に関連付けることができるため、コプロセッサ120−1及びコプロセッサ120−2が記憶装置130−1に同時にアクセスする場合がある。したがって、記憶装置130へのアクセス効率をどのように向上させるかがSoCシステム100の鍵となる。
また、ハードウェアの設計では、記憶装置130の最小ユニット(すなわち、記憶装置130における単一の物理ストレージブロックのサイズ)を、オペレーティングシステムが処理できる単一のデータのサイズより大きくすることが多く、記憶装置130の単一の物理アドレスに複数のデータを記憶することができる。しかしながら、オペレーティングシステムは、単一のデータのサイズを最小操作単位とすることが多いため、記憶装置130における単一の物理アドレスは、複数のファイルアドレスを含むことが多い。例えば、処理精度が32ビットの単精度浮動小数点数であるオペレーティングシステムは、その最小操作単位が4バイトであるが、記憶装置130における最小ユニットは、例えば、16バイトであってもよい。
このような場合、コプロセッサ120が記憶装置130への多数の連続アクセスを行うと、記憶装置130のアクセスポートを長時間占有するが、コプロセッサ120は、アクセスするたびに、ファイルシステムの単一のデータサイズ(例えば、4バイト)のみにアクセスする。このため、記憶装置130のサポート可能なアクセスビット幅(16バイト)を大きく浪費し、記憶装置130のアクセス効率の低下をもたらす。
本開示の実施例によれば、データアクセス技術案が提供される。当該技術案では、記憶装置に対する第1のアクセス要求及び第2のアクセス要求を取得した場合に、記憶システムは、記憶装置の最小ユニットと同じサイズのバッファエリアに、第1のアクセス要求に関連付けられた第1のデータを書き込み、バッファエリアの残りの利用可能なスペースのサイズが第2のアクセス要求に関連付けられた第2のデータをサポートすることができるか否かを決定し、利用可能なスペースが第2のデータをサポートするのに足りない場合、第1のアクセス要求及び第2のアクセス要求に関連付けられた目標装置に第1のデータ及び第2のデータの第1の部分を提供し、第1の部分は、利用可能なスペースと同じサイズを有する。このような方式に基づいて、記憶システムは、バッファエリアを用いて複数のアクセス要求を組み合わせて、記憶装置の利用可能なビット幅を最大限に利用することができる。また、スプライシングプロセスでは、バッファエリアにデータを一回だけロードすればよいので、記憶システムのアクセス効率が向上する。
以下、図2〜図4を合わせて本開示の実施例に係るデータアクセス技術案を説明する。図2は、本開示のいくつかの実施例に係る記憶システム200の概略図を示す。図2に示すように、記憶システム200は、コプロセッサ210と、データスプライサ220と、記憶装置230とを含む。いくつかの実施例では、記憶装置230は、リードオンリーメモリ(ROM)、プログラマブルROM(PROM)、電気的プログラマブルROM(EPROM)、又はランダムアクセスメモリ(RAM)などを含むことができる。例えば、記憶装置230は、SoCシステム200におけるスタティックランダムアクセスメモリ(SRAM)であってもよい。
図2に示すように、コプロセッサ210は、デコーダ212と、データプロセッサ214を含むことができる。いくつかの実施例では、コプロセッサ210は、例えば、組み込みプロセッサからアクセス命令を受信することができる。いくつかの実施例では、当該アクセス命令は、アクセスする必要があるデータの開始アドレス、データのタイプ、データの長さなどを明示的に含むことができる。コプロセッサ210は、当該命令を受信した後、受信した命令をデコーダ212によってデコードすることにより、命令におけるファイルシステムアドレスに対するアクセス要求を記憶装置230の物理アドレスに対する複数のアクセス要求に変換することができる。
いくつかの実施例では、データスプライサ220は、複数のアクセス要求に対応する異なるデータをスプライシングするように構成され、これにより、記憶システム200の効率を向上させることができる。その具体的なスプライシングプロセスは、図3−図4を合わせて以下に詳細に説明する。いくつかの実施例では、データプロセッサ214は、集約操作などのデータスプライサ220によって返されたデータを、集約操作を実行するなどして処理するように構成されることができる。
図3は、本開示のいくつかの実施例に係るデータアクセス方法300のフローチャートを示す。方法300は、記憶システム200におけるデータスプライサ210によって実施することができる。以下、図2に示される記憶システム200を参照して方法300に係る動作を説明する。
ブロック302において、データスプライサ220は、記憶装置230に対する第1のアクセス要求及び第2のアクセス要求を取得する。いくつかの実施例では、前述したように、コプロセッサ210は、受信し命令をデコーダ212によってデコードして、記憶装置230に対する複数のアクセス要求に変換し、当該複数のアクセス要求をデータスプライサ220に送信することができる。記憶装置230に対する第1のアクセス要求及び第2のアクセス要求は、同じシステムの操作命令に関連付けられている。
いくつかの実施例では、第1のアクセス要求及び第2のアクセス要求は、記憶装置230における異なる物理アドレスに対する読み出し要求であってもよい。いくつかの実施例では、第1のアクセス要求及び第2のアクセス要求は、連続した目標物理アドレスを有することができる。例えば、第1のアクセス要求は、特定のストレージブロック(例えば、16バイト)における先頭の4バイトを読み出すことができ、第2のアクセス要求は、当該ストレージブロックの5番目〜8番目のバイトを読み出すことができる。いくつかの実施例では、第1のアクセス要求及び第2のアクセス要求は、連続しない目標物理アドレスを有することができる。例えば、第2のアクセス要求は、第1のアクセス要求の目標ストレージブロックとは異なる他のストレージブロック内のデータを読み出すことができ、又は、第2のアクセス要求は、第1のアクセス要求の目標ストレージブロックと同じストレージブロック内の異なるデータを読み出すことができる。
いくつかの実施例では、データスプライサ220は、コプロセッサ210から記憶装置230における異なる物理アドレスに対する複数の書き込み要求を受信することができる。記憶装置230に書き込まれるデータが連続したものであることが求められるため、記憶装置230への複数の書き込み要求を受信することに応答して、データスプライサ220は、複数の書き込み要求から第1の書き込み要求及び第2の書き込み要求を決定することができる。第1の書き込み要求に対応する記憶装置230における目標位置と、第2の書き込み要求に対応する記憶装置230における目標位置とは、連続するものである。例えば、第1のアクセス要求は、順次に実行される第1の書き込み要求であってもよく、特定のストレージブロック(例えば、16バイト)の先頭の4バイトに対するものであり、書き込みの正確な実行を実現するために、第2の書き込み要求の目標物理アドレスは、第1の書き込み要求の目標アドレスと連続する必要があり、例えば、当該ストレージブロックの5番目〜8番目バイトである。
ブロック304において、データスプライサ220は、第1のアクセス要求に関連付けられた第1のデータをソース装置から事前に割り当てられたバッファエリアにロードし、バッファエリアは、記憶装置230の単一の物理ストレージブロックに対応するサイズを有する。いくつかの実施例では、データスプライサ220は、レジスタを採用して記憶装置の最小ユニットと同じサイズのバッファエリアを構成することができる。図4は、本開示の実施例に係る異なるデータをスプライシングする概略図を示す。図4Aに示すように、例えば、第1のアクセス要求に関連付けられた第1のデータ410のサイズは10バイトであり、バッファエリア420のサイズは、記憶装置230の最小ユニットに揃っており、サイズは16バイトである。
いくつかの実施例では、データスプライサ220は、バッファエリア420内の利用可能なスペースの開始位置を示すパラメータINDEXを記録することもできるバッファエリア。いくつかの実施例では、第1の書き込みの時点で、INDEXはデフォルトで0に設定されており、バッファエリア320内のすべてのスペースは、利用可能な状態である。
いくつかの実施例では、第1のアクセス要求が読み出し要求である場合、データスプライサ220は、記憶装置230から第1のデータ410を読み出し、第1のデータ410をバッファエリア420にロードすることができる。図4Bに示すように、データスプライサ220は、第1のデータ410のサイズ(10バイト)に基づいてINDEX値を更新することもでき、例えば、INDEXが10に更新される。
いくつかの実施例では、第1のアクセス要求が書き込み要求である場合、データスプライサ220は、コプロセッサ210によって送信された書き込み要求に基づいて、第1のアクセス要求に関連付けられた第1のデータ410を取得し、第1のデータ410の目標ストレージブロックにおけるオフセットを決定することができる。例えば、第1のデータ410が目標ストレージブロック(16バイト)における5番目〜8番目バイトである場合、そのオフセットは5である。第1のデータ410をバッファエリア420に書き込む前に、データスプライサ220は、当該オフセットに基づいてINDEX値を更新することができ、例えば、5に更新する。その後、データスプライサ220は、当該INDEXによって示された開始位置から第1のデータ410を書き込むことができ、例えば、第1のデータ410の4バイトをバッファエリア420の5番目〜8番目バイトに書き込む。その後、図4Bに示すように、データスプライサ220は、第1のデータ410のサイズ(10バイト)に基づいてINDEX値を更新することもでき、例えば、INDEXは15に更新される。
引き続き図3を参照すると、ブロック306において、データスプライサ220は、第2のアクセス要求に関連付けられた第2のデータの第1のサイズがバッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定する。いくつかの実施例では、データスプライサ220は、バッファエリア420のINDEX値及びバッファエリア420のサイズに基づいてバッファエリア420の残りの利用可能なスペースのサイズを決定することができる。例えば、前述した読み出し要求の例では、残りの利用可能なスペースのサイズは6バイトである。例えば、前述した書き込み要求の例では、残りの利用可能なスペースのサイズは2バイトである。
ブロック306において第1のサイズが第2のサイズより小さくないと決定されたことに応答して、方法300は、ブロック308に進み、すなわち、データスプライサ220は、第2のアクセス要求に関連付けられた第2のデータの第1のサイズがバッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定する。図4の例を続けると、図4Bに示すように、例えば、第2のデータ430は、同様に10バイトのサイズであり、この場合、第2のデータ430のサイズがバッファエリア420の利用可能なスペースより大きい。以下、それぞれ読み出し要求および書き込み要求の場合に対して、ブロック308の具体的なプロセスを説明する。
前述した第1のアクセス要求及び第2のアクセス要求が読み出し要求である例を続ける。いくつかの実施例では、例えば、データスプライサ220は、INDEX及びバッファエリア420のサイズに基づいて、利用可能なスペースのサイズが第2のデータ430のサイズ(例えば、10バイト)より小さい6バイトであると決定することができる。その後、データスプライサ220は、利用可能なスペースのサイズ(6バイト)に基づいて第2のデータ430を二つの部分に分割こすることができ、第1の部分432は、利用可能なスペースと同じサイズ(6バイト)を有し、第2のデータ430における残りの部分は、第2の部分(4バイト)を構成する。この場合、第1のデータ410と第2のデータ430の第1の部分432とは、記憶装置230の最小ユニット(16バイト)のサイズを構成する。
前述した第1のアクセス要求及び第2のアクセス要求が書き込み要求である例を続ける。いくつかの実施例では、例えば、データスプライサ220は、INDEX及びバッファエリア420のサイズに基づいて、利用可能なスペースのサイズが第2のデータ430のサイズ(例えば、10バイト)より小さい2バイトであると決定することができる。その後、データスプライサ220は、利用可能なスペースのサイズ(2バイト)に基づいて第2のデータ430を二つの部分に分割することができ、第1の部分432は、利用可能なスペースと同じサイズ(2バイト)を有し、第2のデータ430における残りの部分は、第2の部分(8バイト)を構成する。この場合、第1のデータ410及び第2のデータ430の第1の部分432は、記憶装置230の最小ユニット(16バイト)のサイズを構成する。
引き続き図3を参照すると、ブロック310において、データスプライサ220は、第1のアクセス要求及び第2のアクセス要求に関連付けられた目標装置に第1のデータ及び第1の部分432を提供する。
前述した第1のアクセス要求及び第2のアクセス要求が読み出し要求である例を続ける。この場合、ソース装置は記憶装置230であり、目標装置はコプロセッサ210である。いくつかの実施例では、データスプライサ220は、コプロセッサ210におけるデータプロセッサ214に、バッファエリア420に記憶された第1のデータ410及び第2のデータ430の第1の部分432を提供することができる。このような方式により、ファイルシステムの最小ユニットと記憶装置230の最小ユニットとが揃わない問題を解決するとともに、第2のデータ430の第1の部分432をバッファエリア420に読み出す必要がなく、記憶システムの読み出し効率を向上させる。
いくつかの実施例では、第1のデータ410及び第2のデータ430の第1の部分432をコプロセッサ210に提供することが完了した後、データスプライサ220は、INDEXを0にリセットすることによって、バッファエリア420の利用可能なスペースをバッファエリア420のすべてのスペースに更新することができる。いくつかの実施例では、データスプライサ220は、第2のデータ430の第2の部分434をバッファエリア420に書き込み、第2の部分434のサイズ(4バイト)に基づいてINDEX値を更新することができ、例えば4に更新することができる。
いくつかの実施例では、その後、データスプライサ220は、第1のアクセス要求及び第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定することができる。第3のアクセス要求のタイプは、第1のアクセス要求及び第2のアクセス要求のタイプと同じである(当該例では、いずれも読み出し要求である)。データスプライサ220が第3のアクセス要求を受信していないと決定した場合、データスプライサ220は、バッファエリア420における有効データ(例えば、第2の部分434)をコプロセッサ210に送信して、当該命令に対するすべての応答を完了させることができる。データスプライサ220が第3のアクセス要求を受信したと決定した場合、データスプライサ220は、上記の方法に従って新しい読み出し要求のデータスプライシングを継続して実行することができるが、ここでは詳細に説明しない。
いくつかの実施例では、データスプライサ220は、記憶装置230の目標ストレージブロックに、バッファエリア420記憶された第1のデータ410及び第2のデータ430の第1の部分432を書き込むことができる。いくつかの実施例では、データスプライサ220は、バッファエリア420における有効データの区間に基づいてマスク信号を生成することができる。例えば、上記の例では、バッファエリア420における先頭の4バイトには有効データがないため、対応するストレージブロックにおける先頭の4バイトにデータの書き込みを実行しないことをマスク信号によって記憶装置230に通知する。このようなの方式により、ファイルシステムの最小ユニットと記憶装置230の最小ユニットとが揃わない問題を解決するとともに、第2のデータ430の第1の部分432をバッファエリア420に書き込む必要がなく、記憶システムの書き込み効率を向上させる。
前述した第1のアクセス要求及び第2のアクセス要求が書き込み要求である例を続ける。この場合、ソース装置はコプロセッサ210であり、目標装置は記憶装置230である。いくつかの実施例では、第1のデータ410及び第2のデータ430の第1の部分432を記憶装置230に書き込むことを完了した後、データスプライサ220は、INDEXを0にリセットすることによって、バッファエリア420の利用可能なスペースをバッファエリア420のすべてのスペースに更新することができる。いくつかの実施例では、データスプライサ220は、第2のデータ430の第2の部分434をバッファエリア420に書き込み、第2の部分434のサイズ(8バイト)に基づいてINDEX値を更新することができ、例えば8に更新することができる。
いくつかの実施例では、その後、データスプライサ220は、第1のアクセス要求及び第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定することができる。第3のアクセス要求のタイプは、第1のアクセス要求及び第2のアクセス要求のタイプと同じである(当該例では、いずれも書き込み要求である)。データスプライサ220が第3のアクセス要求が存在しないと決定した場合、データスプライサ220は、バッファエリア420における有効データ(例えば、第2の部分434)を記憶装置230に書き込んで、当該命令に対するすべての応答を完了させることができる。データスプライサ220が第3のアクセス要求が存在すると決定した場合、データスプライサ220は、目標アドレスが第2の部分434のアドレスに連続する書き込み要求があるか否かをさらに決定し、データスプライサ220が新しいアクセス要求が存在すると決定した場合、データスプライサ220は、上記の方法に従って新しいアクセス要求のデータスプライシングを継続して実行することができるが、ここでは詳細に説明しない。アドレスが連続する書き込み要求が存在しない場合、データスプライサ220は、バッファエリア420における有効データ(例えば、第2の部分434)を記憶装置230に書き込み、次の未実行の書き込み要求の実行を開始することができる。
ブロック306において第1のサイズが第2のサイズより小さいと決定されたことに応答して、方法300はブロック312に進み、すなわち、データスプライサ220は、前記第2のデータを前記バッファエリアの前記利用可能なスペースに書き込む。いくつかの実施例では、例えば、第2のデータ430がバッファエリア420の利用可能なスペースのサイズより小さい場合、データスプライサは、第2のデータ430をバッファエリア420の利用可能なスペースに直接書き込み、第2のデータ430のサイズに基づいてINDEX値を更新することができる。例えば、第2のデータ430のサイズは4バイトであり、元のINDEXは10であり、更新されたINDEXは14になる。
いくつかの実施例では、データスプライサ220は、新しいスプライシング可能なアクセス要求があるか否かを判断することができ、新しいアクセス要求が存在すると決定した場合、データスプライサ220は、上記の技術案に従ってバッファエリア420および新しいINDEXに基づいてデータのスプライシング操作を継続して実行することができる。新しいアクセス要求が存在ないと決定した場合、データスプライサ220は、バッファエリア420における有効データを第1のアクセス要求及び第2のアクセス要求に関連付けられた目標装置に直接提供することによって、命令に対するすべての応答を完了させることができる。
上記の技術案により、本開示のデータアクセスの技術案は、ハードウェアアドレススペースとソフトウェアアドレススペースとが揃わないという問題を解決することによって、記憶システムの応答効率を向上させる。また、本明細書の技術案は、独立したデータスプライサを設置することによって、当該独立したデータスプライサは、揃わないアクセスをサポートしないコプロセッサに追加することができ、技術案のスケーラビリティが大幅に向上する。
図5は、本開示の実施例に係るデータのアクセス装置500のブロック図を示す。装置500は、図2のデータスプライサ220に含まれるか、又はデータスプライサ220として実現することができる。図5に示すように、装置500は、記憶装置に対する第1のアクセス要求及び第2のアクセス要求を取得するように構成される取得モジュール510を含む。装置500は、第1のアクセス要求に関連付けられた第1のデータをソース装置から事前に割り当てられたバッファエリアエリアにロードするように構成される第1のロードモジュール520をさらに含み、バッファエリアは、記憶装置の単一の物理ストレージブロックと同じサイズを有する。装置500は、第2のアクセス要求に関連付けられた第2のデータの第1のサイズがバッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定するように構成される第1の決定モジュール530をさらに含む。装置500は、第1のサイズが第2のサイズより小さくないと決定されたことに応答して、利用可能なスペースと同じサイズを有する、第2のデータにおける第1の部分を決定するように構成される第2の決定モジュール540をさらに含む。また、装置500は、第1のアクセス要求及び第2のアクセス要求に関連付けられた目標装置に第1のデータ及び第1の部分を提供するように構成される第1の提供モジュール550をさらに含む。
いくつかの実施例では、装置500は、目標装置に第1のデータ及び第1の部分を提供することが完了したことに応答して、バッファエリアの利用可能なスペースをバッファエリアのすべてのスペースに更新するように構成される更新モジュールと、更新された利用可能なスペースに、第2のデータにおける第1の部分とは異なる第2の部分をロードするように構成される第2のロードモジュールと、をさらに含む。
いくつかの実施例では、装置500は、第1のアクセス要求及び第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定するように構成される第3の決定モジュールであって、第3のアクセス要求のタイプは、第1のアクセス要求及び第2のアクセス要求のタイプと同じである第3の決定モジュールと、第3のアクセス要求が受信されていないと決定されたことに応答して、第2の部分を目標装置に提供するように構成される第2の提供モジュールと、をさらに含む。
いくつかの実施例では、装置500は、第1のサイズが第2のサイズより小さいことに応答して、第2のデータをバッファエリアの利用可能なスペースにロードするように構成される第3のロードモジュールをさらに含む。
いくつかの実施例では、装置500は、第1のアクセス要求及び第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定するように構成される第4の決定モジュールであって、第3のアクセス要求のタイプは、第1のアクセス要求及び第2のアクセス要求のタイプと同じである第4の決定モジュールと、第3のアクセス要求が受信されていないと決定されたことに応答して、第1のデータ及び第2のデータを目標装置に提供するように構成される第3の提供モジュールと、をさらに含む。
いくつかの実施例では、第1のアクセス要求及び第2のアクセス要求は、読み出し要求であり、ソース装置は、記憶装置である。
いくつかの実施例では、第1のアクセス要求及び第2のアクセス要求は、書き込み要求であり、目標装置は、記憶装置である。第1のアクセス要求に対応する記憶装置における第1の目標位置と、第2のアクセス要求に対応する記憶装置における第2の目標位置とは、連続するものである。
図6は、本開示の実施例を実現できる例示的な機器600を示す概略ブロック図である。図に示すように、機器600は、リードオンリーメモリ(ROM)602に記憶されたコンピュータプログラム命令、又は記憶ユニット608からランダムアクセスメモリ(RAM)603にローディングされたコンピュータプログラム命令に基づいて、各種の適切な動作と処理を実行できる中央処理装置(CPU)601を含む。RAM603には、機器600の操作に必要な各種のプログラム及びデータをさらに記憶することができる。CPU601と、ROM602と、RAM603とは、バス604を介して互いに接続されている。入力/出力(I/O)インタフェース605もバス604に接続されている。
機器600におけるの複数のコンポーネントはI/Oインタフェース605に接続され、前記複数のコンポーネントは、キーボードやマウス等の入力ユニット606と、種々なディスプレイやスピーカ等の出力ユニット607と、磁気ディスクや光学ディスク等の記憶ユニット608と、ネットワークカード、モデム、無線通信トランシーバー等の通信ユニット609と、を含む。通信ユニット609は、機器600がインターネットのようなコンピュータネット及び/又は種々なキャリアネットワークを介してその他の機器と情報/データを交換することを許可する。
処理ユニット601は、前述した各方法及び処理、例えばプロセス300を実行する。例えば、いくつかの実施例では、プロセス300は、記憶ユニット608のような機械読み取り可能な媒体に有形的に含まれるコンピュータソフトウエアプログラムとして実現することができる。一部の実施例では、コンピュータプログラムの一部又は全ては、ROM602及び/又は通信ユニット609を介して、機器600にロード及び/又はインストールすることができる。コンピュータプログラムがRAM603にロードされてCPU601によって実行される場合に、前述したプロセス300の一つ又は複数のステップを実行することができる。追加的に、他の実施例では、CPU601は、他の任意の適当な方式(例えば、ファームウェアを借りる)によりプロセス300を実行するように構成される。
本明細書では、前述した機能は、少なくとも部分的に一つ又は複数のハードウェアロジックコンポーネントによって実行することができる。例えば、非限定的に、使用可能なハードウェアロジックコンポーネントとしては、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、特定用途向け標準品(ASSP)、システムオンチップ(SOC)、ロードプログラマブルロジックデバイス(CPLD)等が挙げられる。
本開示の方法を実施するためのプログラムコードは、一つ又は複数のプログラミング言語の任意の組み合わせにより作成することができる。これらのプログラムコードは、汎用コンピュータ、専門コンピュータ又はその他のプログラミングデータ処理装置のプロセッサ又はコントローラに提供されることにより、プログラムコードがプロセッサ又はコントローラによって実行される場合に、フローチャート及び/又はブロック図に規定された機能/操作を実行することができる。プログラムコードは、完全にマシンで実行されてもよく、部分的にマシンで実行されてもよく、独立したソフトパッケージとして部分的にマシンで実行されるとともに、部分的にリモートマシンで実行されてもよく、又は完全にリモートマシン又はサーバで実行されてもよい。
本開示の説明において、機械読み取り可能な媒体は、有形な媒体であってもよく、命令実行システム、装置又は機器によって、又は命令実行システム、装置又は機器と合わせて使用されるプログラムを含み、又は記憶する。機械読み取り可能な媒体は、機械読み取り可能な信号媒体又は機械読み取り可能な記憶媒体であってもよい。機械読み取り可能な媒体は、電子、磁気、光学、電磁、赤外線、又は半導体システム、装置、又はデバイス、又は前述した内容の任意の適切な組み合わせを含むことができるがこれらに限定されない。機械読み取り可能な記憶媒体のさらなる具体例として、1つ又は複数の配線に基づいた電気的接続、ポータブルコンピュータディスクカートリッジ、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能なプログラマブルリードオンリーメモリ(EPROM又はフラッシュメモリ)、光ファイバー、ポータブルコンパクトディスクリードオンリーメモリ(CD−ROM)、光学記憶装置、磁気記憶装置、又は前述した内容の任意の組み合わせを含む。
また、特定の順番で各操作を説明したが、このような操作を、示される特定の順番又は順次実行することが求められ、又は図示した操作の全てを実行して所望の結果を取得することが求められることを理解されたい。一定の環境において、複数のタスク及び並列処理が有利である可能性がある。同様に、以上の説明には、若干の具体的な実現詳細が含まれたが、それが本開示の範囲を限定するものと理解されてはならない。個別の実施例に説明された一部の特徴は、一つの実施形態で組み合わせて実現することができる。逆に、一つの実施形態に説明された種々な特徴は、個別又は任意の適切なサブ組み合わせの方式で複数の実施形態で実現することができる。
構成の特徴及び/又は方法の論理動作を特定した言語により、本テーマを説明したが、特許請求の範囲に限定されるテーマは、上記の特定の特徴又は動作に限定されない。逆に、上記の特定の特徴と動作は、特許請求の範囲を実現する一例に過ぎない。

Claims (16)

  1. データアクセス方法であって、
    記憶装置に対する第1のアクセス要求及び第2のアクセス要求を取得するステップと、
    前記第1のアクセス要求に関連付けられた第1のデータをソース装置から事前に割り当てられたバッファエリアにロードするステップであって、前記バッファエリアは、前記記憶装置の単一の物理ストレージブロックと同じサイズを有するステップと、
    前記第2のアクセス要求に関連付けられた第2のデータの第1のサイズが前記バッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定するステップと、
    前記第1のサイズが前記第2のサイズより小さくないと決定されたことに応答して、前記利用可能なスペースと同じサイズを有する、前記第2のデータにおける第1の部分を決定するステップと、
    第1のアクセス要求及び前記第2のアクセス要求に関連付けられた目標装置に前記第1のデータ及び前記第1の部分を提供するステップと、を含むことを特徴とする、データアクセス方法。
  2. 前記方法は、
    前記目標装置に前記第1のデータ及び前記第1の部分を提供することが完了したことに応答して、前記バッファエリアの前記利用可能なスペースを前記バッファエリアのすべてのスペースに更新するステップと、
    更新された前記利用可能なスペースに、前記第2のデータにおける前記第1の部分とは異なる第2の部分をロードするステップと、をさらに含むことを特徴とする、請求項1に記載の方法。
  3. 前記方法は、
    前記第1のアクセス要求及び前記第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定するステップであって、前記第3のアクセス要求のタイプは、前記第1のアクセス要求及び前記第2のアクセス要求のタイプと同じであるステップと、
    前記第3のアクセス要求が受信されていないと決定されたことに応答して、前記第2の部分を前記目標装置に提供するステップと、をさらに含むことを特徴とする、請求項2に記載の方法。
  4. 前記方法は、
    前記第1のサイズが前記第2のサイズより小さいことに応答して、前記第2のデータを前記バッファエリアの前記利用可能なスペースにロードするステップをさらに含むことを特徴とする、請求項1に記載の方法。
  5. 前記方法は、
    前記第1のアクセス要求及び前記第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定するステップであって、前記第3のアクセス要求のタイプは、前記第1のアクセス要求及び前記第2のアクセス要求のタイプと同じであるステップと、
    前記第3のアクセス要求が受信されていないと決定されたことに応答して、前記第1のデータ及び前記第2のデータを前記目標装置に提供するステップと、をさらに含むことを特徴とする、請求項4に記載の方法。
  6. 前記第1のアクセス要求及び前記第2のアクセス要求は、読み出し要求であり、前記ソース装置は、前記記憶装置であることを特徴とする、請求項1に記載の方法。
  7. 前記第1のアクセス要求及び前記第2のアクセス要求は、書き込み要求であり、前記目標装置は、前記記憶装置であり、前記第1のアクセス要求に対応する前記記憶装置における第1の目標位置と、前記第2のアクセス要求に対応する前記記憶装置における第2の目標位置とは、連続するものであることを特徴とする、請求項1に記載の方法。
  8. データアクセス装置であって、
    記憶装置に対する第1のアクセス要求及び第2のアクセス要求を取得するように構成される取得モジュールと、
    前記第1のアクセス要求に関連付けられた第1のデータをソース装置から事前に割り当てられたバッファエリアにロードするように構成される第1のロードモジュールであって、前記バッファエリアは、前記記憶装置の単一の物理ストレージブロックと同じサイズを有する第1のロードモジュールと、
    前記第2のアクセス要求に関連付けられた第2のデータの第1のサイズが前記バッファエリアの利用可能なスペースの第2のサイズより小さいか否かを決定するように構成される第1の決定モジュールと、
    前記第1のサイズが前記第2のサイズより小さくないと決定されたことに応答して、前記利用可能なスペースと同じサイズを有する、前記第2のデータにおける第1の部分を決定するように構成される第2の決定モジュールと、
    第1のアクセス要求及び前記第2のアクセス要求に関連付けられた目標装置に前記第1のデータ及び前記第1の部分を提供するように構成される第1の提供モジュールと、を含むことを特徴とする、データアクセス装置。
  9. 前記装置は、
    前記目標装置に前記第1のデータ及び前記第1の部分を提供することが完了したことに応答して、前記バッファエリアの前記利用可能なスペースを前記バッファエリアのすべてのスペースに更新するように構成される更新モジュールと、
    更新された前記利用可能なスペースに、前記第2のデータにおける前記第1の部分とは異なる第2の部分をロードするように構成される第2のロードモジュールと、をさらに含むことを特徴とする、請求項8に記載の装置。
  10. 前記装置は、
    前記第1のアクセス要求及び前記第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定するように構成される第3の決定モジュールであって、前記第3のアクセス要求のタイプは、前記第1のアクセス要求及び前記第2のアクセス要求のタイプと同じである第3の決定モジュールと、
    前記第3のアクセス要求が受信されていないと決定されたことに応答して、前記第2の部分を前記目標装置に提供するように構成される第2の提供モジュールと、をさらに含むことを特徴とする、請求項9に記載の装置。
  11. 前記装置は、
    前記第1のサイズが前記第2のサイズより小さいことに応答して、前記第2のデータを前記バッファエリアの前記利用可能なスペースにロードするように構成される第3のロードモジュールをさらに含むことを特徴とする、請求項8に記載の装置。
  12. 前記装置は、
    前記第1のアクセス要求及び前記第2のアクセス要求に関連付けられた命令における第3のアクセス要求を受信したか否かを決定するように構成される第4の決定モジュールであって、前記第3のアクセス要求のタイプは、前記第1のアクセス要求及び前記第2のアクセス要求のタイプと同じである第4の決定モジュールと、
    前記第3のアクセス要求が受信されていないと決定されたことに応答して、前記第1のデータ及び前記第2のデータを前記目標装置に提供するように構成される第3の提供モジュールと、をさらに含むことを特徴とする、請求項11に記載の装置。
  13. 前記第1のアクセス要求及び前記第2のアクセス要求は、読み出し要求であり、前記ソース装置は、前記記憶装置であることを特徴とする、請求項8に記載の装置。
  14. 前記第1のアクセス要求及び前記第2のアクセス要求は、書き込み要求であり、前記目標装置は、前記記憶装置であり、前記第1のアクセス要求に対応する前記記憶装置における第1の目標位置と、前記第2のアクセス要求に対応する前記記憶装置における第2の目標位置とは、連続するものであることを特徴とする、請求項8に記載の装置。
  15. 一つ又は複数のプロセッサと、
    一つ又は複数のプログラムを記憶するためのメモリと、を含む電子機器であって、
    前記一つ又は複数のプログラムが前記一つ又は複数のプロセッサによって実行される場合に、前記電子機器が、請求項1から7のいずれかに記載の方法を実現することを特徴とする、電子機器。
  16. コンピュータプログラムが記憶されているコンピュータ読み取り可能な記憶媒体であって、
    前記プログラムがプロセッサによって実行される場合に、請求項1から7のいずれかに記載の方法が実現されることを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2019209717A 2018-11-21 2019-11-20 データアクセス方法、データアクセス装置、機器及び記憶媒体 Active JP7088897B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811391728.6 2018-11-21
CN201811391728.6A CN111208933B (zh) 2018-11-21 2018-11-21 数据访问的方法、装置、设备和存储介质

Publications (2)

Publication Number Publication Date
JP2020087470A true JP2020087470A (ja) 2020-06-04
JP7088897B2 JP7088897B2 (ja) 2022-06-21

Family

ID=68581402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019209717A Active JP7088897B2 (ja) 2018-11-21 2019-11-20 データアクセス方法、データアクセス装置、機器及び記憶媒体

Country Status (5)

Country Link
US (1) US11650754B2 (ja)
EP (1) EP3660651A1 (ja)
JP (1) JP7088897B2 (ja)
KR (1) KR102287677B1 (ja)
CN (1) CN111208933B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111856258B (zh) * 2020-07-24 2023-05-09 北京百度网讯科技有限公司 用于芯片的测试的方法、设备、存储介质和相应的芯片
CN112988727B (zh) * 2021-03-25 2022-09-16 北京百度网讯科技有限公司 数据标注方法、装置、设备、存储介质及计算机程序产品
CN113535092B (zh) * 2021-07-20 2024-05-17 阿里巴巴创新公司 用于减少内存元数据的存储引擎、方法和可读介质
CN115686164A (zh) * 2021-07-26 2023-02-03 瑞昱半导体股份有限公司 供电端装置、供电系统以及非暂态电脑可读取媒体
US11656797B2 (en) * 2021-07-28 2023-05-23 Western Digital Technologies, Inc. Data storage device executing runt write commands as free commands

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092169A (ja) * 2004-09-22 2006-04-06 Toshiba Corp メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
JP2007241576A (ja) * 2006-03-07 2007-09-20 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのデータ書込み方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR940007680A (ko) * 1992-09-30 1994-04-27 로버트 에이. 에셀만 메모리 할당 요구의 축소 방법 및 시스템
US8914590B2 (en) * 2002-08-07 2014-12-16 Pact Xpp Technologies Ag Data processing method and device
US6957317B2 (en) * 2002-10-10 2005-10-18 Intel Corporation Apparatus and method for facilitating memory data access with generic read/write patterns
TWI371691B (en) * 2007-12-16 2012-09-01 Infortrend Technology Inc Storage controller for handling data stream and method thereof
CN101251789A (zh) * 2008-03-28 2008-08-27 清华大学 廉价磁盘冗余阵列raid5卷快速扩容方法
US7895381B2 (en) * 2009-02-16 2011-02-22 Himax Media Solutions, Inc. Data accessing system
US9251058B2 (en) * 2010-09-28 2016-02-02 SanDisk Technologies, Inc. Servicing non-block storage requests
US9229809B2 (en) * 2011-09-11 2016-01-05 Microsoft Technology Licensing Llc Nonvolatile media journaling of verified data sets
CN103870492B (zh) * 2012-12-14 2017-08-04 腾讯科技(深圳)有限公司 一种基于键排序的数据存储方法和装置
CN103116552B (zh) * 2013-03-18 2017-03-15 华为技术有限公司 用于在分布式存储系统中分配存储空间的方法和装置
CN105095109B (zh) * 2014-05-21 2018-07-20 华为技术有限公司 缓存访问方法、缓存访问路由器和计算机系统
WO2016082196A1 (zh) * 2014-11-28 2016-06-02 华为技术有限公司 文件访问方法、装置及存储设备
US10649890B2 (en) * 2015-04-28 2020-05-12 Nec Corporation Information processing system, storage control apparatus, storage control method, and storage control program
US20160350010A1 (en) * 2015-05-31 2016-12-01 Vmware, Inc. Providing block size compatibility with a storage filter
CN111475438B (zh) * 2015-08-12 2021-12-10 北京忆恒创源科技股份有限公司 提供服务质量的io请求处理方法及其装置
US10635596B2 (en) * 2015-10-02 2020-04-28 Sony Interactive Entertainment Inc. Information processing device, access controller, information processing method, and computer program for accessing memory having access units of different sizes
WO2017107162A1 (zh) * 2015-12-25 2017-06-29 研祥智能科技股份有限公司 一种异构混合内存组件、系统及存储方法
US10229051B2 (en) * 2015-12-30 2019-03-12 Samsung Electronics Co., Ltd. Storage device including nonvolatile memory device and controller, operating method of storage device, and method for accessing storage device
CN108833336A (zh) * 2018-04-18 2018-11-16 北京百度网讯科技有限公司 数据处理方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092169A (ja) * 2004-09-22 2006-04-06 Toshiba Corp メモリコントローラ,メモリ装置及びメモリコントローラの制御方法
JP2007241576A (ja) * 2006-03-07 2007-09-20 Matsushita Electric Ind Co Ltd 不揮発性記憶装置およびそのデータ書込み方法

Also Published As

Publication number Publication date
EP3660651A1 (en) 2020-06-03
KR20200060245A (ko) 2020-05-29
US11650754B2 (en) 2023-05-16
JP7088897B2 (ja) 2022-06-21
KR102287677B1 (ko) 2021-08-06
CN111208933B (zh) 2023-06-30
CN111208933A (zh) 2020-05-29
US20200159461A1 (en) 2020-05-21

Similar Documents

Publication Publication Date Title
JP7088897B2 (ja) データアクセス方法、データアクセス装置、機器及び記憶媒体
US9727471B2 (en) Method and apparatus for stream buffer management instructions
US10884742B2 (en) Handling unaligned load operations in a multi-slice computer processor
CN114385089B (zh) 一种基于交叉编址的动态bank存储方法、装置及电子设备
US8910136B2 (en) Generating code that calls functions based on types of memory
CN110442536B (zh) 基于对象的存储器访问中的静态标识
US11030714B2 (en) Wide key hash table for a graphics processing unit
KR102130813B1 (ko) 재구성 가능 프로세서 및 재구성 가능 프로세서를 동작하는 방법
US8539461B2 (en) Method for identifying memory of virtual machine and computer system thereof
KR102471553B1 (ko) 컴퓨팅 기기에 의해 수행되는 방법, 장치, 기기 및 컴퓨터 판독가능 저장 매체
US9003364B2 (en) Overriding system attributes and function returns in a software subsystem
US8122205B2 (en) Structured virtual registers for embedded controller devices
US11210092B2 (en) Servicing indirect data storage requests with multiple memory controllers
TW201317780A (zh) 虛擬機器記憶體的鑑識方法與電腦系統
US20240184454A1 (en) Storage device and operating method of the same
US11734005B2 (en) Processor with split read
KR20230101878A (ko) 범위 지정자에 기초한 필터링
CN117707641A (zh) 一种线程级动态库的链接方法、装置、操作系统及设备
KR20230108206A (ko) 그래프기계학습 가속화를 지원하는 계산형스토리지
CN114490118A (zh) 一种基于共享内存的可跨设备的传感器数据管理方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191120

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201111

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201117

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20210720

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20211018

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211119

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20211119

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20211119

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20211214

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20211221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220520

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220609

R150 Certificate of patent or registration of utility model

Ref document number: 7088897

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150