JP2024521963A - データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体 - Google Patents

データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体 Download PDF

Info

Publication number
JP2024521963A
JP2024521963A JP2023576158A JP2023576158A JP2024521963A JP 2024521963 A JP2024521963 A JP 2024521963A JP 2023576158 A JP2023576158 A JP 2023576158A JP 2023576158 A JP2023576158 A JP 2023576158A JP 2024521963 A JP2024521963 A JP 2024521963A
Authority
JP
Japan
Prior art keywords
instruction
access
instructions
address
merge
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
Application number
JP2023576158A
Other languages
English (en)
Inventor
俊 張
星輝 李
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 Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Publication of JP2024521963A publication Critical patent/JP2024521963A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3836Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
    • G06F9/3853Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution of compound instructions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/34Addressing or accessing the instruction operand or the result ; Formation of operand address; Addressing modes
    • G06F9/35Indirect addressing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Advance Control (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Executing Machine-Instructions (AREA)
  • Memory System (AREA)

Abstract

本開示は、データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体を提供し、ここで、前記方法は、複数の処理予定命令を取得し、各前記処理予定命令がアクセス予定アドレスを含むことと、前記複数の処理予定命令におけるマージ予定命令を決定し、前記マージ予定命令をマージ処理してマージ命令を取得することと、前記マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うこととを含み、これにより、命令のオーバーヘッドを低減し、命令処理の効率を向上させ、電子デバイスの性能を効果的に向上させることができる。【選択図】図2

Description

(関連出願の相互引用)
本願は、出願番号202111543913.4、出願日2021/12/16の中国特許出願に基づいて提出され、この中国特許出願の優先権を要求し、この中国特許出願のすべての内容はここで参考として本願を導入する。
本開示は、電子デバイス技術分野に関し、特に、データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体に関する。
技術の発展に伴い、電子部品工業連合会(Joint Electron Device Engineering Council、JEDEC)プロトコルに基づくメモリ(例えば、Nand flash)は、モバイル端末などの電子デバイスに広く応用されている。
現在、電子デバイス上のプロセスに処理予定命令を生成した後、該処理予定命令をJEDECプロトコルに基づくメモリに送信し、このメモリで該処理予定命令を処理し、即ち、処理予定命令のアクセス予定アドレスへのアクセス、即ちデータの読み書きを行う。
しかし、処理予定命令の数が複数の場合、処理予定命令を1つずつ該メモリに送信する必要があり、命令オーバーヘッドの増加を招き、メモリは、処理予定命令を1つずつ処理することしかできず、命令処理の効率を低下させ、電子デバイスの性能に影響を与える。
本開示は、これに対し、電子デバイスの性能を効率的に向上させることができるデータアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体を提供する。
本開示の実施例の第1の態様は、電子デバイスに応用されるデータアクセス方法を提供し、前記方法は、
複数の処理予定命令を取得し、各前記処理予定命令がアクセス予定アドレスを含むことと、
前記複数の処理予定命令におけるマージ予定命令を決定し、前記マージ予定命令をマージ処理してマージ命令を取得することと、
前記マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うこととを含む。
任意選択で、前記複数の処理予定命令におけるマージ予定命令を決定することは、
第1の命令を取得し、前記第1の命令が前記処理予定命令のいずれかであることと、
前記第1の命令以外の処理予定命令をトラバースして第2の命令を取得し、前記第2の命令のアクセス予定アドレスと前記第1の命令のアクセス予定アドレスとが、間接的に連続しており、前記第2の命令のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して前記第1の命令のアクセス予定アドレスに連続していないことと、
前記第2の命令と前記第1の命令が第1の所定のマージ条件を満たしていることに応答し、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定することとを含む。
任意選択で、前記第2の命令と前記第1の命令が第1の所定のマージ条件を満たしていることに応答し、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定することは、
記憶間隔を取得し、及び/又は、現在のアクセス総データ量を取得し、前記記憶間隔が前記第1の命令のアクセス予定アドレスと前記第2の命令のアクセス予定アドレスとの距離を示し、前記現在のアクセス総データ量が全てのマージ予定命令に対応するアクセス予定データ量の和を示すことと、
前記記憶間隔が第1の所定の閾値よりも小さく、及び/又は、前記現在のアクセス総データ量が第2の所定の閾値よりも小さい場合、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定することとを含む。
任意選択で、前記方法は、さらに、
前記現在のアクセス総データ量が前記第2の所定の閾値以上である場合、前記第1の命令以外の処理予定命令のトラバースを停止することを含む。
任意選択で、前記方法は、さらに、
第1の時間長を取得し、前記第1の命令に対応する第1の時間閾値を取得し、前記第1の時間長が第1の命令の取得の決定から開始し、現在の時刻までの時間長を示すことと、
前記第1の時間長が第1の時間閾値未満であることに応答し、前記第1の命令以外の処理予定命令のトラバースを継続することと、
前記第1の時間長が前記第1の時間閾値以上であることに応答し、前記第1の命令以外の処理予定命令のトラバースを停止することとを含む。
任意選択で、前記方法は、さらに、
前記第2の命令のアクセス予定アドレスと前記第1の命令のアクセス予定アドレスとの差分値を取得し、前記アクセス予定アドレスが論理アドレスであることと、
所定の記憶単位の大きさを取得することと、
前記差分値と前記所定の記憶単位の大きさに基づいて、前記記憶間隔を取得することとを含む。
任意選択で、前記方法は、さらに、
第1の命令を取得し、前記第1の命令が前記処理予定命令のいずれかであることと、
前記第1の命令以外の処理予定命令をトラバースすることと、
現在にトラバースされる処理予定命令及び前記第1の命令が第2の所定のマージ条件を満たしていることに応答し、前記現在にトラバースされる処理予定命令及び前記第1の命令を前記マージ予定命令として決定することとを含む。
任意選択で、前記方法は、さらに、
前記処理予定命令を所定の命令キューに保存することと、
前記所定の命令キューにおいて、
前記処理予定命令に対応する第2の時間長が第2の時間閾値よりも大きく、前記第2の時間長が前記所定の命令キューにおける前記処理予定命令の保存時間長を示すこと、
前記処理予定命令が所定の命令キューにおける設定位置に位置し、前記設定位置がキューの最初位置又はキューの最終位置であることのうちの少なくとも1つの条件を満たしている処理予定命令を前記第1の命令とすることとを含む。
任意選択で、前記複数のマージ予定命令をマージ処理してマージ命令を取得することは、
各マージ予定命令のアクセス予定アドレスに基づいてマージ処理結果を生成し、前記マージ処理結果を設定命令フォーマットでカプセル化して前記マージ命令を取得することを含む。
任意選択で、前記方法は、さらに、
各前記マージ予定命令に対応するアクセス予定データ量をそれぞれ取得することと、
各前記マージ予定命令に対応するアクセス予定データ量をマージ処理結果にそれぞれ追加することとを含む。
本開示の実施例の第2の態様は、電子デバイスに応用されるデータアクセス装置を提供し、前記装置は、命令取得モージュルと、命令マージモージュルと、命令送信モージュルとを含み、
命令取得モージュルは、複数の処理予定命令を取得するように構成され、各前記処理予定命令がアクセス予定アドレスを含み、
命令マージモージュルは、前記複数の処理予定命令におけるマージ予定命令を決定し、前記マージ予定命令をマージ処理してマージ命令を取得するように構成され、
命令送信モージュルは、前記マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うように構成される。
任意選択で、前記命令マージモージュルは、具体的に、
第1の命令を取得し、前記第1の命令が前記処理予定命令のいずれかであり、
前記第1の命令以外の処理予定命令をトラバースして第2の命令を取得し、前記第2の命令のアクセス予定アドレスと前記第1の命令のアクセス予定アドレスとが、間接的に連続しており、前記第2の命令のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して前記第1の命令のアクセス予定アドレスに連続していなく、
前記第2の命令と前記第1の命令が第1の所定のマージ条件を満たしていることに応答し、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定するように構成される。
任意選択で、前記命令マージモージュルは、さらに、
記憶間隔を取得し、及び/又は、現在のアクセス総データ量を取得し、ここで、前記記憶間隔が前記第1の命令のアクセス予定アドレスと前記第2の命令のアクセス予定アドレスとの距離を示し、ここで、前記現在のアクセス総データ量が全てのマージ予定命令に対応するアクセス予定データ量の和を示し、
前記記憶間隔が第1の所定の閾値よりも小さく、及び/又は、前記現在のアクセス総データ量が第2の所定の閾値よりも小さい場合、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定するように構成される。
任意選択で、前記命令マージモージュルは、さらに、
前記現在のアクセス総データ量が前記第2の所定の閾値以上である場合、前記第1の命令以外の処理予定命令のトラバースを停止するように構成される。
任意選択で、前記命令マージモージュルは、さらに、
第1の時間長を取得し、前記第1の命令に対応する第1の時間閾値を取得し、前記第1の時間長が第1の命令の取得の決定から開始し、現在の時刻までの時間長を示し、
前記第1の時間長が第1の時間閾値未満であることに応答し、前記第1の命令以外の処理予定命令のトラバースを継続し、
前記第1の時間長が前記第1の時間閾値以上であることに応答し、前記第1の命令以外の処理予定命令のトラバースを停止するように構成される。
任意選択で、前記命令マージモージュルは、さらに、
前記第2の命令のアクセス予定アドレスと前記第1の命令のアクセス予定アドレスとの差分値を取得し、前記アクセス予定アドレスが論理アドレスであり、
所定の記憶単位の大きさを取得し、
前記差分値と前記所定の記憶単位の大きさに基づいて、前記記憶間隔を取得するように構成される。
任意選択で、前記命令マージモージュルは、具体的に、
第1の命令を取得し、前記第1の命令が前記処理予定命令のいずれかであり、
前記第1の命令以外の処理予定命令をトラバースし、
現在にトラバースされる処理予定命令及び前記第1の命令が第2の所定のマージ条件を満たしていることに応答し、前記現在にトラバースされる処理予定命令及び前記第1の命令を前記マージ予定命令として決定するように構成される。
任意選択で、前記命令マージモージュルは、さらに、
前記処理予定命令を所定の命令キューに保存し、
前記所定の命令キューにおいて、
前記処理予定命令に対応する第2の時間長が第2の時間閾値よりも大きく、前記第2の時間長が前記所定の命令キューにおける前記処理予定命令の保存時間長を示すこと、
前記処理予定命令が所定の命令キューにおける設定位置に位置し、前記設定位置がキューの最初位置又はキューの最終位置であることのうちの少なくとも1つの条件を満たしている処理予定命令を前記第1の命令とするように構成される。
任意選択で、前記命令マージモージュルは、具体的に、
各マージ予定命令のアクセス予定アドレスに基づいてマージ処理結果を生成し、前記マージ処理結果を設定命令フォーマットでカプセル化して前記マージ命令を取得するように構成される。
任意選択で、前記命令マージモージュルは、さらに、
各前記マージ予定命令に対応するアクセス予定データ量をそれぞれ取得し、
各前記マージ予定命令に対応するアクセス予定データ量をマージ処理結果にそれぞれ追加するように構成される。
本開示の実施例の第3の態様は、プロセッサにより実行されたときに上記の第1の態様のいずれかに記載のデータアクセス方法のステップを実現するコンピュータプログラムが記憶されている一時的なコンピュータ可読記憶媒体を提供する。
本開示の実施例の第4の態様は、プロセッサと、プロセッサが実行可能な命令を格納するためのメモリと、を含むデータアクセス装置を提供し、
前記プロセッサは、
複数の処理予定命令を取得し、各前記処理予定命令がアクセス予定アドレスを含み、
前記複数の処理予定命令におけるマージ予定命令を決定し、前記マージ予定命令をマージ処理してマージ命令を取得し、
前記マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行う。
本開示の実施例の第5の態様は、プロセッサによって実行されると、上記第1の態様のいずれかに記載のデータアクセス方法のステップを実現するコンピュータプログラム含むコンピュータプログラム製品を提供する。
本開示の実施例が提供する技術方案は、以下の有益な効果を実現する。複数の処理予定命令を得る場合に、複数の処理予定命令におけるマージ予定命令を決定し、即ちマージ可能な少なくとも2つの処理予定命令を決定し、決定されたマージ予定命令をマージし、マージ命令を得て、命令の数を減少させ、それによって命令のオーバーヘッドを減少させることができる。マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うことにより、1つの命令に基づいて複数のアクセス予定アドレスにアクセスすることができ、即ち複数の処理予定命令を同時に処理することができ、命令処理の効率を高め、それによって電子デバイスの性能を効果的に高めることができる。
なお、以上の一般的な説明及び後述の詳細な説明は例示的及び解釈的なものにすぎず、本開示を限定するものではない。
ここで図面は明細書に組み込まれ、本開示に適合する実施例を示し、明細書とともに本開示の原理を説明するために使用される。
本開示の実施例におけるファイルの位置レイアウトを示す模式図である。 本開示の実施例におけるデータアクセス方法のフローチャートである。 本開示の実施例における順序読み書きプロセスの模式図である。 本開示の実施例における他のデータアクセス方法のフローチャートである。 本開示の実施例におけるランダム読み書きプロセスの模式図である。 本開示の実施例における他のランダム読み書きプロセスの模式図である。 本開示の実施例におけるデータアクセス装置のブロック図である。 本開示の実施例におけるデータアクセス装置の構成図である。
ここでは、図面に示される例示的な実施例について詳細に説明する。以下の説明が図面に関連する場合、別段の表現がない限り、異なる図面における同一の数字は同一又は類似の要素を表す。以下の例示的な実施例に記載される実施例は、本開示と一致するすべての実施例を代表するものではない。対照的に、これらは、添付の特許請求の範囲に詳細に記載された、本開示のいくつかの態様と一致する装置及び方法の例にすぎない。
本開示で使用される用語は、特定の実施例を記述するためだけのものであり、本開示を限定することを意図するものではない。本開示及び添付の特許請求の範囲で使用される単数形の「1つ」、「前記」、及び「該」は、文脈が他の意味を明確に示さない限り、多数の形を含むことも意図される。本明細書で使用される用語「及び/又は」は、関連付けられたリストされた1つ以上のアイテムの任意又はすべての可能な組み合わせを意味し、含むことも理解されるべきである。
本開示では、様々な情報を記述するために第1、第2、第3などの用語を使用することができるが、これらの情報はこれらの用語に限定されるべきではないことを理解されたい。これらの用語は、同じタイプの情報を互いに区別するためにのみ使用される。例えば、本開示の範囲を逸脱しない場合、第1の情報を第2の情報と呼ぶこともでき、同様に、第2の情報を第1の情報と呼ぶこともできる。文脈によっては、ここで使用されている「場合」という言葉は、「と」又は「時」又は「決定に応答する」と解釈することができる。
従来の技術では、電子デバイス上のプロセスに生成された処理予定命令を取得した後、該処理予定命令をJEDECプロトコルに基づくメモリに送信し、このメモリで該処理予定命令を処理し、即ち、処理予定命令のアクセス予定アドレスへのアクセスを行う。
ここで、JEDECプロトコルに基づくメモリ、即ちメモリチップは、ブロックを単位でアクセスする。図1に示すように、電子デバイスのファイルシステム(例えば、F2FS(Flash Friendly File System))におけるデータの記憶単位は、4KBであり、ファイル1のサイズは、24KBであり、ファイル1のデータをLBA1~LBA6の位置、アドレス1~6にそれぞれ置くことができる。
任意選択で、JEDECプロトコルに基づくNand flashメモリは、EMMC(Embedded Multi Media Card)記憶チップ、UFS(Universal Flash Storage)記憶チップを含む。
しかし、処理予定命令の数が複数の場合、処理予定命令を1つずつJEDECプロトコルに基づくメモリに送信する必要があり、命令オーバーヘッドの増加、即ち関連命令をメモリに送信するために必要なリソースが増加し、JEDECプロトコルに基づくメモリは、処理予定命令を1つずつ処理することしかできず、命令処理の効率を低下させ、電子デバイスの性能に影響を与える。
そこで、上述の問題に対して、本開示の実施例は、複数の処理予定命令を取得した後、処理予定命令をマージして、複数の処理予定命令のアクセス予定アドレスを含むマージ命令を得るデータアクセス方法を提案する。マージ命令をJEDECプロトコルに基づくメモリに送信し、命令のオーバーヘッドを削減する。このJEDECプロトコルに基づくメモリは、マージ命令における複数のアクセス予定アドレスに基づいてアクセスし、処理予定命令の同時処理を実現し、命令処理の効率を高め、それによって電子デバイスの性能を高め、即ちシステム全体のIO(Input/Output、入出力)性能を高める。
図2に示すように、図2は、本開示の例示的な実施例におけるデータアクセス方法のフローチャートであり、この方法は、電子デバイスに適用され、具体的には、この方法は、電子デバイスのプロセッサに適用され、この方法は、以下のステップを含む。
S201において、複数の処理予定命令を取得する。ここで、各処理予定命令は、アクセス予定アドレスを含む。
S202において、複数の処理予定命令におけるマージ予定命令を決定し、マージ予定命令をマージ処理してマージ命令を取得する。
本開示の実施例では、電子デバイスは、マルチタスク並列処理をサポートし、実行中、電子デバイスの各プロセスは、同時に各種のデータ読み書き動作要求、即ち処理予定命令を生成する。プロセスによって生成された処理予定命令、即ち複数の処理予定命令を取得した後、複数の処理予定命令からマージ可能な処理予定命令を決定し、即ち、少なくとも2つの処理予定命令をマージ予定命令とし、マージ予定命令をマージ処理し、即ち複数の命令を1つの命令にマージし、マージされた命令をマージ命令とし、このマージ命令は、複数のアクセス予定アドレスを含み、該複数のアクセス予定アドレスは、各マージ予定命令のアクセス予定アドレスを含む。
ここで、処理予定命令は、アクセス予定アドレスを含み、即ち、各処理予定命令に対応するアクセス予定アドレスがある。このアクセス予定アドレスは、アクセスすべきデータアドレス、即ちデータの読み書きが必要なアドレスを示す。
任意選択で、アクセス予定アドレスは、論理アドレスである。
S203において、マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行う。
この実施例では、マージ命令における各マージ命令のアクセス予定アドレスに基づいてデータアクセスを行い、即ち、該マージ命令中の各マージ命令のアクセス予定アドレスにアクセスして、対応するデータ読み書き操作を行うことにより、単一の命令を利用して複数の処理予定命令のアクセス予定アドレスにアクセスすることができ、複数の命令に基づいて複数のアクセス予定アドレスにアクセスする必要がなく、命令の同時処理を実現することができ、データアクセスの効率を向上させる。
任意選択で、マージ命令に基づいてデータアクセスを行う場合、メモリを使用してデータアクセスを行うことができ、即ち、マージ命令をターゲットメモリに送信することで、ターゲットメモリがマージ命令における各マージ命令のアクセス予定アドレスに基づいてデータアクセスを行うことができる。
具体的には、マージ命令を得た後、該マージ命令をターゲットメモリに送信する。ターゲットメモリは、該マージ命令を実行し、即ちマージ命令を解析し、マージ命令中の複数のアクセス予定アドレスを得て、該マージ命令中の複数のアクセス予定アドレスにアクセスして、対応するデータの読み書き操作を行い、命令処理の効率を高め、ターゲットメモリの同時処理能力を十分に利用して、ターゲットメモリの同時性を高める。
ここで、ターゲットメモリは、JEDECプロトコルに基づくメモリ、例えば、Nand flashを含む。具体的には、ターゲットメモリは、EMMC(Embedded Multi Media Card)メモリチップ、UFS(Universal Flash Storage)メモリチップなどである。
任意選択で、電子デバイスは、モバイル端末(例えば、携帯電話、タブレットなど)、端末装置(例えば、コンピュータ、サーバ)などのターゲットメモリを含む製品を含む。
なお、ターゲットメモリへのアクセス方法は、ランダムアクセス(即ちランダム読み書き)を含み、ランダム読み書きは、メモリへの離散ランダムなアドレスアクセスを意味する。ターゲットメモリをNand flashメモリとする場合、プロセスによって生成された処理予定命令を得た後、処理予定命令をキャッシュする。キャッシュされた処理予定命令のアクセス予定アドレスが隣接して連続したアドレスではない場合、ランダムアクセスの方法でアクセスする必要があることを示し、マルチ命令モード、即ち処理予定命令をNand flashメモリにそれぞれ送信し、即ちNand flashメモリにそれぞれアクセスし、命令のオーバーヘッドを増加させ、そしてNand flashメモリは毎回1つの処理予定命令しか処理できず、Nand flashメモリの同時処理能力を十分に利用できず、システムのランダムアクセスのスループットに影響を与える。例えば、図3に示すように、プロセスAは、アクセス予定アドレスがアドレス1(即ち、図1のアドレス1)である命令1を生成する。プロセスBは、アクセス予定アドレスがアドレス3(即ち図1のアドレス3)である命令2を生成する。プロセスCは、アクセス予定アドレスがアドレス5(即ち図1のアドレス5)である命令3を生成する。プロセスA、B、Cは、図1のファイル1の論理アドレス1、3、及び5の部分のデータにアクセスする。アドレス1、アドレス3、アドレス5は連続していないため、マージすることはできず、Nand flashメモリに命令1、命令2、命令3をそれぞれ送信するしかない。本開示では、アクセスアドレスが連続しない処理予定命令に対してマージ処理を行うことにより、複数の処理予定命令をマージして1つの命令を得て、即ちマージ命令を得て、命令のオーバーヘッドを低減する。該マージ命令をNand flashメモリに送信して、Nand flashメモリが複数のアクセス予定アドレスに一度にアクセスできるようにして、命令処理の効率を向上させる。
以上の説明から、複数の処理予定命令を得る場合、複数の処理予定命令のうちのマージ予定命令を決定し、即ちマージ可能な少なくとも2つの処理予定命令を決定し、決定されたマージ予定命令をマージし、マージ命令を得て、命令の数を減らし、命令のオーバーヘッドを減らすことができる。マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行い、1つの命令に基づいて複数の処理予定命令のアクセス予定アドレスにアクセスできるようにし、実現される命令の同時処理、命令処理の効率を高め、それによって電子デバイスの性能を効果的に高める。
図4に示すように、図4は、本開示の一実施例における他のデータアクセス方法を示すフローチャートである。図2の実施例に加えて、ランダムアクセスを行う場合には、図4に示すように、アクセスアドレスの非連続的な命令をマージすることができ、以下に、特定の実施例に関連してこのプロセスを説明し、該方法は、以下のステップを含む。
S401において、複数の処理予定命令を取得する。ここで、各処理予定命令は、アクセス予定アドレスを含む。
S402において、第1の命令を取得する。ここで、第1の命令は、処理予定命令のいずれかの命令である。
本開示の実施例では、取得された処理予定命令から1つの処理予定命令を選定し、選定された処理予定命令を第1の命令とする。
任意選択で、データアクセスの効率を向上するために、処理予定命令を取得した後、処理予定命令を所定の命令キューに保存して命令のキャッシュを行うことができ、処理予定命令のマージを容易にすることができる。処理予定命令を保存する所定の命令キューから第1の命令として1つの処理予定命令を選択し、即ち第1の命令を決定する。ここで、第1の命令を決定するプロセスは、具体的には、処理予定命令を所定の命令キューに保存することである。所定の命令キューのうち、以下の少なくとも1つの条件を満たす処理予定命令を第1の命令とする。処理予定命令に対応する第2の時間長が第2の時間閾値よりも大きい。ここで、第2の時間長は、所定の命令キューにおける処理予定命令の保存時間を示す。処理予定命令は、所定の命令キュー内の設定位置に位置する。ここで、設定位置は、キューの最初位置又はキューの最終位置である。
ここで、所定の命令キュー内の処理予定命令は、所定のアドレスソート規則に基づいて配列されていてもよい。所定のアドレスソート規則には、アドレスが大から小へ順序付けされた規則(即ち、所定の命令キュー中のアクセス命令のアクセス予定アドレスが大から小へ順序付けされたもの)、アドレスが小から大へ順序付けされた規則(即ち、所定の命令キュー中のアクセス命令のアクセス予定アドレスが小から大へ順序付けされたもの)などが含まれる。
任意選択で、条件を満たす処理予定命令の数が複数の場合、第2の時間長が最長である処理予定命令を第1の命令とすることができ、該第2の時間長は、処理予定命令の所定の命令キューへの保存する時間長を示す。ここで、論理アドレスは、順次に命名されており、例えば、ターゲットメモリ内には1000個の記憶ブロックがあり、該1000個のメモリブロックに1~1000個の名前が付けられており、対応する論理アドレスは、1~1000である。アクセス予定アドレスは、論理アドレスであるため、アクセス予定アドレスをアクセス予定アドレスの大きさに基づいてソートすることができ、アクセス予定アドレスの順序に基づいて処理予定命令をソートすることができる。
任意選択で、設定位置は、他の位置であってもよく、ここでは制限しない。
任意選択で、所定の命令キューから第1の命令を決定する条件は、他の条件、例えば、処理予定命令に対応する第2の時間長が最も長い、即ち、所定の命令キューのうち保存時間が最も長い処理予定命令を第1の命令としてもよい。
任意選択で、処理予定命令を取得した後、処理予定命令に対して相関処理(例えば、命令フォーマットが仕様かどうか、メモリが空いているかどうかを判断するなど)を行い、処理された処理予定命令を所定の命令キューに保存する。
S403において、第1の命令以外の処理予定命令をトラバースして第2の命令を取得する。ここで、第2の命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとは、間接的に連続しており、且つ、第2の命令のアクセス予定アドレスは、他の処理予定命令のアクセス予定アドレスを介して第1の命令のアクセス予定アドレスに連続しない。
本開示の実施例では、所定の命令キュー内の第1の命令以外の処理予定命令をトラバースして、それ以外の処理予定命令の中に第1の命令に対応するアドレスが連続しない第2の命令が存在するかどうかを決定することにより、第2の命令が存在すると決定した場合、第2の命令に基づいてマージ予定命令を決定し、即ち、第1の命令と第2の命令がマージ予定命令として決定される。例えば、第1の命令は、所定の命令キュー内のキューの最初の位置にある命令であり、所定の命令キューの他の位置にある命令をトラバースして、所定の命令キュー内の他の位置にある命令が第2の命令が存在するかどうかを決定する。
ここで、第2の命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとは、間接的に連続しており、且つ、第2の命令のアクセス予定アドレスは、他の処理予定命令のアクセス予定アドレスを介して第1の命令のアクセス予定アドレスに連続しない。
ここで、間接的に連続は、第2の命令のアクセス予定アドレスが他の論理アドレスを介して第1の命令のアクセス予定アドレスに連続することを示し、即ち、第2の命令のアクセス予定アドレスは、第1の命令のアクセス予定アドレスに連続しない。例えば、現在にトラバースされる処理予定命令のアクセス予定アドレスは、4であり、第1の命令のアクセス予定アドレスが1であり、現在にトラバースされる処理予定命令のアクセス予定アドレスは、他の論理アドレス(即ち論理アドレス2及び3)を介して第1の命令のアクセス予定アドレスに連続する必要がある場合、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとは、間接的に連続すると決定する。
ここで、現在にトラバースされる処理予定命令のアクセス予定アドレスは、2であり、第1の命令のアクセス予定アドレスは、1である場合、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとは、連続すると決定する。
本開示の実施例では、第1の命令以外の処理予定命令をトラバースしている過程において、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが間接的に連続しているかどうかを決定し、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが間接的に連続していない場合、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが連続することを示し、現在にトラバースされる処理予定命令が第1の命令に対応する順序アクセス命令であり、即ち、第2の命令でない。現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが間接的に連続している場合、現在にトラバースされる処理予定命令のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して第1の命令のアクセス予定アドレスに連続するかどうかを判断し、現在にトラバースされる処理予定命令のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して第1の命令のアクセス予定アドレスに連続する場合、現在にトラバースされる処理予定命令が第2の命令でないと決定し、現在にトラバースされる処理予定命令のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して第1の命令のアクセス予定アドレスに連続しない場合、現在にトラバースされる処理予定命令が第2の命令であると決定する。例えば、処理予定命令は、命令1、命令2及び命令3を含む。命令1のアクセス予定アドレスが1、命令2のアクセス予定アドレスが2、命令3のアクセス予定アドレスが3である。命令3が現在にトラバースされる処理予定命令であり、命令1が第1の命令である。命令3のアクセス予定アドレスと命令1のアクセス予定アドレスとが連続しなく、即ち間接的に連続していると決定し、次に、命令3のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して命令1のアクセス予定アドレスに連続するかどうかを継続して判断する。命令3のアクセス予定アドレスが命令2のアクセス予定アドレスを介して命令1のアクセス予定アドレスに連続するため、命令3が第2の命令でないと決定する。
任意選択で、処理予定命令が所定のアドレスソート規則に従って配列する場合、第1の命令以外の処理予定命令をトラバースする過程において、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが連続するかどうかを決定し、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが連続している場合、現在にトラバースされる処理予定命令が第1の命令に対応する順序アクセス命令であり、第2の命令ではなく、現在にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが連続しない場合、現在にトラバースされる処理予定命令に対応するアクセス予定アドレスと直前にトラバースされる処理予定命令のアクセス予定アドレスとが連続しているかどうかを継続して判断する。現在にトラバースされる処理予定命令に対応するアクセス予定アドレスと直前にトラバースされる処理予定命令のアクセス予定アドレスとが連続する場合、直前にトラバースされる処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが連続し、又は、トラバースされた処理予定命令のアクセス予定アドレスを介して第1の命令のアクセス予定アドレスとが連続している場合、現在にトラバースされる処理予定命令が第1の命令に対応する順序アクセスデータ命令であり、第2の命令でないと決定し、現在にトラバースされる処理予定命令に対応するアクセス予定アドレスと直前にトラバースされる処理予定命令のアクセス予定アドレスとが連続しない場合、現在にトラバースされる処理予定命令が第2の命令であると決定する。
任意選択で、ターゲットメモリに対応するアクセス方法には、順序アクセス(即ち、シーケンシャル読み書き)も含まれる。ここで、順序アクセスとは、メモリへの連続的なアドレスアクセスを意味し、ランダム読み書きとは、メモリへの離散的でランダムなアドレスアクセスを意味する。所定の命令キューにおける第1の命令以外の処理予定命令のいずれも第2の命令でないと決定した場合、それ以外の処理予定命令がすべて第1の命令の順序アクセス命令であることを表明し、即ち、それ以外の処理予定命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとが順序アクセス可能であることを表明し、順序アクセス規則に従って、この第1の命令及びアクセス予定アドレスと第1の命令のアクセス予定アドレスとが連続する処理予定命令をマージ予定命令とし、マージ予定命令をマージ処理して、マージ命令を得る。マージ命令における各マージ命令のアクセス予定アドレスに基づいてデータアクセスを行う。
ここで、順序アクセス規則は、実際の需要に基づいて定義することができ、例えば、第1の命令以外のすべて又は一部の処理予定命令をマージ予定命令とすることができる。
具体的には、データの読み書きアクセスを効率化するために、各プロセスで生成された処理予定命令をキャッシュすることができる。ターゲットメモリをNand flashメモリとする場合、キャッシュされた処理予定命令のアクセス予定アドレスが隣接して連続するアドレスである場合、順序アクセスでアクセスすることができることを表明し、連続して隣接するアドレス、即ち処理予定命令をマージして、マージ後の処理予定命令、即ちマージ後のアドレスに基づいてNand flashメモリが順序アクセスするようにすることができ、それによって少量の命令を最大限に使用することができ、毎回の命令と前後の命令がアクセスするアドレスが連続していることを保証し、メモリ処理データの同時性を高め、命令のオーバーヘッドを削減する。例えば、図5に示すように、プロセスAは、命令1を生成し、この命令1におけるアクセス予定アドレスは、アドレス1(即ち図1のアドレス1)であり、プロセスBは、命令2を生成し、この命令2におけるアクセス予定アドレスは、アドレス2(即ち図1のアドレス2)であり、プロセスCは、命令3を生成し、この命令3におけるアクセス予定アドレスは、アドレス3(即ち図1のアドレス3)である。プロセスA、B、Cは、図1のファイル1の論理アドレス1、2、及び3の部分のデータにアクセスする。アドレス1、アドレス2、アドレス3は隣接して連続しているため、命令1、命令2、命令3をマージして、アドレス1、アドレス2及びアドレス3を含む命令、即ちrequest Aを得て、このrequest AをNand flashメモリに送信して、Nand flashメモリがrequest Aに基づいて順序アクセスすることができる。
S404において、第2の命令及び第1の命令が第1の所定のマージ条件を満たしていることに応答し、第2の命令及び第1の命令をマージ予定命令として決定する。
本開示の実施例では、現在にトラバースされている処理予定命令が第2の命令であると決定した場合、第2の命令がマージ予定命令であるかどうか、即ち、第2の命令と第1の命令が第1の所定のマージ条件を満たすかどうかを継続して判断する。第2の命令と第1の命令が第1の所定のマージ条件を満たしている場合、第2の命令、即ち現在にトラバースしている処理予定命令と第1の命令とをマージすることができ、即ち同時アクセスができることを示し、第2の命令と第1の命令をマージ予定命令とし、第1の命令以外の処理予定命令、即ち次の第1の命令以外の処理予定命令を継続してトラバースし、次の処理予定命令が第2の命令であるかどうかを決定する。
第2の命令及び第1の命令が第1の所定のマージ条件を満たしていないことに応答し、第1の命令以外の処理予定命令を継続してトラバースして、次の処理予定命令が第2の命令であるかどうかを決定する。
任意選択で、第1の命令以外の処理予定命令を継続してトラバースする場合、第1の命令のキャッシュ時間が第1の命令の実行を待つことができる時間を超えるかどうかを決定し、即ち第1の時間長を取得し、第1の命令に対応する第1の時間閾値を取得する必要がある。ここで、第1の時間長は、第1の命令の取得の決定から開始し、現在の時刻までの時間長を示す。第1の時間長が第1の時間閾値未満であることに応答して、命令の実行を待つことができる時間、即ち命令がキャッシュできる時間をまだ超えていないことを示し、第1の命令以外の処理予定命令を継続してトラバースする。第1の時間長が第1の時間閾値以上であることに応答して、命令のキャッシュの時間、即ち命令の実行を待つことができる時間を超えたことを示し、第1の命令以外の処理予定命令のトラバースを停止し、トラバースされて決定されたマージ予定命令をマージする。
ここで、第1の時間閾値は、命令実行の待ち時間の上限を示す。第1の時間閾値は、プロセスに対応する関連アプリケーションがリアルタイム性に対する要件に基づいて設定することができ、命令実行の待ち時間の上限、即ち命令がキャッシュできることを示す最長時間を表す。
具体的には、プロセスによってリアルタイム性の要求が異なるため、第1の命令に対応するプロセスに基づいて第1の時間閾値を決定することができ、即ち、第1の命令に対応する第1の時間閾値を取得した場合、第1の命令に対応するターゲットプロセス、即ち、第1の命令を生成するプロセスを取得し、ターゲットプロセスに対応するプロセスタイプ(例えば、ビデオアプリケーションタイプ、メモ帳アプリケーションタイプ)を決定することができる。プロセスタイプに対応する時間閾値を、第1の命令に対応する第1の時間閾値とする。
任意選択で、第2の命令及び第1の命令が第1の所定のマージ条件を満たしていることに応答し、第2の命令及び第1の命令をマージ予定命令として決定することは、
記憶間隔を取得し、及び/又は、現在のアクセス総データ量を取得することを含む。ここで、記憶間隔は、第1の命令のアクセス予定アドレスと第2の命令のアクセス予定アドレスとの距離を示す。現在のアクセス総データ量は、決定された全てのマージ予定命令に対応するアクセス予定データ量の和を示す。
記憶間隔が第1の所定の閾値よりも小さい、及び/又は、現在のアクセス総データ量が第2の所定の閾値よりも小さい場合、第2の命令及び第1の命令がマージ予定命令であると決定する。
第1の所定のマージ条件に記憶間隔が第1の所定の閾値よりも小さいこと含まれることを例とする。記憶間隔を取得する。記憶間隔が第1の所定の閾値よりも小さいかどうかを判断する。記憶間隔が第1の所定の閾値よりも小さいことに応答し、現在にトラバースされる処理予定命令を同時にアクセスすることを示し、即ち、該第2の命令及び該第1の命令がマージ予定命令であると決定する。記憶間隔が第1の所定の閾値以上であることに応答し、現在にトラバースされる処理予定命令を同時にアクセスできないことを示し、該第2の命令がマージ予定命令でなく、第1の命令とマージすることができないと決定する。
第1の所定のマージ条件が現在のアクセス総データ量が第2の所定の閾値よりも小さいことを例とし、現在のアクセス総データ量を取得する。現在のアクセス総データ量が第2の所定の閾値よりも小さいかどうかを判断する。現在のアクセス総データ量が第2の所定の閾値よりも小さいことに応答し、現在にトラバースされる処理予定命令を同時にアクセスできることを示し、該第2の命令と該第1の命令がマージ予定命令であると決定する。現在のアクセス総データ量が第2の所定の閾値以上であることに応答し、現在にトラバースされる処理予定命令を同時にアクセスできないことを示し、該第2の命令がマージ予定命令でないと決定する。
第1の所定のマージ条件に記憶間隔が第1の所定の閾値よりも小さい及び現在のアクセス総データ量が第2の所定の閾値よりも小さいことが含まれることを例とし、記憶間隔及び現在のアクセス総データ量を取得する。記憶間隔が第1の所定の閾値よりも小さいかどうかを判断し、また、現在のアクセス総データ量が第2の所定の閾値よりも小さいかどうかを判断する。記憶間隔が第1の所定の閾値よりも小さい及び現在のアクセス総データ量が第2の所定の閾値よりも小さいことに応答し、現在にトラバースされる処理予定命令を同時にアクセスできることを示し、第2の命令を得て、該第2の命令及び該第1の命令がマージ予定命令であると決定する。記憶間隔が第1の所定の閾値以上であり、及び/又は、現在のアクセス総データ量が第2の所定の閾値以上であることに応答し、現在にトラバースされる処理予定命令を同時にアクセスできないことを示し、該第2の命令がマージ予定命令でないと決定する。
ここで、第1の所定の閾値は、マージアドレスの距離上限を示し、該マージアドレスは、マージされた2つの論理アドレス間の差を表す。第1の所定の閾値は、メモリ内のキャッシュサイズに基づいて決定され、アクセス毎のデータがターゲットメモリによって一度に同時に処理できるようにする。具体的には、第1の所定の閾値は、ターゲットメモリの対応するベンダーによって提供されることができ、例えば、第1の所定の閾値は、300Mであり、ターゲットメモリが300Mサイズのデータを一度にキャッシュすることができ、それによってキャッシュされたデータから対応するアドレスにアクセスすることができることを示している。
ここで、第2の所定の閾値は、一回のアクセスデータ量の上限を示し、即ち、一回の同時アクセスの最大データ量を示す。第2の所定の閾値は、ターゲットメモリのハードウェアサポートを参照する必要があり、ターゲットメモリに対応するベンダーによって提供され、第2の所定の閾値は、例えば128Kである。
任意選択で、記憶間隔を取得する前に、記憶間隔を計算する必要があり、該記憶間隔の計算は、第2の命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとの差分値を取得する。ここで、アクセス予定アドレスは、論理アドレスである。所定の記憶単位の大きさを取得する。差分値と所定の記憶単位の大きさ、つまり差分値と所定の記憶単位の大きさの積を計算し、記憶間隔を得る。例えば、第2の命令のアクセス予定アドレスは、3であり、第1の命令のアクセス予定アドレスは、1であり、所定の記憶単位の大きさが、4KBである場合、記憶間隔は、(3-1)*4KB=8KBである。
ここで、ターゲットメモリはブロック、即ち記憶ブロックを単位でアクセスされるので、この所定の記憶単位の大きさ、記憶ブロックのサイズは、例えば4KBである。
任意選択で、現在のアクセス総データ量を取得する前に、現在のアクセス総データ量を計算する必要がある。該現在のアクセス総データ量の計算プロセスは、決定された各マージ予定命令(即ち、第1の命令と第2の命令)に対応するアクセス予定データ量の和を計算し、現在のアクセス総データ量を得る。
ここで、アクセス予定データ量は、アクセスするアドレスに対応するアドレス長さを表し、それはアクセスする必要があるデータ大きさを表すことができ、例えば、アクセスするアドレスから大きさ24KBのデータを書き込むことができ、この24KBは、アクセスするデータ量であることができ、もちろん、アクセスするデータ量は、アドレスオフセットを表すこともでき、このアクセスするデータ量を通じてアクセスする必要があるデータ量を決定するだけでよい。
ここで、アクセス予定データ量は、処理予定命令から取得されるものであってもよく、即ち、処理予定命令は、アクセス予定データ量を含むものであってもよいし、独立して取得されるものであってもよく、ここでは、これを限定しない。
例えば、第1の命令は命令1であり、第1の命令以外の処理予定命令は命令2と命令3を含み、命令2がマージ予定命令であると決定した後、命令3が第2の命令であるかどうかを決定する。命令3が第2の命令である場合、記憶間隔を計算し、現在のアクセス総データ量を計算する。現在のアクセス総データ量を計算する際に、決定されたマージ予定命令に対応するアクセス予定データ量の和、即ち命令2に対応するアクセス予定データ量と命令1に対応するアクセス予定データ量の和を計算し、現在のアクセス予定総データ量を得る。
任意選択で、第1の所定のマージ条件を満たす第1の命令と第2の命令をマージする場合、第1の所定のマージ条件を満たす第1の命令と第2の命令だけをマージしてもよいし、第1の所定のマージ条件を満たす第1の命令と第2の命令との間にある順序アクセス命令をマージしてもよい。したがって、決定されたマージ予定命令には、マージされた順序アクセス命令も含まれる。
例えば、第1の命令は命令1であり、第1の命令以外の処理予定命令は命令2と、命令3とを含み、命令1中のアクセス予定アドレスは、図1中のアドレス1であり、命令2中のアクセス予定アドレスは、図1中のアドレス2であり、命令3中のアクセス予定アドレスは、図1中のアドレス4である。第1の命令以外の処理予定命令をトラバースし、現在にトラバースしている処理予定命令は命令2であり、この命令2が命令1に対応する順序アクセス命令であることを決定し、即ち命令2中のアクセス予定アドレスが命令1に連続し、次の処理予定命令、即ち命令3をトラバースし、この命令3が第2の命令であることを決定する。現在のアクセス総データ量を計算する過程で、命令2のアクセス予定アドレスは、命令1のアクセス予定アドレスと命令3のアクセス予定アドレスの間にあるため、決定されたマージ予定命令は命令2と命令1を含み、現在のアクセス総データ量は、命令2に対応するアクセス予定データ量と命令1の対応するアクセス予定データ量の和である。
任意選択で、現在のアクセス総データ量が第2の所定の閾値以上である場合、ターゲットメモリが決定されたマージ予定命令に基づいて1回のアクセスを行う際に、必要なアクセスデータ量が上限に達していることを示しているので、命令をマージし、つまりマージ予定命令を決定する必要がなく、第1の命令以外の処理予定命令のトラバースを停止する。
任意選択で、処理予定命令からマージ予定命令を決定する時に、第1の命令を取得することができる。ここで、第1の命令は、処理予定命令のいずれかの命令である。第1の命令以外の処理予定命令をトラバースする。現在にトラバースされる処理予定命令と第1の命令とが第2の所定のマージ条件を満たしているかどうかを判断し、現在にトラバースされる処理予定命令と前記第1の命令が第2の所定のマージ条件を満たしていることに応答し、第1の命令と現在にトラバースされる処理予定命令をマージ予定命令として決定する。
ここで、第1の命令と現在トラバースされている処理予定命令が第2の所定のマージ条件を満たしているか否かを判断する過程は、上記の第1の命令と第2の命令が第1の所定のマージ条件を満たしているか否かを判断する過程と類似しており、ここで説明を省略する。
S405において、マージ予定命令をマージ処理してマージ命令を取得する。
本開示の実施例では、各マージ予定命令のアクセス予定アドレスに基づいて、マージ処理結果を生成し、マージ処理結果を設定命令フォーマットでカプセル化してマージ命令を取得する。
本開示の実施例では、マージ予定命令を決定した後、各マージ予定命令のアクセス予定アドレスに基づいて、マージ処理結果を生成し、該マージ処理結果は、各マージ予定命令のアクセス予定アドレスを含む。設定命令フォーマットに基づいて、該マージ処理結果をカプセル化してマージ命令を取得し、命令のマージを実現する。
ここで、各マージ予定命令のアクセス予定アドレスに基づいてマージ処理結果を生成する過程で、所定の構造タイプに基づいて、各マージ予定命令のアクセス予定アドレスを含むマージ処理結果を生成することができる。
ここで、所定の構造タイプには、チェーンテーブル構造タイプ、ツリー構造タイプ、配列構造タイプなどが含まれており、ユーザーは実際のニーズに応じて設定することができ、ここでは制限しない。
任意選択で、命令フォーマットは、ターゲットメモリが識別可能なフォーマット、例えば、JDECEに規定されているカスタム化Write Buffer命令フォーマットである。
任意選択で、マージ予定命令に対応するアクセス予定データ量をマージ処理結果に保存することもでき、つまり、各マージ予定命令に対応するアクセス予定データ量をそれぞれ取得することもできる。各マージ予定命令に対応するアクセス予定データ量をマージ処理結果に追加する。つまり、該マージ処理結果にはマージ予定命令に対応するアクセス予定データ量とアクセス予定アドレスが含まれる。
具体的な応用シーンを例にとると、図6に示すように、プロセスA、B、Cがファイルの論理アドレス1、3、5部分のデータにアクセスする必要がある場合、命令1、命令2、及び命令3が生成される。命令1のアクセス予定アドレスは、アドレス1であり、命令1に対応するアクセス予定データ量は、アドレス1の長さであり、命令2のアクセス予定アドレスは、アドレス3であり、命令2に対応するアクセス予定データ量は、アドレス3の長さであり、命令3のアクセス予定アドレスは、アドレス5であり、命令3に対応するアクセス予定データ量は、アドレス5の長さであり、命令1が第1の命令であり、命令2と命令3がともに第2の命令であり、命令2と命令3がともにマージ予定命令であると決定し、命令1に対応するアドレス1とアドレス1の長さ、命令2に対応するアドレス3とアドレス3の長さ、命令3に対応するアドレス5とアドレス5の長さをリストAに追加し、命令のマージを実現する。
S406において、マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行う。
この実施例では、マージ命令を得た後、マージ命令をターゲットメモリに送信して、マージ命令中の各マージ命令のアクセス予定アドレスに基づいてターゲットメモリがデータアクセスするようにする。
本開示の実施例では、ランダム読み書きシーンにおいて、即ち、第1の命令以外の処理予定命令に第2の命令が存在すると決定した場合に、第1の命令と離散アクセスに関する第2の命令とをマージ処理してマージ命令を得て、該マージ命令をターゲットメモリに記憶し、ターゲットメモリに送信する命令の数を減少させて、ランダム読み書きの命令オーバーヘッドを低減し、そして、ターゲットメモリはこのマージ命令中の複数のアクセス予定アドレスに基づいてアクセスすることができ、ターゲットメモリの同時性を高め、さらにシステムのランダム読み書きのスループットを高めることができ、即ちシステム全体のIO性能を高めることができる。
本開示の実施例では、第1の命令以外の処理予定命令に第2の命令が存在しないと決定した場合、即ち順序読み書きシーンにおいて、順序読み書き可能な命令、即ち処理予定命令をマージしてマージ命令を得て、このマージ命令をターゲットメモリに送信し、ターゲットメモリに送信される命令の数を減少させて、順序読み書きの命令オーバーヘッドを低減し、そして、目標メモリはこのマージ命令中の複数のアクセス予定アドレスに基づいて順次アクセスすることができ、メモリ処理データの同時性を高め、そしてシステムの命令オーバーヘッドを減らし、効果的にシステム全体のIO性能を高めることができる。
本開示の実施例では、アクセス予定命令を取得した後、アクセス予定命令を所定の命令キューに保存し、所定の命令キューのキューの最初位置にあるアクセス予定命令を第1の命令とし、所定の命令キューの残りのアクセス予定命令を後方にトラバースする。残りのアクセス予定命令の中にアクセス予定アドレスが連続していない第2の命令が存在するかどうかを判断し、存在する場合、ランダムアクセスが必要であることを表明し、第2の命令と第1の命令をマージして、対応するマージ命令を得て、命令の数を減らして、それによって命令のオーバーヘッドを減らす。このマージ命令をNand flashメモリに記憶して、Nand flashメモリがマージ命令中の各アクセス予定アドレスに単一アクセスできるようにして、命令の同時処理を実現して、命令処理の効率を高めて、それによって効果的にランダムアクセスのスループットを高めて、つまりシステム全体のIO性能を高める。
上述した各方法の実施例については、簡単に説明するために、一連の動作の組み合わせとして記載されているが、本開示は、本開示によれば、いくつかのステップが他の順序を採用しても、又は同時に実行されてもよいので、記載された動作の順序によって制限されない。
次に、本明細書に記載された実施例はすべて選択可能な実施例に属し、関連する動作及びモジュールは必ずしも本開示に必要ではないことを当業者は認識すべきである。
前記アプリケーション機能実現方法の実施例に対応して、本開示はさらにアプリケーション機能実現装置及び対応する端末の実施例を提供する。
図7の例示的な実施例におけるデータアクセス装置のブロック図を参照すると、装置は、命令取得モージュル710と、命令マージモージュル720と、命令送信モージュル730とを含み、
命令取得モージュル710は、複数の処理予定命令を取得するように構成される。ここで、各処理予定命令は、アクセス予定アドレスを含む。
命令マージモージュル720は、複数の処理予定命令におけるマージ予定命令を決定し、マージ予定命令をマージ処理してマージ命令を取得するように構成される。
命令送信モージュル730は、マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うように構成される。
任意選択で、命令マージモージュル720は、具体的に、
第1の命令を取得するように構成される。ここで、第1の命令は、処理予定命令のいうれかの命令である。
第1の命令以外の処理予定命令をトラバースして第2の命令を取得する。ここで、第2の命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとは、間接的に連続しており、第2の命令のアクセス予定アドレスは、他の処理予定命令のアクセス予定アドレスを介して第1の命令のアクセス予定アドレスに連続しない。
第2の命令及び第1の命令が第1の所定のマージ条件を満たしていることに応答し、第2の命令と第1の命令をマージ予定命令として決定する。
任意選択で、命令マージモージュル720は、具体的に、
記憶間隔を取得し、及び/又は、現在のアクセス総データ量を取得するように構成される。ここで、記憶間隔は、第1の命令のアクセス予定アドレスと第2の命令のアクセス予定アドレスとの距離を示す。現在のアクセス総データ量は、全てのマージ予定命令に対応するアクセス予定データ量の和を示す。
記憶間隔が第1の所定の閾値よりも小さく、及び/又は、現在のアクセス総データ量が第2の所定の閾値よりも小さい場合、第2の命令及び第1の命令をマージ予定命令として決定する。
任意選択で、命令マージモージュル720は、さらに、
第1の時間長を取得し、第1の命令に対応する第1の時間閾値を取得する。ここで、第1の時間長は、第1の命令の取得の決定から開始し、現在の時刻までの時間長を示す。
第1の時間長が第1の時間閾値により小さいことに応答し、第1の命令以外の処理予定命令を継続してトラバースする。
第1の時間長が第1の時間閾値以上であることに応答し、第1の命令以外の処理予定命令のトラバースを停止する。
任意選択で、命令マージモージュル720は、さらに、
現在のアクセス総データ量が第2の所定の閾値以上である場合、第1の命令以外の処理予定命令のトラバースを停止する。
任意選択で、命令マージモージュル720は、さらに、
第2の命令のアクセス予定アドレスと第1の命令のアクセス予定アドレスとの差分値を取得する。ここで、アクセス予定アドレスは、論理アドレスである。
所定の記憶単位の大きさを取得する。
差分値と所定の記憶単位の大きさに基づいて、記憶間隔を取得する。
任意選択で、命令マージモージュル720は、具体的に、
第1の命令を取得する。ここで、第1の命令は、処理予定命令のいずれかの命令である。
第1の命令以外の処理予定命令をトラバースする。
現在にトラバースされる処理予定命令と前記第1の命令とが第2の所定のマージ条件を満たしていることに応答し、第1の命令及び現在にトラバースされる処理予定命令をマージ予定命令として決定する。
任意選択で、命令マージモージュル720は、さらに、
処理予定命令を所定の命令キューに保存する。
所定の命令キューにおいて、
処理予定命令に対応する第2の時間長が第2の時間閾値より大きく、ここで、第2の時間長が処理予定命令の所定の命令キュー内に保存時間長を示すこと、
処理予定命令が所定の命令キューにおける設定位置に位置し、ここで、設定位置は、キューの最初位置又はキュー最終位置であることのうちの少なくとも1つ条件を満たしている処理予定命令を第1の命令とする。
任意選択で、命令マージモージュル720は、具体的に、
各マージ予定命令のアクセス予定アドレスに基づいてマージ処理結果を生成し、マージ処理結果を設定命令フォーマットでカプセル化してマージ命令を取得する。
任意選択で、命令マージモージュル720は、さらに、
各マージ予定命令に対応するアクセス予定データ量をそれぞれ取得する。
各マージ予定命令に対応するアクセス予定データ量をマージ処理結果にそれぞれ追加する。
装置の実施例については、基本的に方法実施例に対応しているので、関連する点は方法実施例の一部の説明を参照すればよい。上述した装置の実施例は単なる例示であり、上記分離手段として説明したユニットは物理的に分離されていてもよく、又は物理的に分離されていなくてもよく、ユニットとして表示されている部品は物理的なユニットでなくてもよく、即ち1つの場所にあってもよく、又は複数のネットワークユニットに分布していてもよい。本開示の目的は、実際の必要に応じてその一部又は全部のモジュールを選択して達成することができる。当業者は、創造的な労働を払わずに理解し、実施することができる。
従って、一態様では、本開示の実施例は、プロセッサと、プロセッサが実行可能な命令を格納するためのメモリとを含むデータアクセス装置を提供し、前記プロセッサは、
複数の処理予定命令を取得する。ここで、各処理予定命令は、アクセス予定アドレスを含む。
複数の処理予定命令におけるマージ予定命令を決定し、マージ予定命令をマージ処理してマージ命令を取得する。
マージ命令に対応するアクセス予定アドレスに基づいてデータアクセス行う。
図8は、一実施例によるデータアクセス装置1500の概略構成図である。例えば、デバイス800は、電子デバイスであってもよく、具体的には、携帯電話、コンピュータ、デジタル放送端末、メッセージングデバイス、ゲームコンソール、タブレットデバイス、医療デバイス、フィットネスデバイス、パーソナルデジタルアシスタント、スマートウォッチ、スマートメガネ、スマートハンドリング、スマートランニングシューズなどのウェアラブルデバイスであってもよい。
図8を参照すると、デバイス800は、処理コンポーネント802、メモリ804、電源コンポーネント806、マルチメディアコンポーネント808、オーディオコンポーネント810、入出力(I/O)のインタフェース812、センサコンポーネント814、及び通信コンポーネント816の1つ又は複数のコンポーネントを含むことができる。
処理コンポーネント802は、典型的には、ディスプレイ、電話通話、データ通信、カメラ操作、記録操作などのデバイス800の全体的な動作を制御する。処理コンポーネント802は、上述の方法のすべて又は一部のステップを完了するための命令を実行する1つ又は複数のプロセッサ820を含むことができる。さらに、処理コンポーネント802は、処理コンポーネント802と他のコンポーネントとの間の相互作用を容易にする1つ又は複数のモジュールを含むことができる。例えば、処理コンポーネント802は、マルチメディアコンポーネント808と処理コンポーネント802との間の対話を容易にするためのマルチメディアモジュールを含むことができる。
メモリ804は、デバイス800での動作をサポートするために様々なタイプのデータを記憶するように構成される。これらのデータの例には、デバイス800上で動作するための任意のアプリケーション又は方法の命令、連絡先データ、電話帳データ、メッセージ、画像、ビデオなどが含まれる。メモリ804は、静的ランダムアクセスメモリ(SRAM)、電気的消去可能プログラマブル読取専用メモリ(EEPROM)、消去可能プログラマブル読取専用メモリ(EPROM)、プログラマブル読取専用メモリ(PROM)、読取専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスク、光ディスクなど、任意のタイプの揮発性又は不揮発性の記憶装置、又はそれらの組み合わせによって実装することができる。
電源コンポーネント806は、デバイス800の様々なコンポーネントに電力を供給する。電源コンポーネント806は、電源管理システム、1つ又は複数の電源、及びデバイス800のための電力の生成、管理、及び分配に関連する他のコンポーネントを含むことができる。
マルチメディアコンポーネント808は、上述のデバイス800とユーザとの間に出力インタフェースを提供する画面を含む。いくつかの実施例では、画面は、液晶ディスプレイ(LCD)とタッチパネル(TP)とを含むことができる。画面がタッチパネルを含む場合、画面はタッチスクリーンとして実装され、ユーザからの入力信号を受信することができる。タッチパネルは、タッチ、スライド、及びタッチパネル上のジェスチャーを感知するための1つ又は複数のタッチセンサを含む。前記タッチセンサは、タッチ又はスライド動作の境界を感知するだけでなく、前記タッチ又はスライド操作に関連する持続時間と圧力を検出することができる。いくつかの実施例では、マルチメディアコンポーネント808は、フロントカメラ及び/又はバックカメラを含む。デバイス800が撮影モード又はビデオモードなどの動作モードにある場合、フロントカメラ及び/又はバックカメラは外部のマルチメディアデータを受信することができる。各フロントカメラ及びバックカメラは、固定光学レンズ系であってもよいし、焦点距離及び光学ズーム能力を有していてもよい。
オーディオコンポーネント810は、オーディオ信号を出力及び/又は入力するように構成される。例えば、オーディオコンポーネント810は、デバイス800が通話モード、記録モード、音声認識モードなどの動作モードにあるとき、外部オーディオ信号を受信するように構成されたマイク(MIC)を含む。受信されたオーディオ信号は、メモリ804にさらに記憶されてもよく、又は通信コンポーネント816を介して送信されてもよい。いくつかの実施例では、オーディオコンポーネント810は、オーディオ信号を出力するためのスピーカをさらに含む。
I/Oインタフェース812は、キーボード、クリックホイール、ボタンなどであることができる処理コンポーネント802と周辺インタフェースモジュールとの間にインタフェースを提供する。これらのボタンには、ホームページボタン、音量ボタン、スタートボタン、ロックボタンが含まれるが、これらに限定されない。
センサアセンブリ814は、デバイス800に様々な態様の状態評価を提供するための1つ又は複数のセンサを含む。例えば、センサアセンブリ814は、デバイス800のオン/オフ状態、アセンブリの相対的な位置、例えば、上記アセンブリはデバイス800のディスプレイ及びキーパッドであり、センサアセンブリ814は、デバイス800又はデバイス800の1つのアセンブリの位置変化、ユーザがデバイス800に接触する存在又は存在しない、デバイス800の方位又は加速/減速、及びデバイス800の温度変化を検出することもできる。センサアセンブリ814は、物理的接触がないときに近傍物体の存在を検出するように構成された近接センサを含むことができる。センサコンポーネント814は、撮像アプリケーションで使用するためのCMOSまたはCCDイメージセンサなどの光センサを含むこともできる。いくつかの実施例では、センサアセンブリ814は、加速度センサ、ジャイロセンサ、磁気センサ、圧力センサ、又は温度センサを含むこともできる
通信コンポーネント816は、デバイス800と他のデバイスとの間の有線又は無線による通信を容易にするように構成される。デバイス800は、WiFi、2G又は3G、4G LTE、5G NR、又はこれらの組み合わせなどの通信規格に基づく無線ネットワークにアクセスすることができる。例示的な実施例では、通信コンポーネント816は、ブロードキャストチャネルを介して外部ブロードキャスト管理システムからブロードキャスト信号又はブロードキャスト関連情報を受信する。例示的な実施例では、上述の通信コンポーネント816は、近距離通信を容易にするための近距離フィールド通信(NFC)モジュールをさらに含む。例えば、NFCモジュールは、無線周波数識別(RFID)技術、赤外線データ協会(IrDA)技術、超広帯域(UWB)技術、ブルートゥース(登録商標)(BT)技術、及び他の技術に基づいて実装されてもよい。
例示的な実施例では、デバイス800は、上述の方法を実行するために1つ又は複数のアプリケーション専用集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理装置(DSPD)、プログラマブル論理デバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ、又は他の電子部品によって実装されてもよい。
例示的な実施例では、非一時的なコンピュータ可読記憶媒体を提供し、例えば、命令を含むメモリ804であり、記憶媒体中の命令がデバイス800のプロセッサ820によって実行される場合に、デバイス800がデータアクセス方法を実行でき、該方法は、
複数の処理予定命令を取得し、ここで、各処理予定命令がアクセス予定アドレスを含むことと、
複数の処理予定命令におけるマージ予定命令を決定し、マージ予定命令をマージ処理してマージ命令を取得することと、
マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うこととを含む。
非一時的なコンピュータ可読記憶媒体は、ROM、ランダムアクセスメモリ(RAM)、CD-ROM、磁気テープ、フロッピー(登録商標)ディスク、光データ記憶装置などであり得る。
例示的な実施例では、プロセッサによって実行されると、上述の方法のステップを実装するコンピュータプログラムを含むコンピュータプログラム製品も提供される。
当業者は、明細書を考慮し、本明細書に開示された発明を実践した後、本開示の他の実施例を容易に思いつくであろう。本開示は、本開示の一般的な原理に従い、本開示に開示されていない本技術分野における公知の常識又は慣用技術手段を含む、本開示の任意の変形、用途又は適応変化をカバーすることを目的とする。明細書及び実施例は例示的なものとしてのみ扱われ、本開示の真の範囲及び精神は以下の請求項によって指摘される。
本開示は、上述し図面に示した正確な構造に限定されるものではなく、その範囲を逸脱しない範囲で種々の修正及び変更が可能であることを理解されたい。本開示の範囲は、添付の請求項のみによって制限される。

Claims (15)

  1. 電子デバイスに応用されるデータアクセス方法であって、
    複数の処理予定命令を取得し、各前記処理予定命令がアクセス予定アドレスを含むことと、
    前記複数の処理予定命令におけるマージ予定命令を決定し、前記マージ予定命令をマージ処理してマージ命令を取得することと、
    前記マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うこととを含む
    ことを特徴とするデータアクセス方法。
  2. 前記複数の処理予定命令におけるマージ予定命令を決定することは、
    第1の命令を取得し、前記第1の命令が前記処理予定命令のいずれかであることと、
    前記第1の命令以外の処理予定命令をトラバースして第2の命令を取得し、前記第2の命令のアクセス予定アドレスと前記第1の命令のアクセス予定アドレスとが、間接的に連続しており、前記第2の命令のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して前記第1の命令のアクセス予定アドレスに連続していないことと、
    前記第2の命令と前記第1の命令が第1の所定のマージ条件を満たしていることに応答し、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定することとを含む
    ことを特徴とする請求項1に記載のデータアクセス方法。
  3. 前記第2の命令と前記第1の命令が第1の所定のマージ条件を満たしていることに応答し、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定することは、
    記憶間隔を取得し、及び/又は、現在のアクセス総データ量を取得し、前記記憶間隔が前記第1の命令のアクセス予定アドレスと前記第2の命令のアクセス予定アドレスとの距離を示し、前記現在のアクセス総データ量が全てのマージ予定命令に対応するアクセス予定データ量の和を示すことと、
    前記記憶間隔が第1の所定の閾値よりも小さく、及び/又は、前記現在のアクセス総データ量が第2の所定の閾値よりも小さい場合、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定することとを含む
    ことを特徴とする請求項2に記載のデータアクセス方法。
  4. 前記方法は、さらに、
    前記現在のアクセス総データ量が前記第2の所定の閾値以上である場合、前記第1の命令以外の処理予定命令のトラバースを停止することを含む
    ことを特徴とする請求項3に記載のデータアクセス方法。
  5. 前記方法は、さらに、
    前記第2の命令のアクセス予定アドレスと前記第1の命令のアクセス予定アドレスとの差分値を取得し、前記アクセス予定アドレスが論理アドレスであることと、
    所定の記憶単位の大きさを取得することと、
    前記差分値と前記所定の記憶単位の大きさに基づいて、前記記憶間隔を取得することとを含む
    ことを特徴とする請求項3に記載のデータアクセス方法。
  6. 前記方法は、さらに、
    第1の時間長を取得し、前記第1の命令に対応する第1の時間閾値を取得し、前記第1の時間長が第1の命令の取得の決定から開始し、現在の時刻までの時間長を示すことと、
    前記第1の時間長が第1の時間閾値未満であることに応答し、前記第1の命令以外の処理予定命令のトラバースを継続することと、
    前記第1の時間長が前記第1の時間閾値以上であることに応答し、前記第1の命令以外の処理予定命令のトラバースを停止することとを含む
    ことを特徴とする請求項2に記載のデータアクセス方法。
  7. 前記方法は、さらに、
    第1の命令を取得し、前記第1の命令が前記処理予定命令のいずれかであることと、
    前記第1の命令以外の処理予定命令をトラバースすることと、
    現在にトラバースされる処理予定命令及び前記第1の命令が第2の所定のマージ条件を満たしていることに応答し、前記現在にトラバースされる処理予定命令及び前記第1の命令を前記マージ予定命令として決定することとを含む
    ことを特徴とする請求項1に記載のデータアクセス方法。
  8. 前記方法は、さらに、
    前記処理予定命令を所定の命令キューに保存することと、
    前記所定の命令キューにおいて、
    前記処理予定命令に対応する第2の時間長が第2の時間閾値よりも大きく、前記第2の時間長が前記所定の命令キューにおける前記処理予定命令の保存時間長を示すこと、
    前記処理予定命令が所定の命令キューにおける設定位置に位置し、前記設定位置がキューの最初位置又はキューの最終位置であることの少なくとも1つの条件を満たしている処理予定命令を前記第1の命令とすることとを含む
    ことを特徴とする請求項2~7のいずれか1項に記載のデータアクセス方法。
  9. 前記複数のマージ予定命令をマージ処理してマージ命令を取得することは、
    各マージ予定命令のアクセス予定アドレスに基づいてマージ処理結果を生成し、前記マージ処理結果を設定命令フォーマットでカプセル化して前記マージ命令を取得することを含む
    ことを特徴とする請求項1に記載のデータアクセス方法。
  10. 前記方法は、さらに、
    各前記マージ予定命令に対応するアクセス予定データ量を取得することと、
    各前記マージ予定命令に対応するアクセス予定データ量を前記マージ処理結果に追加することとを含む
    ことを特徴とする請求項9に記載のデータアクセス方法。
  11. 命令取得モージュルと、命令マージモージュルと、命令送信モージュルと、を含むデータアクセス装置であって、
    前記命令取得モージュルは、複数の処理予定命令を取得するように構成され、各前記処理予定命令がアクセス予定アドレスを含み、
    前記命令マージモージュルは、前記複数の処理予定命令におけるマージ予定命令を決定し、前記マージ予定命令をマージ処理してマージ命令を取得するように構成され、
    前記命令送信モージュルは、前記マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行うように構成される
    ことを特徴とするデータアクセス装置。
  12. 前記命令送信モージュルは、
    第1の命令を取得し、前記第1の命令が前記処理予定命令のいずれかであり、
    前記第1の命令以外の処理予定命令をトラバースして第2の命令を取得し、前記第2の命令のアクセス予定アドレスと前記第1の命令のアクセス予定アドレスとが、間接的に連続しており、前記第2の命令のアクセス予定アドレスが他の処理予定命令のアクセス予定アドレスを介して前記第1の命令のアクセス予定アドレスに連続していなく、
    前記第2の命令と前記第1の命令が第1の所定のマージ条件を満たしていることに応答し、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定するように構成される
    ことを特徴とする請求項11に記載のデータアクセス装置。
  13. 前記命令送信モージュルは、さらに、
    記憶間隔を取得し、及び/又は、現在のアクセス総データ量を取得し、前記記憶間隔が前記第1の命令のアクセス予定アドレスと前記第2の命令のアクセス予定アドレスとの距離を示し、前記現在のアクセス総データ量が全てのマージ予定命令に対応するアクセス予定データ量の和を示し、
    前記記憶間隔が第1の所定の閾値よりも小さく、及び/又は、前記現在のアクセス総データ量が第2の所定の閾値よりも小さい場合、前記第2の命令及び前記第1の命令を前記マージ予定命令として決定するように構成される
    ことを特徴とする請求項12に記載のデータアクセス装置。
  14. プロセッサにより実行されたときに請求項1~10のいずれかに記載のデータアクセス方法のステップを実現するコンピュータプログラムが記憶されている
    ことを特徴とする非一時的なコンピュータ可読記憶媒体。
  15. プロセッサと、プロセッサが実行可能な命令を格納するためのメモリと、を含むデータアクセス装置であって、
    前記プロセッサは、
    複数の処理予定命令を取得し、各前記処理予定命令がアクセス予定アドレスを含み、
    前記複数の処理予定命令におけるマージ予定命令を決定し、前記マージ予定命令をマージ処理してマージ命令を取得し、
    前記マージ命令に対応するアクセス予定アドレスに基づいてデータアクセスを行う
    ことを特徴とするデータアクセス装置。
JP2023576158A 2021-12-16 2022-04-29 データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体 Pending JP2024521963A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202111543913.4 2021-12-16
CN202111543913.4A CN114416178A (zh) 2021-12-16 2021-12-16 数据访问方法、装置及非临时性计算机可读存储介质
PCT/CN2022/090331 WO2023108989A1 (zh) 2021-12-16 2022-04-29 数据访问方法、装置及非临时性计算机可读存储介质

Publications (1)

Publication Number Publication Date
JP2024521963A true JP2024521963A (ja) 2024-06-04

Family

ID=81266994

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2023576158A Pending JP2024521963A (ja) 2021-12-16 2022-04-29 データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体

Country Status (6)

Country Link
US (1) US20240320009A1 (ja)
EP (1) EP4451115A1 (ja)
JP (1) JP2024521963A (ja)
KR (1) KR20240010042A (ja)
CN (1) CN114416178A (ja)
WO (1) WO2023108989A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117742793B (zh) * 2023-11-01 2024-07-02 上海合芯数字科技有限公司 数据缓存指令的指令合并电路、方法及芯片
CN117539407B (zh) * 2024-01-04 2024-03-29 浙江大华技术股份有限公司 数据存储方法、电子设备及计算机可读存储介质
CN118012795A (zh) * 2024-01-30 2024-05-10 荟普智能装备(深圳)有限公司 Io通信方法、装置、设备以及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991098A (ja) * 1995-09-27 1997-04-04 Nec Software Ltd デバイスドライバアクセス方式
US8135924B2 (en) * 2009-01-14 2012-03-13 International Business Machines Corporation Data storage device driver
US8055816B2 (en) * 2009-04-09 2011-11-08 Micron Technology, Inc. Memory controllers, memory systems, solid state drives and methods for processing a number of commands
TWI685744B (zh) * 2018-09-06 2020-02-21 大陸商深圳大心電子科技有限公司 指令處理方法及使用所述方法的儲存控制器
CN110187835B (zh) * 2019-05-24 2023-02-03 北京百度网讯科技有限公司 用于管理访问请求的方法、装置、设备和存储介质

Also Published As

Publication number Publication date
EP4451115A1 (en) 2024-10-23
CN114416178A (zh) 2022-04-29
WO2023108989A1 (zh) 2023-06-22
KR20240010042A (ko) 2024-01-23
US20240320009A1 (en) 2024-09-26

Similar Documents

Publication Publication Date Title
JP2024521963A (ja) データアクセス方法、装置及び非一時的なコンピュータ可読記憶媒体
US9514100B2 (en) Method, apparatus and system of screenshot grabbing and sharing
CN107925749B (zh) 用于调整电子设备的分辨率的方法和设备
US10599336B2 (en) Method of displaying content and electronic device adapted to the same
WO2021110133A1 (zh) 一种控件的操作方法及电子设备
US9195581B2 (en) Techniques for moving data between memory types
US11449242B2 (en) Shared storage space access method, device and system and storage medium
US10331329B2 (en) Electronic device and method for changing order or location of content
CN112445766A (zh) 一种终端碎片整理方法、装置以及终端
CN112698793A (zh) 一种数据存储方法、装置、机器可读介质及设备
CN115145735A (zh) 一种内存分配方法、装置和可读存储介质
CN114428589B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN110502169B (zh) 一种显示控制方法及终端
US20140258347A1 (en) Grouping files for optimized file operations
US20150331600A1 (en) Operating method using an input control object and electronic device supporting the same
CN111444117B (zh) 存储空间碎片化实现方法、装置、存储介质及电子设备
US10915447B1 (en) Systems, devices, and methods for reduced critical path latency and increased work parallelization in memory writes
US20160196030A1 (en) Method and electronic device for displaying electronic document
CN106354657B (zh) 寄存器访问方法、装置及系统
CN115016944A (zh) 一种进程访问方法、装置及电子设备
CN115687270A (zh) 数据存储整理方法、装置、电子设备和存储介质
CN110134370B (zh) 一种图形绘制的方法、装置、电子设备及存储介质
CN117827709B (zh) 直接内存访问的实现方法、装置、设备及存储介质
WO2024055708A1 (zh) 任务调度方法、装置、设备及介质
US20240256352A1 (en) System and method for managing data retention in distributed systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20231211