WO2016089020A1 - 메모리 접근 제어 방법 및 장치 - Google Patents

메모리 접근 제어 방법 및 장치 Download PDF

Info

Publication number
WO2016089020A1
WO2016089020A1 PCT/KR2015/012113 KR2015012113W WO2016089020A1 WO 2016089020 A1 WO2016089020 A1 WO 2016089020A1 KR 2015012113 W KR2015012113 W KR 2015012113W WO 2016089020 A1 WO2016089020 A1 WO 2016089020A1
Authority
WO
WIPO (PCT)
Prior art keywords
access
bank
master device
memory device
access request
Prior art date
Application number
PCT/KR2015/012113
Other languages
English (en)
French (fr)
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 삼성전자 주식회사
Priority to US15/533,190 priority Critical patent/US10983723B2/en
Publication of WO2016089020A1 publication Critical patent/WO2016089020A1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays

Definitions

  • a method and apparatus are disclosed for controlling an operation of accessing a memory in connection with data transfer.
  • banked multi-port memory which allows memory to be configured in multiple banks to allow simultaneous data transfer for multiple master devices, is increasing.
  • Banked multi-port memory allows simultaneous access to multiple master devices, which can speed up data processing than single port memory.
  • a method of controlling access of a master device in a memory device is disclosed.
  • a method and apparatus for controlling access of a master device in a memory device in connection with access to a bank is disclosed.
  • FIG. 1 is a schematic diagram illustrating a method of controlling access of a master device in a memory device according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a method of controlling access of a master device in a memory device according to an embodiment of the present invention.
  • FIG. 3 is a block diagram illustrating a memory device according to an embodiment of the present invention.
  • FIG. 4 is a flowchart illustrating a method of allowing the memory device 100 to approve access of the master device 200 according to an embodiment of the present invention.
  • FIG. 5 is a diagram for describing a method of allowing the memory device 100 to grant access when a bank conflict occurs according to an embodiment of the present invention.
  • FIG. 6 is a flowchart illustrating a method of accessing the memory device 100 by the master device 200 according to an embodiment of the present invention.
  • FIG. 7 is a diagram for describing a method of accessing the memory device 100 by the master device 200 according to an exemplary embodiment.
  • FIG. 8 is a diagram for describing a method of receiving, by the master device 200, processed data, according to an embodiment of the present invention.
  • FIG. 9 is a diagram for describing a method in which the master device 200 retransmits an access request for a bank in which access is denied, according to an embodiment of the present invention.
  • FIG. 10 is a diagram for describing a conversion unit 300 according to an embodiment of the present invention.
  • FIG. 11 is a diagram for describing a method of retransmitting an access request by a transformation unit 300 according to an embodiment of the present invention.
  • FIG. 12 is a diagram for describing a method in which the master device 200 transmits an access request signal to the memory device 100 according to the present invention.
  • FIG. 13 is a block diagram illustrating an operation of the master device 200 according to an embodiment of the present invention.
  • an aspect of the present invention in the method for controlling the access of the master device in the memory device, from among a plurality of banks included in the memory device for at least one bank; Receiving an access request from the master device, determining whether to approve access for each of the at least one bank requested, and generating validity information indicating whether to approve access to each of the at least one bank, The method may further include transmitting the generated validity information to the master device.
  • the determining may include determining whether a bank conflict occurs between an access request of another master device and the access request, and when the bank conflict occurs, priority of the access request. And determining whether to grant access to each of the at least one bank that has been requested to be accessed, based on the priority.
  • the priority may be determined by an emergency level received from the master device.
  • the access request may be a 2-bit signal including a partial access signal for requesting the validity information.
  • the master device may be accessible to at least one bank of the at least one bank requesting access.
  • the access control method may further include performing data processing requested by the master device with respect to a bank that has granted access to the master device as a result of the determining.
  • the access control method may further include re-receiving, from the master device, an access request for a bank that is not granted access based on the validity information.
  • the second aspect also provides a method of accessing a memory device in a master device, the method comprising: transmitting to the memory device an access request for at least one bank, from among a plurality of banks included in the memory device;
  • the method may include receiving validity information indicating whether to approve access to each bank from the memory device.
  • the access request may be a 2-bit signal including a partial access signal for requesting the validity information.
  • the method may further include requesting data processed in at least one approved bank of the at least one bank based on the received validity information.
  • the access method may include retransmitting an access request for at least one unauthorized bank of the at least one bank based on the received validity information.
  • the third aspect may further include: an access request receiving unit receiving an access request for at least one bank from a master device among a plurality of banks included in a memory device, and determining whether to grant access to each of the at least one requested bank;
  • the memory device may include an arbitration unit generating validity information indicating whether to approve access to each of the at least one bank, and a request result transmitting unit transmitting the generated validity information to the master device.
  • the arbitration unit may determine whether a bank conflict occurs between an access request of another master device and the access request, and when the bank conflict occurs, determines the priority of the access request. Based on the priority, it may be determined whether to grant access to each of the at least one requested bank.
  • the priority may be determined by an emergency level received from the master device.
  • the access request may be a 2-bit signal including a partial access signal for requesting the validity information.
  • the master device may be accessible to at least one bank of the at least one bank requesting access.
  • the memory device may perform processing of data requested by the master device with respect to a bank that has granted access to the master device as a result of the determination of the arbitration unit.
  • the access request receiving unit may re-receive an access request for a bank that is not granted access based on the validity information from the master device.
  • the fourth aspect may further include transmitting, from a plurality of banks included in a memory device, an access request for at least one bank to a memory device, and providing validity information indicating whether to approve access to each of the at least one bank.
  • a master device may be provided that includes a prefetch unit that receives from the device.
  • the access request may be a 2-bit signal including a partial access signal for requesting the validity information.
  • the pre-patch unit may request processed data from at least one bank of which access is authorized among the at least one bank of which access is requested, based on the received validity information.
  • the prefetch unit may retransmit an access request for at least one bank that is not authorized among the at least one bank, based on the received validity information.
  • FIG. 1 is a schematic diagram illustrating a method of controlling access of a master device in a memory device according to an embodiment of the present invention.
  • the memory device 100 may be connected to the plurality of master devices 200.
  • the memory device 100 and the plurality of master devices 200 may be implemented by one processor and may be implemented by a plurality of processors.
  • the memory device 100 may include a plurality of banks.
  • the memory device 100 may receive an access request for at least one bank from each of the plurality of master devices 200.
  • a bank conflict may occur due to an access request for at least one bank transmitted by each of the plurality of master devices 200. For example, when the same bank exists between a bank requested for access by the first master device 215 and a bank requested for access by the second master device 225, a bank conflict may occur.
  • the memory device 100 may determine approval of access for an access request having a high priority. In addition, the memory device 100 may determine whether a partial access request exists for an access request having a low priority.
  • the memory device 100 may determine whether to grant access to each of a plurality of banks for which access is requested, when there is a partial access request for an access request having a low priority. In addition, the memory device 100 may generate validity information about the access approved bank and the access denied bank and transmit the generated validity information to the master device 200.
  • FIG. 2 is a flowchart illustrating a method of controlling access of a master device in a memory device according to an embodiment of the present invention.
  • the memory device 100 may receive an access request for at least one bank from the master device 200 among a plurality of banks included in the memory device 100.
  • the memory device 100 may include a plurality of banks.
  • the bank is a unit of a data processing region constituting the memory device 100, and the memory device 100 may process data using at least one bank.
  • the memory device 100 may process data using one bank, and may process data using two banks.
  • the memory device 100 may receive an access request from the master device 200.
  • the master device 200 refers to a device connected to the memory device 100 to transmit data to the memory device 100 and to receive data from the memory device 100.
  • the master device 200 may include a processor core, a direct mode access controller, or a hardware accelerator (H / W accelerator), but is not limited thereto.
  • the master device 200 may request access to a plurality of banks included in the memory device 100 to process data.
  • the master device 200 may request access by designating at least one bank included in the memory device 100.
  • the memory device 100 may include a first bank, a second bank, a third bank,.
  • the master device 200 may request access to the first bank, the second bank, and the third bank.
  • access to the second bank and the third bank may be requested, but is not limited thereto.
  • the memory device 100 may receive a partial access request from the master device 200.
  • Partial access request means that when at least one bank of the plurality of access requested banks is accessible, request approval for an accessible bank, and request information about an access authorized bank and an access denied bank. .
  • the memory device 100 may receive a partial access request together with or separately from the access request. In addition, when receiving the access request signal, the memory device 100 may determine that the partial access request signal is also received, and the present invention is not limited thereto and may receive the partial access request in various forms.
  • the memory device 100 may determine whether to grant access to each of the at least one bank requested to be accessed by the master device 200.
  • the memory device 100 may approve the access of the master device 200 based on the access request of the master device 200. For example, when the master device 200 requests access to at least one bank, the memory device 100 may not access the master device 200 when a bank conflict does not occur due to the access request. You can approve.
  • the bank conflict occurs when a plurality of master devices 200 request access to at least one of the same banks, and may cause performance degradation of the memory.
  • the memory device 100 when the memory device 100 receives an access request from the master device 200, the memory device 100 may determine whether a bank conflict occurs.
  • the memory device 100 may determine the priority of access requests.
  • the memory device 100 may include a preset priority, a type of master device 200 requesting access, an urgent degree of access request, an amount of data stored in a buffer in the access requesting master device 200, or a combination thereof. Based on the above, the priority of the access requests may be determined, and the priority of the access requests may be determined in various ways.
  • the memory device 100 may determine the priority of access requests based on an urgent index received from the master device 200.
  • the master device 200 may determine an emergency level by using a data retention situation of a buffer included in the master device 200, a use time of data processed by an access requested bank, or a combination thereof. It is not limited to this.
  • the master device 200 may determine a high emergency level of the access request, and the memory device 100 may determine an emergency index ( For an access request with a high urgency level, a higher priority may be determined.
  • the memory device 100 may grant access to a high priority access request. .
  • a bank conflict occurred between an access request of the first master device 215 and an access request of the second master device 225, and a bank conflict is generated.
  • the memory device 100 may grant access of the first master device 215.
  • the memory device 100 may request a partial access for a low priority access request. It can be determined whether or not received.
  • the memory device 100 may determine whether a partial access request is received from the first master device 215.
  • the memory device 100 when the memory device 100 receives a partial access request for an access request having a lower priority, whether or not each of the banks for which access is requested is approved based on the determined priority. Can be determined.
  • the memory device 100 may be configured to each of a plurality of banks requested by the first master device 215. You can decide whether to approve or not.
  • the memory device 100 may generate validity information indicating whether to grant access to each of the at least one bank for which access is requested.
  • the memory device 100 may generate validity information indicating whether to approve access to each of the at least one bank requested for access. For example, when the memory device 100 receives an access request for the first, second, and third banks from the master device 200, the memory device 100 grants access to each of the first, second, and third banks. It may determine whether or not, and generate validity information based on the determination result.
  • the memory device 100 may generate validity information including information about a bank to which access is granted, and information about a bank to which access is denied.
  • the validity information may be configured as a signal of 2 to 8 bits, but is not limited thereto.
  • the number of bits of the validity information signal indicating the validity information may be equal to the number of at least one bank for which access is requested or less than the number of at least one bank for which access is requested.
  • the validity information signal may be a 2-bit signal indicating whether to approve the access to the first and second banks, respectively. Can be.
  • the validity information signal may be a 1-bit signal indicating whether the first and second banks are accessible.
  • the number of bits of the validity information signal representing the validity information may be greater than the number of at least one bank for which access is requested.
  • the validity information signal may be a 2-bit signal.
  • each of the two bits may represent the same information.
  • the memory device 100 may maintain compatibility by using two bits representing the same information.
  • the memory device 100 may transmit validity information indicating whether to approve access to accessed banks to the master device.
  • the memory device 100 may transmit a response signal to the access request received from the master device 200.
  • the memory device 100 may transmit a “grant” signal indicating an access grant to the master device 200.
  • a “grant” signal indicating the access approval may be transmitted to the master device 200.
  • the memory device 100 may transmit validity information that is information about a bank to which access is granted and information about a bank to which access is denied. .
  • the memory device 100 when the memory device 100 grants access to the first bank of the first, second, and third banks for which access is requested, and denies the access to the second and third banks, the memory device 100 ) May transmit a “grant” signal to the master device 200 indicating that access is granted to some banks among the first, second, and third banks that are requested to access.
  • the memory device 100 may transmit validity information to the master device 200 indicating that the first bank has been granted access and that the second bank and the third bank have been denied access.
  • FIG. 3 is a block diagram illustrating a memory device according to an embodiment of the present invention.
  • the memory device 100 may include a plurality of banks.
  • the memory device 100 may include an arbitration unit 320, an access request receiving unit 310, and a request result transmitting unit 330.
  • the arbitration unit 320, the access request receiver 310, and the request result transmitter 330 of the memory device 100 may be implemented as one processor.
  • the arbitration unit 320, the access request receiving unit 310, and the request result transmitting unit 330 of the memory device 100 may be implemented by one processor, but are not limited thereto.
  • the access request receiver 310 of the memory device 100 may receive an access request from the master device 200.
  • the access request receiver 310 of the memory device 100 may receive a partial access request from the master device 200.
  • the access request receiver 310 of the memory device 100 may receive a partial access request together with or separately from the access request. In addition, when the access request receiver 310 of the memory device 100 receives the access request signal, the access request receiver 310 may determine that the partial access request signal is also received, and the present invention is not limited thereto and may receive the partial access request in various forms. .
  • the arbitration unit 320 of the memory device 100 may approve access of the master device 200 based on an access request of the master device 200. For example, when the master device 200 requests access to at least one bank, when the master device 200 requests access to at least one bank, the arbitration unit 320 of the memory device 100 does not generate a bank conflict due to the access request. Approve 200 access.
  • the arbitration unit 320 may determine whether a bank conflict occurs.
  • the arbitration unit 320 of the device 100 may determine that a bank conflict has occurred.
  • the arbitration unit 320 of the memory device 100 may determine the priority of access requests. For example, the arbitration unit 320 of the memory device 100 may determine a preset priority, the type of the master device 200 requesting access, the urgent degree of the access request, and the data stored in the buffer in the master device 200 requesting access. Based on the amount, or a combination thereof, the priority of the access requests may be determined, and the priority of the access requests may be determined in various ways, without being limited thereto.
  • the arbitration unit 320 of the memory device 100 may determine the priority of access requests based on an urgent index.
  • the emergency level of the access request may be determined to be high, and the arbitration unit 320 of the memory device 100 may determine the emergency index ( For an access request with a high urgency level, a higher priority may be determined.
  • the arbitration unit 320 of the memory device 100 when the arbitration unit 320 of the memory device 100 encounters a bank conflict between access requests of a plurality of master devices, the arbitration unit 320 may provide a high priority access request. Approve access.
  • a bank conflict occurred between an access request of the first master device 215 and an access request of the second master device 225, and a bank conflict is generated.
  • the memory device 100 may grant access of the first master device 215.
  • the arbitration unit 320 of the memory device 100 may have a low priority access request. For, it may be determined whether a partial access request has been received.
  • the arbitration unit 320 of the memory device 100 may determine whether a partial access request is received from the first master device 215.
  • the arbitration unit 320 of the memory device 100 when the arbitration unit 320 of the memory device 100 receives the partial access request for the low priority access request, at least one access request based on the determined priority For each bank, it is possible to determine whether to approve.
  • the arbitration unit 320 of the memory device 100 may generate validity information indicating whether to approve access to each of the at least one bank requesting access. For example, when the access request receiver 310 of the memory device 100 receives an access request for the first, second, and third banks from the master device 200, the arbitration unit 320 of the memory device 100 is provided. May determine whether to approve access to each of the first, second, and third banks, and generate validity information based on the determination result.
  • the memory device 100 may generate validity information including information about a bank to which access is granted, and information about a bank to which access is denied.
  • the validity information may be configured as a signal of 2 to 8 bits, but is not limited thereto.
  • the request result transmitter 330 of the memory device 100 may transmit a response signal to the access request received from the master device 200.
  • the request result transmitter 330 of the memory device 100 transmits a "grant" signal indicating the access approval. To the master device 200.
  • the request result transmitter 330 of the memory device 100 indicates the access approval.
  • the “grant” signal may be transmitted to the master device 200.
  • the request result transmitter 330 of the memory device 100 grants access.
  • the validity information indicating the denied bank and the access denied bank may be transmitted.
  • the arbitration unit 320 of the memory device 100 grants access to the first bank among the first, second, and third banks for which access is requested, and does not grant access to the second and third banks.
  • the request result transmitter 330 of the memory device 100 may transmit a “grant” signal indicating that the access is approved to the master device 200.
  • the request result transmitter 330 of the memory device 100 may transmit validity information indicating that the first bank has been granted access and the second bank and the third bank have been denied access to the master device 200. .
  • FIG. 4 is a flowchart illustrating a method of allowing the memory device 100 to approve access of the master device 200 according to an embodiment of the present invention.
  • the memory device 100 may receive an access request from the master device 200.
  • the memory device 100 may be connected to the plurality of master devices 200. Also, the memory device 100 may receive an access request for at least one bank from among a plurality of banks included in the memory device 100 from the plurality of master devices 200.
  • the master device 200 may request access to a plurality of banks included in the memory device 100 to process data.
  • the master device 200 may request access by designating at least one bank included in the memory device 100.
  • the memory device 100 may include a first bank, a second bank, a third bank,.
  • the master device 200 may request access to the first bank, the second bank, and the third bank.
  • access to the second bank and the third bank may be requested, but is not limited thereto.
  • the memory device 100 may determine whether a bank conflict occurs between access requests.
  • the memory device 100 generates a bank conflict between an access request received from the first master device 215 and an access request received from the second master device 225. Can be determined.
  • the bank conflict occurs when a plurality of master devices 200 request access to at least one of the same banks, and may cause performance degradation of the memory.
  • the first device when the first device is included in the bank requested by the first master device 215 and the bank requested by the second master device 225 includes the first bank, It can be determined that a bank conflict has occurred.
  • the memory device 100 may determine an access request having a high priority.
  • the memory device 100 may determine the priority of access requests.
  • the memory device 100 may include a preset priority, a type of master device 200 requesting access, an urgent degree of access request, an amount of data stored in a buffer in the access requesting master device 200, or a combination thereof. Based on the above, the priority of the access requests may be determined, and the priority of the access requests may be determined in various ways.
  • the memory device 100 may grant access based on the access request of the master device 200.
  • the memory device 100 may approve the access of the master device 200 based on the access request of the master device 200. For example, when the master device 200 requests access to at least one bank, the memory device 100 may not access the master device 200 when a bank conflict does not occur due to the access request. You can approve.
  • the memory device 100 may grant access to a high priority access request. .
  • the memory device 100 may grant access of the first master device 215.
  • the memory device 100 receives a partial access request from the master device 200 that transmits a low priority access request. It can be determined whether or not.
  • the memory device 100 transmits an access request having a low priority ( It may be determined whether a partial access request has been received from 200.
  • the memory device 100 may determine whether the partial access request signal is received from the first master device 215.
  • the memory device 100 may receive a partial access request together with or separately from the access request. In addition, when receiving the access request signal, the memory device 100 may determine that the partial access request signal is also received, and the present invention is not limited thereto and may receive the partial access request in various forms.
  • the memory device 100 may determine whether a bank conflict has occurred for each of the at least one bank that has been accessed. have.
  • the memory device 100 may determine whether a bank conflict has occurred for each of the at least one bank requested to be accessed.
  • the memory device 100 may conflict with another access request for each of the first, second, and third banks. ) Can be determined.
  • the memory device 100 may grant access to a bank in which a bank conflict has not occurred among at least one bank for which access is requested.
  • the memory device 100 when receiving the partial access request, may grant access to at least one bank accessible from at least one bank requested for access.
  • the memory device 100 accesses a bank in which no bank conflict occurs, except for a bank in which a bank conflict has occurred for at least one bank requested by the master device 200. Can be approved.
  • the memory device 100 may deny approval of access to the access request of the master device 200.
  • the memory device 100 when a bank conflict occurs due to an access request of a plurality of master devices 200, the memory device 100 does not receive a partial access request for a low priority access request. If not, the access can be denied.
  • a bank conflict occurred between an access request of the first master device 215 and the second master device 225, and a first priority lower than that of the access request of the second master device 225. If the partial access request is not received in response to the access request of the master device 215, the first master device 215 may deny the approval of the access request.
  • the memory device 100 is a bank conflict (conflict) generated by the access request of the plurality of master devices 200, the master device 200 that transmits a low priority access request When the partial access request is received from the AP, the access may be partially denied to the low priority access request.
  • bank conflict conflict
  • the memory device 100 accesses a bank in which a bank conflict occurs, except for a bank in which a bank conflict does not occur in at least one bank requested by the master device 200. You can refuse to approve.
  • FIG. 5 is a diagram for describing a method of allowing the memory device 100 to grant access when a bank conflict occurs according to an embodiment of the present invention.
  • the first master device 215 and the second master device 225 may request access to at least one bank included in the memory device 100 at the same time.
  • the second master device 225 may request access to the second bank
  • the first master device 215 may request access to the second, third, four, or five banks.
  • the memory device 100 when the memory device 100 receives an access request from the plurality of master devices 200, the memory device 100 may determine whether a bank conflict occurs.
  • the memory device 100 receives an access request for the second, third, fourth, and fifth banks from the first master device 215, and requests for an access to the second bank from the second master device 225.
  • the memory device 100 may determine that a bank conflict has occurred.
  • the memory device 100 may determine the priority of the access request when a bank conflict occurs. For example, the memory device 100 may determine a priority between an access request of the first master device 215 and an access request of the second master device 225 that generated the bank conflict.
  • the memory device 100 may include a preset priority, types of the first master device 215 and the second master device 225, an urgent degree of an access request, and a first master device 215 and a second master device 225. Based on the amount of data stored in the buffers within, or a combination thereof, the priority of the access requests may be determined, and the priority of the access requests may be determined in various ways.
  • the memory device 100 may grant access of the master device 200 based on the determined priority.
  • the memory device 100 may grant access to the access request of the second master device 225 having a higher priority among the access requests that generate the bank conflict.
  • the memory device 100 may partially transfer the access request having a lower priority. It may be determined whether an access request has been received.
  • the memory device 100 may determine whether a partial access request is received from the first master device 215 that transmits the low priority access request among the access requests that generate the bank conflict. Can be.
  • the memory device 100 when the memory device 100 receives a partial access request from the master device 200 which transmits a low priority access request, the memory device 100 may request at least one access request. It may be determined whether a bank conflict has occurred for each bank.
  • the first master device may receive a first access request. It may be determined whether a bank conflict has occurred for each of the second, third, fourth, and fifth banks requested by the device 215.
  • the memory device 100 may grant access to a bank in which a bank conflict does not occur among at least one bank requested for access.
  • the memory device 100 may be configured to generate no bank conflict except for a second bank in which a bank conflict has occurred for at least one bank requested by the first master device 215. For banks 3, 4 and 5, access may be granted.
  • the memory device 100 may transmit a response signal to the access request received from the master device 200.
  • the memory device 100 may transmit a “grant” signal indicating an access grant to the master device 200.
  • a “grant” signal indicating the access approval may be transmitted to the master device 200.
  • the memory device 100 may transmit validity information indicating a bank to which access is granted and a bank to which access is denied.
  • the memory device 100 when the memory device 100 grants access to the first bank of the first, second, and third banks for which access is requested, and denies the access to the second and third banks, the memory device 100 ) May transmit a “grant” signal to the master device 200 indicating that access is granted. In addition, the memory device 100 may transmit validity information to the master device 200 indicating that the first bank has been granted access and that the second bank and the third bank have been denied access.
  • FIG. 6 is a flowchart illustrating a method of accessing the memory device 100 by the master device 200 according to an embodiment of the present invention.
  • the master device 200 may request the memory device 100 to access at least one bank from among a plurality of banks included in the memory device 100.
  • the master device 200 may request the memory device 100 to access at least one bank from among a plurality of banks included in the memory device 100.
  • the master device 200 may transmit the partial access request to the memory device 100 together with or separately from the access request.
  • the master device 200 may request the memory device 100 to access first, second, and third banks of a plurality of banks included in the memory device 100.
  • the master device 200 requests the memory device 100 to approve the accessible bank, and the accessible bank and A partial access request may be sent, requesting validity information that is information about banks that are not accessible.
  • the master device 200 may receive validity information that is information about an accessible bank and an inaccessible bank among at least one bank requested to access from the memory device 100.
  • the master device 200 may receive the validity information.
  • the master device 200 may obtain information on the bank approved and the bank access is not approved from the validity information.
  • the master device 200 may transmit data for a bank to which access is granted and request processing of the data. For example, the master device 200 may transmit data to the access authorized bank and request processing of the data based on the validity information. In addition, the master device 200 may receive and store processed data from a bank to which access has been granted.
  • the master device 200 may retransmit the access request for the bank is denied access.
  • the master device 200 may retransmit an access request for a bank in which access is denied, except for an access approved bank among at least one bank requested for access.
  • the master device 200 may stop the retransmission of the access request if the access to the bank is denied access.
  • the master device 200 when the retransmitted access request is approved for the bank to which access is denied, the master device 200 transmits data for the bank to which access is granted by the retransmitted access request, You can request processing. In addition, the master device 200 may receive and store the processed data.
  • FIG. 7 is a diagram for describing a method of accessing the memory device 100 by the master device 200 according to an exemplary embodiment.
  • the master device 200 may request the memory device 100 to access at least one bank from among a plurality of banks included in the memory device 100.
  • the master device 200 may transmit the partial access request to the memory device 100 together with or separately from the access request.
  • the master device 200 may request the memory device 100 to access first, second, and third banks of a plurality of banks included in the memory device 100.
  • the master device 200 requests the memory device 100 to approve the accessible bank, and the accessible bank and A partial access request may be sent, requesting validity information that is information about banks that are not accessible.
  • the master device 200 may receive access approval information. For example, when the memory device 100 grants access to the bank for which access is requested, the master device 200 may receive a “grant” signal indicating the access grant from the memory device 100.
  • the master device 200 may receive a “grant” signal from the memory device 100 indicating an access grant. have.
  • the master device 200 may check the validity information received together with the access approval information or separately.
  • the master device 200 may obtain information about an access approved bank and an access denied bank from the validity information.
  • the master device 200 may transmit data for the bank to which access has been granted and request processing of the data. For example, the master device 200 may transmit data to the access authorized bank and request processing of the data based on the validity information. In addition, the master device 200 may receive and store processed data from a bank to which access has been granted.
  • the master device 200 may create a valid partial map for the bank for which access has been granted. For example, when access is granted to only the first bank of the first, second, and third banks requested by the master device 200, the master device 200 is granted access to the first bank, and the second bank. And a valid partial map indicating that access is not granted for the third bank.
  • the master device 200 may determine whether access is granted to all of the at least one bank that has requested access. For example, the master device 200 may determine whether access is granted to all of the at least one bank requesting access based on the generated valid partial map.
  • the master device 200 may retransmit the access request for the bank is denied access.
  • the master device 200 may retransmit an access request for a bank in which access is denied, except for an access approved bank, from among at least one bank requested for access based on the effective partial map.
  • the master device 200 may stop the retransmission of the access request if the access to the bank is denied access.
  • the master device 200 may transmit data to the bank to which the access request is approved and request processing of the data. In addition, the master device 200 may receive and store the processed data.
  • FIG. 8 is a diagram for describing a method of receiving, by the master device 200, processed data, according to an embodiment of the present invention.
  • the plurality of master devices 200 may be connected to the memory device 100.
  • the plurality of master devices 200 may transmit an access request to at least one bank of the plurality of banks included in the memory device 100, respectively.
  • the first master device 215 and the second master device 225 may request access to at least one bank included in the memory device 100 at the same time.
  • the second master device 225 may request access to the second bank
  • the first master device 215 may request access to the second, third, four, or five banks.
  • the master device 200 may transmit the partial access request to the memory device 100 together with or separately from the access request.
  • the first master device 215 requests the memory device 100 to access second, third, fourth, and fifth banks of a plurality of banks included in the memory device 100, and with the access request, Alternatively, the partial access request may be transmitted to the memory device 100 separately from the access request.
  • the partial access request of the second master device 225 requests access approval for some banks when only some banks of the second, third, fourth, and fifth banks are accessible, and requests access of the banks and the accesses that have been granted access. This means requesting information about banks for which denial is denied.
  • the memory device 100 may determine the priority of the access request when a bank conflict occurs. For example, the memory device 100 may determine a priority between an access request of the first master device 215 and an access request of the second master device 225 that generated the bank conflict.
  • the memory device 100 may include a preset priority, types of the first master device 215 and the second master device 225, an urgent degree of an access request, and a first master device 215 and a second master device 225. Based on the amount of data stored in the buffers within, or a combination thereof, the priority of the access requests may be determined, and the priority of the access requests may be determined in various ways.
  • the memory device 100 may grant access of the master device 200 based on the determined priority.
  • the memory device 100 may grant access to the access request of the second master device 225 having a higher priority among the access requests that generate the bank conflict.
  • the memory device 100 may partially transfer the access request having a lower priority. It may be determined whether an access request has been received.
  • the memory device 100 may determine whether a partial access request is received from the first master device 215 that transmits the low priority access request among the access requests that generate the bank conflict. Can be.
  • the memory device 100 when the memory device 100 receives a partial access request from the master device 200 which transmits a low priority access request, the memory device 100 may request at least one access request. It may be determined whether a bank conflict has occurred for each bank.
  • the first master device may receive a first access request. It may be determined whether a bank conflict has occurred for each of the second, third, fourth, and fifth banks requested by the device 215.
  • the memory device 100 may grant access to a bank in which a bank conflict does not occur among at least one bank requested for access.
  • the memory device 100 may be configured to generate no bank conflict except for a second bank in which a bank conflict has occurred for at least one bank requested by the first master device 215. For banks 3, 4 and 5, access may be granted.
  • the memory device 100 may transmit a response signal to the access request received from the master device 200.
  • the memory device 100 may transmit a “grant” signal indicating an access grant to the master device 200.
  • a “grant” signal indicating the access approval may be transmitted to the master device 200.
  • the memory device 100 may transmit bank information for which access is granted and validity information indicating banks for which access is denied.
  • the master device 200 may check the validity information received together with the access approval information or separately.
  • the master device 200 may obtain information about an access approved bank and an access unauthorized bank from the validity information.
  • the master device 200 may generate a valid partial map for the bank authorized access. For example, referring to FIG. 8, access is granted to the third, fourth, and fifth banks of the second, third, fourth, and fifth banks that the master device 200 requests access to, and access to the second bank is not possible. An effective partial map may be generated indicating that it is not approved. In the valid partial map, "1" may match an access granted bank and "0" may match an access denied bank.
  • the master device 200 may refer to the valid partial map, transmit data for the bank to which access is granted, and request processing of the data.
  • the master device 200 may receive the processed data from the access approved bank.
  • FIG. 9 is a diagram for describing a method in which the master device 200 retransmits an access request for a bank in which access is denied, according to an embodiment of the present invention.
  • the master device 200 may determine whether access is granted to all of the at least one bank that has requested access. For example, the master device 200 may determine whether access is granted to all of the at least one bank requesting access based on the generated valid partial map.
  • the valid partial map may match a bank authorized to access, and “0” of the valid partial map may match a bank denied access.
  • the master device 200 may determine that access is not granted to all of the second, third, fourth, and fifth banks that request access using the valid partial map.
  • the master device 200 may retransmit the access request for the bank is denied access.
  • the master device 200 may retransmit an access request for a bank in which access is denied, except for an access approved bank, from among at least one bank requesting an access, based on the effective partial map.
  • the master device 200 may retransmit an access request for a bank matching “0” of the effective partial map.
  • the master device 200 may modify the effective partial map when the access to the bank is denied access. For example, when access to a bank matching "0" of the valid portion map is granted, the "0" portion of the valid portion may be modified to "1".
  • the master device 200 when the access to the bank denied access is granted by the retransmission of the access request, the master device 200 sends data to the bank authorized to access by the retransmission of the access request. Send and request processing of the data.
  • the master device 200 may receive the processed data from the bank approved for access by retransmission of the access request, and may store the received data.
  • the master device 200 may stop the retransmission of the access request.
  • the master device 200 may stop retransmission of the access request.
  • FIG. 10 is a diagram for describing a conversion unit 300 according to an embodiment of the present invention.
  • the conversion unit 300 may be connected between the first master device 2100 and the memory device 100.
  • the conversion unit 300 may be implemented by a processor separate from the first master device 2100 and the memory device 100, and may be implemented by the same processor as the first master device 2100 or the memory device 100. Can be.
  • the conversion unit 300 may be coupled to the first master device 2100 to receive an access request for the memory device 100 of the first master device 2100.
  • the conversion unit 300 may convert the access request of the first master device 2100.
  • the conversion unit 300 may add a partial access request to an access request for the memory device 100 of the first master device 2100.
  • the conversion unit 300 may receive the access authorization information for the access request sent to the memory device 100.
  • the conversion unit 300 may receive a "grant" signal indicating permission of access from the memory device 100.
  • the conversion unit 300 may receive validity information indicating a bank of which access is granted and a bank of which access is denied among the banks for which access is requested.
  • the conversion unit 300 may receive validity information from the memory device 100 indicating that access to the second bank has been denied, and access to the third, fourth, and fifth banks has been approved.
  • the conversion unit 300 may check the validity information received together with the access approval information or separately.
  • the conversion unit 300 may obtain information about an access authorized bank and an access unauthorized bank from the validity information.
  • the conversion unit 300 may generate a valid partial map for the access authorized bank. For example, referring to FIG. 10, access is granted to the third, fourth, and fifth banks of the second, third, fourth, and fifth banks requested by the conversion unit 300, and access to the second bank. An effective partial map may be generated indicating that it is not approved. In the valid partial map, "1" may match an access granted bank and "0" may match an access denied bank.
  • the conversion unit 300 may refer to the valid partial map, transmit data for the bank to which access is granted, and request processing of the data.
  • the conversion unit 300 may receive the processed data from the access authorized bank.
  • FIG. 11 is a diagram for describing a method of retransmitting an access request by a transformation unit 300 according to one embodiment of the present invention.
  • the conversion unit 300 may determine whether access is granted to all of the at least one bank that has requested access. For example, the conversion unit 300 may determine whether access is granted to all of the at least one bank requesting access based on the generated valid partial map.
  • “1” of the valid partial map may match a bank that is granted access
  • “0” of a valid partial map may match a bank that is denied access.
  • the conversion unit 300 may determine that access is not granted to some of the banks of the second, third, fourth, and fifth banks that request access using the valid partial map.
  • the conversion unit 300 may retransmit the access request for the bank denied access.
  • the conversion unit 300 may retransmit an access request for a bank to which access is denied, except for an access approved bank, from among at least one bank requesting an access, based on the effective partial map.
  • the transformation unit 300 may retransmit an access request for a bank matching "0" of the effective partial map.
  • the conversion unit 300 may modify the effective partial map when access to the bank denied access is granted. For example, when access to a bank matching "0" of the valid portion map is granted, the "0" portion of the valid portion may be modified to "1".
  • the conversion unit 300 transmits data to the bank authorized to access by the retransmission of the access request, when the access to the bank is denied, by the retransmission of the access request. And request processing of the data.
  • the conversion unit 300 may receive the processed data from the bank approved for access by retransmission of the access request, and may store the received data.
  • the conversion unit 300 may stop retransmission of the access request when the access to the bank is denied access.
  • the transformation unit 300 may stop retransmission of the access request when “0” does not exist in the valid partial map.
  • the conversion unit 300 when the conversion unit 300 receives the processed data from all of the at least one bank requesting access, the conversion unit 300 may transmit the received data to the master device 200.
  • the conversion unit 300 may transmit the stored data to the first master device 2100. .
  • the conversion unit 300 when it is determined that access is granted to all of the at least one bank that has requested access based on the effective partial map, the conversion unit 300 transmits the stored data to the first master device 2100. Can be.
  • the conversion unit 300 determines that access is granted to all of the at least one bank requesting access, and transmits the stored data to the first master device 2100. Can transmit
  • FIG. 12 is a diagram for describing a method of transmitting an access request signal to the memory device 100 by the master device 200 according to the present invention.
  • the master device 200 may transmit an access request signal req to the memory device 100.
  • the access request signal req may be a 1-bit signal or a 2-bit signal, but is not limited thereto.
  • the access request signal req of the master device 200 may include a partial access request signal.
  • the master device 200 may transmit the partial access request signal together with or separately from the access request signal req.
  • the memory device 100 may transmit a response signal to the access request signal req.
  • the memory device 100 may transmit a “grant” signal indicating an access grant to the first master device 215 when all of at least one bank requested by the first master device 215 has been granted access. have.
  • the memory device 100 transmits a “grant” signal indicating an access grant to the first master device 215 when some banks of at least one bank requested by the first master device 215 have been granted access. It may be, but is not limited thereto.
  • the memory device 100 may transmit validity information to the first master device 215.
  • the memory device 100 transmits, to the master device 200, “data_valid”, which is information on an access approved bank and an access denied bank, from among at least one bank requested by the master device 200. Can be.
  • the "data_valid" signal may be configured as a second to eighth bit, but is not limited thereto.
  • the number of bits of the validity information signal data_valid indicating the validity information may be equal to the number of at least one bank for which access is requested or less than the number of at least one bank for which access is requested. For example, when the memory device 100 receives an access request for the first and second banks from the master device 200, the validity information signal data_valid is 2 indicating whether to approve access to the first and second banks, respectively. It may be a bit signal. In addition, the validity information signal data_valid may be a 1-bit signal indicating whether the first and second banks are accessible.
  • the number of bits of the validity information signal data_valid indicating the validity information may be greater than the number of at least one bank for which access is requested.
  • the validity information signal data_valid may be a 2-bit signal. In this case, each of the two bits may represent the same information.
  • the memory device 100 may maintain compatibility by using two bits representing the same information.
  • FIG. 13 is a block diagram illustrating an operation of the master device 200 according to an embodiment of the present invention.
  • the master device 200 may include a buffer 1310.
  • the master device 200 may include one buffer 1310 and may include a plurality of buffers 1310, but is not limited thereto.
  • the master device 200 may store data necessary to provide a predetermined function in the buffer 1310.
  • the master device 200 may include a prefetch unit 1320.
  • the master device 200 may exchange data with a device external to the master device 200 by using the prefetch unit 1320.
  • the master device 200 may transmit data to the memory using the prefetch unit 1320, and receive data from the memory.
  • the prefetch unit 1320 of the master device 200 may request the memory device 100 to access at least one bank from among a plurality of banks included in the memory device 100. have.
  • the prefetch unit 1320 of the master device 200 may transmit the partial access request to the memory device 100 together with or separately from the access request.
  • the prefetch unit 1320 of the master device 200 may request the memory device 100 to access first, second, and third banks of a plurality of banks included in the memory device 100.
  • the prefetch unit 1320 of the master device 200 grants the memory device 100 an approval for the accessible bank when some banks of the first, second, and third banks are accessible with the access request.
  • a partial access request may be sent, requesting and requesting validity information that is information about accessible banks and non-accessible banks.
  • the prefetch unit 1320 of the master device 200 may receive validity information.
  • the prefetch unit 1320 of the master device 200 may obtain information about a bank that is authorized to access and a bank that is not authorized to access from the validity information.
  • the prefetch unit 1320 of the master device 200 may transmit data for a bank to which access is granted and request processing of the data.
  • the prefetch unit 1320 of the master device 200 may transmit data to the access authorized bank and request processing of the data based on the validity information.
  • the prefetch unit 1320 of the master device 200 may receive the processed data from the bank approved for access, and store the processed data in the buffer 1310 of the master device 200.
  • the prefetch unit 1320 of the master device 200 may retransmit an access request for a bank denied access.
  • the prefetch unit 1320 of the master device 200 may retransmit an access request for a bank for which access is denied, except for an access approved bank among at least one bank for which access is requested.
  • the prefetch unit 1320 of the master device 200 may stop retransmission of the access request when access to the bank in which access is denied is granted.
  • the prefetch unit 1320 of the master device 200 when the retransmitted access request for the bank is denied access is approved, the access to the bank is granted by the retransmitted access request Send data and request processing of the data.
  • the prefetch unit 1320 of the master device 200 may receive the processed data and store it in the buffer 1310 of the master device 200.
  • Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media.
  • Computer readable media may include both computer storage media and communication media.
  • Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.
  • Communication media typically includes computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transmission mechanism, and includes any information delivery media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)
  • Memory System (AREA)

