Circuit and method for managing access to memory
First Claim
1. An interface circuit configured to manage operations for accessing a flash memory requested by a main processing unit and by an auxiliary processing unit, the interface circuit comprising:
- a first register block couplable to the main processing unit and configured to store requests for accessing the flash memory coming from the main processing unit;
a second register block couplable to the auxiliary processing unit and configured to store respective requests for accessing the flash memory coming from the auxiliary processing unit; and
a conflict management circuit coupled to the first register block and to the second register block for receiving requests for accessing the flash memory, the conflict management circuit comprising a support memory configured for storing programming and erase subroutines for the flash memory and a programmable controller coupled to the support memory and controllable for programming or erasing blocks of the flash memory by executing the programming or erase subroutine, wherein, associated with the access requests coming from the main processing unit, in at least one operating condition, a first access priority to the flash memory different from a second access priority to the flash memory associated with the access requests coming from the auxiliary processing unit, the conflict management circuit being configured for;
following a receipt of a first access request for accessing the flash memory by one of the main processing unit and the auxiliary processing unit, and in an absence of further requests for accessing the flash memory, command the access to the flash memory for the main processing unit or the auxiliary processing unit which has initiated the first access request;
following a receipt of a second access request for accessing the flash memory from the other of the main processing unit and the auxiliary processing unit, during the access to the flash memory of the main processing unit or the auxiliary processing unit which has initiated the first access request, compare an access priority associated with the first access request with an access priority associated with the second access request;
based on a result of the comparison, suspending one of the first access request or the second access request; and
authorizing the other of the first access request or the second access request.
1 Assignment
0 Petitions
Accused Products
Abstract
A circuit, for managing operations for accessing a flash memory on the basis of requests received from a main CPU and from an auxiliary CPU, may be configured to: associate with the main CPU, a higher access priority to the flash memory than the access priority of the auxiliary CPU; command, in the absence of further requests for accessing the flash memory, the access to the flash memory for the main or auxiliary CPU which has initiated a first access request; verify, following a receipt of a second access request, the access priority associated with this second access request; suspend one of the first or the second access request having lower priority; and authorize the other of the first or the second access request having higher priority.
6 Citations
24 Claims
-
1. An interface circuit configured to manage operations for accessing a flash memory requested by a main processing unit and by an auxiliary processing unit, the interface circuit comprising:
-
a first register block couplable to the main processing unit and configured to store requests for accessing the flash memory coming from the main processing unit; a second register block couplable to the auxiliary processing unit and configured to store respective requests for accessing the flash memory coming from the auxiliary processing unit; and a conflict management circuit coupled to the first register block and to the second register block for receiving requests for accessing the flash memory, the conflict management circuit comprising a support memory configured for storing programming and erase subroutines for the flash memory and a programmable controller coupled to the support memory and controllable for programming or erasing blocks of the flash memory by executing the programming or erase subroutine, wherein, associated with the access requests coming from the main processing unit, in at least one operating condition, a first access priority to the flash memory different from a second access priority to the flash memory associated with the access requests coming from the auxiliary processing unit, the conflict management circuit being configured for; following a receipt of a first access request for accessing the flash memory by one of the main processing unit and the auxiliary processing unit, and in an absence of further requests for accessing the flash memory, command the access to the flash memory for the main processing unit or the auxiliary processing unit which has initiated the first access request; following a receipt of a second access request for accessing the flash memory from the other of the main processing unit and the auxiliary processing unit, during the access to the flash memory of the main processing unit or the auxiliary processing unit which has initiated the first access request, compare an access priority associated with the first access request with an access priority associated with the second access request; based on a result of the comparison, suspending one of the first access request or the second access request; and authorizing the other of the first access request or the second access request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for managing operations for accessing a flash memory on the basis of requests received from a main processing unit and from an auxiliary processing unit, the method comprising:
-
storing, in a first register block, requests for accessing the flash memory coming from the main processing unit; storing, in a second register block, requests for accessing the flash memory coming from the auxiliary processing unit; associating, with access requests coming from the main processing unit, a first access priority to the flash memory; associating, with access requests coming from the auxiliary processing unit, a second access priority to the flash memory, the first access priority being different from the second access priority; commanding, following a receipt of a first access request for accessing the flash memory from one of the main and auxiliary processing unit and in an absence of further requests for accessing the flash memory, the access to the flash memory of the main or auxiliary processing unit which has initiated the first access request; comparing, following a receipt of a second access request for accessing the flash memory from the other of the main and auxiliary processing unit during the access to the flash memory of the main or auxiliary processing unit which has initiated the first access request, the access priority associated with the first access request with the access priority associated with the second access request; suspending, based on a result of the comparison, one of the first access request or the second access request; authorizing the other of the first access request or the second access request; storing, in a support memory, subroutines for programming and erasing the flash memory; and programming or erasing blocks of the flash memory by executing the programming or erase subroutine by a controller coupled to the support memory. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for managing operations for accessing a flash memory on the basis of requests received from a main processing unit and from an auxiliary processing unit, the method comprising:
-
storing, in a first register block, requests for accessing the flash memory coming from the main processing unit; storing, in a second register block, requests for accessing the flash memory coming from the auxiliary processing unit; associating, with access requests coming from the main processing unit, a first access priority to the flash memory; associating, with access requests coming from the auxiliary processing unit, a second access priority to the flash memory, the first access priority being different from the second access priority; commanding, following a receipt of a first access request for accessing the flash memory from one of the main and auxiliary processing unit and in an absence of further requests for accessing the flash memory, the access to the flash memory of the main or auxiliary processing unit which has initiated the first access request; comparing, following a receipt of a second access request for accessing the flash memory from the other of the main and auxiliary processing unit during the access to the flash memory of the main or auxiliary processing unit which has initiated the first access request, the access priority associated with the first access request with the access priority associated with the second access request; suspending, based on a result of the comparison, one of the first access request or the second access request; authorizing the other of the first access request or the second access request; storing, when the first access request is suspended, a first address of a support memory associated with a programming or erase subroutine executed by a controller upon a request from the main processing unit or the auxiliary processing unit which generated the first access request; storing, when the first access request is suspended, a third address of the support memory which contains a respective address to the block of the flash memory corresponding to which one of a programming or erase operation is being executed, requested by the main processing unit or the auxiliary processing unit which generated the first access request; storing, when the second access request is suspended, a second address of the support memory associated with the programming or erase subroutine executed by the controller upon a request from the main processing unit or the auxiliary processing unit which generated the second access request; storing, when the second access request is suspended, a fourth address of the support memory which contains a respective address to the block of the flash memory corresponding to which one of a programming or erase operation is being executed, requested by the main processing unit or the auxiliary processing unit which generated the second access request; and suspending and resuming the programming or erase subroutine using the first address, the second address, the third address, and the fourth address of the support memory. - View Dependent Claims (18, 19, 20, 21, 22)
-
-
23. An interface circuit configured to manage operations for accessing a flash memory requested by a main processing unit and by an auxiliary processing unit, the interface circuit comprising:
-
a first register block couplable to the main processing unit and configured to store requests for accessing the flash memory coming from the main processing unit; a second register block couplable to the auxiliary processing unit and configured to store respective requests for accessing the flash memory coming from the auxiliary processing unit; a conflict management circuit coupled to the first register block and to the second register block, wherein the conflict management circuit comprises; a support memory configured for storing programming and erase subroutines for the flash memory; and a controller coupled to the support memory and controllable for programming or erasing blocks of the flash memory by executing a programming or erase subroutine. - View Dependent Claims (24)
-
Specification