KR20240010042A - Data access methods, devices, and non-transitory computer-readable storage media - Google Patents

Data access methods, devices, and non-transitory computer-readable storage media Download PDF

Info

Publication number
KR20240010042A
KR20240010042A KR1020237044059A KR20237044059A KR20240010042A KR 20240010042 A KR20240010042 A KR 20240010042A KR 1020237044059 A KR1020237044059 A KR 1020237044059A KR 20237044059 A KR20237044059 A KR 20237044059A KR 20240010042 A KR20240010042 A KR 20240010042A
Authority
KR
South Korea
Prior art keywords
instruction
access
processed
address
instructions
Prior art date
Application number
KR1020237044059A
Other languages
Korean (ko)
Inventor
쥔 장
싱후이 리
Original Assignee
베이징 시아오미 모바일 소프트웨어 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 베이징 시아오미 모바일 소프트웨어 컴퍼니 리미티드 filed Critical 베이징 시아오미 모바일 소프트웨어 컴퍼니 리미티드
Publication of KR20240010042A publication Critical patent/KR20240010042A/en

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/30003Arrangements for executing specific machine instructions
    • G06F9/3004Arrangements for executing specific machine instructions to perform operations on memory

Landscapes

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

Abstract

본 발명은 데이터 액세스 방법, 장치 및 비일시적 컴퓨터 판독가능한 저장 매체를 제공하며, 여기서, 상기 방법은, 복수의 처리 예정 명령어를 취득하고, 여기서, 각각의 처리 예정 명령어는 액세스 예정 주소를 포함하는 단계, 상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 상기 병합 예정 명령어를 병합 처리하여 병합 명령어를 획득하는 단계, 및 상기 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하는 단계를 포함하여, 상기 명령어의 오버헤드를 감소시키고, 명령어 처리 효율을 향상시켜, 전자 장치의 성능을 효과적으로 향상시킬 수 있다. The present invention provides a data access method, apparatus, and non-transitory computer-readable storage medium, wherein the method comprises obtaining a plurality of instructions to be processed, wherein each instruction to be processed includes an address to be accessed. , determining an instruction to be merged among the plurality of instructions to be processed, obtaining a merge instruction by merging the instructions to be merged, and performing data access according to an access address corresponding to the merge instruction. Thus, the overhead of the command can be reduced, command processing efficiency can be improved, and the performance of the electronic device can be effectively improved.

Description

데이터 액세스 방법, 장치 및 비일시적 컴퓨터 판독가능한 저장 매체Data access methods, devices, and non-transitory computer-readable storage media

본 발명은 전자 장치 기술 분야에 관한 것으로, 특히 데이터 액세스 방법, 장치 및 비일시적 컴퓨터 판독가능한 저장 매체에 관한 것이다.The present invention relates to the field of electronic device technology, and more particularly to data access methods, devices, and non-transitory computer-readable storage media.

<관련 출원의 교차인용><Cross-citation of related applications>

본 발명은 출원번호가 202111543913.4이고, 출원일자가 2021/12/16인 중국 특허출원에 기초하여 제출되며, 해당 중국 특허출원의 우선권을 주장하며, 해당 중국 특허출원의 모든 내용은 여기서 참고로 본 발명을 인입된다. The present invention is filed based on a Chinese patent application with application number 202111543913.4 and application date 2021/12/16, and claims priority of the Chinese patent application. All contents of the Chinese patent application are hereby incorporated by reference in the present invention. It is brought in.

기술이 발전함에 따라, 전자 부품 공업 연합회(Joint Electron Device Engineering Council, JEDEC) 프로토콜에 기초한 메모리(예를 들면, Nand flash)는 모바일 단말 등의 전자 장치에 널리 응용되고 있다. As technology develops, memories (eg, Nand flash) based on the Joint Electron Device Engineering Council (JEDEC) protocol are widely applied to electronic devices such as mobile terminals.

현재, 전자 장치 상의 프로세스에 처리 예정 명령어를 생성한 후, 해당 처리 예정 명령어를 JEDEC 프로토콜에 기초한 메모리로 송신하고, 해당 메모리에서 해당 처리 예정 명령어를 처리하고, 즉, 처리 예정 명령어의 액세스 예정 주소에 액세스하고, 즉 데이터를 읽고 쓴다. Currently, after generating an instruction to be processed in a process on an electronic device, the instruction to be processed is sent to a memory based on the JEDEC protocol, and the instruction to be processed is processed in the memory, that is, to the address to be accessed of the instruction to be processed. Access, i.e. read and write data.

그러나 처리 예정 명령어의 수가 복수인 경우, 처리 예정 명령어를 하나씩 해당 메모리로 송신할 필요가 있어, 명령어 오버헤드의 증가를 초래하고, 메모리는 처리 예정 명령어를 하나씩만 처리할 수 있으므로, 명령어 처리의 효율을 저하시키고, 전자 장치의 성능에 영향을 준다.However, when the number of instructions to be processed is multiple, it is necessary to transmit the instructions to be processed one by one to the corresponding memory, resulting in an increase in instruction overhead, and the memory can only process the instructions to be processed one by one, thus improving the efficiency of instruction processing. deteriorates and affects the performance of electronic devices.

본 발명은 이를 감안하여, 전자 장치의 성능을 효율적으로 향상시킬 수 있는 데이터 액세스 방법, 장치 및 비일시적 컴퓨터 판독가능한 저장 매체를 제공한다.In view of this, the present invention provides a data access method, device, and non-transitory computer-readable storage medium that can efficiently improve the performance of electronic devices.

본 발명의 실시예의 제1 양태에 따르면, 전자 장치에 적용되는 데이터 액세스 방법을 제공하며, 상기 방법은,According to a first aspect of an embodiment of the present invention, there is provided a data access method applied to an electronic device, the method comprising:

복수의 처리 예정 명령어를 취득하고, 각각의 상기 처리 예정 명령어는 액세스 예정 주소를 포함하는 단계, acquiring a plurality of instructions to be processed, each of the instructions to be processed including an address to be accessed;

상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 상기 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하는 단계, 및determining an instruction to be merged among the plurality of instructions to be processed, merging the instructions to be merged, and obtaining a merge instruction; and

상기 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하는 단계를 포함한다. and performing data access according to the access scheduled address corresponding to the merge command.

선택적으로, 상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하는 단계는,Optionally, the step of determining an instruction to be merged among the plurality of instructions to be processed includes:

제1 명령어를 취득하고, 상기 제1 명령어는, 상기 제1 명령어는 상기 처리 예정 명령어 중 어느 하나인 단계,Obtaining a first instruction, wherein the first instruction is one of the instructions to be processed,

상기 제1 명령어 이외의 처리 예정 명령어를 트래버싱하여 제2 명령어를 취득하고, 상기 제2 명령어의 액세스 예정 주소와 상기 제1 명령어의 액세스 예정 주소가 간접적으로 연속되고, 상기 제2 명령어의 액세스 예정 주소가 다른 처리 예정 명령어의 액세스 예정 주소를 통해 상기 제1 명령어의 액세스 예정 주소와 연속되지 않는 단계, 및A second instruction is acquired by traversing an instruction to be processed other than the first instruction, the access scheduled address of the second instruction and the access scheduled address of the first instruction are indirectly consecutive, and the access scheduled address of the second instruction is A step in which the address is not consecutive with the access scheduled address of the first instruction through the access scheduled address of another instruction to be processed, and

상기 제2 명령어와 상기 제1 명령어가 상기 제1 소정의 병합 조건을 충족하는 것에 응답하여, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하는 단계를 포함한다. In response to the second instruction and the first instruction meeting the first predetermined merging condition, determining the second instruction and the first instruction to be the instruction to be merged.

선택적으로, 상기 제2 명령어와 상기 제1 명령어가 제1 소정의 병합 조건을 충족하는 것에 응답하여, 상기 제2 명령어와 상기 제1 명령어를 병합 예정 명령어로 결정하는 단계는, Optionally, in response to the second instruction and the first instruction meeting a first predetermined merge condition, determining the second instruction and the first instruction as instructions to be merged comprises:

저장 간격을 취득하는 것 및 현재의 액세스 총 데이터량을 취득하는 것 중 적어도 하나이고, 상기 저장 간격이 상기 제1 명령어의 액세스 예정 주소와 상기 제2 명령어의 액세스 예정 주소 사이의 거리를 나타내고, 상기 현재의 액세스 총 데이터량이 모든 병합 예정 명령어에 대응하는 액세스 예정 데이터량의 합을 나타내는 단계, 및At least one of obtaining a storage interval and obtaining a currently accessed total data amount, wherein the storage interval represents a distance between the access scheduled address of the first instruction and the access scheduled address of the second instruction, A step where the current access total data amount represents the sum of the access scheduled data amounts corresponding to all merge scheduled instructions, and

상기 저장 간격이 상기 제1 소정 임계값보다 작은 것 및 상기 현재의 액세스 총 데이터량이 상기 제2 소정 임계값보다 작은 것 중 적어도 하나인 경우, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하는 단계를 포함한다. If the storage interval is at least one of the first predetermined threshold and the current access total data amount is less than the second predetermined threshold, the second instruction and the first instruction are merged into the instruction to be merged. It includes a decision step.

선택적으로, 상기 방법은,Optionally, the method:

상기 현재의 액세스 총 데이터량이 상기 제2 소정 임계값보다 크거나 같은 경우, 상기 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지하는 단계를 더 포함한다. If the current access total data amount is greater than or equal to the second predetermined threshold, stopping traversing of instructions to be processed other than the first instruction.

선택적으로, 상기 방법은,Optionally, the method:

제1 듀레이션을 취득하고, 상기 제1 명령어에 대응하는 제1 시간 임계값을 취득하고, 상기 제1 듀레이션이 제1 명령어의 취득 결정으로부터 시작하여, 현재의 시각까지의 듀레이션을 나타내는 단계, Obtaining a first duration, obtaining a first time threshold corresponding to the first instruction, the first duration representing the duration starting from the determination of acquisition of the first instruction to the current time;

상기 제1 듀레이션이 제1 시간 임계값보다 작은 것에 응답하여, 상기 제1 명령어 이외의 처리 예정 명령어를 계속해서 트래버싱하는 단계, 및In response to the first duration being less than a first time threshold, continuing to traverse instructions scheduled to be processed other than the first instruction, and

상기 제1 듀레이션이 상기 제1 시간 임계값보다 크거나 같은 것에 응답하여, 상기 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지하는 단계를 더 포함한다. In response to the first duration being greater than or equal to the first time threshold, stopping traversing of instructions to be processed other than the first instruction.

선택적으로, 상기 방법은,Optionally, the method:

상기 제2 명령어의 액세스 예정 주소와 상기 제1 명령어의 액세스 예정 주소 사이의 차이값을 취득하고, 상기 액세스 예정 주소는 논리 주소인 단계, Obtaining a difference value between the scheduled access address of the second instruction and the scheduled access address of the first instruction, wherein the scheduled access address is a logical address,

소정의 저장 단위의 크기를 취득하는 단계, 및obtaining the size of a predetermined storage unit, and

상기 차이값과 상기 소정의 저장 단위의 크기에 따라 상기 저장 간격을 획득하는 단계를 더 포함한다. It further includes obtaining the storage interval according to the difference value and the size of the predetermined storage unit.

선택적으로, 상기 방법은,Optionally, the method:

제1 명령어를 취득하고, 상기 제1 명령어는 상기 처리 예정 명령어 중 어느 하나인 단계,Obtaining a first instruction, wherein the first instruction is one of the instructions to be processed,

상기 제1 명령어 이외의 처리 예정 명령어를 트래버싱하는 단계, 및Traversing instructions to be processed other than the first instruction, and

현재 트래버싱하는 처리 예정 명령어 및 상기 제1 명령어가 제2 소정의 병합 조건을 충족하는 것에 응답하여, 상기 현재 트래버싱하는 처리 예정 명령어 및 상기 제1 명령어를 상기 병합 예정 명령어로 결정하는 단계를 더 포함한다. In response to the currently traversing to-be-processed instruction and the first instruction meeting a second predetermined merging condition, determining the currently traversing to-be-processed instruction and the first instruction to be the merging instruction. Includes.

선택적으로, 상기 방법은,Optionally, the method:

상기 처리 예정 명령어를 소정의 명령어 큐에 저장하는 단계,Storing the command to be processed in a predetermined command queue,

상기 소정의 명령어 큐에서,In the predetermined command queue,

상기 처리 예정 명령어에 대응하는 제2 듀레이션이 제2 시간 임계값보다 크고, 상기 제2 듀레이션이 상기 소정의 명령어 큐에서의 처리 예정 명령어의 저장 듀레이션을 나타내는 것, 및 A second duration corresponding to the instruction to be processed is greater than a second time threshold, and the second duration represents a storage duration of the instruction to be processed in the predetermined instruction queue, and

상기 처리 예정 명령어가 소정의 명령어 큐에서의 설정위치에 위치하고, 상기 설정위치가 큐의 헤드 위치 또는 큐의 테일 위치인 것 중 적어도 하나의 조건을 충족하는 처리 예정 명령어를 상기 제1 명령어로 하는 단계를 더 포함한다. A step of setting, as the first instruction, an instruction to be processed that satisfies at least one condition: the instruction to be processed is located at a set position in a predetermined instruction queue, and the set position is a head position of the queue or a tail position of the queue. It further includes.

선택적으로, 상기 복수의 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하는 단계는,Optionally, the step of acquiring a merge instruction by merging the plurality of instructions to be merged includes:

각각의 병합 예정 명령어의 액세스 예정 주소에 따라 병합 처리 결과를 생성하고, 상기 병합 처리 결과를 설정 명령어 포맷으로 캡슐화하여 상기 병합 명령어를 획득하는 단계를 포함한다. It includes generating a merge processing result according to the access address of each scheduled merge instruction, encapsulating the merge processing result in a set instruction format, and obtaining the merge instruction.

선택적으로, 상기 방법은,Optionally, the method:

각각의 상기 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 각각 취득하는 단계, 및acquiring the access scheduled data amount corresponding to each of the merge scheduled instructions, and

각각의 상기 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 병합 처리 결과에 각각 추가하는 단계를 더 포함한다. It further includes adding the amount of data to be accessed corresponding to each of the commands to be merged to the merge processing result.

본 발명 실시예의 제2 양태에 따르면, 전자 장치에 적용되는 데이터 액세스 장치를 제공하며, 상기 장치는 명령어 취득 모듈과, 명령어 병합 모듈과, 명령어 송신 모듈을 포함하며, According to a second aspect of an embodiment of the present invention, there is provided a data access device applied to an electronic device, the device comprising a command acquisition module, a command merging module, and a command transmission module;

명령어 취득 모듈은 복수의 처리 예정 명령어를 취득하도록 구성되며, 각각의 상기 처리 예정 명령어는 액세스 예정 주소를 포함하며, The instruction acquisition module is configured to acquire a plurality of instructions to be processed, each of the instructions to be processed includes an address to be accessed,

명령어 병합 모듈은 상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 상기 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하도록 구성되며, The instruction merge module is configured to determine an instruction to be merged among the plurality of instructions to be processed, and obtain a merge instruction by merging the instructions to be merged,

명령어 송신 모듈은 상기 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하도록 구성된다. The command transmission module is configured to perform data access according to the access scheduled address corresponding to the merge command.

선택적으로, 상기 명령어 병합 모듈은 구체적으로Optionally, the instruction merge module specifically

제1 명령어를 취득하고, 상기 제1 명령어는 상기 제1 명령어는 상기 처리 예정 명령어 중 어느 하나이고,Obtain a first instruction, wherein the first instruction is one of the instructions to be processed,

상기 제1 명령어 이외의 처리 예정 명령어를 트래버싱하여 제2 명령어를 취득하고, 상기 제2 명령어의 액세스 예정 주소와 상기 제1 명령어의 액세스 예정 주소가 간접적으로 연속되고, 상기 제2 명령어의 액세스 예정 주소가 다른 처리 예정 명령어의 액세스 예정 주소를 통해 상기 제1 명령어의 액세스 예정 주소와 연속되지 않고,A second instruction is acquired by traversing an instruction to be processed other than the first instruction, the access scheduled address of the second instruction and the access scheduled address of the first instruction are indirectly consecutive, and the access scheduled address of the second instruction is The address is not continuous with the access address of the first instruction through the access address of another instruction to be processed,

상기 제2 명령어와 상기 제1 명령어가 상기 제1 소정의 병합 조건을 충족하는 것에 응답하여, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하도록 구성된다. In response to the second instruction and the first instruction meeting the first predetermined merging condition, determine the second instruction and the first instruction as the instruction to be merged.

선택적으로, 상기 명령어 병합 모듈은 또한,Optionally, the instruction merge module also:

저장 간격을 취득하는 것 및 현재의 액세스 총 데이터량을 취득하는 것 중 적어도 하나이고, 여기서, 상기 저장 간격이 상기 제1 명령어의 액세스 예정 주소와 상기 제2 명령어의 액세스 예정 주소 사이의 거리를 나타내고, 여기서, 상기 현재의 액세스 총 데이터량이 모든 병합 예정 명령어에 대응하는 액세스 예정 데이터량의 합을 나타내고, At least one of obtaining a storage interval and obtaining a currently accessed total data amount, wherein the storage interval represents the distance between the access scheduled address of the first instruction and the access scheduled address of the second instruction. , where the current access total data amount represents the sum of the access scheduled data amounts corresponding to all merge scheduled instructions,

상기 저장 간격이 상기 제1 소정 임계값보다 작은 것 및 상기 현재의 액세스 총 데이터량이 상기 제2 소정 임계값보다 작은 것 중 적어도 하나인 경우, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하도록 구성된다. If the storage interval is at least one of the first predetermined threshold and the current access total data amount is less than the second predetermined threshold, the second instruction and the first instruction are merged into the instruction to be merged. It is configured to decide.

선택적으로, 상기 명령어 병합 모듈은 또한,Optionally, the instruction merge module also:

상기 현재의 액세스 총 데이터량이 상기 제2 소정 임계값보다 크거나 같은 경우, 상기 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지하도록 구성된다. and stop traversing of instructions to be processed other than the first instruction when the current access total data amount is greater than or equal to the second predetermined threshold.

선택적으로, 상기 명령어 병합 모듈은 또한,Optionally, the instruction merge module also:

제1 듀레이션을 취득하고, 상기 제1 명령어에 대응하는 제1 시간 임계값을 취득하고, 상기 제1 듀레이션이 제1 명령어의 취득 결정으로부터 시작하여, 현재의 시각까지의 듀레이션을 나타내고, Obtain a first duration, obtain a first time threshold corresponding to the first instruction, wherein the first duration represents the duration starting from the determination of acquisition of the first instruction to the current time, and

상기 제1 듀레이션이 제1 시간 임계값보다 작은 것에 응답하여, 상기 제1 명령어 이외의 처리 예정 명령어를 계속해서 트래버싱하고, In response to the first duration being less than a first time threshold, continue traversing instructions to be processed other than the first instruction;

상기 제1 듀레이션이 상기 제1 시간 임계값보다 크거나 같은 것에 응답하여, 상기 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지하도록 구성된다. In response to the first duration being greater than or equal to the first time threshold, stop traversing instructions to be processed other than the first instruction.

선택적으로, 상기 명령어 병합 모듈은 또한,Optionally, the instruction merge module also:

상기 제2 명령어의 액세스 예정 주소와 상기 제1 명령어의 액세스 예정 주소 사이의 차이값을 취득하고, 상기 액세스 예정 주소는 논리 주소이며, Obtain a difference value between the access scheduled address of the second instruction and the access scheduled address of the first instruction, and the access scheduled address is a logical address,

소정의 저장 단위의 크기를 취득하고, Obtain the size of a predetermined storage unit,

상기 차이값과 상기 소정의 저장 단위의 크기에 따라 상기 저장 간격을 획득하도록 구성된다. and obtain the storage interval according to the difference value and the size of the predetermined storage unit.

선택적으로, 상기 명령어 병합 모듈은 구체적으로Optionally, the instruction merge module specifically

제1 명령어를 취득하고, 상기 제1 명령어는 상기 처리 예정 명령어 중 어느 하나이며, Obtain a first instruction, wherein the first instruction is one of the instructions to be processed,

상기 제1 명령어 이외의 처리 예정 명령어를 트래버싱하고, Traversing instructions to be processed other than the first instruction,

현재 트래버싱되는 처리 예정 명령어 및 상기 제1 명령어가 제2 소정의 병합 조건을 충족하는 것에 응답하여, 상기 현재 트래버싱되는 처리 예정 명령어 및 상기 제1 명령어를 상기 병합 예정 명령어로 결정하도록 구성된다. In response to the currently traversed instruction to be processed and the first instruction meeting a second predetermined merging condition, determine the currently traversed instruction to be processed and the first instruction to be the instruction to be merged.

선택적으로, 상기 명령어 병합 모듈은 또한,Optionally, the instruction merge module also:

상기 처리 예정 명령어를 소정의 명령어 큐에 저장하고, Storing the command to be processed in a predetermined command queue,

상기 소정의 명령어 큐에서In the predetermined command queue

상기 처리 예정 명령어에 대응하는 제2 듀레이션이 제2 시간 임계값보다 크고, 상기 제2 듀레이션이 상기 소정의 명령어 큐에서의 처리 예정 명령어의 저장 듀레이션을 나타내는 것, 및 A second duration corresponding to the instruction to be processed is greater than a second time threshold, and the second duration represents a storage duration of the instruction to be processed in the predetermined instruction queue, and

상기 처리 예정 명령어가 소정의 명령어 큐에서의 설정위치에 위치하고, 상기 설정위치가 큐의 헤드 위치 또는 큐의 테일 위치인 것 중 적어도 하나의 조건을 충족하고 있는 처리 예정 명령어를 상기 제1 명령어로 하도록 구성된다. The instruction to be processed is located at a set position in a predetermined instruction queue, and the set position is the head position of the queue or the tail position of the queue, so that the instruction to be processed that satisfies at least one condition is used as the first instruction. It is composed.

선택적으로, 상기 명령어 병합 모듈은 구체적으로,Optionally, the instruction merge module specifically:

각각의 병합 예정 명령어의 액세스 예정 주소에 따라 병합 처리 결과를 생성하고, 상기 병합 처리 결과를 설정 명령어 포맷으로 캡슐화하여 상기 병합 명령어를 획득하도록 구성된다. It is configured to generate a merge processing result according to the access address of each scheduled merge instruction, encapsulate the merge processing result in a set instruction format, and obtain the merge instruction.

선택적으로, 상기 명령어 병합 모듈은 또한,Optionally, the instruction merge module also:

각각의 상기 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 각각 취득하고, Obtaining the access scheduled data amount corresponding to each of the merge scheduled instructions, respectively,

각각의 상기 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 병합 처리 결과에 각각 추가하도록 구성된다. It is configured to add the amount of data to be accessed corresponding to each of the commands to be merged to the merge processing result.

본 발명의 실시예의 제3 양태에 따르면, 프로세서에 의해 실행될 때 상기 제1 양태 중 어느 하나에 기재된 데이터 액세스 방법의 단계를 실현하는 컴퓨터 프로그램이 저장되어 있는 일시적인 컴퓨터 판독가능한 저장 매체를 제공한다. According to a third aspect of the embodiment of the present invention, there is provided a temporary computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps of the data access method described in any of the first aspects.

본 발명의 실시예의 제4 양태에 따르면, 프로세서와, 프로세서가 실행 가능한 명령어를 저장하기 위한 메모리를 포함하는 데이터 액세스 장치를 제공하며, According to a fourth aspect of an embodiment of the present invention, there is provided a data access device including a processor and a memory for storing instructions executable by the processor,

상기 프로세서는,The processor,

복수의 처리 예정 명령어를 취득하고, 각각의 상기 처리 예정 명령어는 액세스 예정 주소를 포함하며, Acquire a plurality of instructions to be processed, each of the instructions to be processed includes an address to be accessed,

상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 상기 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하고, Determining an instruction to be merged among the plurality of instructions to be processed, merging the instructions to be merged to obtain a merge instruction,

상기 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행한다. Data access is performed according to the access scheduled address corresponding to the merge command.

본 발명의 실시예의 제5 양태에 따르면, 프로세서에 의해 실행될 때, 상기 제1 양태 중 어느 하나에 기재된 데이터 액세스 방법의 단계를 실현하는 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품을 제공한다.According to a fifth aspect of the embodiments of the present invention, there is provided a computer program product comprising a computer program that, when executed by a processor, implements the steps of the data access method described in any of the first aspects above.

본 발명의 실시예가 제공하는 기술적 해결책은 다음과 같은 유익한 효과를 실현할 수 있다. 복수의 처리 예정 명령어를 얻는 경우, 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 즉 병합가능한 적어도 2개의 처리 예정 명령어를 결정하고, 결정된 병합 예정 명령어를 병합하고, 병합 명령어를 얻어, 명령어의 수를 감소시키고, 그에 따라 명령어의 오버헤드를 감소시킬 수 있다. 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행함으로써, 하나의 명령어에 기초하여 복수의 액세스 예정 주소에 액세스할 수 있고, 즉 복수의 처리 예정 명령어를 동시에 처리할 수 있어, 명령어 처리의 효율을 향상시키고, 그에 따라 전자 장치의 성능을 효과적으로 향상시킬 수 있다. The technical solutions provided by the embodiments of the present invention can realize the following beneficial effects. When obtaining a plurality of instructions to be processed, an instruction to be merged is determined among the plurality of instructions to be processed, that is, at least two instructions to be merged are determined, the determined instructions to be merged are merged, a merge instruction is obtained, and the instructions of the instruction are determined. By reducing the number, the overhead of instructions can be reduced accordingly. By performing data access according to the access scheduled address corresponding to the merge instruction, multiple access scheduled addresses can be accessed based on one instruction, that is, multiple instructions to be processed can be processed simultaneously, thereby improving the efficiency of instruction processing. can be improved, and thus the performance of electronic devices can be effectively improved.

이상의 일반적인 설명 및 후술의 상세한 설명은 예시적 및 해석적인 것에 지나지 않으며, 본 발명을 한정하는 것이 아님을 이해하여야 한다. It should be understood that the above general description and the following detailed description are merely illustrative and interpretive and do not limit the present invention.

본 명세서에 포함되고 본 명세서의 일부를 구성하는 첨부된 도면은 발명 내용과 일치하는 실시예를 예시하고, 명세서와 함께 발명 내용의 원리를 설명하는 역할을 한다.
1은 본 발명의 실시예에 따른 파일의 위치 레이아웃을 나타내는 모식도이다.
도 2는 본 발명의 실시예에 따른 데이터 액세스 방법의 흐름도이다.
도 3은 본 발명의 실시예에 따른 순차적 읽기 및 쓰기 프로세스의 모식도이다.
도 4는 본 발명의 실시예에 따른 다른 데이터 액세스 방법의 흐름도이다.
도 5는 본 발명의 실시예에 따른 랜덤 읽기 및 쓰기 프로세스의 모식도이다.
도 6은 본 발명의 실시예에 따른 다른 랜덤 읽기 및 쓰기 프로세스의 모식도이다.
도 7은 본 발명의 실시예에 따른 데이터 액세스 장치의 블록도이다.
도 8은 본 발명의 실시예에 따른 데이터 액세스 장치의 구성도이다.
The accompanying drawings, which are included in and constitute a part of this specification, illustrate embodiments consistent with the subject matter of the invention and, together with the specification, serve to explain the principles of the invention.
1 is a schematic diagram showing the location layout of a file according to an embodiment of the present invention.
Figure 2 is a flowchart of a data access method according to an embodiment of the present invention.
Figure 3 is a schematic diagram of a sequential read and write process according to an embodiment of the present invention.
Figure 4 is a flowchart of another data access method according to an embodiment of the present invention.
Figure 5 is a schematic diagram of a random read and write process according to an embodiment of the present invention.
Figure 6 is a schematic diagram of another random read and write process according to an embodiment of the present invention.
Figure 7 is a block diagram of a data access device according to an embodiment of the present invention.
Figure 8 is a configuration diagram of a data access device according to an embodiment of the present invention.

여기에서는 도면에 나타나는 예시적인 실시예에 대해 상세하게 설명한다. 이하의 설명이 도면과 연관된 경우, 별도의 설명이 없는 한 다른 도면에서의 동일한 숫자는 동일 또는 유사한 요소를 나타낸다. 이하의 예시적인 실시예에 기재되는 실시예는 본 발명과 일치하는 모든 실시예를 대표하는 것은 아니다. 오히려, 이들은 첨부된 특허 청구 범위에 상세하게 기재된 본 발명의 일부 양태와 일치하는 장치 및 방법의 예시일 뿐이다. Herein, exemplary embodiments shown in the drawings will be described in detail. Where the following description relates to drawings, unless otherwise noted, the same numbers in different drawings indicate the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present invention. Rather, they are merely examples of devices and methods consistent with some aspects of the invention as set forth in detail in the appended claims.

본 발명에서 사용되는 용어는 특정 실시예를 기술하기 위한 것이지, 본 발명을 한정하는 것을 의도하는 것은 아니다. 본 발명 및 첨부 특허청구범위에서 사용되는 단수형의 "한 가지", "상기" 및 "해당"은 문맥이 다른 의미를 명확히 나타내지 않는 한, 복수의 형태를 포함하는 것으로 의도된다. 본 명세서에서 사용되는 용어 "및/또는"은 연관된 목록된 하나 또는 복수의 아이템의 임의 또는 모든 가능한 조합을 의미하며, 포함하는 것으로 이해되어야 한다. The terms used in the present invention are intended to describe specific embodiments and are not intended to limit the present invention. As used in this invention and the appended claims, the singular forms "a", "the" and "the" are intended to include the plural forms, unless the context clearly indicates otherwise. As used herein, the term “and/or” should be understood to mean and include any or all possible combinations of one or more associated listed items.

본 발명에서는 다양한 정보를 기술하기 위해 제1, 제2, 제3 등의 용어를 사용할 수 있지만, 이러한 정보는 이러한 용어에 한정되어서는 안 된다는 것을 이해하기 바란다. 이러한 용어들은 동일한 유형의 정보를 서로 구별하기 위해서만 사용된다. 예를 들어, 본 발명의 범위를 벗어나지 않는 경우, 제1 정보를 제2 정보라고 부를 수도 있고, 마찬가지로, 제2 정보를 제1 정보라고 부를 수도 있다. 문맥에 따라서는 여기서 사용되고 있는 "경우"라는 단어는 "때" 또는 "시" 또는 "결정에 대한 응답으로"로 해석할 수 있다. In the present invention, terms such as first, second, third, etc. may be used to describe various information, but please understand that such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, without departing from the scope of the present invention, the first information may be called second information, and similarly, the second information may be called first information. Depending on the context, the word "if" as used herein can be interpreted as "when" or "when" or "in response to a decision."

종래 기술에서는 전자 장치 상의 프로세스에 생성된 처리 예정 명령어를 취득한 후, 해당 처리 예정 명령어를 JEDEC 프로토콜에 기초한 메모리로 송신하고, 해당 메모리에서 해당 처리 예정 명령어를 처리하고, 즉, 처리 예정 명령어의 액세스 예정 주소로의 액세스를 수행한다. In the prior art, after obtaining the instruction to be processed generated in the process on the electronic device, the instruction to be processed is transmitted to a memory based on the JEDEC protocol, and the instruction to be processed is processed in the memory, that is, the instruction to be processed is scheduled to be accessed. Performs access to an address.

여기서, JEDEC 프로토콜에 기초한 메모리, 즉 메모리 칩은 블록을 단위로 액세스한다. 도 1에 도시된 바와 같이, 전자 장치의 파일 시스템(예를 들어 F2FS(Flash) Friendly File System))에서 데이터의 저장 단위는 4KB이며, 파일 1의 크기는 24KB이며, 파일 1의 데이터를 LBA 1~LBA 6의 위치, 주소 1~6에 각각 둘 수 있다. Here, the memory based on the JEDEC protocol, that is, the memory chip, is accessed block by block. As shown in Figure 1, the storage unit of data in the file system of an electronic device (e.g., F2FS (Flash) Friendly File System) is 4KB, the size of file 1 is 24KB, and the data in file 1 is stored in LBA 1. It can be placed at the location of ~LBA 6 and addresses 1~6, respectively.

선택적으로, JEDEC 프로토콜에 기초한 Nand flash 메모리는, EMMC(Embedded Multi Media Card) 저장칩, UFS(Universal Flash Storage) 저장칩을 포함한다. Optionally, Nand flash memory based on the JEDEC protocol includes an Embedded Multi Media Card (EMMC) storage chip and a Universal Flash Storage (UFS) storage chip.

그러나 처리 예정 명령어의 수가 복수인 경우, 처리 예정 명령어를 하나씩 JEDEC 프로토콜에 기초한 메모리로 송신할 필요가 있어, 명령어 오버헤드가 증가하고, 즉 관련 명령어를 메모리로 송신하기 위해 필요한 리소스가 증가하고, JEDEC 프로토콜에 기초한 메모리는 처리 예정 명령어를 하나씩으로만 처리할 수 있어, 명령어 처리의 효율을 저하시키고, 전자 장치의 성능에 영향을 준다. However, when the number of instructions to be processed is multiple, it is necessary to transmit the instructions to be processed one by one to memory based on the JEDEC protocol, which increases instruction overhead, that is, the resources required to transmit related instructions to memory increase, and JEDEC Protocol-based memory can only process commands to be processed one by one, reducing the efficiency of command processing and affecting the performance of electronic devices.

따라서, 상술한 문제에 대하여, 본 발명의 실시예는 복수의 처리 예정 명령어를 취득한 후, 처리 예정 명령어를 병합하여 복수의 처리 예정 명령어의 액세스 예정 주소를 포함하는 병합 명령어를 얻는 데이터 액세스 방법을 제안하고 있다. 병합 명령어를 JEDEC 프로토콜에 기초한 메모리에 송신하여, 명령어의 오버헤드를 저감한다. 해당 JEDEC 프로토콜에 기초한 메모리는 병합 명령어에서의 복수의 액세스 예정 주소에 따라 액세스하여, 처리 예정 명령어의 동시 처리를 실현하고, 명령어 처리의 효율을 향상시키며, 그에 따라 전자 장치의 성능을 향상시키고, 즉 시스템 전체의 IO(Input/Output, 입출력) 성능을 향상시킨다. Therefore, in response to the above-described problem, the embodiment of the present invention proposes a data access method to acquire a plurality of instructions to be processed and then merge the instructions to be processed to obtain a merge instruction including the access address of the plurality of instructions to be processed. I'm doing it. By transmitting merge instructions to memory based on the JEDEC protocol, instruction overhead is reduced. The memory based on the corresponding JEDEC protocol is accessed according to a plurality of access scheduled addresses in the merge instruction, realizing simultaneous processing of instructions to be processed, improving the efficiency of instruction processing, and thereby improving the performance of the electronic device, that is, Improves IO (Input/Output) performance of the entire system.

도 2에 도시된 바와 같이, 도 2는 본 발명의 예시적인 실시예에서 데이터 액세스 방법의 흐름도이며, 해당 방법은 전자 장치에 적용되며, 구체적으로는 전자 장치의 프로세서에 적용되며, 해당 방법은 다음 단계를 포함한다. As shown in Figure 2, Figure 2 is a flowchart of a data access method in an exemplary embodiment of the present invention, the method is applied to an electronic device, and specifically applied to a processor of the electronic device, the method is as follows: Includes steps.

단계S201, 복수의 처리 예정 명령어를 취득한다. 여기서, 각각의 처리 예정 명령어는 액세스 예정 주소를 포함한다. Step S201, obtain a plurality of instructions to be processed. Here, each instruction to be processed includes an address to be accessed.

단계S202, 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득한다. Step S202, an instruction to be merged is determined among a plurality of instructions to be processed, and the instructions to be merged are merged to obtain the merge instruction.