Abstract

메모리 접근 제어 방법 및 장치가 제공 된다. 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법에 있어서, 상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 수신하는 단계, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계, 및 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하고, 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 단계를 포함하는 접근 제어 방법이 제공된다,

Description

메모리 접근 제어 방법 및 장치
데이터 전송과 관련하여 메모리에 접근하는 동작을 제어하는 방법 및 장치가 개시된다.
다수개의 뱅크로 메모리를 구성하여 복수의 마스터 디바이스에 대해 동시 데이터 전송을 허용하는 뱅크드 멀티 포트 메모리의 사용이 증대되고 있다. 뱅크드 멀티 포트 메모리는 다수의 마스터 디바이스에 대한 동시 접근을 허용하여, 싱글 포트 메모리보다 데이터의 처리 속도를 증가시킬 수 있다.
다만, 복수의 마스터 디바이스가 메모리에 포함된 동일한 뱅크에 대해 접근을 요청하는 경우, 뱅크 컨플릭트(conflict)가 발생할 수 있고, 뱅크 컨플릭트(confclit)는 뱅크드 멀티 포트 메모리의 성능을 저하시킬 수 있다.
이에 따라, 뱅크드 멀티 포트 메모리에서 복수의 마스터 디바이스의 접근을 적절히 제어하여, 뱅크드 멀티 포트 메모리의 성능을 개선시키기 위한 연구가 활발히 진행되고 있다.
메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법이 개시된다.
뱅크에 대한 접근과 관련하여 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법 및 장치를 개시한다.
메모리 디바이스에서 마스터 디바이스의 접근을 제어함에 있어서 효율적인 동작 수행이 가능하다.
도 1은 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 개략도이다.
도 2는 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른, 메모리 디바이스를 설명하기 위한 블록도이다.
도 4는 본 발명의 일 실시예에 따른, 메모리 디바이스(100)가 마스터 디바이스(200)의 접근을 승인하는 방법을 설명하기 위한 흐름도이다.
도 5 는 본 발명의 일 실시예에 따라, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)가 접근을 승인하는 방법을 설명하기 위한 도면이다.
도 6 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 흐름도이다.
도 7 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 도면이다.
도 8 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 프로세싱된 데이터를 수신하는 방법을 설명하기 위한 도면이다.
도 9 는 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 접근의 승인이 거부된 뱅크에 대해 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
도 10 은 본 발명의 일 실시예에 따른, 변환 유닛(300)을 설명하기 위한 도면이다.
도 11 은 본 발명의 일 실시예에 따른, 변환 유닛(300)이 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
도 12 는 본 발명의 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 요청 신호를 전송하는 방법을 설명하기 위한 도면이다.
도 13 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)의 동작을 설명하기 위한 블록도이다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 1 측면은, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법에 있어서, 상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 수신하는 단계, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계, 및 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하고, 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 단계를 포함하는 접근 제어 방법을 제공할 수 있다.
또한, 상기 결정하는 단계는, 다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하는 단계, 상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선순위를 판단하는 단계, 및 상기 우선순위에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계를 포함할 수 있다.
또한, 상기 우선 순위는, 상기 마스터 디바이스로부터 수신한 긴급 지수(Urgency level)에 의해 결정될 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 마스터 디바이스는, 상기 접근 요청된 적어도 하나의 뱅크중 적어도 하나의 뱅크에 대해 접근 가능할 수 있다.
또한, 상기 접근 제어 방법은, 상기 결정하는 단계의 결과, 상기 마스터 디바이스의 접근을 승인한 뱅크에 대해서, 상기 마스터 디바이스가 요청한 데이터 처리를 수행하는 단계를 더 포함할 수 있다.
또한, 상기 접근 제어 방법은, 상기 유효성 정보에 기초하여 접근을 승인 받지 못한 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신하는 단계를 더 포함할 수 있다.
또한, 제 2 측면은 마스터 디바이스에서 메모리 디바이스에 접근하는 방법에 있어서, 상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 메모리 디바이스에 전송하는 단계, 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 단계를 포함하는 접근 방법을 제공할 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 접근 방법은, 상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인된 적어도 하나의 뱅크에서 처리된 데이터를 요청하는 단계를 더 포함할 수 있다.
또한, 상기 접근 방법은, 상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인되지 않은 적어도 하나의 뱅크에 대해 접근 요청을 재전송 하는 단계를 포함할 수 있다.
또한, 제 3 측면은 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 마스터 디바이스로부터 수신하는 접근 요청 수신부, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하고, 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하는 중재부, 및 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 요청 결과 전송부를 포함하는 메모리 디바이스를 제공할 수 있다.
또한, 상기 중재부는, 다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하고, 상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선순위를 판단하고, 상기 우선순위에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정할 수 있다.
또한, 상기 우선 순위는, 상기 마스터 디바이스로부터 수신한 긴급 지수(Urgency level)에 의해 결정될 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 마스터 디바이스는, 상기 접근 요청된 적어도 하나의 뱅크중 적어도 하나의 뱅크에 대해 접근 가능할 수 있다.
또한, 상기 메모리 디바이스는, 상기 중재부의 결정 결과, 상기 마스터 디바이스의 접근을 승인한 뱅크에 대해서 상기 마스터 디바이스가 요청한 데이터의 프로세싱을 수행할 수 있다.
또한, 상기 접근 요청 수신부는, 상기 유효성 정보에 기초하여 접근을 승인 받지 못한 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신할 수 있다.
또한, 제 4 측면은, 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 메모리 디바이스에 전송하고, 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 프리패치 유닛을 포함하는 마스터 디바이스를 제공할 수 있다.
또한, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호일 수 있다.
또한, 상기 프리 패치 유닛은, 상기 수신한 유효성 정보에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크중 접근이 승인된 적어도 하나의 뱅크에게, 프로세싱된 데이터를 요청할 수 있다..
또한, 상기 프리패치 유닛은, 상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인되지 않은 적어도 하나의 뱅크에 대해 접근 요청을 재전송 할 수 있다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 개시를 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 개략도이다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)와 연결될 수 있다. 메모리 디바이스(100)와 복수의 마스터 디바이스(200)는 하나의 프로세서로 구현될 수 있고, 복수의 프로세서에 의해 구현될 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 뱅크를 포함할 수 있다. 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 적어도 하나의 뱅크에 대한 접근 요청을 각각 수신할 수 있다.
본 발명의 일 실시예에 따르면, 복수의 마스터 디바이스(200)가 각각 전송한 적어도 하나의 뱅크에 대한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생할 수 있다. 예를 들어, 제 1 마스터 디바이스(215)가 접근 요청한 뱅크와 제2 마스터 디바이스(225)가 접근 요청한 뱅크 사이에 동일한 뱅크가 존재하는 경우, 뱅크 컨플릭트(conflict)가 발생할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 높은 접근 요청에 대해 접근의 승인을 결정할 수 있다. 또한, 메모리 디바이스(100)는 우선순위가 낮은 접근 요청에 대해 부분 접근 요청이 존재하는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 우선순위가 낮은 접근 요청에 대해, 부분 접근 요청이 존재하는 경우 접근 요청된 복수의 뱅크 각각에 대해 접근 승인 여부를 결정할 수 있다. 또한, 메모리 디바이스(100)는 접근 승인된 뱅크 및 접근 거부된 뱅크에 대한 유효성 정보를 생성하여, 마스터 디바이스(200)에게 전송할 수 있다.
도 2는 본 발명의 일 실시예에 따라, 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법을 설명하기 위한 흐름도이다.
단계 S210에서, 메모리 디바이스(100)는 메모리 디바이스(100)에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 마스터 디바이스(200)로부터 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 뱅크를 포함할 수 있다. 뱅크는 메모리 디바이스(100)를 구성하는 데이터 처리 영역의 단위로서, 메모리 디바이스(100)는 적어도 하나의 뱅크를 이용하여 데이터를 프로세싱할 수 있다. 예를 들어, 메모리 디바이스(100)는 하나의 뱅크를 이용하여 데이터를 프로세싱할 수 있고, 두개의 뱅크를 이용하여 데이터를 프로세싱할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로 부터 접근 요청을 수신할 수 있다. 마스터 디바이스(200)는 메모리 디바이스(100)와 연결되어, 메모리 디바이스(100)에 데이터를 전송할 수 있고, 메모리 디바이스(100)로부터 데이터를 수신할 수 있는 디바이스를 의미한다. 예를 들어, 마스터 디바이스(200)는 프로세서 코어(Processor core), 다이렉트 모드 액세스 제어기, 또는 하드웨어 가속기(H/W accelerator)등을 포함할 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 데이터를 프로세싱하기 위해 메모리 디바이스(100)에 포함된 복수의 뱅크에 대해 접근을 요청할 수 있다. 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크를 지정하여 접근을 요청할 수 있다. 예를 들어, 메모리 디바이스(100)가 제 1 뱅크, 제2 뱅크, 제 3 뱅크, … , 제 N뱅크를 포함하고 있는 경우, 마스터 디바이스(200)는 제 1 뱅크, 제 2 뱅크, 및 제 3 뱅크에 대해 접근을 요청할 수 있다. 또한, 제 2 뱅크 및 제 3 뱅크에 대해 접근을 요청할 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 부분 접근 요청을 수신할 수 있다. 부분 접근 요청이란, 접근 요청된 복수의 뱅크중에서 적어도 하나의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대해 승인을 요청하고, 접근 승인된 뱅크 및 접근 거부된 뱅크에 대한 정보를 요청하는 것을 의미한다.
메모리 디바이스(100)는 접근 요청과 함께, 또는 접근 요청과 별도로 부분 접근 요청을 수신할 수 있다. 또한, 메모리 디바이스(100)는 접근 요청 신호를 수신한 경우, 부분 접근 요청 신호도 수신한 것으로 결정할 수 있으며, 이에 한정되지 않고 다양한 형태로 부분 접근 요청을 수신할 수 있다.
단계 S220에서, 메모리 디바이스(100)는 마스터 디바이스(200)에 의해 접근 요청된 적어도 하나의 뱅크 각각에 대하여 접근 승인 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 기초하여, 마스터 디바이스(200)의 접근을 승인할 수 있다. 예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 적어도 하나의 뱅크에 대해 접근을 요청한 경우, 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하지 않은 때, 마스터 디바이스(200)의 접근을 승인할 수 있다. 뱅크 컨플릭트(conflict)는, 복수의 마스터 디바이스(200)가 적어도 하나의 동일한 뱅크에 대해 접근을 요청한 경우 발생하는 것으로서, 메모리의 성능 저하를 유발할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 접근 요청을 수신한 경우, 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크가 제 1 뱅크를 포함하고, 제 2 마스터 디바이스(225)가 접근 요청한 적어도 하나의 뱅크도 제 1 뱅크를 포함하는 경우, 뱅크 컨플릭트(conflict)가 발생할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)는 접근 요청들의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 기 설정된 우선 순위, 접근 요청한 마스터 디바이스(200)의 종류, 접근 요청의 긴급한 정도, 접근 요청한 마스터 디바이스(200)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 긴급 지수(Urgency level)에 기초하여 접근 요청들의 우선순위를 결정할 수 있다. 마스터 디바이스(200)는 마스터 디바이스(200)내에 포함된 버퍼의 데이터 보유 상황, 접근 요청된 뱅크에 의해 프로세싱된 데이터의 사용 시기, 또는 이들의 조합을 이용하여 긴급 지수(Urgency level)를 결정할 수 있으며, 이에 한정되지 않는다.
예를 들어, 마스터 디바이스(200)는 마스터 디바이스(200)가 프로세싱된 데이터를 사용할 시기가 임박한 경우, 접근 요청의 긴급 지수(urgency level)를 높게 결정될 수 있고, 메모리 디바이스(100)는 긴급 지수(urgency level)가 높은 접근 요청에 대해, 우선순위를 높게 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스의 접근 요청들 사이에서, 뱅크 컨플릭트(conflict)가 발생 한 경우, 우선 순위가 높은 접근 요청에 대해 접근을 승인할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과, 제 2 마스터 디바이스(225)의 접근 요청사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 2 마스터 디바이스(225)의 접근 요청보다 제 1 마스터 디바이스(215)로부터 수신한 접근 요청의 우선순위가 높은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 수신한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청에 대해, 부분 접근 요청을 수신하였는지 여부를 판단할 수있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 다른 마스터 디바이스의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 다른 마스터 디바이스의 접근 요청보다 우선순위가 낮은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 우선 순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신한 경우, 결정된 우선순위에 기초하여, 접근 요청된 복수의 뱅크 각각에 대해, 승인 여부를 결정할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생 하였고, 제 1 마스터 디바이스(215)의 접근 요청의 우선순위가 제 2 마스터 디바이스(225)의 접근 요청보다 낮으며, 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 복수의 뱅크 각각에 대해 승인 여부를 결정할 수 있다.
단계 S230에서, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성할 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1, 2, 3뱅크에 대한 접근 요청을 수신한 경우, 메모리 디바이스(100)는 제 1, 2, 3뱅크 각각에 대한 접근 승인 여부를 결정하고, 결정 결과에 기초한 유효성 정보를 생성할 수 있다.
예를 들어, 메모리 디바이스(100)는 접근이 승인된 뱅크에 대한 정보, 및 접근이 거부된 뱅크에 대한 정보를 포함하는 유효성 정보를 생성할 수 있다. 유효성 정보는 2 내지 8 비트의 신호로 구성될 수 있으며, 이에 한정되지 않는다.
유효성 정보를 나타내는 유효성 정보 신호의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수와 같거나, 접근 요청된 적어도 하나의 뱅크의 개수보다 적을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1, 2뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호는 제 1, 2뱅크 대한 접근 승인 여부를 각각 나타내는 2비트의 신호일 수 있다. 또한, 유효성 정보 신호는 제 1, 2뱅크 모두에 대해 접근이 가능한지 여부를 나타내는 1비트의 신호일 수 있다.
또한, 유효성 정보를 나타내는 유효성 정보 신호의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수보다 많을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1 뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호는 2 비트의 신호일 수 있다. 이 경우, 두개의 비트 각각은 동일한 정보를 나타낼 수 있다. 메모리 디바이스(100)는 동일한 정보를 나타내는 두개의 비트를 이용함으로써, 호환성을 유지할 수 있다.
단계 S240에서, 메모리 디바이스(100)는 접근 요청된 뱅크들에 대한 접근 승인 여부를 나타내는 유효성 정보를 마스터 디바이스에게 전송할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근이 승인된 뱅크에 대한 정보 및 접근이 거부된 뱅크에 대한 정보인 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 제 1, 2, 3뱅크중 제 1 뱅크에 대해 접근을 승인하고, 제 2 및 3 뱅크에 대해서 접근을 승인을 거부한 경우, 메모리 디바이스(100)는 접근 요청된 제 1 ,2 ,3 뱅크중 일부의 뱅크에 대해 접근이 승인되었음을 나타내는 “grant”신호를 마스터 디바이스(200)에 전송할 수 있다. 또한, 메모리 디바이스(100)는 제 1 뱅크는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크는 접근이 거부 되었음을 나타내는 유효성 정보를 마스터 디바이스(200)에게 전송할 수 있다.
도 3은 본 발명의 일 실시예에 따른, 메모리 디바이스를 설명하기 위한 블록도이다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 뱅크를 포함할 수 있다. 또한, 메모리 디바이스(100)는 중재부(320), 접근 요청 수신부(310), 및 요청 결과 전송부(330)를 포함할 수 있다. 메모리 디바이스(100)의 중재부(320), 접근 요청 수신부(310), 및 요청 결과 전송부(330)는 하나의 프로세서로 구현될 수 있다. 또한, 메모리 디바이스(100)의 중재부(320), 접근 요청 수신부(310), 및 요청 결과 전송부(330)는 각각 하나의 프로세서에 의해 구현될 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 접근 요청 수신부(310)는 마스터 디바이스(200)로부터 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 접근 요청 수신부(310)는 마스터 디바이스(200)로부터 부분 접근 요청을 수신할 수 있다.
메모리 디바이스(100)의 접근 요청 수신부(310)는 접근 요청과 함께, 또는 접근 요청과 별도로 부분 접근 요청을 수신할 수 있다. 또한, 메모리 디바이스(100)의 접근 요청 수신부(310)는 접근 요청 신호를 수신한 경우, 부분 접근 요청 신호도 수신한 것으로 결정할 수 있으며, 이에 한정되지 않고 다양한 형태로 부분 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 마스터 디바이스(200)의 접근 요청에 기초하여, 마스터 디바이스(200)의 접근을 승인할 수 있다. 예를 들어, 메모리 디바이스(100)의 중재부(320)는 마스터 디바이스(200)가 적어도 하나의 뱅크에 대해 접근을 요청한 경우, 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하지 않은 때, 마스터 디바이스(200)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 마스터 디바이스(200)로부터 접근 요청을 수신한 경우, 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크가 제 1 뱅크를 포함하고, 제 2 마스터 디바이스(225)가 접근 요청한 적어도 하나의 뱅크도 제 1 뱅크를 포함하는 경우, 메모리 디바이스(100)의 중재부(320)는 뱅크 컨플릭트(conflict)가 발생하였다고 판단할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)의 중재부(320)는 접근 요청들의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)의 중재부(320)는 기 설정된 우선 순위, 접근 요청한 마스터 디바이스(200)의 종류, 접근 요청의 긴급한 정도, 접근 요청한 마스터 디바이스(200)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)의 중재부(320)는 긴급 지수(Urgency level)에 기초하여 접근 요청들의 우선순위를 결정할 수 있다.
예를 들어, 마스터 디바이스(200)가 프로세싱된 데이터를 사용할 시기가 임박한 경우, 접근 요청의 긴급 지수(urgency level)는 높게 결정될 수 있고, 메모리 디바이스(100)의 중재부(320)는 긴급 지수(urgency level)가 높은 접근 요청에 대해, 우선순위를 높게 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 복수의 마스터 디바이스의 접근 요청들 사이에서, 뱅크 컨플릭트(conflict)가 발생 한 경우, 우선 순위가 높은 접근 요청에 대해 접근을 승인할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과, 제 2 마스터 디바이스(225)의 접근 요청사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 2 마스터 디바이스(225)의 접근 요청보다 제 1 마스터 디바이스(215)로부터 수신한 접근 요청의 우선순위가 높은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 복수의 마스터 디바이스(200)로부터 수신한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청에 대해, 부분 접근 요청을 수신하였는지 여부를 판단할 수있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 다른 마스터 디바이스의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 다른 마스터 디바이스의 접근 요청보다 우선순위가 낮은 경우, 메모리 디바이스(100)의 중재부(320)는 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 우선 순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신한 경우, 결정된 우선순위에 기초하여, 접근 요청된 적어도 하나의 뱅크 각각에 대해, 승인 여부를 결정할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생 하였고, 제 1 마스터 디바이스(215)의 접근 요청의 우선순위가 제 2 마스터 디바이스(225)의 접근 요청보다 낮으며, 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)의 중재부(320)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크 각각에 대해 승인 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 중재부(320)는 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성할 수 있다. 예를 들어, 메모리 디바이스(100)의 접근 요청 수신부(310)가 마스터 디바이스(200)로부터 제 1, 2, 3뱅크에 대한 접근 요청을 수신한 경우, 메모리 디바이스(100)의 중재부(320)는 제 1, 2, 3뱅크 각각에 대한 접근 승인 여부를 결정하고, 결정 결과에 기초한 유효성 정보를 생성할 수 있다.
예를 들어, 메모리 디바이스(100)는 접근이 승인된 뱅크에 대한 정보, 및 접근이 거부된 뱅크에 대한 정보를 포함하는 유효성 정보를 생성할 수 있다. 유효성 정보는 2 내지 8 비트의 신호로 구성될 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)의 요청 결과 전송부(330)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는, 접근이 승인된 뱅크 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)의 중재부(320)가 접근 요청된 제 1, 2, 3뱅크중 제 1 뱅크에 대해 접근을 승인하고, 제 2 및 3 뱅크에 대해서 접근을 승인하지 않은 경우, 메모리 디바이스(100)의 요청 결과 전송부(330)는 접근이 승인되었음을 나타내는 “grant”신호를 마스터 디바이스(200)에 전송할 수 있다. 또한, 메모리 디바이스(100)의 요청 결과 전송부(330)는 제 1 뱅크는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크는 접근이 거부 되었음을 나타내는 유효성 정보를 마스터 디바이스(200)에게 전송할 수 있다.
도 4는 본 발명의 일 실시예에 따른, 메모리 디바이스(100)가 마스터 디바이스(200)의 접근을 승인하는 방법을 설명하기 위한 흐름도이다.
단계 S410에서, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수개의 마스터 디바이스(200)와 연결될 수 있다. 또한, 메모리 디바이스(100)는 복수개의 마스터 디바이스(200)로부터, 메모리 디바이스(100)에 포함된 복수개의 뱅크중 적어도 하나의 뱅크에 대한 접근 요청을 수신할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 데이터를 프로세싱하기 위해 메모리 디바이스(100)에 포함된 복수의 뱅크에 대해 접근을 요청할 수 있다. 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크를 지정하여 접근을 요청할 수 있다. 예를 들어, 메모리 디바이스(100)가 제 1 뱅크, 제2 뱅크, 제 3 뱅크, … , 제 N뱅크를 포함하고 있는 경우, 마스터 디바이스(200)는 제 1 뱅크, 제 2 뱅크, 및 제 3 뱅크에 대해 접근을 요청할 수 있다. 또한, 제 2 뱅크 및 제 3 뱅크에 대해 접근을 요청할 수 있으며, 이에 한정되지 않는다.
단계 S415에서, 메모리 디바이스(100)는 접근 요청들 사이에서 뱅크 컨플릭트(Conflict)발생 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 수신한 접근 요청과, 제 2 마스터 디바이스(225)로부터 수신한 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다. 뱅크 컨플릭트(conflict)는, 복수의 마스터 디바이스(200)가 적어도 하나의 동일한 뱅크에 대해 접근을 요청한 경우 발생하는 것으로서, 메모리의 성능 저하를 유발할 수 있다.
예를 들어, 메모리 디바이스(100)는, 제 1 마스터 디바이스(215)가 접근 요청한 뱅크에 제 1 뱅크가 포함되고, 제 2 마스터 디바이스(225)가 접근 요청한 뱅크에도 제 1 뱅크가 포함되는 경우, 뱅크 컨플릭트(conflict)가 발생하였다고 판단할 수 있다.
단계 S420에서, 메모리 디바이스(100)는 우선 순위가 높은 접근 요청을 판단할 수 있다.
본 발명의 일 실시예에 따르면, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)는 접근 요청들의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 기 설정된 우선 순위, 접근 요청한 마스터 디바이스(200)의 종류, 접근 요청의 긴급한 정도, 접근 요청한 마스터 디바이스(200)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
단계 S425에서, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 기초하여, 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 기초하여, 마스터 디바이스(200)의 접근을 승인할 수 있다. 예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 적어도 하나의 뱅크에 대해 접근을 요청한 경우, 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하지 않은 때, 마스터 디바이스(200)의 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스의 접근 요청들 사이에서, 뱅크 컨플릭트(conflict)가 발생 한 경우, 우선 순위가 높은 접근 요청에 대해 접근을 승인할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과, 제 2 마스터 디바이스(225)의 접근 요청사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 우선하는 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)의 접근을 승인할 수 있다.
단계 S430에서, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터, 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 수신한 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)의 접근 요청과 다른 마스터 디바이스의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 1 마스터 디바이스(215)의 접근 요청이 다른 마스터 디바이스의 접근 요청보다 우선순위가 낮은 경우, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 부분 접근 요청 신호를 수신하였는지 여부를 판단할 수 있다.
메모리 디바이스(100)는 접근 요청과 함께, 또는 접근 요청과 별도로 부분 접근 요청을 수신할 수 있다. 또한, 메모리 디바이스(100)는 접근 요청 신호를 수신한 경우, 부분 접근 요청 신호도 수신한 것으로 결정할 수 있으며, 이에 한정되지 않고 다양한 형태로 부분 접근 요청을 수신할 수 있다.
단계 S435에서, 메모리 디바이스(100)는, 우선순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크 각각에 대해 뱅크 컨플릭트(conflict)가 발생하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대하여 뱅크 컨플릭트(conflict)가 발생 하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 제 1, 2, 3뱅크에 대한 접근 요청을 수신한 경우, 제 1, 2, 3뱅크 각각에 대해, 다른 접근 요청과 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
단계 S440에서, 메모리 디바이스(100)는, 접근 요청된 적어도 하나의 뱅크중에서 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크중에서 접근 가능한 적어도 하나의의 뱅크에 대하여 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생한 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해, 접근을 승인할 수 있다.
단계 S445에서, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 대해 접근의 승인을 거부할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선 순위가 낮은 접근 요청에 대해 부분 접근 요청을 수신하지 못한 경우, 접근의 승인을 거부할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)와 제 2 마스터 디바이스(225)의 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하였고, 제 2 마스터 디바이스(225)의 접근 요청 보다 우선순위가 낮은 제 1 마스터 디바이스(215)의 접근 요청에 대해 부분 접근 요청을 수신하지 못한 경우, 제 1 마스터 디바이스(215)의 접근 요청에 대한 승인을 거부할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생하였고, 우선 순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신한 경우, 우선 순위가 낮은 접근 요청에 대해 부분적으로 접근을 거부할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생한 뱅크에 대해, 접근의 승인을 거부할 수 있다.
도 5 는 본 발명의 일 실시예에 따라, 뱅크 컨플릭트(conflict)가 발생한 경우, 메모리 디바이스(100)가 접근을 승인하는 방법을 설명하기 위한 도면이다.
도 5를 참조할 때, 제 1 마스터 디바이스(215)와 제 2 마스터 디바이스(225)는 동시에 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크에 대해 접근을 요청할 수 있다. 예를 들어, 제 2 마스터 디바이스(225)는 제 2 뱅크에 대해 접근을 요청할 수 있고, 제 1 마스터 디바이스(215)는 제 2, 3, 4, 5 뱅크에 대해 접근을 요청할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 복수의 마스터 디바이스(200)로부터 접근 요청을 수신한 경우, 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)로부터 제 2, 3, 4, 5 뱅크에 대한 접근 요청을 수신하고, 제 2 마스터 디바이스(225)로부터 제 2 뱅크에 대한 접근 요청을 수신한 경우, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)가 발생하였다고 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 뱅크 컨플릭트(conbflict)가 발생한 경우, 접근 요청의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이의 우선순위를 결정할 수 있다.
메모리 디바이스(100)는 기 설정된 우선 순위, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)의 종류, 접근 요청의 긴급한 정도, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 결정된 우선순위에 기초하여 마스터 디바이스(200)의 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 높은 제 2 마스터 디바이스(225)의 접근 요청에 대해 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 낮은 접근 요청을 전송한 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)가 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대하여 뱅크 컨플릭트(conflict)가 발생 하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 2 마스터 디바이스(225)의 접근 요청보다 우선순위가 낮은 접근 요청을 전송한 제1 마스터 디바이스(215)로 부터 부분 접근 요청을 수신한 경우, 제 1 마스터 디바이스(215)가 접근 요청한 제 2, 3, 4, 5뱅크 각각에 대해 뱅크 컨플릭트(conflict)가 발생하였는지 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크중에서 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생한 제 2 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생하지 않은 제 3, 4, 5뱅크에 대해, 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근이 승인된 뱅크 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 제 1, 2, 3뱅크중 제 1 뱅크에 대해 접근을 승인하고, 제 2 및 3 뱅크에 대해서 접근을 승인을 거부한 경우, 메모리 디바이스(100)는 접근이 승인되었음을 나타내는 “grant”신호를 마스터 디바이스(200)에 전송할 수 있다. 또한, 메모리 디바이스(100)는 제 1 뱅크는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크는 접근이 거부 되었음을 나타내는 유효성 정보를 마스터 디바이스(200)에게 전송할 수 있다.
도 6 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 흐름도이다.
단계 s610에서, 마스터 디바이스(200)는 메모리 디바이스(100)에게 메모리 디바이스(100)에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근을 요청할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 복수의 뱅크중에서 적어도 하나의 뱅크에 대한 접근을 메모리 디바이스(100)에게 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 또는 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
예를 들어, 마스터 디바이스(200)는 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 1, 2, 3뱅크에 대한 접근을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 메모리 디바이스(100)에게 제 1 ,2 ,3 뱅크중 일부의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대한 승인을 요청하고, 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 요청하는, 부분 접근 요청을 전송할 수 있다.
단계 s620에서, 마스터 디바이스(200)는 메모리 디바이스(100)로부터 접근 요청한 적어도 하나의 뱅크중 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 유효성 정보를 수신할 수 있다. 또한, 마스터 디바이스(200)는 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효성 정보에 기초하여, 접근 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근이 승인된 뱅크로부터 프로세싱된 데이터를 수신하여, 저장할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)는 접근 요청된 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대해 재전송된 접근 요청이 승인되는 경우, 재전송된 접근 요청에 의해 접근이 승인된 뱅크에 대해 데이터를 전송하고 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 프로세싱된 데이터를 수신하여, 저장할 수 있다.
도 7 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 하는 방법을 설명하기 위한 도면이다.
단계 S710에서, 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 복수의 뱅크중에서 적어도 하나의 뱅크에 대한 접근을 메모리 디바이스(100)에게 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 또는 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
예를 들어, 마스터 디바이스(200)는 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 1, 2, 3뱅크에 대한 접근을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청과 함께, 메모리 디바이스(100)에게 제 1 ,2 ,3 뱅크중 일부의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대한 승인을 요청하고, 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 요청하는, 부분 접근 요청을 전송할 수 있다.
단계 S715에서, 마스터 디바이스(200)는 접근 승인 정보를 수신할 수 있다. 예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 마스터 디바이스(200)는 접근 승인을 나타내는 “grant”신호를 메모리 디바이스(100)로부터 수신할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 마스터 디바이스(200)는 접근 승인을 나타내는 “grant”신호를 메모리 디바이스(100)로부터 수신할 수 있다.
마스터 디바이스(200)가 접근 승인 정보를 수신한 경우, 단계 S720에서, 마스터 디바이스(200)는 접근 승인 정보와 함께, 또는 별도로 수신한 유효성 정보를 확인할 수 있다. 마스터 디바이스(200)는 유효성 정보로부터 접근 승인된 뱅크 및 접근이 거부된 뱅크에 대한 정보를 획득할 수 있다.
단계 S725에서, 마스터 디바이스(200)는 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효성 정보에 기초하여, 접근 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 접근이 승인된 뱅크로부터 프로세싱된 데이터를 수신하여, 저장할 수 있다.
단계 S730에서, 마스터 디바이스(200)는 접근 승인된 뱅크에 대해 유효 부분 맵을 작성할 수 있다. 예를 들어, 마스터 디바이스(200)가 접근 요청한 제 1, 2, 3뱅크중 제 1 뱅크에 대해서만 접근이 승인된 경우, 마스터 디바이스(200)는 제 1 뱅크에 대해서는 접근이 승인 되었고, 제 2 뱅크 및 제 3 뱅크에 대해서는 접근이 승인되지 않았음을 나타내는 유효 부분 맵을 생성할 수 있다.
단계 S735에서, 마스터 디바이스(200)는 접근 요청한 적어도 하나의 뱅크 전부에 대해, 접근이 승인되었는지 여부를 판단할 수 있다. 예를 들어, 마스터 디바이스(200)는 생성된 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효 부분 맵에 기초하여, 접근 요청된 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대해 재전송된 접근 요청이 승인되는 경우, 접근 요청이 승인된 뱅크에 데이터를 전송하며 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 프로세싱된 데이터를 수신하여, 저장할 수 있다.
도 8 은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 프로세싱된 데이터를 수신하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 복수개의 마스터 디바이스(200)는 메모리 디바이스(100)와 연결될 수 있다. 또한, 복수개의 마스터 디바이스(200)는 메모리 디바이스(100)에 포함된 복수개의 뱅크중 적어도 하나의 뱅크에 대해 접근 요청을 각각 전송할 수 있다.
도 8을 참조할 때, 제 1 마스터 디바이스(215)와 제 2 마스터 디바이스(225)는 동시에 메모리 디바이스(100)에 포함된 적어도 하나의 뱅크에 대해 접근을 요청할 수 있다. 예를 들어, 제 2 마스터 디바이스(225)는 제 2 뱅크에 대해 접근을 요청할 수 있고, 제 1 마스터 디바이스(215)는 제 2, 3, 4, 5 뱅크에 대해 접근을 요청할 수 있다.
또한, 마스터 디바이스(200)는 접근 요청과 함께, 또는 별도로 부분 접근 요청을 메모리 디바이스(100)에게 전송할 수 있다.
예를 들어, 제 1 마스터 디바이스(215)는 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 2, 3, 4, 5뱅크에 대한 접근을 요청하고, 접근 요청과 함께, 또는 접근 요청과 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
제 2 마스터 디바이스(225)의 부분 접근 요청은 제 2 ,3 ,4 ,5 뱅크중 일부의 뱅크만 접근이 가능한 경우, 일부의 뱅크에 대해 접근 승인을 요청하고, 접근이 승인된 뱅크 및 접근의 승인이 거부된 뱅크에 대한 정보를 요청하는 것을 의미한다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 뱅크 컨플릭트(conbflict)가 발생한 경우, 접근 요청의 우선순위를 결정할 수 있다. 예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 제 1 마스터 디바이스(215)의 접근 요청과 제 2 마스터 디바이스(225)의 접근 요청 사이의 우선순위를 결정할 수 있다.
메모리 디바이스(100)는 기 설정된 우선 순위, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)의 종류, 접근 요청의 긴급한 정도, 제 1 마스터 디바이스(215) 및 제 2 마스터 디바이스(225)내의 버퍼에 저장된 데이터의 양, 또는 이들의 조합에 기초하여, 접근 요청들의 우선순위를 결정할 수 있으며, 이에 한정되지 않고 다양한 방법으로 접근 요청들의 우선순위를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 결정된 우선순위에 기초하여 마스터 디바이스(200)의 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 높은 제 2 마스터 디바이스(225)의 접근 요청에 대해 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)의 접근 요청에 의해 뱅크 컨플릭트(conflict)가 발생한 경우, 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 뱅크 컨플릭트(conflict)를 발생시킨 접근 요청들 중에서, 우선순위가 낮은 접근 요청을 전송한 제 1 마스터 디바이스(215)로부터 부분 접근 요청을 수신하였는지 여부를 판단할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)가 우선순위가 낮은 접근 요청을 전송한 마스터 디바이스(200)로부터 부분 접근 요청을 수신한 경우, 메모리 디바이스(100)는 접근 요청된 적어도 하나의 뱅크 각각에 대하여 뱅크 컨플릭트(conflict)가 발생 하였는지 여부를 판단할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 2 마스터 디바이스(225)의 접근 요청보다 우선순위가 낮은 접근 요청을 전송한 제1 마스터 디바이스(215)로 부터 부분 접근 요청을 수신한 경우, 제 1 마스터 디바이스(215)가 접근 요청한 제 2, 3, 4, 5뱅크 각각에 대해 뱅크 컨플릭트(conflict)가 발생하였는지 여부를 결정할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 부분 접근 요청을 수신한 경우, 접근 요청된 적어도 하나의 뱅크중에서 뱅크 컨플릭트(conflict)가 발생하지 않은 뱅크에 대해 접근을 승인할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크에 대해 뱅크 컨플릭트(conflict)가 발생한 제 2 뱅크를 제외하고, 뱅크 컨플릭트(conflict)가 발생하지 않은 제 3, 4, 5뱅크에 대해, 접근을 승인할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 마스터 디바이스(200)로부터 수신한 접근 요청에 대한 응답 신호를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)가 접근 요청된 뱅크에 대해 접근을 승인한 경우, 메모리 디바이스(100)는 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근 승인을 나타내는 “grant”신호를 마스터 디바이스(200)에게 전송할 수 있다.
또한, 메모리 디바이스(100)가 접근 요청된 복수의 뱅크중에서 일부의 뱅크에 대해 접근을 승인한 경우, 접근이 승인된 뱅크 정보 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 전송할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)가 접근 승인 정보를 수신한 경우, 마스터 디바이스(200)는 접근 승인 정보와 함께, 또는 별도로 수신한 유효성 정보를 확인할 수 있다. 마스터 디바이스(200)는 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근 승인된 뱅크에 대해 유효 부분 맵을 생성할 수 있다. 예를 들어,도 8을 참조할때, 마스터 디바이스(200)가 접근 요청한 제 2, 3, 4, 5뱅크중 제 3, 4, 5 뱅크에 대해서는 접근이 승인 되었고, 제 2 뱅크에 대해서는 접근이 승인되지 않았음을 나타내는 유효 부분 맵을 생성할 수 있다. 유효 부분 맵에서, “1”은 접근 승인된 뱅크에 매칭되고, “0”은 접근 거부된 뱅크에 매칭될 수 있다.
또한, 마스터 디바이스(200)는 유효 부분 맵을 참고하여, 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다.
또한, 마스터 디바이스(200)는 접근 승인된 뱅크로부터 프로세싱된 데이터를 수신할 수 있다.
도 9 는 본 발명의 일 실시예에 따른, 마스터 디바이스(200)가 접근의 승인이 거부된 뱅크에 대해 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근 요청한 적어도 하나의 뱅크 전부에 대해, 접근이 승인되었는지 여부를 판단할 수 있다. 예를 들어, 마스터 디바이스(200)는 생성된 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었는지 여부를 판단할 수 있다.
예를 들어, 도 9 에서, 유효 부분 맵의 “1”은 접근이 승인된 뱅크와 매칭되고, 유호 부분 맵의 “0”은 접근이 거부된 뱅크와 매칭될 수 잇다. 마스터 디바이스(200)는 유효 부분 맵을 이용하여 접근 요청한 제 2, 3, 4, 5뱅크 모두에 대해 접근이 승인되지 않았음을 판단할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)는 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다.
예를 들어, 마스터 디바이스(200)는 유효 부분 맵의 “0”과 매칭되는 뱅크에 대한 접근 요청을 재전송 할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 유효 부분 맵을 수정할 수 있다. 예를 들어, 유효 부분 맵의 “0”에 매칭된 뱅크에 대한 접근이 승인되는 경우, 유효 부분의 “0”부분을 “1”로 수정할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근 요청의 재전송에 의해, 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송에 의해 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)는 프로세싱된 데이터를 접근 요청의 재전송에 의해 접근 승인된 뱅크로부터 수신할 수 있고, 수신한 데이터를 저장할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
예를 들어, 마스터 디바이스(200)는 유효 부분 맵에 “0”이 존재하지 않는 경우, 접근 요청의 재전송을 중지할 수 있다.
도 10은 본 발명의 일 실시예에 따른, 변환 유닛(300)을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 제 1 마스터 디바이스(2100)와 메모리 디바이스(100) 사이에 연결될 수 있다. 변환 유닛(300)은 제 1 마스터 디바이스(2100) 및 메모리 디바이스(100)와 별도의 프로세서에 의해 구현될 수 있고, 제 1 마스터 디바이스(2100) 또는 메모리 디바이스(100)와 동일한 프로세서에 의해 구현될 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 제 1 마스터 디바이스(2100)에 결합되어, 제 1 마스터 디바이스(2100)의 메모리 디바이스(100)에 대한 접근 요청을 수신할 수 있다. 또한, 변환 유닛(300)은 제 1 마스터 디바이스(2100)의 접근 요청을 변환할 수 있다.
예를 들어, 변환 유닛(300)은 제 1 마스터 디바이스(2100)의 메모리 디바이스(100)에 대한 접근 요청에, 부분 접근 요청을 부가할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 메모리 디바이스(100)에 전송한 접근 요청에 대해 접근 승인 정보를 수신할 수 있다.
예를 들어, 변환 유닛(300)은 메모리 디바이스(100)로부터 접근의 승인을 나타내는 “grant”신호를 수신할 수 있다.
또한, 변환 유닛(300)은 접근 요청된 뱅크중, 접근이 승인된 뱅크 및 접근이 거부된 뱅크를 나타내는 유효성 정보를 수신할 수 있다.
예를 들어, 변환 유닛(300)은 메모리 디바이스(100)로부터 제 2 뱅크에 대한 접근의 승인은 거부되었고, 제 3, 4, 5뱅크에 대한 접근은 승인되었음을 나타내는 유효성 정보를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)이 접근 승인 정보를 수신한 경우, 변환 유닛(300)은 접근 승인 정보와 함께, 또는 별도로 수신한 유효성 정보를 확인할 수 있다. 변환 유닛(300)은 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 승인된 뱅크에 대해 유효 부분 맵을 생성할 수 있다. 예를 들어,도 10을 참조할때, 변환 유닛(300)이 접근 요청한 제 2, 3, 4, 5뱅크중 제 3, 4, 5 뱅크에 대해서는 접근이 승인 되었고, 제 2 뱅크에 대해서는 접근이 승인되지 않았음을 나타내는 유효 부분 맵을 생성할 수 있다. 유효 부분 맵에서, “1”은 접근 승인된 뱅크에 매칭되고, “0”은 접근 거부된 뱅크에 매칭될 수 있다.
또한, 변환 유닛(300)은 유효 부분 맵을 참고하여, 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다.
또한, 변환 유닛(300)은 접근 승인된 뱅크로부터 프로세싱된 데이터를 수신할 수 있다.
도 11은 본 발명의 일 실시예에 따른, 변환 유닛(300)이 접근 요청을 재전송하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 요청한 적어도 하나의 뱅크 전부에 대해, 접근이 승인되었는지 여부를 판단할 수 있다. 예를 들어, 변환 유닛(300)은 생성한 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었는지 여부를 판단할 수 있다.
예를 들어, 유효 부분 맵의 “1”은 접근이 승인된 뱅크와 매칭되고, 유호 부분 맵의 “0”은 접근이 거부된 뱅크와 매칭될 수 잇다. 변환 유닛(300)은 유효 부분 맵을 이용하여 접근 요청한 제 2, 3, 4, 5뱅크중 일부의 뱅크에 대해 접근이 승인되지 않았음을 판단할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 변환 유닛(300)은 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다.
예를 들어, 변환 유닛(300)은 유효 부분 맵의 “0”과 매칭되는 뱅크에 대한 접근 요청을 재전송 할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 유효 부분 맵을 수정할 수 있다. 예를 들어, 유효 부분 맵의 “0”에 매칭된 뱅크에 대한 접근이 승인되는 경우, 유효 부분의 “0”부분을 “1”로 수정할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 요청의 재전송에 의해, 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송에 의해 접근이 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 변환 유닛(300)은 프로세싱된 데이터를 접근 요청의 재전송에 의해 접근 승인된 뱅크로부터 수신할 수 있고, 수신한 데이터를 저장할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다. 예를 들어, 변환 유닛(300)은 유효 부분 맵에 “0”이 존재하지 않는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 접근 요청한 적어도 하나의 뱅크 전부로부터 프로세싱된 데이터를 수신한 경우, 수신된 데이터를 마스터 디바이스(200)에 전송할 수 있다.
예를 들어, 변환 유닛(300)은 메모리 디바이스(100)에 접근 요청한 제 2, 3, 4, 5 뱅크로부터 프로세싱된 데이터를 수신한 경우, 저장된 데이터를 제 1 마스터 디바이스(2100)에 전송할 수 있다.
본 발명의 일 실시예에 따르면, 변환 유닛(300)은 유효 부분 맵에 기초하여, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었다고 판단한 경우, 저장된 데이터를 제 1 마스터 디바이스(2100)에 전송할 수 있다.
예를 들어, 변환 유닛(300)은 유효 부분 맵에 “0”이 존재하지 않는 경우, 접근 요청한 적어도 하나의 뱅크 모두에 대해 접근이 승인되었다고 판단하고, 저장된 데이터를 제 1 마스터 디바이스(2100)에 전송할 수 있다.
도 12는 본 발명의 마스터 디바이스(200)가 메모리 디바이스(100)에 접근 요청 신호를 전송하는 방법을 설명하기 위한 도면이다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 메모리 디바이스(100)에 접근 요청 신호(req)를 전송할 수 있다. 접근 요청 신호(req)는 1 bit의 신호일 수 있고, 2bit의 신호일 수 있으며 이에 한정되지 않는다.
본 발명의 실시예에 따르면, 마스터 디바이스(200)의 접근 요청 신호(req)는 부분 접근 요청 신호를 포함할 수 있다. 또한, 마스터 디바이스(200)는 접근 요청 신호(req)와 함께, 또는 별도로 부분 접근 요청 신호를 전송할 수 있다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 접근 요청 신호(req)에 대한 응답 신호를 전송 할 수 있다.
예를 들어, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크 모두가 접근 승인된 경우, 접근 승인을 나타내는 “grant”신호를 제 1 마스터 디바이스(215)에게 전송할 수 있다. 또한, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)가 접근 요청한 적어도 하나의 뱅크중 일부의 뱅크가 접근 승인된 경우, 접근 승인을 나타내는 “grant”신호를 제 1 마스터 디바이스(215)에게 전송할 수 있으며, 이에 한정되지 않는다.
본 발명의 일 실시예에 따르면, 메모리 디바이스(100)는 제 1 마스터 디바이스(215)에게 유효성 정보를 전송할 수 있다.
예를 들어, 메모리 디바이스(100)는 마스터 디바이스(200)에게, 마스터 디바이스(200)가 접근 요청한 적어도 하나의 뱅크 중에서, 접근 승인된 뱅크 및 접근 거부된 뱅크에 대한 정보인, “data_valid”를 전송할 수 있다.
“data_valid”신호는 제 2비트 내지 제 8비트의 신호로 구성될 수 있으며, 이에 한정되지 않는다.
유효성 정보를 나타내는 유효성 정보 신호(data_valid)의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수와 같거나, 접근 요청된 적어도 하나의 뱅크의 개수보다 적을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1, 2뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호(data_valid)는 제 1, 2뱅크 대한 접근 승인 여부를 각각 나타내는 2비트의 신호일 수 있다. 또한, 유효성 정보 신호(data_valid)는 제 1, 2뱅크 모두에 대해 접근이 가능한지 여부를 나타내는 1비트의 신호일 수 있다.
또한, 유효성 정보를 나타내는 유효성 정보 신호(data_valid)의 비트의 개수는 접근 요청된 적어도 하나의 뱅크의 개수보다 많을 수 있다. 예를 들어, 메모리 디바이스(100)가 마스터 디바이스(200)로부터 제 1 뱅크에 대한 접근 요청을 수신한 경우, 유효성 정보 신호(data_valid)는 2 비트의 신호일 수 있다. 이 경우, 두개의 비트 각각은 동일한 정보를 나타낼 수 있다. 메모리 디바이스(100)는 동일한 정보를 나타내는 두개의 비트를 이용함으로써, 호환성을 유지할 수 있다.
도 13은 본 발명의 일 실시예에 따른, 마스터 디바이스(200)의 동작을 설명하기 위한 블록도이다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)는 버퍼(1310)를 포함할 수 있다. 마스터 디바이스(200)는 하나의 버퍼(1310)를 포함할 수 있고, 복수개의 버퍼(1310)를 포함할 수 있으며, 이에 한정되지 않는다. 마스터 디바이스(200)는 소정의 기능을 제공하기 위해 필요한 데이터를 버퍼(1310)에 저장할 수 있다.
또한, 마스터 디바이스(200)는 프리패치 유닛(1320)을 포함할 수 있다. 마스터 디바이스(200)는 프리패치 유닛(1320)을 이용하여, 마스터 디바이스(200) 외부의 디바이스와 데이터를 교환할 수 있다. 예를 들어, 마스터 디바이스(200)는 프리패치 유닛(1320)을 이용하여 메모리에 데이터를 전송할 수 있고, 메모리로부터 데이터를 수신할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 메모리 디바이스(100)에 포함된 복수의 뱅크중에서 적어도 하나의 뱅크에 대한 접근을 메모리 디바이스(100)에게 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근 요청과 함께, 또는 별도로 메모리 디바이스(100)에게 부분 접근 요청을 전송할 수 있다.
예를 들어, 마스터 디바이스(200)의 프리패치 유닛(1320)은 메모리 디바이스(100)에게 메모리 디바이스(100)가 포함한 복수의 뱅크중 제 1, 2, 3뱅크에 대한 접근을 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근 요청과 함께, 메모리 디바이스(100)에게 제 1 ,2 ,3 뱅크중 일부의 뱅크가 접근이 가능한 경우, 접근 가능한 뱅크에 대한 승인을 요청하고, 접근 가능한 뱅크 및 접근 가능하지 않은 뱅크에 대한 정보인 유효성 정보를 요청하는, 부분 접근 요청을 전송할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 유효성 정보를 수신할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 유효성 정보로부터 접근 승인된 뱅크 및 접근이 승인되지 않은 뱅크에 대한 정보를 획득할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 승인된 뱅크에 대해 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 예를 들어, 마스터 디바이스(200)의 프리패치 유닛(1320)은 유효성 정보에 기초하여, 접근 승인된 뱅크에게 데이터를 전송하고, 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 승인된 뱅크로부터 프로세싱된 데이터를 수신하여, 마스터 디바이스(200)의 버퍼(1310)에 저장할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 예를 들어, 마스터 디바이스(200)의 프리패치 유닛(1320)은는 접근 요청된 적어도 하나의 뱅크중, 접근 승인된 뱅크를 제외하고, 접근이 거부된 뱅크에 대한 접근 요청을 재전송 할 수 있다. 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 거부된 뱅크에 대한 접근이 승인되는 경우, 접근 요청의 재전송을 중지할 수 있다.
본 발명의 일 실시예에 따르면, 마스터 디바이스(200)의 프리패치 유닛(1320)은 접근이 거부된 뱅크에 대해 재전송된 접근 요청이 승인되는 경우, 재전송된 접근 요청에 의해 접근이 승인된 뱅크에 대해 데이터를 전송하고 데이터의 프로세싱을 요청할 수 있다. 또한, 마스터 디바이스(200)의 프리패치 유닛(1320)은 프로세싱된 데이터를 수신하여, 마스터 디바이스(200)의 버퍼(1310)에 저장할 수 있다.
일부 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 개시의 기술적 사상이나 필수적인 특징을 제어하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 제어 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (15)

  1. 메모리 디바이스에서 마스터 디바이스의 접근을 제어하는 방법에 있어서,
    상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 수신하는 단계;
    상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계; 및
    상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하고, 상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 단계;
    를 포함하는, 접근 제어 방법.
  2. 제 1 항에 있어서 상기 결정하는 단계는,
    다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하는 단계;
    상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선순위를 판단하는 단계;
    상기 우선순위에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 단계;
    를 포함하는, 접근 제어 방법.
  3. 제 2 항에 있어서 상기 우선 순위는,
    상기 마스터 디바이스에 의해 결정된 긴급 지수(Urgency level)에 의해 결정되는 것인, 접근 제어 방법.
  4. 제 1항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 접근 제어 방법.
  5. 제 1 항에 있어서 상기 마스터 디바이스는,
    상기 접근 요청된 적어도 하나의 뱅크중 적어도 하나의 뱅크에 대해 접근 가능한 것을 특징으로 하는, 접근 제어 방법.
  6. 제 1 항에 있어서 상기 접근 제어 방법은.
    상기 결정하는 단계의 결과, 상기 마스터 디바이스의 접근을 승인한 뱅크에 대해서, 상기 마스터 디바이스가 요청한 데이터 처리를 수행하는 단계;
    를 더 포함하는, 접근 제어 방법.
  7. 제 1 항에 있어서 상기 접근 제어 방법은,
    상기 유효성 정보에 기초하여 접근을 승인 받지 못한 뱅크에 대한 접근 요청을 상기 마스터 디바이스로부터 재수신하는 단계;
    를 더 포함하는, 접근 제어 방법.
  8. 마스터 디바이스에서 메모리 디바이스에 접근하는 방법에 있어서,
    상기 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 상기 메모리 디바이스에 전송하는 단계; 및
    상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 상기 메모리 디바이스로부터 수신하는 단계;
    를 포함하는, 접근 방법.
  9. 제 8 항에 있어서, 상기 접근 요청은 상기 유효성 정보를 요청하는 부분 접근 신호가 포함된 2비트(bits)의 신호인 것을 특징으로 하는, 접근 방법.
  10. 제 8 항에 있어서 상기 접근 방법은,
    상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인된 적어도 하나의 뱅크에서 처리된 데이터를 요청하는 단계;
    를 더 포함하는, 접근 방법.
  11. 제 8 항에 있어서 상기 접근 방법은,
    상기 수신한 유효성 정보에 기초하여, 상기 적어도 하나의 뱅크중 승인되지 않은 적어도 하나의 뱅크에 대해 접근 요청을 재전송 하는 단계;
    를 포함하는, 접근 방법.
  12. 메모리 디바이스에 포함된 복수의 뱅크중에서, 적어도 하나의 뱅크에 대한 접근 요청을 마스터 디바이스로부터 수신하는 접근 요청 수신부;
    상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하고, 상기 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 나타내는 유효성 정보를 생성하는 중재부;
    상기 생성된 유효성 정보를 상기 마스터 디바이스에 전송하는 요청 결과 전송부;
    를 포함하는, 메모리 디바이스.
  13. 제 12 항에 있어서 상기 중재부는,
    다른 마스터 디바이스의 접근 요청과 상기 접근 요청 사이에서 뱅크 컨플릭트(conflict)가 발생하는지 여부를 판단하고, 상기 뱅크 컨플릭트(conflict)가 발생한 경우, 상기 접근 요청의 우선순위를 판단하고, 상기 우선순위에 기초하여, 상기 접근 요청된 적어도 하나의 뱅크 각각에 대한 접근 승인 여부를 결정하는 것을 특징으로 하는 , 메모리 디바이스.
  14. 제 12 항에 있어서 상기 우선 순위는,
    상기 메모리 디바이스에 의해 결정된 긴급 지수(Urgency level)에 의해 결정되는 것인, 메모리 디바이스.
  15. 제 1 항의 방법을 컴퓨터에서 실행시키기 위한 컴퓨터 프로그램을 저장한 컴퓨터로 읽을 수 있는 비일시적 기록매체.
