WO2007040307A1 - Operation control of shared memory - Google Patents

Operation control of shared memory Download PDF

Info

Publication number
WO2007040307A1
WO2007040307A1 PCT/KR2006/003530 KR2006003530W WO2007040307A1 WO 2007040307 A1 WO2007040307 A1 WO 2007040307A1 KR 2006003530 W KR2006003530 W KR 2006003530W WO 2007040307 A1 WO2007040307 A1 WO 2007040307A1
Authority
WO
WIPO (PCT)
Prior art keywords
processor
storage area
common storage
access
main processor
Prior art date
Application number
PCT/KR2006/003530
Other languages
French (fr)
Inventor
Jong-Sik Jeong
Hyun-Il Kim
Original Assignee
Mtekvision Co., Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mtekvision Co., Ltd filed Critical Mtekvision Co., Ltd
Priority to US12/089,345 priority Critical patent/US8135919B2/en
Publication of WO2007040307A1 publication Critical patent/WO2007040307A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/52Details of telephonic subscriber devices including functional features of a camera

Definitions

  • the present invention is directed to a digital processing apparatus, more
  • a portable terminal refers to a compact electronic device that is designed to be
  • a portable terminal can be a mobile communication terminal, a
  • PDA personal digital assistant
  • PMP portable multimedia player
  • the mobile communication terminal is essentially a device designed to enable
  • FIG. 1 shows a block diagram of a conventional mobile communication
  • the mobile communication terminal 100 having a camera function Referring to FIG. 1, the mobile communication terminal 100 having a camera
  • the high frequency processing unit 110 processes a high frequency signal
  • the analog-to-digital converter 115 converts an analog signal, outputted from
  • the high frequency processing unit 110 to a digital signal and sends to the processing
  • the digital-to-analog converter 120 converts a digital signal, outputted from
  • the processing unit 125 to an analog signal and sends to the high frequency processing
  • the processing unit 125 controls the general operation of the mobile
  • the processing unit 125 can comprise a central processing unit 125 and a central processing unit 125.
  • CPU central processing unit
  • micro-controller a microcontroller
  • the power supply 130 supplies electric power required for operating the vehicle
  • the power supply 130 can be coupled to, for example
  • an external power source or a battery.
  • the key input 135 generates key data for, for example, setting various functions or dialing of the mobile communication terminal 100 and sends the key data
  • the main memory 140 stores an operating system and a variety of data of the
  • the main memory 140 can be, for example, a
  • the display 145 displays the operation status of the mobile communication
  • the camera 150 photographs an external image (a photographic subject), and
  • the image processing unit 155 processes the external image photographed by the camera
  • the image processing unit 155 can perform functions such as color interpolation,
  • the 160 stores the external image processed by the image processing unit 155.
  • the mobile communication terminal 100 having a camera
  • the function is equipped with a plurality of processors.
  • the plurality of processors can be any type of processors.
  • the plurality of processors can be any type of processors.
  • main processor and one or more application processors, which are controlled
  • the processing unit 125 for controlling general functions of the
  • the camera function are included.
  • the operations of the application processors for additional functions can be controlled by the main processor. Moreover, each
  • processing unit is structured to be coupled with an independent memory.
  • the application processor can take different forms depending on the kinds of
  • application processor for controlling the camera function can process functions such as
  • file playback function can process functions such as video file (e.g., MPEG4, DIVX,
  • file playback function can process functions such as audio file encoding and decoding.
  • Each of these processing units has an individual
  • FIG. 2 illustrates an example of a coupling structure among a main processor
  • the main processor 210 and the application processor 220 are identical to the main processor 210 and the application processor 220.
  • main processor 210 communicates information through a host interface; the main processor 210 is coupled to
  • main memory 230 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an MP (main processor)-MM
  • a bus refers to a
  • each of the processors 210 and 220 is independently
  • the main processor 210 Depending on the operation that is currently running, the main processor 210
  • processor 220 through the host interface or receives data stored in the supplementary
  • the main processor 210 first accesses the main memory 230 to perform a
  • the application processor 220 re-processes the received data and stores the data
  • the application processor 220 transmits the
  • processor 210 and the application processor 220, the more time each of the processors
  • processor 210 and the application processor 220 as the amount of data to be processed
  • the present invention provides
  • the present invention also provides a method and a user terminal for
  • partitioned storage areas of the shared memory to be accessed by a plurality of
  • the present invention also provides a method and a user terminal for
  • the present invention also provides a method and a user terminal for
  • the present invention also provides a method and a user terminal for
  • the portable terminal in accordance with an embodiment of the present invention has a memory unit and a plurality of processors.
  • the memory unit has at least
  • the processor writes or reads data by accessing a partitioned
  • n can be assigned as a common storage area, accessible by a processor having an access
  • the plurality of processors has a main processor and at least one application
  • processor processing data written in a partitioned block in accordance with a process
  • the main processor and the application processor can be coupled to each other
  • a host interface which can be a serial interface.
  • Pins for the serial interface can be a serial interface.
  • processor for transfer or assignment of the access privilege.
  • the main processor can renew a predetermined register value in the application processor to a predetermined value, via the host interface, in order to request transfer or
  • processor that is already accessed to the common storage area determines whether to
  • the operation of maintaining data can comprise precharge and refresh.
  • Each of the plurality of processors is pre-assigned with at least one of the
  • recorded medium recording a program for executing the method thereof.
  • the first processor accessing the common storage area and reading or writing data;
  • the common storage area is received from the second processor; and (d) the second
  • a processor accessing the common storage area and reading or writing data.
  • a memory unit having a plurality of ports to be individually coupled to the plurality of processors,
  • n can have a storage area partitioned to blocks in a quantity of n, and at least one of the
  • partitioned blocks in the quantity of n can be assigned as a common storage area
  • access privilege can perform an operation of maintaining the data stored in the common
  • the operation of maintaining data can comprise precharge and refresh.
  • the plurality of processors comprises a main processor and at least one
  • the main processor and the application processor can be coupled to each other
  • a host interface which can be a serial interface.
  • Pins for the serial interface can be a serial interface.
  • processor for transfer or assignment of the access privilege.
  • the main processor in the step (a), the main processor
  • processor renews a predetermined register value in the application processor to a predetermined value, via the host interface, in order to request transfer or assignment of
  • the first processor is the application processor
  • application processor transmits a predetermined signal to the main processor via the
  • the step (c) can comprise the acts of: the first processor being requested by the
  • the second processor for transfer of access privilege
  • processor terminating the access to the common storage area, in case reading or writing
  • Each of the plurality of processors is pre-assigned with at least one of the
  • FIG. 1 shows a block diagram of a conventional mobile communication
  • FIG. 2 shows a block diagram of an example of a conventional coupling structure between a main processor, an application processor and each memory;
  • FIG. 3 shows a block diagram of a coupling structure between a main
  • FIG. 4 shows the partitioned state of the storage area of the memory unit in
  • FIG. 5 shows a flow chart of a process for transferring a privilege to access a
  • FIG. 6 shows the basic structure of an SDRAM in accordance with an
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • the first element can be any element used only to distinguish one element from the other.
  • devices or systems e.g. portable terminals and/or home digital appliances, such as the
  • PDA portable multimedia player
  • MP3 player MP3 player
  • processors the portable terminal and two processors sharing a memory
  • FIG. 3 is a block diagram showing a coupling structure between the main
  • FIG. 4 shows the partitioned state of the
  • the main processor 210 and the application processor 220 are identical to the main processor 210 and the application processor 220.
  • the host interface can include one or more of, for example, a process order, status
  • the main processor 210 and the memory unit 310 communicate data through
  • a bus refers to a common-purpose electric
  • the main processor 210 can be a processor that controls the general operation
  • the application processor 220 can be a dedicated processor for processing the MPEG4, 3-D graphic, camera and MP3 file playback
  • a peripheral device such as a display unit 250 can be coupled to the back of
  • the 250 can be controlled by the main processor 210 or the application processor 220.
  • the memory unit 310 is structured to be used by a plurality of processors
  • processors 210 and 220 use one memory unit 310, thereby necessitating the memory
  • the two access ports are configured to be identified as a first
  • main processor 210 and the application processor 220, respectively.
  • application processor 220 respectively.
  • processor 210 and the application processor 220 can use an independent clock.
  • control signal can include Clock, Write Enable and Chip Select.
  • the storage area of the memory unit 310 can be partitioned to the number of
  • partitions corresponding to the number of processors coupled to the memory unit 310. This is to allow each processor to access each partition at the same time to write data.
  • memory unit 310 can be partitioned to at least 2 blocks (i.e. a first storage area 440 and
  • each of the partitioned blocks can be assigned to be
  • the memory unit 310 can not be simultaneously accessed by a
  • the memory unit 310 can be partitioned to further
  • the common storage area 450 can be individually accessed as
  • the memory unit 310 can be partitioned to 3 or more storage
  • the size of the partitioned block i.e. the first storage area 440, the common
  • processor 210 and/or the application processor 220 or varied whenever necessary (for example, when the data to be written is bigger than the writable area) by the main
  • processor 210 and/or the application processor 220.
  • memory unit 310 can be set and managed by the main processor 210, and the address
  • the address information can also be set and managed by the
  • application processor 220 and, as necessary, one of the processors 210 or 220 can have
  • 310 can be recognized by each processor when the portable terminal is booted.
  • the storage area can be partitioned in units of bank in case the memory is an
  • An SDRAM usually comprises an RAS address, a CAS address and a Bank
  • partitioned blocks in units of internal blocks is most ideal, 2 banks, for example, can be
  • storage area 460 can be assigned with one bank each.
  • the main processor 210 or the application processor 220, must provide the other processor the information on the
  • the memory unit 310 can comprise a memory control unit 430, which
  • the main processor 210 must notify the attempt to the
  • the main processor 210 renews the predetermined register value in the
  • the main processor 210 attempts to access the common storage area 450. In this case,
  • the application processor 220 does not attempt to access the common storage area 450 until the main processor 210 terminates its access to the common
  • processor 210 renews the pertinent register value to a predetermined second value (e.g.
  • the application processor 220 executes the pertinent register value to the first value.
  • the application processor 220 executes the pertinent register value to the first value.
  • application processor 220 can be predetermined and are well known to those of ordinary
  • the main processor 210 must be notified of
  • an interrupt signal transmission pin can be
  • the application processor 220 transmits an interrupt signal to
  • the main processor 210 through the host interface. Then, if the main processor 210 is not accessed to the common storage area 450, the application processor 220 attempts to
  • processor 210 does not attempt to access the common storage area 450 until the
  • the main processor 210 the main processor 210
  • main processor 210 can be predetermined and are well known to those of ordinary skill
  • the processor requesting the access has the priority
  • the priority of operation can be any priority of operation.
  • the priority of operation can be any priority of operation.
  • processor 210 There also can be various other methods.
  • main processor 210 and the application processor 220.
  • stored data accesses the common storage area 450 and reads and processes the data.
  • the number of pins used in the host interface for communicating information between the main processor 210 and the application processor 220 can be
  • a serial interface can minimized. To minimize the number of pins in the host interface, a serial interface can be used.
  • the pins for the host interface are defined as follows:
  • the main processor 210 can use the S_data_out signal to transmit a control
  • command (e.g. a control signal, process instruction, etc.) to the application processor
  • the application processor 220 can use the S_data_in signal to transmit a response
  • the S CLK signal can be used as the clock for synchronizing with serial data for serial
  • the S enable signal can be used to indicate the section of communication by valid data for communication.
  • the Interrupt signal can be used to
  • FIG. 5 is a flow chart for the steps of transferring the privilege to access the
  • FIG. 6 is the basic structure of an SDRAM in accordance with an embodiment of the present disclosure
  • FIG. 5 shows the steps of one of the processors accessing the
  • a first processor i.e. one of the main processor 210 and
  • processor 210 and the application processor).
  • step 510 the first processor determines whether the
  • the first processor carries out the refresh operation until it accesses the
  • common storage area 450 in order for the data stored in the area not to be deleted.
  • the second processor terminates its access to the common storage area 450.
  • the first processor must notify the second processor before the first
  • processor accesses the common storage area 450. If the first processor is the main
  • the first processor will renew the register value, which is present in the
  • first processor is the application processor, the first processor will send an interrupt
  • processor can recognize that the first processor will access the common storage area 450.
  • the application processor 220 is requested by the application processor 220 to transfer the access privilege (i.e. the
  • main processor 210 will complete the operation and then transfer the access privilege to
  • the application processor 220 to transfer the access privilege while the main processor
  • the main processor 210 will be able to immediately stop the operation
  • the portable terminal is a portable terminal
  • the execution of telephone functionality can have the
  • step 515 the first processor precharges and reads/writes data.
  • an SDRAM has 4 independent banks. As shown in FIG. 6, each
  • Each cell has capacitors 610 for charging data.
  • transmission begins by transmitting the read command or write command along with
  • the bank After the transmission, the bank inactivates the opened row and is
  • the shared memory is an
  • SDRAM Secure Digital RAM
  • DDR-RAM dynamic RAM
  • SLDRAM SLDRAM
  • RDRAM RDRAM
  • step 520 the first processor determines whether the access privilege transfer
  • the second processor is the main processor 210
  • the second processor is the application processor 220, the second processor will transmit the
  • the first processor periodically refreshes the access to the common storage area 450.
  • unit cells make up a lattice in an SDRAM, and each cell
  • capacitors 610 for charging the data. For example, if the capacitor 610 is charged, it is charged.
  • the CMOS gate becomes open, changing the status of each column
  • the memory standard prescribes that a memory module be refreshed every
  • step 530 is performed to have the first processor precharges the common
  • step 535 the first processor transfers the access privilege to the second
  • the first processor terminates the access to the common storage
  • the second processor can now access the common storage area 450.
  • the second processor to which the access privilege is transferred from the first
  • processor periodically performs the refresh operation on the common storage area 450
  • the present invention allows the processor, currently
  • common storage area 450 which is accessible by a plurality of processors.
  • data transmission between processors is made possible through the use of the
  • invention can allow each processor to handle its dedicated process to optimize the
  • invention can process data highly efficiently by eliminating the loss of time needed to
  • invention can minimize the number of pins for the connection between the main

Abstract

A method of controlling a shared memory and a user terminal controlling the operation of the shared memory are disclosed. The portable terminal according to an embodiment of the present invention has a memory unit with a storage area partitioned to blocks in a quantity of n and a plurality of processors reading or writing data by accessing a partitioned block. At least one of the partitioned blocks is assigned as a common storage area, accessible by a processor having an access privilege, and the processor having the access privilege performs an operation of maintaining the data stored in the common storage area. With the present invention, the common storage area can be accessed by a plurality of processors, and thus the data transmission time between the processors can be minimized.

Description

[DESCRIPTION]
[Invention Title]
OPERATION CONTROL OF SHARED MEMORY
[Technical Field]
The present invention is directed to a digital processing apparatus, more
specifically to a digital processing apparatus having a plurality of processors.
[Background Art]
A portable terminal refers to a compact electronic device that is designed to be
easily carried by a user in order to perform functions such as game or mobile
communication. A portable terminal can be a mobile communication terminal, a
personal digital assistant (PDA) or a portable multimedia player (PMP).
The mobile communication terminal is essentially a device designed to enable
a mobile user to telecommunicate with a receiver who is remotely located. Thanks to
scientific development, however, the latest mobile communication terminals have
functions, such as camera and multimedia data playback, in addition to the basic
functions, such as voice communication, short message service and address book.
FIG. 1 shows a block diagram of a conventional mobile communication
terminal having a camera function. Referring to FIG. 1, the mobile communication terminal 100 having a camera
function comprises a high frequency processing unit 110, an analog-to-digital converter
115, a digital-to-analog converter 120, a processing unit 125, a power supply 130, a key
input 135, a main memory 140, a display 145, a camera 150, an image processing unit
155 and a support memory 160.
The high frequency processing unit 110 processes a high frequency signal,
which is transmitted or received through an antenna.
The analog-to-digital converter 115 converts an analog signal, outputted from
the high frequency processing unit 110, to a digital signal and sends to the processing
unit 125.
The digital-to-analog converter 120 converts a digital signal, outputted from
the processing unit 125, to an analog signal and sends to the high frequency processing
unit 110.
The processing unit 125 controls the general operation of the mobile
communication terminal 100. The processing unit 125 can comprise a central
processing unit (CPU) or a micro-controller.
The power supply 130 supplies electric power required for operating the
mobile communication terminal 100. The power supply 130 can be coupled to, for
example, an external power source or a battery.
The key input 135 generates key data for, for example, setting various functions or dialing of the mobile communication terminal 100 and sends the key data
to the processing unit 125.
The main memory 140 stores an operating system and a variety of data of the
mobile communication terminal 100. The main memory 140 can be, for example, a
flash memory or an EEPROM (Electrically Erasable Programmable Read Only
Memory).
The display 145 displays the operation status of the mobile communication
terminal 100 and an external image photographed by the camera 150.
The camera 150 photographs an external image (a photographic subject), and
the image processing unit 155 processes the external image photographed by the camera
150. The image processing unit 155 can perform functions such as color interpolation,
gamma correction, image quality correction and JPEG encoding. The support memory
160 stores the external image processed by the image processing unit 155.
As described above, the mobile communication terminal 100 having a camera
function is equipped with a plurality of processors. The plurality of processors can
comprise a main processor and one or more application processors, which are controlled
by the main processor and perform predetermined additional functions. In other words,
as shown in FIG. 1, the processing unit 125 for controlling general functions of the
mobile communication terminal 100 and the image processing unit 155 for controlling
the camera function are included. The operations of the application processors for additional functions can be controlled by the main processor. Moreover, each
processing unit is structured to be coupled with an independent memory.
The application processor can take different forms depending on the kinds of
additional functions, with which the portable terminal is equipped. For example, the
application processor for controlling the camera function can process functions such as
JPEG encoding and JPEG decoding; the application processor for controlling the movie
file playback function can process functions such as video file (e.g., MPEG4, DIVX,
H.264) encoding and decoding; and the application processor for controlling the music
file playback function can process functions such as audio file encoding and decoding.
Of course, there can be an application processor that can process various
aforementioned functions altogether. Each of these processing units has an individual
memory for storing the data processed by the processing unit. Therefore, according to
the related art, it is necessary to increase the number of processing units and memories
as portable terminals become increasingly multifunctional.
FIG. 2 illustrates an example of a coupling structure among a main processor,
an application processor and their corresponding memories in accordance with the
related art.
Referring to FIG. 2, the main processor 210 and the application processor 220
communicate information through a host interface; the main processor 210 is coupled to
the main memory 230 through an MP (main processor)-MM (main memory) bus; and the application processor 220 is coupled to the supplementary memory 240 through an
AP (application processor)- AM (application memory) bus. A bus refers to a
common-purpose electric pathway that is used to transmit information between the
processor, the main memory and the input/output in a device such as a computer. A bus
comprises a line for data, designating the address of each device or the location of the
memory, and a line for distinguishing a variety of data transmission operation to be
processed.
As illustrated in FIG. 2, each of the processors 210 and 220 is independently
coupled to each of the memories 230 and 240.
Depending on the operation that is currently running, the main processor 210
reads data stored in the main memory 230 and transmits the data to the application
processor 220 through the host interface or receives data stored in the supplementary
memory 240 by requesting the application processor 220.
In other words, in case a certain process operation is to be processed in the
main processor 210 and the application processor 220, respectively, in order to process
certain data, the main processor 210 first accesses the main memory 230 to perform a
necessary operation and then transmits the processed data to the application processor
220, and the application processor 220 re-processes the received data and stores the data
in the supplementary memory 240. Then, the application processor 220 transmits the
data stored in the supplementary memory 240 back to the main processor 210 to have it stored in the main memory 230.
In this case, the larger the amount of data is communicated between the main
processor 210 and the application processor 220, the more time each of the processors
210 and 220 has to spend on the operation (i.e. memory access, host interface operation)
requested by the other processor rather than the operation of its own process.
This problem causes a bottleneck in data communication between the main
processor 210 and the application processor 220 as the amount of data to be processed
and the functions performed by the portable terminal increase.
As a result, the problems described above weaken the overall performance of a
multi-function portable terminal.
[Disclosure]
[Technical Problem]
In order to solve the problems described above, the present invention provides
a method and a user terminal for controlling a shared memory that can minimize the
data transmission time between processors, by partitioning the storage area of the shared
memory into a plurality of partitioned blocks and allowing the plurality of processors to
access each partitioned block.
The present invention also provides a method and a user terminal for
controlling a shared memory that can allow each processor to handle its dedicated process to optimize the operation speed and efficiency of each processor by allowing
partitioned storage areas of the shared memory to be accessed by a plurality of
processors.
The present invention also provides a method and a user terminal for
controlling a shared memory that can process data highly efficiently by eliminating the
loss of time needed to communicate the data, stored in a specific memory, between
processors.
The present invention also provides a method and a user terminal for
controlling a shared memory that can minimize the number of pins for the connection
between the main processor and the application processor.
The present invention also provides a method and a user terminal for
controlling a shared memory that can easily maintain a data value stored in a common
area when a plurality of processors share one memory.
Other objects of the present invention will become apparent through the
preferred embodiments described below.
[Technical Solution]
In order to achieve the above objects, an aspect of the present invention
features a portable terminal, in which a plurality of processors are sharing a memory.
The portable terminal in accordance with an embodiment of the present invention has a memory unit and a plurality of processors. The memory unit has at least
two ports, and a storage area in the memory is partitioned to blocks in a quantity of n,
which is a natural number. The processor writes or reads data by accessing a partitioned
block through an assigned port. At least one of the partitioned blocks in the quantity of
n can be assigned as a common storage area, accessible by a processor having an access
privilege among the plurality of processors, and the access privilege can be transferred
between the plurality of processors, and the processor having the access privilege can
perform an operation of maintaining the data stored in the common storage area.
The plurality of processors has a main processor and at least one application
processor, processing data written in a partitioned block in accordance with a process
instruction of the main processor.
The main processor and the application processor can be coupled to each other
via a host interface, which can be a serial interface. Pins for the serial interface can
comprise a first pin for sending and receiving a control command between the main
processor and the application processor, a second pin for checking a response signal or a
setting status between the main processor and the application processor, a third pin for
synchronization clock with serial data, a fourth pin for indicating a valid data
communication section, and a fifth pin for the application processor to request the main
processor for transfer or assignment of the access privilege.
The main processor can renew a predetermined register value in the application processor to a predetermined value, via the host interface, in order to request transfer or
assignment of the access privilege.
In case transfer of the access privilege is requested by another processor, a
processor that is already accessed to the common storage area determines whether to
immediately transfer the access privilege in accordance with a predetermined priority or
to transfer the access privilege after completing a process.
The operation of maintaining data can comprise precharge and refresh.
Each of the plurality of processors is pre-assigned with at least one of the
partitioned blocks in the quantity of n as an exclusive area.
In order to achieve the above objects, another aspect of the present invention
features a method of sharing a memory among a plurality of processors and/or a
recorded medium recording a program for executing the method thereof.
The method of sharing a memory among a plurality of processors in a portable
terminal in accordance with an embodiment of the present invention can comprise the
acts of: (a) a first processor obtaining a privilege to access a common storage area; (b)
the first processor accessing the common storage area and reading or writing data; (c)
terminating the access to the common storage area, once transfer of privilege to access
the common storage area is received from the second processor; and (d) the second
processor accessing the common storage area and reading or writing data. A memory unit, having a plurality of ports to be individually coupled to the plurality of processors,
can have a storage area partitioned to blocks in a quantity of n, and at least one of the
partitioned blocks in the quantity of n can be assigned as a common storage area,
accessible by a processor having the access privilege, and the processor having the
access privilege can perform an operation of maintaining the data stored in the common
storage area.
The operation of maintaining data can comprise precharge and refresh.
The plurality of processors comprises a main processor and at least one
application processor, processing data written in a partitioned block in accordance with
a process instruction of the main processor.
The main processor and the application processor can be coupled to each other
via a host interface, which can be a serial interface. Pins for the serial interface can
comprise a first pin for sending and receiving a control command between the main
processor and the application processor, a second pin for checking a response signal or a
setting status between the main processor and the application processor, a third pin for
synchronization clock with serial data, a fourth pin for indicating a valid data
communication section, and a fifth pin for the application processor to request the main
processor for transfer or assignment of the access privilege.
In case the first processor is the main processor, in the step (a), the main
processor renews a predetermined register value in the application processor to a predetermined value, via the host interface, in order to request transfer or assignment of
the access privilege.
In case the first processor is the application processor, in the step (a), the
application processor transmits a predetermined signal to the main processor via the
host interface in order to request transfer or assignment of the access privilege.
The step (c) can comprise the acts of: the first processor being requested by the
second processor for transfer of access privilege; the first processor determining
whether reading or writing data is completed in the common storage area; the first
processor terminating the access to the common storage area, in case reading or writing
data is completed; and the first processor determining whether to immediately transfer
the access privilege in accordance with a predetermined priority or to transfer the access
privilege after completing a process, and executing a corresponding operation, in case
reading or writing data is not completed.
Each of the plurality of processors is pre-assigned with at least one of the
partitioned blocks in the quantity of n as an exclusive area.
[Description of Drawings]
FIG. 1 shows a block diagram of a conventional mobile communication
terminal having a camera function;
FIG. 2 shows a block diagram of an example of a conventional coupling structure between a main processor, an application processor and each memory;
FIG. 3 shows a block diagram of a coupling structure between a main
processor, an application processor and a memory unit, in accordance with an
embodiment of the present invention;
FIG. 4 shows the partitioned state of the storage area of the memory unit in
accordance with an embodiment of the present invention;
FIG. 5 shows a flow chart of a process for transferring a privilege to access a
common storage area in accordance with an embodiment of the present invention; and
FIG. 6 shows the basic structure of an SDRAM in accordance with an
embodiment of the present invention.
[Mode for Invention]
The above objects, features and advantages will become more apparent through
the below description with reference to the accompanying drawings.
Since there can be a variety of permutations and embodiments of the present
invention, certain embodiments will be illustrated and described with reference to the
accompanying drawings. This, however, is by no means to restrict the present invention
to certain embodiments, and shall be construed as including all permutations,
equivalents and substitutes covered by the spirit and scope of the present invention.
Throughout the drawings, similar elements are given similar reference numerals. Throughout the description of the present invention, when describing a certain
technology is determined to evade the point of the present invention, the pertinent
detailed description will be omitted.
Terms such as "first" and "second" can be used in describing various elements,
but the above elements shall not be restricted to the above terms. The above terms are
used only to distinguish one element from the other. For instance, the first element can
be named the second element, and vice versa, without departing the scope of claims of
the present invention. The term "and/or" shall include the combination of a plurality of
listed items or any of the plurality of listed items.
When one element is described as being "connected" or "accessed" to another
element, it shall be construed as being connected or accessed to the other element
directly but also as possibly having another element in between. On the other hand, if
one element is described as being "directly connected" or "directly accessed" to another
element, it shall be construed that there is no other element in between.
The terms used in the description are intended to describe certain embodiments
only, and shall by no means restrict the present invention. Unless clearly used otherwise,
expressions in the singular number include a plural meaning. In the present description,
an expression such as "comprising" or "consisting of is intended to designate a
characteristic, a number, a step, an operation, an element, a part or combinations thereof,
and shall not be construed to preclude any presence or possibility of one or more other characteristics, numbers, steps, operations, elements, parts or combinations thereof.
Unless otherwise defined, all terms, including technical terms and scientific
terms, used herein have the same meaning as how they are generally understood by
those of ordinary skill in the art to which the invention pertains. Any term that is
defined in a general dictionary shall be construed to have the same meaning in the
context of the relevant art, and, unless otherwise defined explicitly, shall not be
interpreted to have an idealistic or excessively formalistic meaning.
Hereinafter, preferred embodiments will be described in detail with reference
to the accompanying drawings. Identical or corresponding elements will be given the
same reference numerals, regardless of the figure number, and any redundant
description of the identical or corresponding elements will not be repeated.
Although it is evident that the method for sharing a memory in accordance with
the present invention can be equivalently applied to all types of digital processing
devices or systems (e.g. portable terminals and/or home digital appliances, such as the
mobile communication terminal, PDA, portable multimedia player (PMP), MP3 player,
digital camera, digital television, audio equipment, etc.), which has a plurality of
processors and in which a particular memory needs to be shared by a plurality of
processors, the portable terminal and two processors sharing a memory will be
described hereinafter for the convenience of description and understanding. Moreover, it
shall be easily understood through the below description that the present invention is not limited to a specific type of terminal or a memory having two ports but is applicable
equivalently to any terminal having a plurality of processors and a shared memory.
FIG. 3 is a block diagram showing a coupling structure between the main
processor, the application processor and the memory unit, in accordance with an
embodiment of the present invention, and FIG. 4 shows the partitioned state of the
storage area of the memory unit in accordance with an embodiment of the present
invention.
Referring to FIG. 3, the main processor 210 and the application processor 220
transmit and receive data through the host interface. The data communicated through
the host interface can include one or more of, for example, a process order, status
information, a control command, a response signal (Ack), a process completion
response and confirmation information of operation/setting status of another processor.
The main processor 210 and the memory unit 310 communicate data through
the MP-ME bus, and the application processor 220 and the memory unit 310
communicate data through the AP-ME bus. A bus refers to a common-purpose electric
pathway that is used to transmit information between the processor, the main memory
and the input/output in a device such as a computer.
The main processor 210 can be a processor that controls the general operation
of the portable terminal. Also, the application processor 220 can be a dedicated processor for processing the MPEG4, 3-D graphic, camera and MP3 file playback
functions. A peripheral device such as a display unit 250 can be coupled to the back of
the application process 220. The kind of data to be outputted through the display unit
250 can be controlled by the main processor 210 or the application processor 220.
The memory unit 310 is structured to be used by a plurality of processors
coupled to the memory unit 310, and must have the same number of access ports
corresponding to the number of processors equipped in the structure or sharing the
memory unit 310.
For example, in a structure of the memory unit 310 coupled to both the main
processor 210 and the application processor 220, as shown in FIGs. 3 and 4, the two
processors 210 and 220 use one memory unit 310, thereby necessitating the memory
unit 310 to have 2 access ports.
In other words, the two access ports are configured to be identified as a first
port 410 and a second port 420, having the first port and the second port connect to the
main processor 210 and the application processor 220, respectively. Each of the main
processor 210 and the application processor 220 can use an independent clock.
In FIG. 4, "Addr" refers to an address signal, "Data" a data signal, "Ctrl" a
control signal. The control signal can include Clock, Write Enable and Chip Select.
The storage area of the memory unit 310 can be partitioned to the number of
partitions corresponding to the number of processors coupled to the memory unit 310. This is to allow each processor to access each partition at the same time to write data.
For example, in case 2 processors are connected to the memory unit 310, and the
memory unit 310 can be partitioned to at least 2 blocks (i.e. a first storage area 440 and
a second storage area 460), each of the partitioned blocks can be assigned to be
dedicated for each processor. Therefore, it is possible that each processor accesses the
storage area, assigned to be dedicated for the processor, through the assigned port to
write/read the data.
Although the memory unit 310 can not be simultaneously accessed by a
plurality of processors 210 and 220, the memory unit 310 can be partitioned to further
comprise a common storage area 450 that can be accessed by each processor at different
times. In other words, the common storage area 450 can be individually accessed as
long as it is not assigned to be a dedicated block for a specific processor and it is not
simultaneously accessed. This is to maintain the temporal consistency of the data
consecutively by setting the process to complete one processor before starting the next
processor. Of course, the memory unit 310 can be partitioned to 3 or more storage
blocks even though only 2 processors are coupled to the memory unit 310.
The size of the partitioned block (i.e. the first storage area 440, the common
storage area 450 and the second storage area 460) of the memory unit 310 can be
configured to be predetermined by default, partitioned to a certain size by the main
processor 210 and/or the application processor 220 or varied whenever necessary (for example, when the data to be written is bigger than the writable area) by the main
processor 210 and/or the application processor 220.
In other words, the address information on the partitioned storage area of the
memory unit 310 can be set and managed by the main processor 210, and the address
information set by the main processor 210 is provided to and shared by the application
processor 220. Of course, the address information can also be set and managed by the
application processor 220, and, as necessary, one of the processors 210 or 220 can have
an address setting authority to supply the set address information to the other processor
220 or 210 to have the address information shared.
In this case, the information on the partitioned storage area of the memory unit
310 can be recognized by each processor when the portable terminal is booted.
The storage area can be partitioned in units of bank in case the memory is an
SDRAM. An SDRAM usually comprises an RAS address, a CAS address and a Bank
address, and it is common that there are 4 banks.
Since dividing the storage area of the memory unit 310 into a plurality of
partitioned blocks in units of internal blocks is most ideal, 2 banks, for example, can be
assigned to the first storage area 440, and the common storage area 450 and the second
storage area 460 can be assigned with one bank each.
As described above, since the common storage area 450 is restricted to be
accessed by the maximum of one processor only at any time, the main processor 210, or the application processor 220, must provide the other processor the information on the
access to the common storage area 450.
The memory unit 310 can comprise a memory control unit 430, which
performs address decoding and control functions to allow the shared memory to operate
according to the control signal received from the processor.
Below is the description, with reference to an example, of a method for
delivering access attempt/request or access status from one processor to the other
processor.
First, when the main processor 210 attempts to access the common storage area
450 of the memory unit 310, the main processor 210 must notify the attempt to the
application processor via the host interface. For this, the application processor 220 must
pre-comprise a register (P-reg) for writing the information corresponding to this
notification.
In other words, when the main processor 210 attempts to access the common
storage area 450, the main processor 210 renews the predetermined register value in the
application processor 220 to a predetermined first value (e.g. "1") via the host interface.
Then, if the application processor 220 is not accessed to the common storage area 450,
the main processor 210 attempts to access the common storage area 450. In this case,
since the main processor 210 has already notified that it would access the common
storage area 450, the application processor 220 does not attempt to access the common storage area 450 until the main processor 210 terminates its access to the common
storage area 450. After terminating the access to the common storage area 450, the main
processor 210 renews the pertinent register value to a predetermined second value (e.g.
"0").
There can be a problem, however, if the application processor 220 is already
accessed to the common storage area 450 when the main processor 210 renews the
pertinent register value to the first value. In this case, the application processor 220
determines whether to transfer the privilege to access the common storage area 450 after
the processing operation finishes the pertinent operation in accordance with the
predetermined priority information or to transfer the access privilege after simply
stopping the pertinent operation. The steps of transferring the access privilege by the
application processor 220 can be predetermined and are well known to those of ordinary
skill in the art, and thus the detailed description will not be provided here.
Next, when the application processor 220 attempts to access the common
storage area 450 of the memory unit 310, the main processor 210 must be notified of
this through the host interface. For this, an interrupt signal transmission pin can be
included in the pins for the host interface.
In other words, when the application processor 220 attempts to access the
common storage area 450, the application processor 220 transmits an interrupt signal to
the main processor 210 through the host interface. Then, if the main processor 210 is not accessed to the common storage area 450, the application processor 220 attempts to
access the common storage area 450. In this case, since the application processor 220
has already notified that it would access the common storage area 450, the main
processor 210 does not attempt to access the common storage area 450 until the
application processor 220 terminates its access to the common storage area 450. After
terminating the access to the common storage area 450, the application processor 220
transmits an access termination signal.
There can be a problem, however, if the main processor 210 is already
accessed to the common storage area 450 when the application processor 220 renews
the pertinent register value to the first value. In this case, the main processor 210
determines whether to transfer the privilege to access the common storage area 450 after
the processing operation finishes the pertinent operation in accordance with the
predetermined priority information or to transfer the access privilege after simply
stopping the pertinent operation. The steps of transferring the access privilege by the
main processor 210 can be predetermined and are well known to those of ordinary skill
in the art, and thus the detailed description will not be provided here.
In the case described so far, while one of the processors has requested the
access to the common storage area, the processor requesting the access has the priority
if the other processor is still not accessed to the common storage area 450. However, it
shall be evident that, while one of the processors has requested the access but has not attempted to make the access, the other processor attempting to carry out an operation
of higher priority can have the operation carried out first by transmitting an access stop
request to the processor that requested the access. In this case, the processor that
requested the access first stops access to the common storage area 450 until the
operation of higher priority is completed. The priority of operation can be
predetermined, and can be recognized by each processor or controlled by the main
processor 210. There also can be various other methods.
Below is a brief description of the pin structure for the host interface between
the main processor 210 and the application processor 220.
According to the memory sharing structure of the present invention, it is not
necessary that the main processor 210 and the application processor 220 directly
communicate data between each other. This is because transferring the privilege to
access the common storage area 450 would be enough. In other words, for the data to be
communicated between the main processor 210 and the application processor, the
processor that needs to deliver the data accesses the common storage area 450 and
writes the data before terminating the access. Then, the processor that needs to use the
stored data accesses the common storage area 450 and reads and processes the data.
However, it should be recognized by each processor that the data to be delivered is
stored in the common storage area 450.
Therefore, the number of pins used in the host interface for communicating information between the main processor 210 and the application processor 220 can be
minimized. To minimize the number of pins in the host interface, a serial interface can
be used.
The pins for the host interface are defined as follows:
[Table 1 ]
Figure imgf000024_0001
The main processor 210 can use the S_data_out signal to transmit a control
command (e.g. a control signal, process instruction, etc.) to the application processor
220. The application processor 220 can use the S_data_in signal to transmit a response
signal (e.g. Ack, process completion response, etc.) to the main processor 210 or to
check the operation/setting status of the main processor 210/application processor 220.
The S CLK signal can be used as the clock for synchronizing with serial data for serial
communication. The S enable signal can be used to indicate the section of communication by valid data for communication. The Interrupt signal can be used to
notify the main processor 210 at a point when, for example, the application processor
220 attempts to access the common storage area 450.
FIG. 5 is a flow chart for the steps of transferring the privilege to access the
common storage area in accordance with an embodiment of the present invention, and
FIG. 6 is the basic structure of an SDRAM in accordance with an embodiment of the
present invention.
In other words, FIG. 5 shows the steps of one of the processors accessing the
individually accessible common storage area 450 to carry out a necessary operation and
then transferring the access privilege to the other processor, if the main processor 210
and the application processor 220 are not accessing the common storage area 450
simultaneously.
Below are the steps of a first processor (i.e. one of the main processor 210 and
the application processor 220), accessed to the common storage area 450 first,
transferring the access privilege to a second processor (i.e. the other of the main
processor 210 and the application processor).
Referring to FIG. 5, in step 510, the first processor determines whether the
access to the common storage area 450, among the partitioned storage areas of the
memory unit 310, is completed. The first processor carries out the refresh operation until it accesses the
common storage area 450 in order for the data stored in the area not to be deleted.
Before the first processor access the common storage area 450, the first
processor must pre-determine whether the second processor is accessed to the common
storage area 450 already. Thus, the first processor accesses the common storage area
450 while the second processor is not accessed to the common storage area 450 or after
the second processor terminates its access to the common storage area 450.
In addition, the first processor must notify the second processor before the first
processor accesses the common storage area 450. If the first processor is the main
processor 210, the first processor will renew the register value, which is present in the
application processor 220, to a first value (e.g. "1") through the host interface. If the
first processor is the application processor, the first processor will send an interrupt
signal to the main processor 210 through the host interface. Through this, the second
processor can recognize that the first processor will access the common storage area 450.
In this case, if the second processor is already accessed to the common storage area 450,
it is determined whether to stop the current operation immediately and transfer the
access privilege in accordance with a predetermined priority or to stop the current
operation first and transfer the access privilege. For example, in case the main processor
210 is requested by the application processor 220 to transfer the access privilege (i.e. the
interrupt signal is received) while the main processor 210 is writing data to be immediately displayed through the display unit 250 in the common storage area 450, the
main processor 210 will complete the operation and then transfer the access privilege to
the application processor 220. However, in case the main processor 210 is requested by
the application processor 220 to transfer the access privilege while the main processor
210 is writing data to be later displayed through the display unit 250 in the common
storage area 450, the main processor 210 will be able to immediately stop the operation
and then transfer the access privilege. For example, in case the portable terminal is a
mobile communication terminal, the execution of telephone functionality can have the
highest priority.
In step 515, the first processor precharges and reads/writes data.
In general, an SDRAM has 4 independent banks. As shown in FIG. 6, each
bank is filled with cells, which are the units of storing data within the lattice, identified
by rows and columns. Each cell has capacitors 610 for charging data.
The corresponding row on the bank for data access is opened by an "activate"
command for writing and reading. After the activation requiring 2 to 4 cycles, the data
transmission begins by transmitting the read command or write command along with
the column address. After the transmission, the bank inactivates the opened row and is
precharged to prepare for the next "activate" command. The precharge command closes
the opened row. Although the present invention describes that the shared memory is an
SDRAM, it shall be evident that the present invention can be equivalently applied to a dynamic RAM (e.g. DDR-RAM, SLDRAM and RDRAM).
In step 520, the first processor determines whether the access privilege transfer
request is inputted by the second processor.
As described earlier, if the second processor is the main processor 210, the
second processor will renew the pre-assigned register value, which is present in the
application processor 220, to the first value (e.g. "1") through the host interface. If the
second processor is the application processor 220, the second processor will transmit the
interrupt signal to the main processor 210 via the host interface. The remaining steps are
identical to the steps described above.
If the access privilege transfer request is not inputted by the second processor,
the first processor periodically refreshes the access to the common storage area 450.
As described above, unit cells make up a lattice in an SDRAM, and each cell
has capacitors 610 for charging the data. For example, if the capacitor 610 is charged, it
can be made to be recognized as "1", while the capacitor 610 can be made to be
recognized as "0" if it is not charged. That is, after the row is designated, the SDRAM
accesses the value of the bits belonging to the row. As shown in FIG. 6, once a row is
designated, the CMOS gate becomes open, changing the status of each column
according to the quantity of electrical charge on the capacitor. And the value becomes
detected to show whether the data is sequentially high or low per bit.
Due to the nature of capacitor, however, the capacitor gets completely discharged if the read operation is continued while the capacitor is not charged, and as a
result the data gets deleted. Thus, the refresh operation is periodically performed to
prevent this. The memory standard prescribes that a memory module be refreshed every
64 milliseconds.
However, if the access privilege transfer request is inputted by the second
processor, step 530 is performed to have the first processor precharges the common
storage area 450 again before transferring the privilege to access the common storage
area 450 to the second processor. This is because there is a possibility of getting the data
deleted while transferring the access privilege since the refresh operation is periodically
carried out, although the deletion of data is prevented through the periodical refresh
operation in step 525.
In step 535, the first processor transfers the access privilege to the second
processor. As a result, the first processor terminates the access to the common storage
area 450, and the second processor can now access the common storage area 450.
The second processor, to which the access privilege is transferred from the first
processor, periodically performs the refresh operation on the common storage area 450
until it accesses the common storage area 450.
As described above, the present invention allows the processor, currently
accessed or having the access privilege, to maintain and manage the data stored in the
common storage area 450, which is accessible by a plurality of processors. In addition, the data transmission between processors is made possible through the use of the
common storage area, enabling a quick delivery of data.
Although the steps of maintaining the data written in the common storage area
450 have been described, anyone skilled in the art shall easily understand that the data
written in the first storage area 440 and the second storage area 460, assigned to be
exclusively used by each processor, can be individually maintained by the
corresponding processor.
Moreover, although the method of having one memory shared by one main
processor and one application processor has been described, it shall be evident to those
of ordinary skill in the art that the present invention can be equivalently applied to the
case of three or more processors sharing one memory.
The drawings and detailed description are only examples of the present
invention, serve only for describing the present invention and by no means limit or
restrict the spirit and scope of the present invention. Thus, any person of ordinary skill
in the art shall understand that a large number of permutations and other equivalent
embodiments are possible. The true scope of the present invention must be defined only
by the spirit of the appended claims.
[Industrial Applicability] As described above, the method and user terminal for controlling a shared
memory in accordance with the present invention can minimize the data transmission
time between processors, by partitioning the storage area of the shared memory into a
plurality of partitioned blocks and allowing the plurality of processors to access each
partitioned block.
The method and user terminal for controlling a shared memory of the present
invention can allow each processor to handle its dedicated process to optimize the
operation speed and efficiency of each processor by allowing partitioned storage areas
of the shared memory to be accessed by a plurality of processors.
The method and user terminal for controlling a shared memory of the present
invention can process data highly efficiently by eliminating the loss of time needed to
communicate the data, stored in a specific memory, between processors.
The method and user terminal for controlling a shared memory of the present
invention can minimize the number of pins for the connection between the main
processor and the application processor.
The method and user terminal for controlling a shared memory in accordance
with the present invention can easily maintain a data value stored in a common area
when a plurality of processors share one memory.

Claims

[CLAIMS]
[Claim 1 ]
A portable terminal, controlling the operation of a shared memory, the portable
terminal comprising:
a memory unit, the memory unit having at least two ports, the memory unit
having a storage area partitioned to blocks in a quantity of n, n being a natural number;
and
a plurality of processors, the processor writing or reading data by accessing a
partitioned block through an assigned port,
whereas at least one of the partitioned blocks in the quantity of n is assigned
as a common storage area, accessible by a processor having an access privilege among
the plurality of processors, and the access privilege is transferred between the plurality
of processors, and the processor having the access privilege performs an operation of
maintaining the data stored in the common storage area.
[Claim 2]
The portable terminal of Claim 1, wherein the plurality of processors
comprises:
a main processor; and at least one application processor, processing data written in a partitioned block
in accordance with a process instruction of the main processor,
whereas the main processor and the application processor are coupled to each
other via a host interface.
[Claim 3]
The portable terminal of Claim 3, wherein pins for the serial interface comprise
a first pin for sending and receiving a control command between the main processor and
the application processor, a second pin for checking a response signal or a setting status
between the main processor and the application processor, a third pin for
synchronization clock with serial data, a fourth pin for indicating a valid data
communication section, and a fifth pin for the application processor to request the main
processor for transfer or assignment of the access privilege.
[Claim 4]
The portable terminal of Claim 3, wherein pins for the serial interface comprise
a first pin for sending and receiving a control command between the main processor and
the application processor, a second pin for checking a response signal or a setting status
between the main processor and the application processor, a third pin for
synchronization clock with serial data, a fourth pin for indicating a valid data communication section, and a fifth pin for the application processor to request the main
processor for transfer or assignment of the access privilege.
[Claim 5]
The portable terminal of Claim 2, wherein the main processor renews a
predetermined register value in the application processor to a predetermined value, via
the host interface, in order to request transfer or assignment of the access privilege.
[Claim 6]
The portable terminal of Claim 1 , wherein, in case transfer of the access
privilege is requested by another processor, a processor that is already accessed to the
common storage area determines whether to immediately transfer the access privilege in
accordance with a predetermined priority or to transfer the access privilege after
completing a process.
[Claim 7]
The portable terminal of Claim 1, wherein the operation of maintaining data
comprises precharge and refresh.
[Claim 8] The portable terminal of Claim 1, wherein each of the plurality of processors is
pre-assigned with at least one of the partitioned blocks in the quantity of n as an
exclusive area.
[Claim 9]
A method of sharing a memory among a plurality of processors in a portable
terminal, the method comprising the acts of:
(a) a first processor obtaining a privilege to access a common storage area;
(b) the first processor accessing the common storage area and reading or
writing data;
(c) terminating the access to the common storage area, once transfer of
privilege to access the common storage area is received from the second processor; and
(d) the second processor accessing the common storage area and reading or
writing data,
whereas a memory unit, having a plurality of ports to be individually coupled
to the plurality of processors, has a storage area partitioned to blocks in a quantity of n,
and at least one of the partitioned blocks in the quantity of n is assigned as a common
storage area, accessible by a processor having the access privilege, and the processor
having the access privilege performs an operation of maintaining the data stored in the
common storage area.
[Claim 10]
The method of Claim 9, wherein the operation of maintaining data comprises
precharge and refresh.
[Claim 11 ]
The method of Claim 9, wherein the plurality of processors comprises:
a main processor; and
at least one application processor, processing data written in a partitioned block
in accordance with a process instruction of the main processor,
whereas the main processor and the application processor are coupled to each
other via a host interface.
[Claim 12]
The method of Claim 11, wherein the host interface is a serial interface.
[Claim 13]
The method of Claim 12, wherein pins for the serial interface comprise a first
pin for sending and receiving a control command between the main processor and the
application processor, a second pin for checking a response signal or a setting status between the main processor and the application processor, a third pin for
synchronization clock with serial data, a fourth pin for indicating a valid data
communication section, and a fifth pin for the application processor to request the main
processor for transfer or assignment of the access privilege.
[Claim 14]
The method of Claim 11, wherein, in case the first processor is the main
processor, in the step (a), the main processor renews a predetermined register value in
the application processor to a predetermined value, via the host interface, in order to
request transfer or assignment of the access privilege.
[Claim 15]
The method of Claim 11, wherein, in case the first processor is the application
processor, in the step (a), the application processor transmits a predetermined signal to
the main processor via the host interface in order to request transfer or assignment of the
access privilege.
[Claim 16]
The method of Claim 9, wherein the step (c) comprises the acts of:
the first processor being requested by the second processor for transfer of access privilege;
the first processor determining whether reading or writing data is completed in
the common storage area;
the first processor terminating the access to the common storage area, in case
reading or writing data is completed; and
the first processor determining whether to immediately transfer the access
privilege in accordance with a predetermined priority or to transfer the access privilege
after completing a process, and executing a corresponding operation, in case reading or
writing data is not completed.
[Claim 17]
The method of Claim 9, wherein each of the plurality of processors is
pre-assigned with at least one of the partitioned blocks in the quantity of n as an
exclusive area.
PCT/KR2006/003530 2005-10-06 2006-09-06 Operation control of shared memory WO2007040307A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/089,345 US8135919B2 (en) 2005-10-06 2006-09-06 Operation control of a shared memory partitioned into multiple storage areas

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020050093751A KR100634566B1 (en) 2005-10-06 2005-10-06 Method for controlling shared memory and user terminal for controlling operation of shared memory
KR10-2005-0093751 2005-10-06

Publications (1)

Publication Number Publication Date
WO2007040307A1 true WO2007040307A1 (en) 2007-04-12

Family

ID=37626323

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2006/003530 WO2007040307A1 (en) 2005-10-06 2006-09-06 Operation control of shared memory

Country Status (3)

Country Link
US (1) US8135919B2 (en)
KR (1) KR100634566B1 (en)
WO (1) WO2007040307A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827909A (en) * 2016-01-25 2016-08-03 维沃移动通信有限公司 Dual-camera quick start method and mobile terminal

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100745369B1 (en) 2005-12-22 2007-08-02 삼성전자주식회사 Multi-path accessible semiconductor memory device having port states signaling function
US8166238B2 (en) * 2007-10-23 2012-04-24 Samsung Electronics Co., Ltd. Method, device, and system for preventing refresh starvation in shared memory bank
US20110320730A1 (en) * 2010-06-23 2011-12-29 International Business Machines Corporation Non-blocking data move design
US20120144104A1 (en) * 2010-12-02 2012-06-07 Advanced Micro Devices, Inc. Partitioning of Memory Device for Multi-Client Computing System
KR102011137B1 (en) 2012-12-07 2019-08-14 삼성전자주식회사 Apparatus and circuit for processing data
US9684689B2 (en) * 2015-02-03 2017-06-20 Ca, Inc. Distributed parallel processing system having jobs processed by nodes based on authentication using unique identification of data
FR3035241B1 (en) * 2015-04-16 2017-12-22 Inside Secure METHOD OF SHARING A MEMORY BETWEEN AT LEAST TWO FUNCTIONAL ENTITIES
WO2018060769A1 (en) * 2016-09-28 2018-04-05 Nanolock Security Inc. Access control for integrated circuit devices

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996012286A1 (en) * 1994-10-14 1996-04-25 Micron Technology, Inc. Multi-port memory device with multiple sets of columns
KR20040061728A (en) * 2002-12-31 2004-07-07 주식회사 팬택앤큐리텔 Apparatus for holding memory in common in handset
KR20040106778A (en) * 2003-06-11 2004-12-18 엘지전자 주식회사 Device and the Method for sharing the memory of mobile phone with a couples of processor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297260A (en) * 1986-03-12 1994-03-22 Hitachi, Ltd. Processor having a plurality of CPUS with one CPU being normally connected to common bus
US6014705A (en) * 1991-10-01 2000-01-11 Intermec Ip Corp. Modular portable data processing terminal having a higher layer and lower layer partitioned communication protocol stack for use in a radio frequency communications network
US6965974B1 (en) * 1997-11-14 2005-11-15 Agere Systems Inc. Dynamic partitioning of memory banks among multiple agents
US6385704B1 (en) * 1997-11-14 2002-05-07 Cirrus Logic, Inc. Accessing shared memory using token bit held by default by a single processor
US6314501B1 (en) * 1998-07-23 2001-11-06 Unisys Corporation Computer system and method for operating multiple operating systems in different partitions of the computer system and for allowing the different partitions to communicate with one another through shared memory
JP3925602B2 (en) * 1999-06-14 2007-06-06 セイコーエプソン株式会社 Adhesive material attaching method and semiconductor device manufacturing method
US6965912B2 (en) * 1999-10-18 2005-11-15 4Yoursoul.Com Method and apparatus for distribution of greeting cards with electronic commerce transaction
US6912716B1 (en) * 1999-11-05 2005-06-28 Agere Systems Inc. Maximized data space in shared memory between processors
JP2002024084A (en) * 2000-07-12 2002-01-25 Mitsubishi Electric Corp Semiconductor integrated circuit device and electronic system
WO2003067445A1 (en) * 2002-02-06 2003-08-14 Koninklijke Philips Electronics N.V. Address space, bus system, memory controller and device system
KR100515059B1 (en) * 2003-07-22 2005-09-14 삼성전자주식회사 Multiprocessor system and method to maintain cache coherence therefor
US20050144401A1 (en) * 2003-12-30 2005-06-30 Pantalone Brett A. Multiprocessor mobile terminal with shared memory arbitration
DE102004009497B3 (en) * 2004-02-27 2005-06-30 Infineon Technologies Ag Chip integrated multi-processor system e.g. for communications system, with 2 processors each having input/output coupled to common tightly-coupled memory
KR100740635B1 (en) * 2005-12-26 2007-07-18 엠텍비젼 주식회사 Portable device and method for controlling shared memory in portable device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996012286A1 (en) * 1994-10-14 1996-04-25 Micron Technology, Inc. Multi-port memory device with multiple sets of columns
KR20040061728A (en) * 2002-12-31 2004-07-07 주식회사 팬택앤큐리텔 Apparatus for holding memory in common in handset
KR20040106778A (en) * 2003-06-11 2004-12-18 엘지전자 주식회사 Device and the Method for sharing the memory of mobile phone with a couples of processor

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105827909A (en) * 2016-01-25 2016-08-03 维沃移动通信有限公司 Dual-camera quick start method and mobile terminal

Also Published As

Publication number Publication date
US8135919B2 (en) 2012-03-13
US20080263286A1 (en) 2008-10-23
KR100634566B1 (en) 2006-10-16

Similar Documents

Publication Publication Date Title
US8051264B2 (en) Portable device and method for controlling shared memory in portable device
US8135919B2 (en) Operation control of a shared memory partitioned into multiple storage areas
US8725955B2 (en) Chip combined with processor cores and data processing method thereof
US20090254713A1 (en) Access control to partitioned blocks in shared memory
US20090254715A1 (en) Variable partitioned blocks in shared memory
US8200911B2 (en) Device having shared memory and method for controlling shared memory
US8145852B2 (en) Device having shared memory and method for providing access status information by shared memory
KR100728650B1 (en) Method and apparatus for sharing multi-partitioned memory through a plurality of routes
KR100746364B1 (en) Method and apparatus for sharing memory
KR100736902B1 (en) Method and apparatus for sharing memory by a plurality of processors
KR100731969B1 (en) Method and apparatus for sharing memory through a plurality of routes
WO2006109917A1 (en) Method and apparatus for allowing access to individual memory
US7814282B2 (en) Memory share by a plurality of processors
US20080222369A1 (en) Access Control Partitioned Blocks in Shared Memory
US20080005417A1 (en) Method for speedy delivery of data between processors and digital processing apparatus having shared memory
WO2007061225A1 (en) Method and apparatus for controlling display using shared memory
WO2007058453A1 (en) Memory sharing system and method thereof
KR100700040B1 (en) Device having shared memory and method for providing access status information by shared memory

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 12089345

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 06798669

Country of ref document: EP

Kind code of ref document: A1