본 발명의 실시예에서, 전자 장치는 멀티태스킹 병렬 처리를 지원하며, 실행 중에, 전자 장치의 각 프로세스는 동시에 다양한 데이터의 읽기 및 쓰기 동작 요청, 즉 처리 예정 명령어를 생성한다. 프로세스에 의해 생성된 처리 예정 명령어 즉, 복수의 처리 예정 명령어를 취득한 후, 복수의 처리 예정 명령어로부터 병합가능한 처리 예정 명령어를 결정하고, 즉, 적어도 2개의 처리 예정 명령어를 병합 예정 명령어로 하고, 병합 예정 명령어를 병합 처리하고, 즉 복수의 명령어를 하나의 명령어로 병합하고, 병합된 명령어를 병합 명령어로 하며, 해당 병합 명령어는 복수의 액세스 예정 주소를 포함하며, 해당 복수의 액세스 예정 주소는 각각의 병합 예정 명령어에 대한 액세스 예정 주소를 포함한다. In an embodiment of the present invention, the electronic device supports multitasking parallel processing, and during execution, each process of the electronic device simultaneously generates read and write operation requests for various data, that is, instructions to be processed. After obtaining a plurality of instructions to be processed, that is, a plurality of instructions to be processed, a command to be processed that can be merged is determined from the plurality of instructions to be processed, that is, at least two instructions to be processed are set to an instruction to be merged, and merged. The scheduled instructions are merged, that is, a plurality of instructions are merged into one instruction, and the merged instruction is called a merge instruction. The merge instruction includes a plurality of access scheduled addresses, and the plurality of access scheduled addresses are each Contains the access address of the instruction to be merged.

여기서, 처리 예정 명령어는 액세스 예정 주소를 포함하며, 즉, 각 처리 예정 명령어에 대응하는 액세스 예정 주소가 있다. 해당 액세스 예정 주소는 액세스할 필요가 있는 데이터 주소, 즉 데이터 읽기 및 쓰기가 필요한 주소를 나타낸다. Here, the instruction to be processed includes a scheduled access address, that is, there is a scheduled access address corresponding to each instruction to be processed. The access scheduled address represents the data address that needs to be accessed, that is, the address that requires reading and writing data.

선택적으로, 액세스 예정 주소는 논리 주소이다. Optionally, the address to be accessed is a logical address.

단계S203, 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 실시한다. Step S203, data access is performed according to the access scheduled address corresponding to the merge instruction.

본 실시예에서는 병합 명령어 중 각 병합 예정 명령어의 액세스 예정 주소에 따라 데이터 액세스를 수행하고, 즉, 해당 병합 명령어 중 각 병합 예정 명령어의 액세스 예정 주소에 액세스하여, 대응하는 데이터 읽기 및 쓰기 동작을 수행함으로써, 단일 명령어를 이용하여 복수의 처리 예정 명령어의 액세스 예정 주소에 액세스할 수 있으며, 복수의 명령어에 기초하여 복수의 액세스 예정 주소에 액세스할 필요 없이, 명령어의 동시 처리를 실현할 수 있어, 데이터 액세스의 효율을 향상시킨다. In this embodiment, data access is performed according to the access address of each instruction to be merged among the merge instructions, that is, the access address of each instruction to be merged is accessed to perform corresponding data read and write operations. By doing so, it is possible to access the access addresses of multiple instructions to be processed using a single instruction, and simultaneous processing of instructions can be realized without the need to access multiple access addresses based on multiple instructions, allowing data access. improves efficiency.

선택적으로, 병합 명령어에 기초하여 데이터 액세스를 수행하는 경우, 메모리를 사용하여 데이터 액세스를 수행할 수 있으며, 즉 병합 명령어를 타겟 메모리로 전송함으로써, 타겟 메모리가 병합 명령어 중 각 병합 예정 명령어의 액세스 예정 주소에 따라 데이터 액세스를 수행할 수 있다. Optionally, when performing data access based on a merge instruction, the data access may be performed using memory, that is, by transmitting the merge instruction to the target memory, the target memory may be configured to access the scheduled access of each instruction to be merged among the merge instructions. Data access can be performed based on the address.

구체적으로는, 병합 명령어를 얻은 후, 해당 병합 명령어를 타겟 메모리로 전송한다. 타겟 메모리는 해당 병합 명령어를 실행하고, 즉 병합 명령어를 해석하고, 해당 병합 명령어 중의 복수의 액세스 예정 주소를 얻고, 해당 병합 명령어 중의 복수의 액세스 예정 주소에 액세스하여, 대응하는 데이터의 읽기 및 쓰기 동작을 수행하여, 명령어 처리의 효율을 향상시키고, 타겟 메모리의 동시 처리 능력을 충분히 이용하여, 타겟 메모리의 동시성을 향상시킨다. Specifically, after obtaining the merge command, the merge command is transmitted to the target memory. The target memory executes the merge instruction, that is, interprets the merge instruction, obtains a plurality of access scheduled addresses in the merge instruction, accesses the plurality of access scheduled addresses in the merge instruction, and performs read and write operations of the corresponding data. By performing this, the efficiency of instruction processing is improved and the concurrent processing capacity of the target memory is sufficiently utilized to improve the concurrency of the target memory.

여기서, 타겟 메모리는 JEDEC 프로토콜에 기초한 메모리, 예를 들어 Nand flash를 포함한다. 구체적으로 타겟 메모리는 EMMC(Embedded Multi Media Card) 메모리 칩, UFS(Universal Flash Storage) 메모리 칩 등이다. Here, the target memory includes memory based on the JEDEC protocol, for example, Nand flash. Specifically, the target memories include EMMC (Embedded Multi Media Card) memory chips and UFS (Universal Flash Storage) memory chips.

선택적으로, 전자 장치는 모바일 단말기(예를 들어, 휴대 전화, 태블릿 컴퓨터 등), 단말 장치(예를 들어, 컴퓨터, 서버) 등의 타겟 메모리를 포함하는 제품을 포함한다. Optionally, the electronic device includes products that include target memory, such as mobile terminals (eg, cell phones, tablet computers, etc.), terminal devices (eg, computers, servers), etc.

타겟 메모리에의 액세스 방법은, 랜덤 액세스(즉 랜덤 읽기 및 쓰기)를 포함하고, 랜덤 읽기 및 쓰기는 메모리에 대한 이산 랜덤적인 주소 액세스를 의미한다. 타겟 메모리가 Nand flash 메모리인 경우를 예로 들면, 프로세스에 의해 생성된 처리 예정 명령어를 얻은 후, 처리 예정 명령어를 캐시한다. 캐시된 처리 예정 명령어의 액세스 예정 주소가 인접하여 연속된 주소가 아닌 경우, 랜덤 액세스 방법으로 액세스할 필요가 있음을 나타내며, 멀티 명령어 모드 즉 처리 예정 명령어를 Nand flash 메모리에 각각 송신하고, 즉 Nand flash 메모리에 각각 액세스하여, 명령어의 오버헤드를 증가시키고, 그리고 Nand flash 메모리는 매번 하나의 처리 예정 명령어만 처리할 수 있어, 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을 각각 송신할 수밖에 없다. 본 발명에서는 액세스 주소가 연속되지 않는 처리 예정 명령어에 대해 병합 처리를 수행함으로써, 복수의 처리 예정 명령어를 병합하여 하나의 명령어를 얻고, 즉 병합 명령어를 얻어 명령어의 오버헤드를 저감한다. 해당 병합 명령어를 Nand flash 메모리로 송신하여, Nand flash 메모리가 복수의 액세스 예정 주소에 한 번에 액세스할 수 있도록 하여, 명령어 처리의 효율을 향상시킨다. The access method to the target memory includes random access (i.e. random read and write), where random read and write means discrete random address access to the memory. For example, if the target memory is Nand flash memory, after obtaining the instructions to be processed generated by the process, the instructions to be processed are cached. If the access address of the cached instruction to be processed is not a contiguous address, it indicates that access is required by the random access method, and in multi-instruction mode, that is, each instruction to be processed is sent to Nand flash memory, that is, Nand flash. Each access to memory increases the overhead of instructions, and since Nand flash memory can only process one instruction to be processed each time, the simultaneous processing capacity of Nand flash memory cannot be fully utilized, which reduces the throughput of random access in the system. affects. For example, as shown in FIG. 3, process A generates instruction 1 whose intended access address is address 1 (i.e., address 1 in FIG. 1). Process B generates instruction 2 whose intended access address is address 3 (i.e., address 3 in FIG. 1). Process C generates instruction 3 whose intended access address is address 5 (i.e., address 5 in FIG. 1). Processes A, B, and C access data in logical addresses 1, 3, and 5 of file 1 in Figure 1. Since address 1, address 3, and address 5 are not consecutive, they cannot be merged, and command 1, command 2, and command 3 must be transmitted respectively to the Nand flash memory. In the present invention, by performing merge processing on instructions to be processed whose access addresses are not consecutive, one instruction is obtained by merging a plurality of instructions to be processed, that is, the overhead of the instruction is reduced by obtaining a merge instruction. By sending the merge command to the Nand flash memory, the Nand flash memory can access multiple access addresses at once, improving the efficiency of command processing.

이상의 설명으로부터, 복수의 처리 예정 명령어를 얻는 경우, 복수의 처리 예정 명령어 중의 병합 예정 명령어를 결정하고, 즉 병합가능한 적어도 2개의 처리 예정 명령어를 결정하며, 결정된 병합 예정 명령어를 병합하고, 병합 명령어를 얻어 명령어의 수를 줄이고, 명령어의 오버헤드를 줄일 수 있다. 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하고, 하나의 명령어에 기초하여 복수의 처리 예정 명령어의 액세스 예정 주소에 액세스할 수 있도록 하여, 명령어의 동시 처리가 실현되어, 명령어 처리의 효율을 향상시키고, 그에 따라 전자 장치의 성능을 효과적으로 향상시킨다. From the above description, when obtaining a plurality of instructions to be processed, an instruction to be merged among the plurality of instructions to be processed is determined, that is, at least two instructions to be merged are determined, the determined instructions to be merged are merged, and the merge instruction is You can reduce the number of instructions and reduce instruction overhead. By performing data access according to the access address corresponding to the merge instruction and accessing the access address of multiple instructions to be processed based on one instruction, simultaneous processing of instructions is realized, improving the efficiency of instruction processing. and thereby effectively improve the performance of electronic devices.

도 4에 도시된 바와 같이, 도 4는 본 발명의 일 실시예에서 다른 데이터 액세스 방법을 나타내는 흐름도이다. 도 2의 실시예에 기초하여 랜덤 액세스를 수행하는 경우에는 도 4에 도시된 바와 같이 액세스 예정 주소의 비연속적인 명령어를 병합할 수 있으며, 이하에 특정 실시예와 관련하여 해당 프로세스를 설명하고, 해당 방법은 다음 단계를 포함한다. As shown in Figure 4, Figure 4 is a flow diagram illustrating another data access method in one embodiment of the present invention. When performing random access based on the embodiment of FIG. 2, discontinuous instructions of the access scheduled address can be merged as shown in FIG. 4. The process will be described in relation to the specific embodiment below, The method includes the following steps:

단계S401, 복수의 처리 예정 명령어를 취득한다. 여기서, 각 처리 예정 명령어는 액세스 예정 주소를 포함한다. Step S401, obtain a plurality of instructions to be processed. Here, each instruction to be processed includes an address to be accessed.

단계S402, 제1 명령어를 취득한다. 여기서, 제1 명령어는 처리 예정 명령어 중 어느 하나의 명령어이다. Step S402, obtain the first instruction. Here, the first command is one of the commands to be processed.

본 발명의 실시예에서는 취득된 처리 예정 명령어로부터 하나의 처리 예정 명령어를 선택하고, 선택된 처리 예정 명령어를 제1 명령어로 한다. In an embodiment of the present invention, one instruction to be processed is selected from the acquired instructions to be processed, and the selected instruction to be processed is set as the first instruction.

선택적으로, 데이터 액세스의 효율을 향상하기 위하여, 처리 예정 명령어를 취득한 후, 처리 예정 명령어를 소정의 명령어 큐에 저장하여, 명령어 캐시를 수행할 수 있고, 처리 예정 명령어의 병합을 용이하게 할 수 있다. 처리 예정 명령어를 저장하는 소정의 명령어 큐에서 제1 명령어로 하나의 처리 예정 명령어를 선택하고, 즉 제1 명령어를 결정한다. 여기서, 제1 명령어를 결정하는 프로세스는, 구체적으로는 처리 예정 명령어를 소정의 명령어 큐에 저장하는 것이다. 소정의 명령어 큐 중 이하의 적어도 하나의 조건을 충족시키는 처리 예정 명령어를 제1 명령어로 한다. 처리 예정 명령어에 대응하는 제2 듀레이션이 제2 시간 임계값보다 크다. 여기서, 제2 듀레이션은 소정의 명령어 큐에서의 처리 예정 명령어의 저장 듀레이션을 나타낸다. 처리 예정 명령어는 소정의 명령어 큐 중의 설정 위치에 위치한다. 여기서 설정 위치는 큐의 헤드 위치 또는 큐의 테일 위치이다. Optionally, in order to improve the efficiency of data access, after obtaining the instructions to be processed, the instructions to be processed can be stored in a predetermined instruction queue, so that instruction caching can be performed and merging of instructions to be processed can be facilitated. . One instruction to be processed is selected as the first instruction from a predetermined instruction queue storing instructions to be processed, that is, the first instruction is determined. Here, the process of determining the first command is, specifically, storing the command to be processed in a predetermined command queue. An instruction to be processed that satisfies at least one of the following conditions among the predetermined instruction queue is set as the first instruction. The second duration corresponding to the instruction scheduled to be processed is greater than the second time threshold. Here, the second duration represents the storage duration of the command to be processed in a predetermined command queue. The command to be processed is located at a set position in a predetermined command queue. Here, the setting position is the head position of the cue or the tail position of the cue.

여기서, 소정의 명령어 큐 중의 처리 예정 명령어는 소정의 주소 정렬 규칙에 근거하여 배열될 수 있다. 소정의 주소 정렬 규칙에는 주소가 큰 것에서 작은 것으로의 정열 규칙 규칙(즉, 소정의 명령어 큐 중의 액세스 예정 명령어의 액세스 예정 주소가 큰 것에서 작은 것으로 정열된 것), 주소가 작 것에서 큰 것으로의 정열 규칙 규칙(즉, 소정의 명령어 큐 중의 액세스 예정 명령어의 액세스 예정 주소가 작 것에서 큰 것으로 정열된 것) 등이 포함된다. Here, instructions to be processed in a predetermined instruction queue may be arranged based on a predetermined address sorting rule. Predetermined address sorting rules include an address sorting rule from large to small (i.e., the accessed addresses of instructions scheduled to be accessed in a given instruction queue are sorted from large to small), and an address sorting rule from small to large. Rules (i.e., the access scheduled addresses of the access scheduled instructions in a predetermined instruction queue are sorted from small to large), etc. are included.

선택적으로, 조건을 충족시키는 처리 예정 명령어의 수가 복수인 경우, 제2 듀레이션이 가장 긴 처리 예정 명령어를 제1 명령어로 할 수 있고, 해당 제2 듀레이션은 처리 예정 명령어의 소정의 명령어 큐에 저장하는 듀레이션을 나타낸다. 여기서, 논리 주소는 순차적으로 명명되어 있으며, 예를 들어 타겟 메모리 내에는 1000개의 저장블록이 있고, 해당 1000개의 메모리블록에 1~1000을 기준으로 명명하며, 대응하는 논리 주소는 1~1000이다. 액세스 예정 주소는 논리 주소이기 때문에, 액세스 예정 주소를 액세스 예정 주소의 크기에 따라 정렬할 수 있고, 액세스 예정 주소의 순서에 따라, 처리 예정 명령어를 정렬할 수 있다. Optionally, if the number of instructions to be processed that satisfies the condition is plural, the instruction to be processed with the longest second duration may be set as the first instruction, and the second duration is stored in a predetermined instruction queue of the instruction to be processed. Indicates duration. Here, the logical addresses are named sequentially. For example, there are 1000 storage blocks in the target memory, and the 1000 memory blocks are named based on 1 to 1000, and the corresponding logical addresses are 1 to 1000. Since the accessed address is a logical address, the accessed address can be sorted according to the size of the accessed address, and the instructions to be processed can be sorted according to the order of the accessed address.

선택적으로, 설정 위치는 다른 위치일 수 있으며, 여기서는 제한하지 않는다. Optionally, the setting location may be another location, but is not limited here.

선택적으로, 소정의 명령어 큐로부터 제1 명령어를 결정하는 조건은 다른 조건을 포함할 수 있고, 예를 들어 처리 예정 명령어에 대응하는 제2 듀레이션이 가장 긴 즉 소정의 명령어 큐 중 저장시간이 가장 긴 처리 예정 명령어를 제1 명령어라고 할 수 있다. Optionally, the condition for determining the first instruction from a predetermined instruction queue may include other conditions, for example, the second duration corresponding to the instruction to be processed is the longest, that is, the storage time is the longest among the predetermined instruction queues. The instruction to be processed may be referred to as the first instruction.

선택적으로, 처리 예정 명령어를 취득한 후, 먼저 해당 처리 예정 명령어에 대해 관련 처리(예를 들면 명령어 포맷의 표준화 여부, 메모리의 혼잡 여부를 판단하는 등)를 실시하고, 처리된 처리 예정 명령어를 소정의 명령어 큐에 저장할 수 있다. Optionally, after obtaining the instruction to be processed, first perform related processing on the instruction to be processed (e.g., determine whether the instruction format is standardized, determine whether memory is congested, etc.), and then store the processed instruction to be processed in a predetermined format. It can be stored in the command queue.

단계S403, 제1 명령어 이외의 처리 예정 명령어를 트래버싱하여 제2 명령어를 취득한다. 여기서, 제2 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소는 간접적으로 연속하고, 또한 제2 명령어의 액세스 예정 주소는 다른 처리 예정 명령어의 액세스 예정 주소를 통해 제1 명령어의 액세스 예정 주소에 연속하지 않는다. Step S403, instructions to be processed other than the first instruction are traversed to obtain the second instruction. Here, the access scheduled address of the second instruction and the access scheduled address of the first instruction are indirectly consecutive, and the access scheduled address of the second instruction is connected to the access scheduled address of the first instruction through the access scheduled address of another instruction to be processed. It is not continuous.