PCT/KR2015/012113 2014-12-05 2015-11-11 메모리 접근 제어 방법 및 장치 WO2016089020A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US15/533,190 US10983723B2 (en) 2014-12-05 2015-11-11 Memory access control method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2014-0174291 2014-12-05
KR1020140174291A KR102346629B1 (ko) 2014-12-05 2014-12-05 메모리 접근 제어 방법 및 장치

Publications (1)

Publication Number Publication Date
WO2016089020A1 true WO2016089020A1 (ko) 2016-06-09

Family

ID=56091930

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2015/012113 WO2016089020A1 (ko) 2014-12-05 2015-11-11 메모리 접근 제어 방법 및 장치

Country Status (3)

Country Link
US (1) US10983723B2 (ko)
KR (1) KR102346629B1 (ko)
WO (1) WO2016089020A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095313B2 (en) * 2019-10-21 2021-08-17 International Business Machines Corporation Employing single error correction and triple error detection to optimize bandwidth and resilience under multiple bit failures

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990071554A (ko) * 1996-09-25 1999-09-27 요트.게.아. 롤페즈 어드레스충돌검출기능을갖는멀티포트캐시메모리
US6611904B1 (en) * 1999-05-03 2003-08-26 Stmicroelectronics S.A. Memory access address comparison
US20050268050A1 (en) * 2004-02-07 2005-12-01 Woon-Sik Suh Multi-port memory device providing protection signal
US7894296B2 (en) * 2008-07-02 2011-02-22 Samsung Electronics Co., Ltd. Multi-port memory devices having clipping circuits therein that inhibit data errors during overlapping write and read operations
US20130332665A1 (en) * 2012-06-06 2013-12-12 Mosys, Inc. Memory with bank-conflict-resolution (bcr) module including cache

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3702462A (en) * 1967-10-26 1972-11-07 Delaware Sds Inc Computer input-output system
US4354232A (en) * 1977-12-16 1982-10-12 Honeywell Information Systems Inc. Cache memory command buffer circuit
US4796232A (en) * 1987-10-20 1989-01-03 Contel Corporation Dual port memory controller
US5202970A (en) * 1989-02-07 1993-04-13 Cray Research, Inc. Method for sharing memory in a multiprocessor system
US5142638A (en) * 1989-02-07 1992-08-25 Cray Research, Inc. Apparatus for sharing memory in a multiprocessor system
JP2673390B2 (ja) * 1991-03-13 1997-11-05 三菱電機株式会社 マルチポートメモリ
US5706407A (en) * 1993-12-28 1998-01-06 Kabushiki Kaisha Toshiba System for reallocation of memory banks in memory sized order
US5596740A (en) 1995-01-26 1997-01-21 Cyrix Corporation Interleaved memory conflict resolution with accesses of variable bank widths and partial return of non-conflicting banks
US6779092B2 (en) * 2002-05-15 2004-08-17 Hewlett-Packard Development Company, L.P. Reordering requests for access to subdivided resource
US6978343B1 (en) * 2002-08-05 2005-12-20 Netlogic Microsystems, Inc. Error-correcting content addressable memory
US6954387B2 (en) * 2003-07-15 2005-10-11 International Business Machines Corporation Dynamic random access memory with smart refresh scheduler
JP4708723B2 (ja) * 2004-03-30 2011-06-22 ルネサスエレクトロニクス株式会社 半導体記憶装置
JP4656862B2 (ja) * 2004-05-28 2011-03-23 ルネサスエレクトロニクス株式会社 半導体装置
US7747833B2 (en) * 2005-09-30 2010-06-29 Mosaid Technologies Incorporated Independent link and bank selection
US7890686B2 (en) * 2005-10-17 2011-02-15 Src Computers, Inc. Dynamic priority conflict resolution in a multi-processor computer system having shared resources
US7730261B1 (en) * 2005-12-20 2010-06-01 Marvell International Ltd. Multicore memory management system
US8074031B2 (en) * 2005-12-20 2011-12-06 Nxp B.V. Multi-processor circuit with shared memory banks
JP5016880B2 (ja) * 2006-09-21 2012-09-05 富士通株式会社 優先クラスに応じたメモリ管理方法及び装置
JP2008102759A (ja) * 2006-10-19 2008-05-01 Matsushita Electric Ind Co Ltd メモリアクセス制御装置
US8176265B2 (en) * 2006-10-30 2012-05-08 Nvidia Corporation Shared single-access memory with management of multiple parallel requests
US8108625B1 (en) * 2006-10-30 2012-01-31 Nvidia Corporation Shared memory with parallel access and access conflict resolution mechanism
CN102037514A (zh) * 2008-05-21 2011-04-27 Nxp股份有限公司 包括重排网络的数据处理系统
KR101553651B1 (ko) 2009-10-13 2015-09-17 삼성전자 주식회사 다중 뱅크 메모리 액세스 장치
US8359438B2 (en) * 2010-05-18 2013-01-22 Avago Technologies Enterprise IP (Singapore) Pte. Ltd. Memory banking system and method to increase memory bandwidth via parallel read and write operations
US8380940B2 (en) 2010-06-25 2013-02-19 Qualcomm Incorporated Multi-channel multi-port memory
US8977819B2 (en) * 2010-09-21 2015-03-10 Texas Instruments Incorporated Prefetch stream filter with FIFO allocation and stream direction prediction
US8904115B2 (en) * 2010-09-28 2014-12-02 Texas Instruments Incorporated Cache with multiple access pipelines
US8788794B2 (en) 2010-12-07 2014-07-22 Advanced Micro Devices, Inc. Programmable atomic memory using stored atomic procedures
US8621160B2 (en) * 2010-12-17 2013-12-31 Futurewei Technologies, Inc. System and method for contention-free memory access
JP2013089030A (ja) * 2011-10-18 2013-05-13 Elpida Memory Inc 情報処理システム、制御システム及び半導体装置
US8825955B2 (en) * 2011-11-22 2014-09-02 The Regents Of The University Of Michigan Data processing apparatus having a cache configured to perform tag lookup and data access in parallel, and a method of operating the data processing apparatus
KR101862799B1 (ko) * 2011-12-12 2018-05-31 삼성전자주식회사 메모리 컨트롤러 및 메모리 컨트롤 방법
US20140115278A1 (en) * 2012-10-23 2014-04-24 Analog Devices, Inc. Memory architecture
JP6195342B2 (ja) * 2013-03-27 2017-09-13 キヤノン株式会社 情報処理装置およびメモリアクセス制御方法
US9430411B2 (en) * 2013-11-13 2016-08-30 Sandisk Technologies Llc Method and system for communicating with non-volatile memory
US9633733B2 (en) * 2014-02-26 2017-04-25 Infineon Technologies Ag Method, apparatus and device for data processing for determining a predetermined state of a memory
US9471501B2 (en) * 2014-09-26 2016-10-18 Intel Corporation Hardware apparatuses and methods to control access to a multiple bank data cache
US9576637B1 (en) * 2016-05-25 2017-02-21 Advanced Micro Devices, Inc. Fine granularity refresh

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR19990071554A (ko) * 1996-09-25 1999-09-27 요트.게.아. 롤페즈 어드레스충돌검출기능을갖는멀티포트캐시메모리
US6611904B1 (en) * 1999-05-03 2003-08-26 Stmicroelectronics S.A. Memory access address comparison
US20050268050A1 (en) * 2004-02-07 2005-12-01 Woon-Sik Suh Multi-port memory device providing protection signal
US7894296B2 (en) * 2008-07-02 2011-02-22 Samsung Electronics Co., Ltd. Multi-port memory devices having clipping circuits therein that inhibit data errors during overlapping write and read operations
US20130332665A1 (en) * 2012-06-06 2013-12-12 Mosys, Inc. Memory with bank-conflict-resolution (bcr) module including cache