본 발명의 실시예에서는 소정의 명령어 큐 중의 제1 명령어 이외의 처리 예정 명령어를 트래버싱하여, 그 이외의 처리 예정 명령어 중에 제1 명령어에 대응하는 주소가 연속되지 않는 제2 명령어가 존재하는지 여부를 결정함으로써, 제2 명령어가 존재한다고 결정한 경우, 제2 명령어에 기초하여 병합 예정 명령어를 결정하고, 즉, 제1 명령어와 제2 명령어가 병합 예정 명령어로 결정된다. 예를 들어, 제1 명령어는 소정의 명령어 큐 중의 큐의 헤드 위치에 있는 명령어이고, 해당 소정의 명령어 큐의 다른 위치에 있는 명령어를 트래버싱하여, 소정의 명령어 큐 중의 다른 위치에 있는 명령어에 제2 명령어가 존재하는지 여부를 결정한다. In an embodiment of the present invention, instructions to be processed other than the first instruction in a predetermined instruction queue are traversed to determine whether there is a second instruction whose address corresponding to the first instruction is not consecutive among the instructions to be processed other than the first instruction. By determining, when it is determined that the second instruction exists, the instruction to be merged is determined based on the second instruction, that is, the first instruction and the second instruction are determined to be the instruction to be merged. For example, the first instruction is an instruction at the head of the queue in a given instruction queue, and by traversing instructions at other positions in the given instruction queue, the first instruction is issued to an instruction at another position in the given instruction queue. 2 Determine whether the command exists.

여기서, 제2 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소는 간접적으로 연속하고, 또한 제2 명령어의 액세스 예정 주소는 다른 처리 예정 명령어의 액세스 예정 주소를 통해 제1 명령어의 액세스 예정 주소에 연속하지 않는다. Here, the access scheduled address of the second instruction and the access scheduled address of the first instruction are indirectly consecutive, and the access scheduled address of the second instruction is connected to the access scheduled address of the first instruction through the access scheduled address of another instruction to be processed. It is not continuous.

여기서, 간접적으로 연속은 제2 명령어의 액세스 예정 주소가 다른 논리 주소를 통해 제1 명령어의 액세스 예정 주소와 연속됨을 나타내며, 즉, 제2 명령어의 액세스 예정 주소는 제1 명령어의 액세스 예정 주소와 연속되지 않는다. 예를 들어, 현재 트래버싱되는 처리 예정 명령어의 액세스 예정 주소는 4이며, 제1 명령어의 액세스 예정 주소가 1이고, 현재 트래버싱되는 처리 예정 명령어의 액세스 예정 주소는 다른 논리 주소(즉 논리 주소 2 및 3)를 통해 제1 명령어의 액세스 예정 주소와 연속할 필요가 있는 경우, 현재 트래버싱되는 처리 예정 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소는 간접적으로 연속된다고 결정한다. Here, indirect continuation indicates that the access scheduled address of the second instruction is continuous with the access scheduled address of the first instruction through another logical address, that is, the access scheduled address of the second instruction is continuous with the access scheduled address of the first instruction. It doesn't work. For example, the scheduled access address of the instruction to be processed that is currently traversed is 4, the scheduled access address of the first instruction is 1, and the scheduled access address of the instruction to be processed that is currently traversed is another logical address (i.e., logical address 2). and 3), if it is necessary to be continuous with the access scheduled address of the first instruction, it is determined that the access scheduled address of the currently traversed instruction to be processed and the access scheduled address of the first instruction are indirectly continuous.

여기서, 현재 트래버싱하는 처리 예정 명령어의 액세스 예정 주소는 2이고, 제1 명령어의 액세스 예정 주소는 1인 경우, 현재 트래버싱하는 처리 예정 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소는 연속된다고 결정한다. Here, if the scheduled access address of the instruction to be processed currently traversing is 2 and the scheduled access address of the first instruction is 1, the scheduled access address of the instruction to be processed currently traversed and the scheduled access address of the first instruction are consecutive. Decide that it will work.

본 발명의 실시예에서는 제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 명령어가 아니라고 결정한다.In an embodiment of the present invention, in the process of traversing an instruction to be processed other than the first instruction, it is determined whether the access scheduled address of the currently traversed instruction to be processed and the scheduled access address of the first instruction are indirectly continuous, If the access scheduled address of the currently traversed instruction to be processed and the access scheduled address of the first instruction are not indirectly contiguous, the access scheduled address of the currently traversed instruction to be processed and the scheduled access address of the first instruction are contiguous. indicates that the instruction to be processed that is currently traversed is a sequential access instruction corresponding to the first instruction, that is, it is determined that it is not the second instruction. If the access address of the currently traversed instruction to be processed and the access address of the first instruction are indirectly consecutive, the access address of the currently traversed instruction to be processed is accessed through the access address of the other instruction to be processed. 1 Determine whether the access address of the instruction is continuous, and if the access address of the instruction to be currently traversed is contiguous with the access address of the first instruction through the access address of another instruction to be processed, the current traverse If it is determined that the instruction to be processed is not a second instruction, and the access address of the instruction to be currently traversed is not continuous with the address to be accessed of the first instruction through the access address of the instruction to be processed, the instruction to be processed is currently traversed. It is determined that the instruction to be processed that is traversed is the second instruction. For example, instructions to be processed include instruction 1, instruction 2, and instruction 3. The scheduled access address of instruction 1 is 1, the scheduled access address of instruction 2 is 2, and the scheduled access address of instruction 3 is 3. Instruction 3 is the currently traversed instruction to be processed, and instruction 1 is the first instruction. It is determined that the access address of instruction 3 and the access address of instruction 1 are not contiguous, that is, indirectly contiguous, and the access address of instruction 3 is determined to be the access address of instruction 1 through the access address of another instruction to be processed. Continue to decide whether to continue. Since the access address of instruction 3 is continuous with the access address of instruction 1 through the access address of instruction 2, it is determined that instruction 3 is not the second instruction.

선택적으로, 처리 예정 명령어가 소정의 주소 정렬 규칙에 따라 배열되는 경우, 제1 명령어 이외의 처리 예정 명령어를 트래버싱하는 과정에서, 현재 트래버싱되는 처리 예정 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소가 연속되는지 여부를 결정하고, 현재 트래버싱되는 처리 예정 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소가 연속되어 있는 경우, 현재 트래버싱되는 처리 예정 명령어가 제1 명령어에 대응하는 순차적 액세스 명령어이고, 즉 제2 명령어가 아니라고 결정하고, 현재 트래버싱되는 처리 예정 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소가 연속되지 않는 경우, 현재 트래버싱되는 처리 예정 명령어에 대응하는 액세스 예정 주소와 직전 트래버싱되는 처리 예정 명령어의 액세스 예정 주소가 연속되는지 여부를 계속해서 판단한다. 현재 트래버싱되는 처리 예정 명령어에 대응하는 액세스 예정 주소와 직전 트래버싱되는 처리 예정 명령어의 액세스 예정 주소가 연속되는 경우, 직전 트래버싱되는 처리 예정 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소가 연속되거나 트래버싱된 처리 예정 명령어의 액세스 예정 주소를 통해 제1 명령어의 액세스 예정 주소와 연속되는 경우, 현재 트래버싱되는 처리 예정 명령어가 제1 명령어에 대응하는 순차적 액세스 데이터 명령어이고, 제2 명령어가 아니라고 결정하고, 현재 트래버싱되는 처리 예정 명령어에 대응하는 액세스 예정 주소와 직전 트래버싱되는 처리 예정 주소가 연속되지 않는 경우, 현재 트래버싱되는 처리 예정 명령어가 제2 명령어라고 결정한다.Optionally, when the instructions to be processed are arranged according to a predetermined address alignment rule, in the process of traversing the instructions to be processed other than the first instruction, the access address of the instruction to be processed that is currently traversed and the access of the first instruction Determine whether the scheduled addresses are consecutive, and if the access scheduled address of the instruction to be processed that is currently traversed and the scheduled access address of the first instruction are consecutive, the instruction to be processed that is currently traversed is sequentially corresponding to the first instruction. If it is determined that it is an access instruction, that is, not a second instruction, and the access scheduled address of the currently traversed instruction to be processed is not contiguous with the access scheduled address of the first instruction, the access scheduled corresponding to the currently traversed instruction to be processed is not consecutive. It continues to determine whether the address and the access address of the instruction to be processed that were traversed immediately before are contiguous. If the access address corresponding to the currently traversed instruction to be processed and the access address of the instruction to be processed immediately traversed are consecutive, the access address of the instruction to be processed immediately traversed is the access address of the first instruction. If the access scheduled address of the sequential or traversed instruction to be processed is continuous with the access address of the first instruction, the currently traversed instruction to be processed is a sequential access data instruction corresponding to the first instruction, and the second instruction is If it is determined that no, and the access scheduled address corresponding to the currently traversed instruction to be processed and the processing address scheduled to be traversed immediately before are not consecutive, it is determined that the currently traversed instruction to be processed is the second instruction.

선택적으로, 타겟 메모리에 대응하는 액세스 방법에는 순차적 액세스(즉, 순차 읽기 및 쓰기)도 포함된다. 여기서 순차적 액세스는 메모리에 대한 연속적인 주소 액세스를 의미하고, 랜덤 읽기 및 쓰기는 메모리에 대한 이산적 랜덤 주소 액세스를 의미한다. 소정의 명령어 큐에서의 제1 명령어 이외의 처리 예정 명령어 중 어느 것도 제2 명령어가 아니라고 결정한 경우, 그 이외의 처리 예정 명령어가 모두 제1 명령어의 순차적 액세스 명령어임을 나타내고, 즉, 그 이외의 처리 예정 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소가 순차적 액세스 가능함을 나타내며, 순차적 액세스 규칙에 따라, 해당 제1 명령어 및 액세스 예정 주소와 제1 명령어의 액세스 예정 주소가 연속되는 처리 예정 명령어를 병합 예정 명령어로 하여, 병합 예정 명령어를 병합 처리하여, 병합 명령어를 얻는다. 병합 명령어에서의 각 병합 예정 명령어의 액세스 예정 주소에 따라 데이터 액세스를 실시한다. Optionally, the access method corresponding to the target memory also includes sequential access (ie, sequential read and write). Here, sequential access refers to sequential address access to memory, and random read and write refers to discrete random address access to memory. If it is determined that none of the instructions scheduled to be processed other than the first instruction in the predetermined instruction queue is the second instruction, it indicates that the instructions scheduled to be processed other than that are all sequential access instructions of the first instruction, that is, the instructions scheduled to be processed other than that are scheduled to be processed. It indicates that the access scheduled address of the instruction and the access scheduled address of the first instruction are sequentially accessible, and according to the sequential access rule, the instruction to be processed where the corresponding first instruction and the scheduled access address and the scheduled access address of the first instruction are consecutive are merged. Using the scheduled instructions, the instructions scheduled to be merged are merged to obtain a merge instruction. Data access is performed according to the access address of each instruction to be merged in the merge instruction.

여기서, 순차적 액세스 규칙은 실제 수요에 기초하여 정의할 수 있으며, 예를 들어 제1 명령어 이외의 모든 또는 일부 처리 예정 명령어를 병합 예정 명령어로 할 수 있다. Here, sequential access rules can be defined based on actual demand, and for example, all or some instructions to be processed other than the first instruction can be made into instructions to be merged.

구체적으로, 데이터의 읽기 및 쓰기 액세스의 효율을 향상시키기 위해, 각 프로세스에서 생성된 처리 예정 명령어를 캐시할 수 있다. 타겟 메모리를 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를 기반으로 순차적 액세스가 가능하다. Specifically, to improve the efficiency of data read and write access, instructions scheduled to be processed generated by each process can be cached. For example, if the target memory is Nand flash memory, if the access address of the cached instruction to be processed is an adjacent and consecutive address, it indicates that access is possible through sequential access, and the address scheduled to be processed is consecutively adjacent, that is, the instruction to be processed is By merging, the Nand flash memory can be accessed sequentially based on the instructions scheduled to be processed after merging, that is, the addresses after merging. Accordingly, a small number of instructions can be used as much as possible, and the addresses accessed by each instruction and the instructions before and after are By ensuring continuity, the concurrency of data processed by memory is improved and the overhead of instructions is reduced. For example, as shown in Figure 5, process A generates instruction 1, the intended access address in instruction 1 is address 1 (i.e., address 1 in Figure 1), and process B generates instruction 2. And, the address to be accessed in instruction 2 is address 2 (i.e., address 2 in Figure 1), process C generates instruction 3, and the address to be accessed in instruction 3 is address 3 (i.e., address in Figure 1). 3). Processes A, B, and C access data in logical addresses 1, 2, and 3 of file 1 in Figure 1. Since address 1, address 2, and address 3 are adjacent and consecutive, instruction 1, instruction 2, and instruction 3 are merged to obtain an instruction including address 1, address 2, and address 3, that is, request A, and send request A to Nand flash By transferring to memory, Nand flash memory can be accessed sequentially based on request A.

단계S404, 제2 명령어 및 제1 명령어가 제1 소정의 병합 조건을 충족하는 것에 응답하여, 제2 명령어 및 제1 명령어를 병합 예정 명령어로서 결정한다. Step S404, in response to the second instruction and the first instruction satisfying the first predetermined merging condition, the second instruction and the first instruction are determined as instructions to be merged.

본 발명의 실시예에서는, 현재 트래버싱되고 있는 처리 예정 명령어가 제2 명령어라고 결정한 경우, 해당 제2 명령어가 병합 예정 명령어인지 여부, 즉, 해당 제2 명령어와 제1 명령어가 제1 소정의 병합 조건을 충족하는지 여부를 계속 판단한다. 제2 명령어와 제1 명령어가 제1 소정의 병합 조건을 충족하는 경우, 해당 제2 명령어, 즉 현재 트래버싱하고 있는 처리 예정 명령어와 제1 명령어를 병합할 수 있고, 즉 동시 액세스를 할 수 있음을 나타내며, 해당 제2 명령어와 제1 명령어를 병합 예정 명령어로 하고, 제1 명령어 이외의 처리 예정 명령어를 계속 트래버싱하고, 즉 다음의 제1 명령어 이외의 처리 예정 명령어를 트래버싱하여, 다음의 처리 예정 명령어가 제2 명령어인지 여부를 결정한다. In an embodiment of the present invention, when it is determined that the instruction to be processed that is currently traversed is a second instruction, it is determined whether the second instruction is an instruction to be merged, that is, the second instruction and the first instruction are merged into the first predetermined merge. Continue to determine whether the conditions are met. If the second instruction and the first instruction satisfy the first predetermined merging condition, the corresponding second instruction, that is, the instruction to be processed that is currently traversing, and the first instruction can be merged, that is, simultaneous access can be performed. Indicates that the second instruction and the first instruction are set as instructions to be merged, and instructions to be processed other than the first instruction are continued to be traversed, that is, instructions to be processed other than the next first instruction are traversed, and the next instruction is to be merged. Determine whether the command to be processed is a second command.

제2 명령어 및 제1 명령어가 제1 소정의 병합 조건을 충족하지 못하는 것에 응답하여, 제1 명령어 이외의 처리 예정 명령어를 계속 트래버싱하여, 다음의 처리 예정 명령어가 제2 명령어인지 여부를 결정한다. In response to the second instruction and the first instruction not meeting the first predetermined merge condition, continue traversing instructions to be processed other than the first instruction to determine whether the next instruction to be processed is the second instruction. .

선택적으로, 제1 명령어 이외의 처리 예정 명령어를 계속 트래버싱할 경우, 제1 명령어의 캐시하는 시간이 제1 명령어의 실행을 기다릴 수 있는 시간을 초과하는지 여부를 결정하고, 즉 제1듀레이션을 취득하여, 제1 명령어에 대응하는 제1 시간 임계값을 취득할 필요가 있다. 여기서, 제1 듀레이션은 제1 명령어의 취득 결정부터 시작하여, 현재 시각까지의 듀레이션을 나타낸다. 제1 듀레이션이 제1 시간 임계값보다 작은 것에 응답하는 것은, 명령어의 실행을 기다릴 수 있는 시간, 즉 명령어가 캐시될 수 있는 시간을 아직 초과하지 않았음을 나타내며, 제1 명령어 이외의 처리 예정 명령어를 계속 트래버싱한다. 제1 듀레이션이 제1 시간 임계값보다 크거나 같은 것에 응답하는 것은, 명령어의 캐시 시간, 즉 명령어의 실행을 기다릴 수 있는 시간을 초과했음을 나타내며, 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지하고, 트래버싱 과정에서 결정된 병합 예정 명령어를 병합한다. Optionally, when continuing to traverse instructions scheduled to be processed other than the first instruction, determine whether the time to cache the first instruction exceeds the time to wait for execution of the first instruction, that is, obtain the first duration. Therefore, it is necessary to obtain the first time threshold corresponding to the first instruction. Here, the first duration represents the duration starting from the decision to acquire the first command to the current time. Responding that the first duration is less than the first time threshold indicates that the time that can wait for execution of the instruction, i.e., the time that the instruction can be cached, has not yet been exceeded, and that instructions scheduled to be processed other than the first instruction Continue traversing. Responding that the first duration is greater than or equal to the first time threshold indicates that the cache time of the instruction, i.e., the time that can wait for execution of the instruction, has been exceeded, and traversing of instructions scheduled to be processed other than the first instruction is stopped. And, the instructions to be merged determined during the traversing process are merged.

여기서, 제1 시간 임계값은 명령어 실행의 대기 시간의 상한을 나타낸다. 제1 시간 임계값은 프로세스에 대응하는 관련 애플리케이션이 실시간에 대한 요건에 따라 설정될 수 있으며, 명령어 실행의 대기 시간의 상한 즉 명령어를 캐시할 수 있는 가장 긴 시간을 나타낸다. Here, the first time threshold represents the upper limit of the waiting time for instruction execution. The first time threshold may be set according to the real-time requirements of the relevant application corresponding to the process, and represents the upper limit of the waiting time of instruction execution, that is, the longest time for which the instruction can be cached.

구체적으로, 프로세스에 따라 실시간 요구가 다르기 때문에, 제1 명령어에 대응하는 프로세스에 기초하여 제1 시간 임계값을 결정할 수 있으며, 즉, 제1 명령어에 대응하는 제1 시간 임계값을 획득한 경우, 제1 명령어에 대응하는 타겟 프로세스, 즉, 해당 제1 명령어를 생성하는 프로세스를 획득하고, 해당 타겟 프로세스에 대응하는 프로세스 타입(예를 들어, 비디오 애플리케이션 타입, 메모장 애플리케이션 타입)을 결정할 수 있다. 해당 프로세스 타입에 대응하는 시간 임계값을 제1 명령어에 대응하는 제1 시간 임계값으로 한다. Specifically, since real-time demands vary depending on the process, the first time threshold can be determined based on the process corresponding to the first instruction, that is, when the first time threshold corresponding to the first instruction is obtained, The target process corresponding to the first instruction, that is, the process that generates the first instruction, may be obtained, and the process type (eg, video application type, notepad application type) corresponding to the target process may be determined. The time threshold corresponding to the corresponding process type is set as the first time threshold corresponding to the first instruction.

선택적으로, 제2 명령어 및 제1 명령어가 제1 소정의 병합 조건을 충족하는 것에 응답하여, 제2 명령어 및 제1 명령어를 병합 예정 명령어로서 결정하는 것은,Optionally, in response to the second instruction and the first instruction meeting a first predetermined merge condition, determining the second instruction and the first instruction as instructions to be merged comprises:

저장 간격을 취득하는 것 및 현재의 액세스 총 데이터량을 취득하는 것 중 적어도 하나인 것을 포함한다. 여기서, 저장 간격은 제1 명령어의 액세스 예정 주소와 제2 명령어의 액세스 예정 주소의 거리를 나타낸다. 현재의 액세스 총 데이터량은 결정된 모든 병합 예정 명령어에 대응하는 액세스 예정 데이터량의 합을 나타낸다. It includes at least one of obtaining a storage interval and obtaining a currently accessed total data amount. Here, the storage interval represents the distance between the scheduled access address of the first instruction and the scheduled access address of the second instruction. The current access total data amount represents the sum of the access scheduled data amount corresponding to all determined merge scheduled instructions.

저장 간격이 제1 소정 임계값보다 작은 것 및 현재의 액세스 총 데이터량이 제2 소정 임계값보다 작은 것 중 적어도 하나인 경우, 제2 명령어 및 제1 명령어가 병합 예정 명령어라고 결정한다. If the storage interval is at least one of less than the first predetermined threshold and the current total access data amount is less than the second predetermined threshold, it is determined that the second instruction and the first instruction are instructions to be merged.

제1 소정의 병합 조건에 저장 간격이 제1 소정의 임계값보다 작은 것이 포함되는 것을 예로 한다. 저장 간격을 취득하다. 저장 간격이 제1 소정의 임계값보다도 작은지 여부를 판단한다. 저장 간격이 제1 소정 임계값보다 작은 것에 응답하는 것은, 현재 트래버싱되는 처리 예정 명령어를 동시에 액세스함을 나타내며, 즉, 해당 제2 명령어 및 해당 제1 명령어가 병합 예정 명령어라고 결정한다. 저장 간격이 제1 소정의 임계값보다 크거나 같은 것에 응답하는 것은, 현재 트래버싱되는 처리 예정 명령어를 동시에 액세스할 수 없음을 나타내며, 해당 제2 명령어가 병합 예정 명령어가 아니고, 제1 명령어와 병합할 수 없다고 결정한다. As an example, the first predetermined merging condition includes that the storage interval is less than the first predetermined threshold. Obtain storage interval. It is determined whether the storage interval is smaller than a first predetermined threshold. Responding to the storage interval being less than the first predetermined threshold indicates simultaneous access of the currently traversed instruction to be processed, that is, determining that the second instruction and the first instruction are to be merged instructions. Responding that the storage interval is greater than or equal to the first predetermined threshold indicates that the instruction to be processed that is currently traversed cannot be accessed at the same time, and the corresponding second instruction is not an instruction to be merged, and is merged with the first instruction. Decide you can't do it.

제1 소정의 병합 조건이 현재의 액세스 총 데이터량이 제2 소정의 임계값보다 작은 것을 예로 하고, 현재의 액세스 총 데이터량을 취득한다. 현재의 액세스 총 데이터량이 제2 소정의 임계값보다 작은지를 판단한다. 현재의 액세스 총 데이터량이 제2 소정 임계값보다 작은 것에 응답하는 것은, 현재 트래버싱되는 처리 예정 명령어를 동시에 액세스할 수 있음을 나타내며, 해당 제2 명령어와 해당 제1 명령어가 병합 예정 명령어라고 결정한다. 현재의 액세스 총 데이터량이 제2 소정의 임계값보다 크거나 같은 것에 응답하는 것은, 현재 트래버싱되는 처리 예정 명령어를 동시에 액세스할 수 없음을 나타내며, 해당 제2 명령어는 병합 예정 명령어가 아니라고 결정한다. As an example, the first predetermined merging condition is that the current access total data amount is less than the second predetermined threshold, and the current access total data amount is obtained. It is determined whether the current total amount of accessed data is less than a second predetermined threshold. Responding to the fact that the total data amount currently accessed is less than the second predetermined threshold indicates that the instruction to be processed that is currently traversed can be accessed simultaneously, and it is determined that the second instruction and the first instruction are to be merged instructions. . In response to the currently accessed total data amount being greater than or equal to the second predetermined threshold, it is determined that the instruction scheduled to be currently traversed cannot be accessed simultaneously, and the second instruction is not an instruction scheduled to be merged.

제1 소정의 병합 조건에 저장 간격이 제1 소정의 임계값보다 작은 것 및 현재의 액세스 총 데이터량이 제2 소정 임계값보다 작은 것이 포함되는 것을 예로 하고, 저장 간격 및 현재의 액세스 총 데이터량을 취득한다. 저장 간격이 제1 소정의 임계값보다 작은지를 판단하고, 또한, 현재의 액세스 총 데이터량이 제2 소정의 임계값보다 작은지를 판단한다. 저장 간격이 제1 소정 임계값보다 작은 것 및 현재의 액세스 총 데이터량이 제2 소정 임계값보다 작은 것에 응답하는 것은, 현재 트래버싱되는 처리 예정 명령어를 동시에 액세스할 수 있음을 나타내고, 제2 명령어를 얻고, 해당 제2 명령어 및 해당 제1 명령어가 병합 예정 명령어라고 결정한다. 저장 간격이 제1 소정 임계값보다 크거나 같은 것, 및 현재의 액세스 총 데이터량이 제2 소정 임계값보다 크거나 같은 것 중 적어도 하나에 응답하는 것은, 현재 트래버싱되는 처리 예정 명령어를 동시에 액세스할 수 없음을 나타내며, 해당 제2 명령어는 병합 예정 명령어가 아니라고 결정한다. As an example, the first predetermined merging condition includes that the storage interval is less than the first predetermined threshold and the current access total data amount is less than the second predetermined threshold, and the storage interval and the current access total data amount are set as an example. acquire. It is determined whether the storage interval is less than a first predetermined threshold, and further, it is determined whether the total amount of currently accessed data is less than a second predetermined threshold. Responding to the storage interval being less than the first predetermined threshold and the currently accessed total data amount being less than the second predetermined threshold indicates that the currently traversed instruction to be processed can be accessed simultaneously, and the second instruction is and determine that the second instruction and the first instruction are instructions to be merged. In response to at least one of the storage interval being greater than or equal to the first predetermined threshold, and the currently accessed total data amount being greater than or equal to the second predetermined threshold, the currently traversed instruction to be processed can be simultaneously accessed. It indicates that the second instruction cannot be merged, and it is determined that the second instruction is not an instruction scheduled to be merged.

여기서, 제1 소정의 임계값은 병합 주소의 거리 상한을 나타내고, 해당 병합 주소는 병합된 2개의 논리 주소 간의 차이를 나타낸다. 제1 소정의 임계값은 메모리 내의 캐시 사이즈에 기초하여 결정되며, 매번 액세스하는 데이터가 타겟 메모리에 의해 한 번에 동시에 처리될 수 있도록 보장한다. 구체적으로, 해당 제1 소정 임계값은 상기 타겟 메모리의 대응하는 프로바이더에 의해 제공될 수 있으며, 예를 들어, 제1 소정 임계값은 300M이고, 이는 상기 타겟 메모리가 300M 크기의 데이터를 한 번에 캐시할 수 있어, 캐시된 데이터로부터 대응하는 주소에 액세스할 수 있음을 나타낸다. Here, the first predetermined threshold represents the upper limit of the distance of the merged address, and the merged address represents the difference between the two merged logical addresses. The first predetermined threshold is determined based on the cache size in the memory and ensures that data accessed each time can be simultaneously processed by the target memory at once. Specifically, the first predetermined threshold may be provided by a corresponding provider of the target memory. For example, the first predetermined threshold is 300M, which means that the target memory can transmit data of 300M size once. This indicates that the corresponding address can be accessed from the cached data.

여기서, 제2 소정의 임계값은 1회의 액세스 데이터량의 상한을 나타내고, 즉, 1회의 동시 액세스의 최대 데이터량을 나타낸다. 제2 소정의 임계값은 타겟 메모리의 하드웨어 지원을 참조할 필요가 있으며, 타겟 메모리에 대응하는 프로바이더에 의해 제공될 수 있으며, 제2 소정의 임계값은 예를 들면 128K이다. Here, the second predetermined threshold represents the upper limit of the amount of data for one access, that is, the maximum amount of data for one simultaneous access. The second predetermined threshold needs to refer to the hardware support of the target memory, and can be provided by the provider corresponding to the target memory, and the second predetermined threshold is, for example, 128K.

선택적으로, 저장 간격을 취득하기 전에, 저장 간격을 계산할 필요가 있으며, 해당 저장 간격의 계산은 다음과 같다. 제2 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소 사이의 차이값을 취득한다. 여기서, 액세스 예정 주소는 논리 주소이다. 소정의 저장 단위의 크기를 취득한다. 차이값과 소정의 저장 단위의 크기, 즉 차이값과 소정의 저장 단위의 크기의 곱을 계산하여, 저장 간격을 얻는다. 예를 들면, 제2 명령어의 액세스 예정 주소는 3이고, 제1 명령어의 액세스 예정 주소는 1이며, 소정의 저장 단위의 크기가 4KB인 경우, 저장 간격은 (3-1)*4KB=8KB이다. Optionally, before obtaining the storage interval, it is necessary to calculate the storage interval, and the calculation of the storage interval is as follows. The difference value between the access scheduled address of the second instruction and the access scheduled address of the first instruction is acquired. Here, the access scheduled address is a logical address. Obtains the size of a given storage unit. The storage interval is obtained by calculating the product of the difference value and the size of the predetermined storage unit, that is, the difference value and the size of the predetermined storage unit. For example, if the scheduled access address of the second instruction is 3, the scheduled access address of the first instruction is 1, and the size of the predetermined storage unit is 4KB, the storage interval is (3-1) * 4KB = 8KB. .

여기서, 타겟 메모리는 블록, 즉 저장 블록을 단위로 액세스되므로, 해당 소정의 저장 단위의 크기는 저장 블록의 크기, 예를 들면 4KB이다. Here, since the target memory is accessed in units of blocks, that is, storage blocks, the size of the given storage unit is the size of the storage block, for example, 4KB.

선택적으로, 현재의 액세스 총 데이터량을 취득하기 전에, 현재의 액세스 총 데이터량을 계산해야 한다. 해당 현재의 액세스 총 데이터량의 계산 과정은 다음과 같다. 결정된 각 병합 예정 명령어(즉, 제1 명령어와 제2 명령어)에 대응하는 액세스 예정 데이터량의 합을 계산하여, 현재의 액세스 총 데이터량을 얻는다. Optionally, before obtaining the current access total data amount, the current access total data amount must be calculated. The calculation process of the current access total data amount is as follows. The sum of the scheduled access data amount corresponding to each of the determined merged instructions (i.e., the first instruction and the second instruction) is calculated to obtain the current total accessed data amount.

여기서, 액세스 예정 데이터량은 액세스 예정 주소에 대응하는 주소 길이를 나타내고, 그것은 액세스할 필요가 있는 데이터 크기를 나타낼 수 있으며, 예를 들어 액세스 예정 주소부터 크기가 24KB인 데이터를 쓴다면, 해당 24KB는 액세스 예정 데이터량일 수 있으며, 물론 액세스 예정 데이터량은 주소 오프셋을 나타낼 수도 있으며, 해당 액세스 예정 데이터량을 통해서만 액세스해야 하는 데이터량을 결정할 수 있다. Here, the amount of data to be accessed indicates the address length corresponding to the address to be accessed, which can indicate the size of data that needs to be accessed. For example, if data with a size of 24KB is written from the address to be accessed, the corresponding 24KB is It may be the amount of data to be accessed, and of course the amount of data to be accessed may also indicate an address offset, and only through the amount of data to be accessed can the amount of data to be accessed be determined.

여기서, 액세스 예정 데이터량은 처리 예정 명령어로부터 취득되는 것일 수 있으며, 즉, 처리 예정 명령어는 액세스 예정 데이터량을 포함하는 것일 수 있으며, 독립적으로 취득되는 것일 수도 있으며, 여기에서는 이를 한정하지 않는다.Here, the amount of data to be accessed may be acquired from an instruction to be processed, that is, the instruction to be processed may include the amount of data to be accessed, and may be acquired independently, but this is not limited here.

예를 들어, 제1 명령어는 명령어 1이고, 제1 명령어 이외의 처리 예정 명령어는 명령어 2와 명령어 3을 포함하며, 명령어 2가 병합 예정 명령어라고 결정한 후, 명령어 3이 제2 명령어인지 여부를 결정한다. 명령어 3이 제2 명령어인 경우, 저장 간격을 계산하고, 현재의 액세스 총 데이터량을 계산한다. 현재의 액세스 총 데이터량을 계산할 때, 결정된 병합 예정 명령어에 대응하는 액세스 예정 데이터량의 합, 즉 명령어 2에 대응하는 액세스 예정 데이터량과 명령어 1에 대응하는 액세스 예정 데이터량의 합을 계산하여, 현재의 액세스 예정 총 데이터량을 얻는다. For example, the first instruction is instruction 1, instructions to be processed other than the first instruction include instruction 2 and instruction 3, and after determining that instruction 2 is an instruction to be merged, determine whether instruction 3 is the second instruction. do. If instruction 3 is the second instruction, calculate the storage interval and calculate the currently accessed total data amount. When calculating the current total access data amount, calculate the sum of the scheduled access data amount corresponding to the determined merged command, that is, the sum of the scheduled access data amount corresponding to instruction 2 and the scheduled access data amount corresponding to instruction 1, Get the total amount of data currently scheduled to be accessed.

선택적으로, 제1 소정의 병합 조건을 충족시키는 제1 명령어와 제2 명령어를 병합하는 경우, 제1 소정의 병합 조건을 충족시키는 제1 명령어와 제2 명령어만을 병합할 수 있고, 제1 소정의 병합 조건을 충족시키는 제1 명령어와 제2 명령어 사이에 있는 순차적 액세스 명령어를 병합할 수 있다. 대응되게, 결정된 병합 예정 명령어에는 병합된 순차적 액세스 명령어도 포함된다. Optionally, when merging the first instruction and the second instruction that satisfy the first predetermined merging condition, only the first instruction and the second instruction that satisfy the first predetermined merging condition may be merged, and the first instruction and the second instruction that satisfy the first predetermined merging condition may be merged. Sequential access instructions between the first instruction and the second instruction that satisfy the merging conditions may be merged. Correspondingly, the determined instructions to be merged also include merged sequential access instructions.

예를 들어, 제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에 대응하는 액세스 예정 데이터량의 합이다. For example, the first instruction is instruction 1, instructions to be processed other than the first instruction include instruction 2 and instruction 3, the scheduled access address in instruction 1 is address 1 in FIG. 1, and the scheduled access address in instruction 2 is The address is address 2 in FIG. 1, and the address to be accessed in instruction 3 is address 4 in FIG. 1. Traversing instructions to be processed other than the first instruction, determining that the instruction to be processed that is currently traversing is instruction 2, and that instruction 2 is a sequential access instruction corresponding to instruction 1, that is, the address to be accessed in instruction 2 is the instruction. Subsequent to 1, the next instruction to be processed, that is, instruction 3, is traversed, and it is determined that instruction 3 is the second instruction. In the process of calculating the current access total data amount, the access scheduled address of instruction 2 is between the access scheduled address of instruction 1 and the access scheduled address of instruction 3, so the determined merged instruction includes instruction 2 and instruction 1, The current total access data amount is the sum of the scheduled access data amount corresponding to instruction 2 and the scheduled access data amount corresponding to instruction 1.

선택적으로, 현재의 액세스 총 데이터량이 제2 소정 임계값보다 크거나 같은 경우, 타겟 메모리가 결정된 병합 예정 명령어에 기초하여 1회의 액세스를 실시할 때, 필요한 액세스 데이터량이 상한에 도달하고 있음을 나타내고 있으므로, 명령어를 병합할 필요가 없고, 즉 병합 예정 명령어를 결정할 필요가 없고, 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지한다. Optionally, if the current total access data amount is greater than or equal to the second predetermined threshold, it indicates that the required access data amount is reaching the upper limit when the target memory performs one access based on the determined merge scheduled instruction. , there is no need to merge instructions, that is, there is no need to determine instructions to be merged, and traversing of instructions to be processed other than the first instruction is stopped.

선택적으로, 처리 예정 명령어로부터 병합 예정 명령어를 결정할 때, 제1 명령어를 취득할 수도 있다. 여기서, 제1 명령어는 처리 예정 명령어의 어느 하나의 명령어이다. 제1 명령어 이외의 처리 예정 명령어를 트래버싱한다. 현재 트래버싱되는 처리 예정 명령어와 제1 명령어가 제2 소정의 병합 조건을 충족하는지 여부를 판단하고, 현재 트래버싱되는 처리 예정 명령어와 상기 제1 명령어가 제2 소정의 병합 조건을 충족하는 것에 응답하여, 제1 명령어와 현재 트래버싱되는 처리 예정 명령어를 병합 예정 명령어로 결정한다. Optionally, when determining the instruction to be merged from the instruction to be processed, the first instruction may be obtained. Here, the first command is one of the commands to be processed. Traverse instructions scheduled to be processed other than the first instruction. Determine whether the currently traversed instruction to be processed and the first instruction satisfy a second predetermined merging condition, and respond to the fact that the currently traversed instruction to be processed and the first instruction satisfy a second predetermined merging condition Thus, the first instruction and the currently traversed instruction to be processed are determined as the instruction to be merged.