Also Published As

Publication number Publication date
US20170337015A1 (en) 2017-11-23
KR102346629B1 (ko) 2022-01-03
US10983723B2 (en) 2021-04-20
KR20160068479A (ko) 2016-06-15

Similar Documents

Publication Publication Date Title
WO2020190016A1 (en) Method and device for providing authentication in network-based media processing (nbmp) system
WO2017171519A1 (en) Method and apparatus for transmitting control channel and data channel in v2x communication
WO2015072646A1 (en) Image forming apparatus and method for controlling display of pop-up window
WO2014010992A1 (ko) 컨텐츠 이름 기반의 컨텐츠 중심 네트워크에서 컨텐츠 및 실시간 스트리밍 컨텐츠 제공을 위한 컨텐츠 요청자 및 컨텐츠 제공자의 통신 방법
WO2015157942A1 (zh) 接入无线网络的装置及方法
WO2010101345A2 (en) Signal transmission method and system for transmitting signal by using interference control method and/or transmission power control method
WO2018028128A1 (zh) 一种上行数据的信息反馈方法及相关设备
WO2015016627A1 (ko) 동일한 네트워크 상의 복수개의 ap 장치 중 하나의 ap 장치와 단말기를 연결하는 방법 및 장치
WO2022050652A1 (en) Method, apparatus, and computer readable storage medium for controlling account
WO2019107707A1 (en) Remote control, electronic apparatus and pairing method thereof
WO2018038579A1 (en) Apparatus and method for providing security service in communication system
WO2018076870A1 (zh) 数据处理方法、装置、存储介质、服务器及数据处理系统
WO2016126023A1 (en) Broadcast apparatus and method of authenticating broadcast data
WO2020138686A1 (ko) 가전기기, 단말 장치 및 이의 무선 연결 방법
WO2016089020A1 (ko) 메모리 접근 제어 방법 및 장치
WO2022181898A1 (ko) 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2010147410A2 (en) Method and device for upgrading rights object that was stored in memory card
EP3649569A1 (en) Server and method for defending malicious code using same
WO2020027618A1 (en) Electronic apparatus including non-volatile memory
WO2020149500A1 (ko) 공유된 키를 등록하기 위한 방법 및 장치
WO2012005490A2 (en) System and method for switching mobile station identification in wireless communication system
WO2014092289A1 (ko) 클라우드 서비스 제공 방법, 이를 위한 시스템 및 장치
WO2021054619A1 (ko) 확장함수를 이용한 복수의 묵시적 인증서 발급 시스템 및 그 발급 방법
WO2012091288A1 (ko) Ip단말기 및 클라이언트가 통신하기 위한 통신방법
WO2017135722A1 (ko) 전자명함 교환방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15864367

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15864367

Country of ref document: EP

Kind code of ref document: A1