여기서, 제1 명령어와 현재 트래버싱되고 있는 처리 예정 명령어가 제2 소정의 병합 조건을 충족하는지 여부를 판단하는 과정은 상기 제1 명령어와 제2 명령어가 제1 소정의 병합 조건을 충족하는지 여부를 판단하는 과정과 유사하며, 여기서 설명을 생략한다. Here, the process of determining whether the first instruction and the instruction to be processed that is currently traversing satisfies the second predetermined merging condition determines whether the first instruction and the second instruction satisfy the first predetermined merging condition. It is similar to the judgment process, and explanation is omitted here.

단계S405, 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득한다. Step S405, merge instructions to be merged are processed to obtain merge instructions.

본 발명의 실시예에서는, 각 병합 예정 명령어의 액세스 예정 주소에 따라 병합 처리 결과를 생성하고, 병합 처리 결과를 설정 명령어 포맷으로 캡슐화하여 병합 명령어를 획득한다. In an embodiment of the present invention, a merge processing result is generated according to the access address of each scheduled merge instruction, and the merge processing result is encapsulated in a configuration instruction format to obtain the merge instruction.

본 발명의 실시예에서는, 병합 예정 명령어를 결정한 후, 각 병합 예정 명령어의 액세스 예정 주소에 따라 병합 처리 결과를 생성하고, 해당 병합 처리 결과는 각 병합 예정 명령어의 액세스 예정 주소를 포함한다. 설정 명령어 포맷에 기초하여, 해당 병합 처리 결과를 캡슐화하여 병합 명령어를 취득하고, 명령어의 병합을 실현한다. In an embodiment of the present invention, after determining instructions to be merged, a merge processing result is generated according to the scheduled access address of each instruction to be merged, and the merge processing result includes the scheduled access address of each instruction to be merged. Based on the configuration instruction format, the merge processing result is encapsulated, a merge instruction is obtained, and instruction merge is realized.

여기서, 각각의 병합 예정 명령어의 액세스 예정 주소에 따라, 병합 처리 결과를 생성하는 과정에서, 소정의 구조 타입에 기초하여, 각 병합 예정 명령어의 액세스 예정 주소를 포함하는 병합 처리 결과를 생성할 수 있다. Here, in the process of generating a merge processing result according to the access address of each instruction to be merged, a merge processing result including the scheduled access address of each instruction to be merged may be generated based on a predetermined structure type. .

여기서, 소정의 구조 타입에는 링크드 리스트 구조 타입, 트리 구조 타입, 어레이 구조 타입 등이 포함되어 있어, 사용자는 실제 요구에 따라 설정할 수 있으며, 여기에서는 제한하지 않는다. Here, the predetermined structure type includes a linked list structure type, a tree structure type, an array structure type, etc., so the user can set it according to actual needs, and is not limited here.

선택적으로, 설정 명령어 포맷은 타겟 메모리가 식별 가능한 포맷, 예를 들어 JDECE에 규정되어 있는 커스텀화 Write Buffer 명령어 포맷이다. Optionally, the setup command format is a format in which the target memory can be identified, such as a custom Write Buffer command format specified in JDECE.

선택적으로, 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 병합 처리 결과에 저장할 수도 있고, 즉, 각 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 각각 취득할 수도 있다. 각 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 병합 처리 결과에 추가하고, 즉, 해당 병합 처리 결과에는 병합 예정 명령어에 대응하는 액세스 예정 데이터량과 액세스 예정 주소가 포함된다. Optionally, the amount of data to be accessed corresponding to the instruction to be merged may be stored in the merge processing result, that is, the amount of data to be accessed corresponding to each instruction to be merged may be acquired respectively. The amount of data to be accessed corresponding to each instruction to be merged is added to the merge processing result, that is, the result of the merge processing includes the amount of data to be accessed and the address to be accessed corresponding to the instruction to be merged.

구체적인 응용 시나리오를 예로 들면, 도 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에 추가하여, 명령어의 병합을 실현한다. Taking a specific application scenario as an example, as shown in Figure 6, when processes A, B, and C need to access data in logical address 1, 3, and 5 parts of the file, instruction 1, instruction 2, and instruction 3 This is created. The scheduled access address of instruction 1 is address 1, the scheduled access data amount corresponding to instruction 1 is the length of address 1, the scheduled access address of instruction 2 is address 3, and the scheduled access data amount corresponding to instruction 2 is address 3. is the length, the scheduled access address of instruction 3 is address 5, the scheduled access data amount corresponding to instruction 3 is the length of address 5, instruction 1 is the first instruction, instruction 2 and instruction 3 are both second instructions, and , it is determined that instruction 2 and instruction 3 are both instructions to be merged, and address 1 and the length of address 1 corresponding to instruction 1, address 3 and the length of address 3 corresponding to instruction 2, and address 5 and By adding the length of address 5 to list A, merging of instructions is realized.

단계S406, 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 실시한다. Step S406, data access is performed according to the access scheduled address corresponding to the merge instruction.

본 실시예에서는 병합 명령어를 얻은 후, 병합 명령어를 타겟 메모리로 전송하여, 병합 명령어 중의 각 병합 명령어의 액세스 예정 주소에 따라 타겟 메모리가 데이터에 액세스하도록 한다. In this embodiment, after obtaining the merge instruction, the merge instruction is transmitted to the target memory, so that the target memory accesses data according to the scheduled access address of each merge instruction among the merge instructions.

본 발명의 실시예에서는 랜덤 읽기 및 쓰기 시나리오에서, 즉, 제1 명령어 이외의 처리 예정 명령어에 제2 명령어가 존재한다고 결정한 경우, 제1 명령어와 이산액세스에 관한 제2 명령어를 병합 처리하여 병합 명령어를 얻고, 해당 병합 명령어를 타겟 메모리 장치에 저장하여, 타겟 메모리로 송신하는 명령어의 수를 감소시켜, 랜덤 읽기 및 쓰기의 명령어 오버헤드를 저감하고, 그리고 타겟 메모리는 해당 병합 명령어 중의 복수의 액세스 예정 주소에 따라 액세스할 수 있어, 타겟 메모리의 동시성을 향상시키고, 나아가 시스템의 랜덤 읽기 및 쓰기의 처리량을 향상시킬 수 있으며, 즉 시스템 전체의 IO 성능을 향상시킬 수 있다. In an embodiment of the present invention, in a random read and write scenario, that is, when it is determined that a second instruction exists in instructions to be processed other than the first instruction, the first instruction and the second instruction for discrete access are merged and processed to generate a merge instruction. Obtain and store the merge instructions in the target memory device, reduce the number of instructions sent to the target memory, reduce instruction overhead of random reads and writes, and the target memory is scheduled to be accessed by a plurality of the merge instructions. It can be accessed according to address, improving the concurrency of the target memory and further improving the throughput of random reads and writes in the system, that is, improving the IO performance of the entire system.

본 발명의 실시예에서는 제1 명령어 이외의 처리 예정 명령어에 제2 명령어가 존재하지 않는다고 결정한 경우, 즉 순차적 읽기 및 쓰기 시나리오에서, 순차적 읽기 및 쓰기 가능한 명령어, 즉 처리 예정 명령어를 병합하여 병합 명령어를 얻고, 해당 병합 명령어를 타겟 메모리로 송신하여, 타겟 메모리로 송신되는 명령어의 수를 감소시켜, 순차적 읽기 및 쓰기의 명령어 오버헤드를 저감하고, 그리고 타겟 메모리는 해당 병합 명령어 중의 복수의 액세스 예정 주소에 따라 순차적으로 액세스할 수 있어, 메모리 처리 데이터의 동시성을 향상시키고, 그리고 시스템의 명령어 오버헤드를 저감하여, 시스템 전체의 IO 성능을 효과적으로 향상시킬 수 있다. In an embodiment of the present invention, when it is determined that there is no second instruction in the instructions to be processed other than the first instruction, that is, in a sequential read and write scenario, instructions that can be sequentially read and written, that is, instructions to be processed, are merged to create a merge instruction. Obtaining and transmitting the merge instruction to the target memory, reducing the number of instructions sent to the target memory, reducing instruction overhead of sequential reading and writing, and the target memory is connected to a plurality of addresses scheduled to be accessed in the merge instruction. It can be accessed sequentially, improving the concurrency of memory processing data and reducing the system's command overhead, effectively improving the IO performance of the entire system.

본 발명의 실시예에서는, 액세스 예정 명령어를 취득한 후, 액세스 예정 명령어를 소정의 명령어 큐에 저장하고, 소정의 명령어 큐의 헤드 위치에 있는 액세스 예정 명령어를 제1 명령어로 하고, 소정의 명령어 큐의 나머지 액세스 예정 명령어를 역방향으로 트래버싱한다. 나머지 액세스 예정 명령어 중에 액세스 예정 주소가 연속되지 않는 제2 명령어의 존재 여부를 판단하고, 존재하는 경우, 랜덤 액세스가 필요함을 나타내고, 제2 명령어와 제1 명령어를 병합하여 대응하는 병합 명령어를 얻어, 명령어의 수를 줄이고, 그에 따라 명령어의 오버헤드를 줄인다. 해당 병합 명령어를 Nand flash 메모리에 저장하여, Nand flash 메모리가 병합 명령어 중의 각 액세스 예정 주소에 단일 액세스할 수 있도록 하고, 명령어의 동시 처리를 실현하여, 명령어 처리의 효율을 향상시키고, 그에 따라 랜덤 액세스 처리량을 효과적으로 향상시키고, 즉 시스템 전체의 IO 성능을 향상시킨다. In an embodiment of the present invention, after obtaining the access scheduled instruction, the access scheduled instruction is stored in a predetermined instruction queue, the access scheduled instruction at the head position of the predetermined instruction queue is set as the first instruction, and the access scheduled instruction is set to the predetermined instruction queue. The remaining instructions scheduled to be accessed are traversed in the reverse direction. Among the remaining access scheduled instructions, determine whether there is a second instruction whose access scheduled address is not consecutive, and if present, indicate that random access is required, merge the second instruction and the first instruction to obtain a corresponding merge instruction, Reduces the number of instructions, thereby reducing instruction overhead. By storing the corresponding merge instructions in the Nand flash memory, the Nand flash memory can single access each access scheduled address in the merge instructions, realize simultaneous processing of instructions, improve the efficiency of instruction processing, and thus random access. Effectively improves throughput, that is, improves the IO performance of the entire system.

상술한 각 방법의 실시예에 대해서는 간단히 설명하기 위해 일련의 동작 조합으로 기재되어 있지만, 본 발명에 의하면 일부 단계가 다른 순서를 채용하거나 동시에 실행될 수 있으므로, 기재된 동작의 순서에 의해 제한되지 않음을 당업자는 인식해야 한다. Although the embodiments of each of the above-described methods are described as a series of combinations of operations for simple explanation, it is understood by those skilled in the art that, according to the present invention, some steps may adopt a different order or be executed simultaneously, and are not limited by the order of the described operations. must be recognized.

다음으로, 본 명세서에 기재된 실시예는 모두 선택 가능한 실시예에 속하며, 관련 동작 및 모듈은 반드시 본 발명에 필요한 것은 아니라는 것을 당업자는 인식해야 한다. Next, those skilled in the art should recognize that the embodiments described in this specification are all optional embodiments, and related operations and modules are not necessarily required for the present invention.

상기 애플리케이션 기능 실현 방법의 실시예에 대응하여, 본 발명은 애플리케이션 기능 실현 장치 및 대응 단말의 실시예를 제공한다. Corresponding to the embodiments of the above application function realization methods, the present invention provides embodiments of application function realization devices and corresponding terminals.

도 7의 예시적인 실시예에 따른 데이터 액세스 장치의 블록도를 참조하면, 상기 장치는 명령어 취득 모듈(710)과, 명령어 병합 모듈(720)과, 명령어 송신 모듈(730)을 포함하고, Referring to the block diagram of the data access device according to the example embodiment of FIG. 7, the device includes an instruction acquisition module 710, an instruction merge module 720, and an instruction transmission module 730,

명령어 취득 모듈(710)은 복수의 처리 예정 명령어를 취득하도록 구성된다. 여기서, 각 처리 예정 명령어는 액세스 예정 주소를 포함한다. The command acquisition module 710 is configured to acquire a plurality of commands to be processed. Here, each instruction to be processed includes an address to be accessed.

명령어 병합 모듈(720)은 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하도록 구성된다. The command merging module 720 is configured to determine an instruction to be merged among a plurality of instructions to be processed, and obtain the merge instruction by merging the instructions to be merged.

명령어 송신 모듈(730)은 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하도록 구성된다. The command transmission module 730 is configured to perform data access according to the access scheduled address corresponding to the merge command.

선택적으로, 명령어 병합 모듈(720)은 구체적으로,Optionally, instruction merge module 720 specifically:

제1 명령어를 취득하도록 구성된다. 여기서 제1 명령어는 처리 예정 명령어 중 어느 하나의 명령어이다. configured to obtain a first instruction. Here, the first command is one of the commands to be processed.

제1 명령어 이외의 처리 예정 명령어를 트래버싱하여 제2 명령어를 취득한다. 여기서, 제2 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소는 간접적으로 연속되고, 제2 명령어의 액세스 예정 주소는 다른 처리 예정 명령어의 액세스 예정 주소를 통해 제1 명령어의 액세스 예정 주소와 연속되지 않는다. The second instruction is acquired by traversing instructions to be processed other than the first instruction. Here, the access scheduled address of the second instruction and the access scheduled address of the first instruction are indirectly continuous, and the access scheduled address of the second instruction is continuous with the access scheduled address of the first instruction through the access scheduled address of another instruction to be processed. It doesn't work.

제2 명령어 및 제1 명령어가 제1 소정의 병합 조건을 충족하는 것에 응답하여, 제2 명령어와 제1 명령어를 병합 예정 명령어로서 결정한다. In response to the second instruction and the first instruction satisfying the first predetermined merging condition, the second instruction and the first instruction are determined as instructions to be merged.

선택적으로, 명령어 병합 모듈(720)은 구체적으로,Optionally, instruction merge module 720 specifically:

저장 간격을 취득하는 것, 및 현재의 액세스 총 데이터량을 취득하는 것 중 적어도 하나로 구성된다. 여기서, 저장 간격은 제1 명령어의 액세스 예정 주소와 제2 명령어의 액세스 예정 주소 사이의 거리를 나타낸다. 현재의 액세스 총 데이터량은 모든 병합 예정 명령어에 대응하는 액세스 예정 데이터량의 합을 나타낸다. It consists of at least one of obtaining a storage interval, and obtaining a currently accessed total data amount. Here, the storage interval represents the distance between the scheduled access address of the first instruction and the scheduled access address of the second instruction. The current total amount of accessed data represents the sum of the amount of data scheduled to be accessed corresponding to all commands scheduled to be merged.

저장 간격이 제1 소정의 임계값보다 작은 것, 및 현재의 액세스 총 데이터량이 제2 소정의 임계값보다 작은 것 중 적어도 하나인 경우, 제2 명령어 및 제1 명령어를 병합 예정 명령어로서 결정한다. If the storage interval is at least one of less than the first predetermined threshold and the current total access data amount is less than the second predetermined threshold, the second instruction and the first instruction are determined as instructions to be merged.

선택적으로, 명령어 병합 모듈(720)은 또한,Optionally, instruction merge module 720 may also:

제1 듀레이션을 취득하고, 제1 명령어에 대응하는 제1 시간 임계값을 취득한다. 여기서 제1 듀레이션은 제1 명령어 취득 결정부터 시작하여, 현재 시각까지의 듀레이션을 나타낸다. A first duration is acquired, and a first time threshold corresponding to the first instruction is acquired. Here, the first duration represents the duration starting from the decision to acquire the first command to the current time.

제1 듀레이션이 제1 시간 임계값보다 작은 것에 응답하여, 제1 명령어 이외의 처리 예정 명령어를 계속해서 트래버싱한다. In response to the first duration being less than the first time threshold, traversing instructions scheduled to be processed other than the first instruction continues.

제1 듀레이션이 제1 시간 임계값보다 크거나 같은 것에 응답하여, 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지한다. In response to the first duration being greater than or equal to the first time threshold, traversing of instructions scheduled to be processed other than the first instruction is stopped.

선택적으로, 명령어 병합 모듈(720)은 또한,Optionally, instruction merge module 720 may also:

현재의 액세스 총 데이터량이 제2 소정의 임계값보다 크거나 같은 경우, 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지한다. If the current access total data amount is greater than or equal to the second predetermined threshold, traversing of instructions to be processed other than the first instruction is stopped.

선택적으로, 명령어 병합 모듈(720)은 또한,Optionally, instruction merge module 720 may also:

제2 명령어의 액세스 예정 주소와 제1 명령어의 액세스 예정 주소 사이의 차이값을 취득한다. 여기서, 액세스 예정 주소는 논리 주소이다. The difference value between the access scheduled address of the second instruction and the access scheduled address of the first instruction is acquired. Here, the access scheduled address is a logical address.

소정의 저장 단위의 크기를 취득한다. Obtains the size of a given storage unit.

차이값과 소정의 저장 단위의 크기에 따라 저장 간격을 취득한다. The storage interval is obtained according to the difference value and the size of the predetermined storage unit.

선택적으로, 명령어 병합 모듈(720)은 구체적으로,Optionally, instruction merge module 720 specifically:

제1 명령어를 취득한다. 여기서, 제1 명령어는 처리 예정 명령어 중 어느 하나의 명령어이다. Acquire the first instruction. Here, the first command is one of the commands to be processed.

제1 명령어 이외의 처리 예정 명령어를 트래버싱한다. Traverse instructions scheduled to be processed other than the first instruction.

현재 트래버싱되는 처리 예정 명령어와 상기 제1 명령어가 제2 소정의 병합 조건을 충족하는 것에 응답하여, 제1 명령어 및 현재 트래버싱되는 처리 예정 명령어를 병합 예정 명령어로 결정한다. In response to the currently traversed instruction to be processed and the first instruction satisfying a second predetermined merge condition, the first instruction and the currently traversed instruction to be processed are determined as instructions to be merged.

선택적으로, 명령어 병합 모듈(720)은 또한,Optionally, instruction merge module 720 may also:

처리 예정 명령어를 소정의 명령어 큐에 저장한다. Commands to be processed are stored in a predetermined command queue.

소정의 명령어 큐에서, 다음의 적어도 하나의 조건을 충족하고 있는 처리 예정 명령어를 제1 명령어로 한다.In a predetermined instruction queue, an instruction to be processed that satisfies at least one of the following conditions is set as the first instruction.

처리 예정 명령어에 대응하는 제2 듀레이션이 제2 시간 임계값보다 크다. 여기서 제2 듀레이션은 소정의 명령어 큐에서의 처리 예정 명령어의 저장 듀레이션을 나타낸다.The second duration corresponding to the instruction scheduled to be processed is greater than the second time threshold. Here, the second duration represents the storage duration of the command to be processed in a predetermined command queue.

처리 예정 명령어가 소정의 명령어 큐에서의 설정위치에 위치한다. 여기서, 설정위치는 큐의 헤드 위치 또는 큐의 테일 위치이다. The command to be processed is located at a set position in a predetermined command queue. Here, the setting position is the head position of the cue or the tail position of the cue.

선택적으로, 명령어 병합 모듈(720)은 구체적으로,Optionally, instruction merge module 720 specifically:

각 병합 예정 명령어의 액세스 예정 주소에 따라 병합 처리 결과를 생성하고, 병합 처리 결과를 설정 명령어 포맷으로 캡슐화하여 병합 명령어를 획득한다. A merge processing result is generated according to the access address of each scheduled merge instruction, and the merge instruction is obtained by encapsulating the merge processing result in a set instruction format.

선택적으로, 명령어 병합 모듈(720)은 또한,Optionally, instruction merge module 720 may also:

각 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 각각 취득한다. The amount of data scheduled to be accessed corresponding to each scheduled instruction to be merged is acquired.

각 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 병합 처리 결과에 각각 추가한다. The amount of data to be accessed corresponding to each instruction to be merged is added to the merge processing result.

장치의 실시예에 있어서, 기본적으로 방법 실시예에 대응하고 있으므로, 연관된 점은 방법 실시예 부분의 설명을 참조하면 된다. 상술한 장치의 실시예는 단순한 예시일 뿐이며, 상기 분리 부품으로 설명한 유닛은 물리적으로 분리되어 있을 수 있거나 물리적으로 분리되어 있지 않을 수도 있으며, 유닛으로 표시되어 있는 부품은 물리적 유닛일 수 있거나 아닐 수도 있으며, 즉 한 장소에 있을 수 있거나, 복수의 네트워크 유닛에 분포되어 있을 수 있다. 본 발명의 목적은 실제 필요에 따라 그 일부 또는 전부의 모듈을 선택하여 달성할 수 있다. 당업자는 창조적인 노동을 부여하지 않고, 이해하여 실시할 수 있다. The device embodiments basically correspond to the method embodiments, so related points may refer to the description of the method embodiments. The above-described device embodiments are merely examples, and the units described as separate parts may or may not be physically separate, and the parts indicated as units may or may not be physical units. , that is, it may be located in one location, or may be distributed across multiple network units. The purpose of the present invention can be achieved by selecting some or all of the modules according to actual needs. A person skilled in the art can understand and implement this without assigning creative labor.

따라서, 일 양태에서, 본 발명의 실시예는 프로세서와 프로세서가 실행 가능한 명령어를 저장하기 위한 메모리를 포함하는 데이터 액세스 장치를 제공하며, 상기 프로세서는,Accordingly, in one aspect, an embodiment of the present invention provides a data access device including a processor and a memory for storing instructions executable by the processor, the processor comprising:

복수의 처리 예정 명령어를 취득한다. 여기서, 각 처리 예정 명령어는 액세스 예정 주소를 포함한다. Acquires multiple commands to be processed. Here, each instruction to be processed includes an address to be accessed.

복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득한다. Among the plurality of instructions to be processed, an instruction to be merged is determined, and the instructions to be merged are merged to obtain a merge instruction.

병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 실시한다. Data access is performed according to the access scheduled address corresponding to the merge instruction.

도 8은 일 예시적인 실시예에 따른 데이터 액세스 장치(1500)의 개략 구성도이다. Fig. 8 is a schematic configuration diagram of a data access device 1500 according to an exemplary embodiment.

예를 들어, 장치(800)는 전자 장치일 수 있으며, 구체적으로는 휴대폰, 컴퓨터, 디지털 방송 단말기, 메시징 장치, 게임 콘솔, 태블릿 장치, 의료 장치, 피트니스 장치, 및 개인 정보 단말기(Personal Digital Association) 및 스마트 워치(Smart Wearing), 스마트 안경, 스마트 팔찌, 스마트 러닝화와 같은 웨어러블 장치일 수 있다. For example, device 800 may be an electronic device, specifically a cell phone, computer, digital broadcasting terminal, messaging device, game console, tablet device, medical device, fitness device, and personal digital association. and wearable devices such as smart watches, smart glasses, smart bracelets, and smart running shoes.

도 8을 참조하면, 장치(800)는 처리 컴포넌트(802), 메모리(804), 전원 컴포넌트(806), 멀티미디어 컴포넌트(808), 오디오 컴포넌트(810), 입출력(I/O) 인터페이스(812), 센서 컴포넌트(814) 및 통신 컴포넌트(816) 중 하나 또는 복수의 컴포넌트를 포함할 수 있다. 8, device 800 includes a processing component 802, a memory 804, a power component 806, a multimedia component 808, an audio component 810, and an input/output (I/O) interface 812. , may include one or more components of a sensor component 814 and a communication component 816.

처리 컴포넌트(802)는 통상적으로 디스플레이, 전화 호출, 데이터 통신, 카메라 동작, 기록 동작 등과 연관된 장치(800)의 전체적인 동작을 제어한다. 처리 컴포넌트(802)는 상술한 방법의 전부 또는 일부 단계를 완료하기 위한 명령어를 수행하는 하나 또는 복수의 프로세서(820)를 포함할 수 있다. 또한, 처리 컴포넌트(802)는 처리 컴포넌트(802)와 다른 컴포넌트 간의 상호작용을 용이하게 하는 하나 또는 복수의 모듈을 포함할 수 있다. 예를 들어, 처리 컴포넌트(802)는 멀티미디어 컴포넌트(808)와 처리 컴포넌트(802) 사이의 상호작용을 용이하게 하기 위한 멀티미디어 모듈을 포함할 수 있다. Processing component 802 controls the overall operation of device 800, typically associated with displays, phone calls, data communications, camera operations, recording operations, etc. Processing component 802 may include one or more processors 820 that perform instructions to complete all or part of the steps of the method described above. Additionally, processing component 802 may include one or more modules that facilitate interaction between processing component 802 and other components. For example, processing component 802 may include a multimedia module to facilitate interaction between multimedia component 808 and processing component 802.

메모리(804)는 장치(800)에서의 동작을 지원하기 위해 다양한 유형의 데이터를 저장하도록 구성된다. 이러한 데이터의 예에는 장치(800) 상에서 동작하기 위한 임의의 애플리케이션 또는 방법의 명령어, 연락처 데이터, 전화번호부 데이터, 메시지, 사진, 비디오 등이 포함된다. 메모리(804)는 정적 랜덤 액세스 메모리(SRAM), 전기적 소거 가능 프로그래머블 읽기 전용 메모리(EEPROM), 소거 가능 프로그래머블 읽기 전용 메모리(EPROM), 읽기 전용 메모리(ROM), 자기 메모리, 플래시 메모리, 자기 디스크, 광 디스크 등 임의의 유형의 휘발성 또는 비휘발성 저장 장치 또는 그 조합에 의해 구현될 수 있다. Memory 804 is configured to store various types of data to support operations in device 800. Examples of such data include instructions for any application or method for operating on device 800, contact data, phone book data, messages, photos, videos, etc. Memory 804 may include static random access memory (SRAM), electrically erasable programmable read only memory (EEPROM), erasable programmable read only memory (EPROM), read only memory (ROM), magnetic memory, flash memory, magnetic disk, It may be implemented by any type of volatile or non-volatile storage device, such as an optical disk, or a combination thereof.

전원 컴포넌트(806)는 장치(800)의 다양한 컴포넌트에 전력을 공급한다. 전원 컴포넌트(806)는 전원 관리 시스템, 하나 또는 복수의 전원 및 장치(800)를 위한 전력의 생성, 관리 및 분배와 연관된 다른 컴포넌트를 포함할 수 있다. Power component 806 supplies power to various components of device 800. Power component 806 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for device 800 .

멀티미디어 컴포넌트(808)는 상술한 장치(800)와 사용자 사이에 출력 인터페이스를 제공하는 스크린을 포함한다. 일부 실시예에서 스크린은 액정 디스플레이(LCD)와 터치패널(TP)을 포함할 수 있다. 스크린이 터치패널을 포함하는 경우, 스크린은 터치스크린으로 구현되어, 사용자로부터의 입력신호를 수신할 수 있다. 터치 패널은 터치, 슬라이드 및 터치 패널 상의 제스처를 감지하기 위한 하나 또는 복수의 터치 센서를 포함한다. 상기 터치 센서는 터치 또는 슬라이드 동작의 경계를 감지할 뿐만 아니라, 상기 터치 또는 슬라이드 동작과 연관된 지속 시간과 압력을 검출할 수도 있다. 일부 실시예에서, 멀티미디어 컴포넌트(808)는 프론트 카메라 및/또는 백 카메라를 포함한다. 장치(800)가 촬영 모드 또는 비디오 모드 등의 동작 모드에 있는 경우, 프론트 카메라 및/또는 백 카메라는 외부의 멀티미디어 데이터를 수신할 수 있다. 각 프론트 카메라 및 백 카메라는 고정된 광학 렌즈 시스템일 수 있거나 포커스 및 광학 줌 능력을 가지고 있을 수 있다. The multimedia component 808 includes a screen that provides an output interface between the device 800 described above and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). When the screen includes a touch panel, the screen is implemented as a touch screen and can receive input signals from the user. The touch panel includes one or more touch sensors for detecting touches, slides, and gestures on the touch panel. The touch sensor may not only detect the boundaries of a touch or slide motion, but also detect the duration and pressure associated with the touch or slide motion. In some embodiments, multimedia component 808 includes a front camera and/or a back camera. When the device 800 is in an operation mode, such as a shooting mode or a video mode, the front camera and/or the back camera can receive external multimedia data. Each front and back camera may be a fixed optical lens system or may have focus and optical zoom capabilities.

오디오 컴포넌트(810)는 오디오 신호를 출력 및/또는 입력하도록 구성된다. 예를 들어, 오디오 컴포넌트(810)는 장치(800)가 호출 모드, 기록 모드, 음성 인식 모드 등의 동작 모드에 있을 때, 외부의 오디오 신호를 수신하도록 구성된 마이크(MIC)를 포함한다. 수신된 오디오 신호는 메모리(804)에 추가로 저장될 수도 있고, 또는 통신 컴포넌트(816)를 통해 송신될 수도 있다. 일부 실시예에서, 오디오 컴포넌트(810)는 오디오 신호를 출력하기 위한 스피커를 더 포함한다. Audio component 810 is configured to output and/or input audio signals. For example, the audio component 810 includes a microphone (MIC) configured to receive an external audio signal when the device 800 is in an operating mode, such as a call mode, a recording mode, or a voice recognition mode. The received audio signal may be further stored in memory 804 or transmitted via communication component 816. In some embodiments, audio component 810 further includes a speaker for outputting audio signals.

I/O 인터페이스(812)는 처리 컴포넌트(802)와 키보드, 클릭 휠, 버튼 등일 수 있는 주변 인터페이스 모듈 사이에 인터페이스를 제공한다. 이러한 버튼에는 홈페이지 버튼, 볼륨 버튼, 시작 버튼, 및 잠금 버튼이 포함될 수 있지만, 이에 제한되지 않는다. I/O interface 812 provides an interface between processing component 802 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, the homepage button, volume buttons, start button, and lock button.

센서 컴포넌트(814)는 장치(800)에 다양한 양태의 상태 평가를 제공하기 위한 하나 또는 복수의 센서를 포함한다. 예를 들어 센서 컴포넌트(814)는 장치(800)의 온/오프 상태, 장치(800)의 디스플레이 및 키패드와 같은 컴포넌트들의 상대적 위치를 검출할 수 있고, 센서 컴포넌트(814)는 장치(800) 또는 장치(800) 중 하나의 컴포넌트의 위치 변화, 사용자가 장치(800)에 접촉하는 여부, 장치(800)의 방위 또는 가속/감속 및 장치(800)의 온도 변화를 검출할 수도 있다. 센서 컴포넌트(814)는 임의의 물리적 접촉이 없이 인근 물체의 존재를 검출하도록 구성된 근접 센서를 포함할 수 있다. 센서 컴포넌트(814)는 촬상 애플리케이션에서 사용하기 위한 CMOS 또는 CCD 이미지 센서와 같은 광 센서를 포함할 수도 있다. 일부 실시예에서, 센서 컴포넌트(814)는 가속도 센서, 자이로 센서, 자기 센서, 압력 센서 또는 온도 센서를 포함할 수도 있다. Sensor component 814 includes one or more sensors to provide various aspects of condition assessment to device 800. For example, sensor component 814 may detect the on/off state of device 800, the relative positions of components such as the display and keypad of device 800, and sensor component 814 may detect device 800 or A change in the position of one of the components of the device 800, whether a user is touching the device 800, the orientation or acceleration/deceleration of the device 800, and a change in the temperature of the device 800 may also be detected. Sensor component 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor component 814 may include an optical sensor, such as a CMOS or CCD image sensor for use in imaging applications. In some embodiments, sensor component 814 may include an acceleration sensor, a gyro sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

통신 컴포넌트(816)는 장치(800)와 다른 디바이스 사이의 유선 또는 무선 통신을 용이하게 하도록 구성된다. 장치(800)는 WiFi, 2G 또는 3G, 4G LTE, 5G NR, 또는 이들의 조합 등의 통신 규격에 기초한 무선 네트워크에 액세스할 수 있다. 예시적인 실시예에서, 통신 컴포넌트(816)는 브로드캐스트 채널을 통해 외부 브로드캐스트 관리 시스템으로부터 브로드캐스트 신호 또는 브로드캐스트 관련 정보를 수신한다. 예시적인 실시예에서, 상술한 통신 컴포넌트(816)는 근거리 통신을 용이하게 하기 위한 근거리 필드 통신(NFC) 모듈을 더 포함한다. 예를 들어 NFC 모듈은 무선 주파수 식별(RFID) 기술, 적외선 데이터 통신(IrDA) 기술, 초광대역(UWB) 기술, 블루투스(BT) 기술 및 기타 기술에 기초하여 구현될 수 있다. Communication component 816 is configured to facilitate wired or wireless communication between device 800 and other devices. Device 800 may access wireless networks based on communication standards such as WiFi, 2G or 3G, 4G LTE, 5G NR, or a combination thereof. In an example embodiment, communication component 816 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In an example embodiment, the communication component 816 described above further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, infrared data communication (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology and other technologies.

예시적인 실시예에서, 장치(800)는 상술한 방법을 실행하기 위해 하나 또는 복수의 애플리케이션 전용 집적회로(ASIC), 디지털 신호 프로세서(DSP), 디지털 신호 처리 장치(DSPD), 프로그래머블 논리 디바이스(PLD), 필드 프로그래머블 게이트 어레이(FPGA), 컨트롤러, 마이크로 컨트롤러, 마이크로 프로세서 또는 다른 전자 부품에 의해 구현될 수 있다. In an exemplary embodiment, device 800 may include one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), and programmable logic devices (PLDs) to perform the methods described above. ), may be implemented by a field programmable gate array (FPGA), controller, microcontroller, microprocessor, or other electronic components.

예시적인 실시예에서는 비일시적 컴퓨터 판독가능한 저장 매체를 제공하며, 예를 들어 명령어를 포함하는 메모리(804)이며, 저장 매체 내의 명령어가 장치(800)의 프로세서(820)에 의해 실행될 때, 장치(800)가 데이터 액세스 방법을 실행할 수 있으며, 해당 방법은,An example embodiment provides a non-transitory computer-readable storage medium, e.g., a memory 804 containing instructions, when the instructions in the storage medium are executed by the processor 820 of the device 800, device ( 800) may execute a data access method, the method comprising:

복수의 처리 예정 명령어를 취득하고, 여기서 각 처리 예정 명령어는 액세스 예정 주소를 포함하는 단계, Obtaining a plurality of instructions to be processed, where each instruction to be processed includes an address to be accessed,

복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하는 단계, 및determining an instruction to be merged among a plurality of instructions to be processed, merging the instructions to be merged, and obtaining the merge instruction; and

병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하는 단계를 포함한다. It includes performing data access according to the access scheduled address corresponding to the merge instruction.

상기 비일시적 컴퓨터 판독가능한 저장 매체는 롬(ROM), 랜덤 액세스 메모리(RAM), CD ROM, 자기테이프, 플로피 디스크, 광데이터 저장 장치 등일 수 있다. The non-transitory computer-readable storage medium may be ROM, random access memory (RAM), CD ROM, magnetic tape, floppy disk, optical data storage device, etc.

예시적인 실시예에서는 프로세서에 의해 실행될 때 상술한 방법의 단계를 구현하는 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품도 제공된다. In an exemplary embodiment, a computer program product is also provided that includes a computer program that, when executed by a processor, implements the steps of the method described above.

당업자는 명세서를 고려하여 본 명세서에 개시된 발명을 실천한 후, 본 발명의 다른 실시예를 쉽게 생각해 낼 수 있을 것이다. 본 발명은 본 발명의 일반적인 원리에 따라 본 발명에 개시되지 않은 해당 기술 분야에서의 공지의 상식 또는 관용 기술 수단을 포함하는 본 발명의 임의의 변형, 용도 또는 적응적인 변화를 커버하는 것을 목적으로 한다. 명세서 및 실시예는 예시적인 것으로만 간주되며, 본 발명의 진정한 범위 및 정신은 다음의 청구범위에 의해 정의된다. Those skilled in the art will be able to easily think of other embodiments of the present invention after considering the specification and practicing the invention disclosed herein. The purpose of the present invention is to cover any modifications, uses or adaptive changes of the present invention, including known common sense or common technical means in the relevant technical field that are not disclosed in the present invention, in accordance with the general principles of the present invention. . The specification and examples are to be regarded as illustrative only, and the true scope and spirit of the invention is defined by the following claims.

본 발명은 상술한 도면에 나타낸 정밀한 구조에 한정되는 것이 아니고, 그 범위를 벗어나지 않는 범위에서 다양한 수정 및 변경이 가능함을 이해하기 바란다. 본 발명의 범위는 첨부된 청구범위에 의해서만 제한된다. Please understand that the present invention is not limited to the precise structure shown in the above drawings, and that various modifications and changes are possible without departing from the scope. The scope of the invention is limited only by the appended claims.

Claims (15)

전자 장치에 적용되는 데이터 액세스 방법에 있어서,
복수의 처리 예정 명령어를 취득하고, 각각의 상기 처리 예정 명령어는 액세스 예정 주소를 포함하는 단계,
상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 상기 병합 예정 명령어를 병합 처리하여, 병합 명령어를 취득하는 단계, 및
상기 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하는 단계를 포함하는
것을 특징으로 하는 데이터 액세스 방법.
In a data access method applied to an electronic device,
acquiring a plurality of instructions to be processed, each of the instructions to be processed including an address to be accessed;
determining an instruction to be merged among the plurality of instructions to be processed, merging the instructions to be merged, and obtaining a merge instruction; and
Comprising the step of performing data access according to the access scheduled address corresponding to the merge command.
A data access method characterized by:
제1항에 있어서,
상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하는 단계는,
제1 명령어를 취득하고, 상기 제1 명령어는 상기 처리 예정 명령어 중 어느 하나인 단계,
상기 제1 명령어 이외의 처리 예정 명령어를 트래버싱하여 제2 명령어를 취득하고, 상기 제2 명령어의 액세스 예정 주소와 상기 제1 명령어의 액세스 예정 주소가 간접적으로 연속되고, 상기 제2 명령어의 액세스 예정 주소가 다른 처리 예정 명령어의 액세스 예정 주소를 통해 상기 제1 명령어의 액세스 예정 주소에 연속되지 않는 단계, 및
상기 제2 명령어와 상기 제1 명령어가 상기 제1 소정의 병합 조건을 충족하는 것에 응답하여, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하는 단계를 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to paragraph 1,
The step of determining an instruction to be merged among the plurality of instructions to be processed is:
Obtaining a first instruction, wherein the first instruction is one of the instructions to be processed,
A second instruction is acquired by traversing an instruction to be processed other than the first instruction, the access scheduled address of the second instruction and the access scheduled address of the first instruction are indirectly consecutive, and the access scheduled address of the second instruction is The address is not consecutive to the access scheduled address of the first instruction through the access scheduled address of another instruction to be processed, and
In response to the second instruction and the first instruction meeting the first predetermined merge condition, determining the second instruction and the first instruction as the instruction to be merged.
A data access method characterized by:
제2항에 있어서,
상기 제2 명령어와 상기 제1 명령어가 상기 제1 소정의 병합 조건을 충족하는 것에 응답하여, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하는 단계는,
저장 간격을 취득하는 것 및 현재의 액세스 총 데이터량을 취득하는 것 중 적어도 하나이고, 상기 저장 간격이 상기 제1 명령어의 액세스 예정 주소와 상기 제2 명령어의 액세스 예정 주소 사이의 거리를 나타내고, 상기 현재의 액세스 총 데이터량이 모든 병합 예정 명령어에 대응하는 액세스 예정 데이터량의 합을 나타내는 단계, 및
상기 저장 간격이 상기 제1 소정 임계값보다 작은 것 및 상기 현재의 액세스 총 데이터량이 상기 제2 소정 임계값보다 작은 것 중 적어도 하나인 경우, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하는 단계를 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to paragraph 2,
In response to the second instruction and the first instruction meeting the first predetermined merge condition, determining the second instruction and the first instruction as the instruction to be merged includes:
At least one of obtaining a storage interval and obtaining a currently accessed total data amount, wherein the storage interval represents a distance between the access scheduled address of the first instruction and the access scheduled address of the second instruction, A step where the current access total data amount represents the sum of the access scheduled data amounts corresponding to all merge scheduled instructions, and
If the storage interval is at least one of the first predetermined threshold and the current access total data amount is less than the second predetermined threshold, the second instruction and the first instruction are merged into the instruction to be merged. which includes the step of deciding
A data access method characterized by:
제3항에 있어서,
상기 현재의 액세스 총 데이터량이 상기 제2 소정 임계값보다 크거나 같은 경우, 상기 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지하는 단계를 더 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to paragraph 3,
If the current access total data amount is greater than or equal to the second predetermined threshold, stopping traversing of instructions to be processed other than the first instruction.
A data access method characterized by:
제3항에 있어서,
상기 제2 명령어의 액세스 예정 주소와 상기 제1 명령어의 액세스 예정 주소 사이의 차이값을 취득하고, 상기 액세스 예정 주소는 논리 주소인 단계,
소정의 저장 단위의 크기를 취득하는 단계, 및
상기 차이값과 상기 소정의 저장 단위의 크기에 따라 상기 저장 간격을 획득하는 단계를 더 포함하는,
것을 특징으로 하는 데이터 액세스 방법.
According to paragraph 3,
Obtaining a difference value between the scheduled access address of the second instruction and the scheduled access address of the first instruction, wherein the scheduled access address is a logical address,
obtaining the size of a predetermined storage unit, and
Further comprising obtaining the storage interval according to the difference value and the size of the predetermined storage unit,
A data access method characterized by:
제2항에 있어서,
제1 듀레이션을 취득하고, 상기 제1 명령어에 대응하는 제1 시간 임계값을 취득하고, 상기 제1 듀레이션은 제1 명령어의 취득 결정으로부터 시작하여, 현재의 시각까지의 듀레이션을 나타내는 단계,
상기 제1 듀레이션이 제1 시간 임계값보다 작은 것에 응답하여, 상기 제1 명령어 이외의 처리 예정 명령어를 계속해서 트래버싱하는 단계, 및
상기 제1 듀레이션이 상기 제1 시간 임계값보다 크거나 같은 것에 응답하여, 상기 제1 명령어 이외의 처리 예정 명령어의 트래버싱을 정지하는 단계를 더 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to paragraph 2,
Obtaining a first duration, obtaining a first time threshold corresponding to the first instruction, the first duration representing the duration starting from the determination of acquisition of the first instruction to the current time;
In response to the first duration being less than a first time threshold, continuing to traverse instructions scheduled to be processed other than the first instruction, and
In response to the first duration being greater than or equal to the first time threshold, stopping traversing of instructions scheduled to be processed other than the first instruction.
A data access method characterized by:
제1항에 있어서,
제1 명령어를 취득하고, 상기 제1 명령어는 상기 처리 예정 명령어 중 어느 하나인 단계,
상기 제1 명령어 이외의 처리 예정 명령어를 트래버싱하는 단계, 및
현재 트래버싱하는 처리 예정 명령어와 상기 제1 명령어가 제2 소정의 병합 조건을 충족하는 것에 응답하여, 상기 현재 트래버싱하는 처리 예정 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하는 단계를 더 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to paragraph 1,
Obtaining a first instruction, wherein the first instruction is one of the instructions to be processed,
Traversing instructions to be processed other than the first instruction, and
In response to the currently traversing to-be-processed instruction and the first instruction meeting a second predetermined merge condition, determining the currently traversing to-be-processed instruction and the first instruction to be the merging instruction to be merged. containing
A data access method characterized by:
제2항 내지 제7항 중 어느 한 항에 있어서,
상기 처리 예정 명령어를 소정의 명령어 큐에 저장하는 단계,
상기 소정의 명령어 큐에서,
상기 처리 예정 명령어에 대응하는 제2 듀레이션이 제2 시간 임계값보다 크고, 상기 제2 듀레이션이 상기 소정의 명령어 큐에서의 상기 처리 예정 명령어의 저장 듀레이션을 나타내는 것, 및
상기 처리 예정 명령어가 소정의 명령어 큐에서의 설정 위치에 위치하고, 상기 설정 위치가 큐의 헤드 위치 또는 큐의 테일 위치인 것 중 적어도 하나의 조건을 충족하는 처리 예정 명령어를 상기 제1 명령어로 하는 단계를 더 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to any one of claims 2 to 7,
Storing the command to be processed in a predetermined command queue,
In the predetermined command queue,
A second duration corresponding to the instruction to be processed is greater than a second time threshold, and the second duration represents a storage duration of the instruction to be processed in the predetermined instruction queue, and
The first instruction is an instruction to be processed that satisfies at least one condition: the instruction to be processed is located at a set position in a predetermined instruction queue, and the set position is a head position of the queue or a tail position of the queue. containing more
A data access method characterized by:
제1항에 있어서,
상기 복수의 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하는 단계는,
각각의 병합 예정 명령어의 액세스 예정 주소에 따라 병합 처리 결과를 생성하고, 상기 병합 처리 결과를 설정 명령어 포맷으로 캡슐화하여, 상기 병합 명령어를 획득하는 단계를 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to paragraph 1,
The step of acquiring a merge instruction by merging the plurality of instructions scheduled to be merged,
Generating a merge processing result according to the access address of each scheduled merge instruction, encapsulating the merge processing result in a set instruction format, and obtaining the merge instruction.
A data access method characterized by:
제9항에 있어서,
각각의 상기 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 취득하는 단계, 및
각각의 상기 병합 예정 명령어에 대응하는 액세스 예정 데이터량을 상기 병합 처리 결과에 추가하는 단계를 더 포함하는
것을 특징으로 하는 데이터 액세스 방법.
According to clause 9,
acquiring an access scheduled data amount corresponding to each of the merge scheduled instructions, and
Further comprising adding the amount of data to be accessed corresponding to each of the scheduled merge instructions to the merge processing result.
A data access method characterized by:
명령어 취득 모듈과, 명령어 병합 모듈과, 명령어 송신 모듈을 포함하는 데이터 액세스 장치에 있어서,
상기 명령어 취득 모듈은 복수의 처리 예정 명령어를 취득하도록 구성되며, 각각의 상기 처리 예정 명령어는 액세스 예정 주소를 포함하며,
상기 명령어 병합 모듈은 상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 상기 병합 예정 명령어를 병합 처리하여 병합 명령어를 획득하도록 구성되며,
상기 명령어 송신 모듈은 상기 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 수행하도록 구성되는
것을 특징으로 하는 데이터 액세스 장치.
A data access device comprising a command acquisition module, a command merging module, and a command transmission module,
The instruction acquisition module is configured to acquire a plurality of instructions to be processed, and each instruction to be processed includes an address to be accessed,
The instruction merging module is configured to determine an instruction to be merged among the plurality of instructions to be processed, and obtain a merge instruction by merging the instructions to be merged,
The command transmission module is configured to perform data access according to the access scheduled address corresponding to the merge command.
A data access device characterized in that.
제11항에 있어서,
상기 명령어 송신 모듈은
제1 명령어를 취득하고, 상기 제1 명령어는 상기 처리 예정 명령어 중 어느 하나이고,
상기 제1 명령어 이외의 처리 예정 명령어를 트래버싱하여 제2 명령어를 취득하고, 상기 제2 명령어의 액세스 예정 주소와 상기 제1 명령어의 액세스 예정 주소가 간접적으로 연속되고, 상기 제2 명령어의 액세스 예정 주소가 다른 처리 예정 명령어의 액세스 예정 주소를 통해 상기 제1 명령어의 액세스 예정 주소와 연속되지 않고,
상기 제2 명령어와 상기 제1 명령어가 상기 제1 소정의 병합 조건을 충족하는 것에 응답하여, 상기 제2 명령어와 상기 제1 명령어로 결정하도록 구성되는
것을 특징으로 하는 데이터 액세스 장치.
According to clause 11,
The command transmission module is
Obtain a first instruction, wherein the first instruction is one of the instructions to be processed,
A second instruction is acquired by traversing an instruction to be processed other than the first instruction, the access scheduled address of the second instruction and the access scheduled address of the first instruction are indirectly consecutive, and the access scheduled address of the second instruction is The address is not continuous with the access address of the first instruction through the access address of another instruction to be processed,
In response to the second instruction and the first instruction meeting the first predetermined merge condition, determine between the second instruction and the first instruction.
A data access device characterized in that.
제12항에 있어서,
상기 명령어 송신 모듈은 또한,
저장 간격을 취득하는 것 및 현재의 액세스 총 데이터량을 취득하는 것 중 적어도 하나이고, 상기 저장 간격이 상기 제1 명령어의 액세스 예정 주소와 상기 제2 명령어의 액세스 예정 주소 사이의 거리를 나타내며, 상기 현재의 액세스 총 데이터량이 모든 병합 예정 명령어에 대응하는 액세스 예정 데이터량의 합을 나타내고,
상기 저장 간격이 상기 제1 소정 임계값보다 작은 것 및 상기 현재의 액세스 총 데이터량이 상기 제2 소정 임계값보다 작은 경우, 상기 제2 명령어와 상기 제1 명령어를 상기 병합 예정 명령어로 결정하도록 구성되는
것을 특징으로 하는 데이터 액세스 장치.
According to clause 12,
The command transmission module also,
At least one of obtaining a storage interval and obtaining a currently accessed total data amount, wherein the storage interval represents a distance between the access scheduled address of the first instruction and the access scheduled address of the second instruction, The current access total data amount represents the sum of the access scheduled data amount corresponding to all merge scheduled instructions,
If the storage interval is less than the first predetermined threshold and the current access total data amount is less than the second predetermined threshold, determine the second instruction and the first instruction as the instruction to be merged.
A data access device characterized in that.
프로세서에 의해 실행될 때 제1항 내지 제10항 중 어느 한 항에 기재된 데이터 액세스 방법의 단계를 실현하는 컴퓨터 프로그램이 저장되어 있는
것을 특징으로 하는 비일시적 컴퓨터 판독가능한 저장 매체.
A computer program is stored that, when executed by a processor, implements the steps of the data access method according to any one of claims 1 to 10.
A non-transitory computer-readable storage medium characterized in that.
프로세서와 프로세서가 실행 가능한 명령어를 저장하기 위한 메모리를 포함하는 데이터 액세스 장치에 있어서,
상기 프로세서는,
복수의 처리 예정 명령어를 취득하고, 각각의 상기 처리 예정 명령어는 액세스 예정 주소를 포함하며,
상기 복수의 처리 예정 명령어 중 병합 예정 명령어를 결정하고, 상기 병합 예정 명령어를 병합 처리하여 병합 명령어를 취득하고,
상기 병합 명령어에 대응하는 액세스 예정 주소에 따라 데이터 액세스를 실시하도록 구성되는
것을 특징으로 하는 데이터 액세스 장치.
In a data access device including a processor and memory for storing instructions executable by the processor,
The processor,
Acquire a plurality of instructions to be processed, each of the instructions to be processed includes an address to be accessed,
Determining an instruction to be merged among the plurality of instructions to be processed, merging the instructions to be merged to obtain a merge instruction,
Configured to access data according to the access scheduled address corresponding to the merge command
A data access device characterized in that.
KR1020237044059A 2021-12-16 2022-04-29 Data access methods, devices, and non-transitory computer-readable storage media KR20240010042A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202111543913.4 2021-12-16
CN202111543913.4A CN114416178A (en) 2021-12-16 2021-12-16 Data access method, device and non-transitory computer readable storage medium
PCT/CN2022/090331 WO2023108989A1 (en) 2021-12-16 2022-04-29 Data access method and apparatus, and non-transient computer-readable storage medium

Publications (1)

Publication Number Publication Date
KR20240010042A true KR20240010042A (en) 2024-01-23

Family

ID=81266994

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020237044059A KR20240010042A (en) 2021-12-16 2022-04-29 Data access methods, devices, and non-transitory computer-readable storage media

Country Status (4)

Country Link
JP (1) JP2024521963A (en)
KR (1) KR20240010042A (en)
CN (1) CN114416178A (en)
WO (1) WO2023108989A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117539407B (en) * 2024-01-04 2024-03-29 浙江大华技术股份有限公司 Data storage method, electronic device, and computer-readable storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991098A (en) * 1995-09-27 1997-04-04 Nec Software Ltd Device driver access system
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 (en) * 2018-09-06 2020-02-21 大陸商深圳大心電子科技有限公司 Command processing method and storage controller using the same
CN110187835B (en) * 2019-05-24 2023-02-03 北京百度网讯科技有限公司 Method, apparatus, device and storage medium for managing access requests

Also Published As

Publication number Publication date
WO2023108989A1 (en) 2023-06-22
JP2024521963A (en) 2024-06-04
CN114416178A (en) 2022-04-29

Similar Documents

Publication Publication Date Title
US9659015B2 (en) Mobile terminal and controlling method thereof
KR101724176B1 (en) Opportunistic multitasking
EP2940572A1 (en) Method and electronic device for managing display objects
US20130326397A1 (en) Mobile terminal and controlling method thereof
CN103649927B (en) Technology for data mobile between multiple type of memory
CN110888821B (en) Memory management method and device
KR20140033964A (en) Device and method for saving data in terminal
WO2021110133A1 (en) Control operation method and electronic device
US11449242B2 (en) Shared storage space access method, device and system and storage medium
CN110377235B (en) Data processing method and device, mobile terminal and computer readable storage medium
US20160328325A1 (en) Reconfigurable fetch pipeline
CN112445766A (en) Terminal fragment sorting method and device and terminal
US20200201923A1 (en) Information Recommendation Method, Terminal Device, and Server
KR20240010042A (en) Data access methods, devices, and non-transitory computer-readable storage media
KR20220050407A (en) Controller and operation method thereof
CN103870955B (en) The processing method and processing device of data in webpage
CN115145735A (en) Memory allocation method and device and readable storage medium
CN116249973B (en) Adaptive memory transaction scheduling
US20140201648A1 (en) Displaying hotspots in response to movement of icons
US20150331600A1 (en) Operating method using an input control object and electronic device supporting the same
CN112698793A (en) Data storage method and device, machine readable medium and equipment
CN115687270A (en) Data storage sorting method and device, electronic equipment and storage medium
CN116360671A (en) Storage method, storage device, terminal and storage medium
CN112965920A (en) Memory management method and device, electronic equipment and storage medium
US20150074530A1 (en) Method for controlling content in mobile electronic device