IP Library Granted Patent US 12,468,646
Granted Patent B2
US 12,468,646 · App. 18/425,977 · Granted Nov 11, 2025

Device and method for sharing resource via bus

Inventor: Dongsik Cho (Hwaseong-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06F13/362G06F1/14
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,468,646
App. No.
18/425,977
Granted
Nov 11, 2025
Kind
B2
Abstract

The device described herein, which provides an interface between a plurality of master devices and a slave device, includes: a first timer configured to begin timing when a first access request is received from a first master device via a bus, and to be reset when a semaphore is allocated to the first master device; a second timer configured to begin timing when a second access request is received from a second master device via the bus, and to be reset when a semaphore is allocated to the second master device; and a controller configured to provide a first message to the first master device via the bus when a first expiration interval is measured by the first timer.

Claims (39)

1 . A system comprising:

a bus;

a resource sharing interface connected to the bus;

a slave connected to the resource sharing interface; and

a plurality of masters each configured to transmit a request for accessing the slave to the resource sharing interface through the bus,

wherein the resource sharing interface is configured to measure a first time from when a first request is received from a first master of the plurality of masters, to identify a first throttle interval corresponding to the first master, and to allocate a semaphore to the first master based on at least one of the first time and the first throttle interval.

2 . The system of claim 1 , wherein the resource sharing interface is further configured to measure a second time from when a second request is received from a second master of the plurality of masters, and to allocate the semaphore to one of the first master and the second master based on the first time and the second time.

3 . The system of claim 2 , wherein the resource sharing interface is further configured to identify the first throttle interval and a second throttle interval corresponding to the first and second masters, respectively.

4 . The system of claim 3 , wherein the resource sharing interface is further configured to allocate the semaphore to the first master when the first time reaches the first throttle interval and the second time does not reach the second throttle interval.

5 . The system of claim 3 , wherein the resource sharing interface is further configured to allocate the semaphore to the first master when a first elapsed time after the first throttle interval is longer than a second elapsed time after the second throttle interval.

6 . The system of claim 3 , wherein the resource sharing interface is further configured to allocate the semaphore to the first master when a first remaining time from the first time to the first throttle interval is less than a second remaining time from the second time to the second throttle interval.

7 . The system of claim 3 , wherein the resource sharing interface is further configured to provide a message to the first master when the first time reaches the first throttle interval, wherein the first master is configured to be interrupted in response to the message.

8 . The system of claim 1 , wherein the resource sharing interface is further configured to identify a first expiration interval corresponding to the first master, and to terminate processing the first request when the first time reaches the first expiration interval.

9 . The system of claim 8 , wherein the resource sharing interface is further configured to provide a message indicating a failure of allocating the semaphore to the first master when the first time reaches the first expiration interval.

10 . A method for providing an interface between a plurality of masters and a slave, the method comprising:

receiving a first request for accessing the slave from a first master of the plurality of masters through a bus;

receiving a second request for accessing the slave from a second master of the plurality of masters through the bus; measuring a first time from when the first request is received;

measuring a second time from when the second request is received;

identifying a first throttle interval corresponding to the first master;

identifying a second throttle interval corresponding to the second master; and

allocating a semaphore to one of the first master and the second master based on at least one of the first time, the first throttle interval, the second time, and the second throttle interval.

11 . The method of claim 10 , wherein the allocating the semaphore comprises allocating the semaphore to the first master when the first time reaches the first throttle interval and the second time does not reach the second throttle interval.

12 . The method of claim 10 , wherein the allocating the semaphore comprises allocating the semaphore to the first master when the first time reaches the first throttle interval before the second time reaches the second throttle interval.

13 . The method of claim 10 , wherein the allocating the semaphore comprises allocating the semaphore to the first master when a first remaining time from the first time to the first throttle interval is less than a second remaining time from the second time to the second throttle interval.

14 . The method of claim 10 , further comprising providing a message to the first master when the first time reaches the first throttle interval, wherein the message causes the first master to be interrupted.

15 . The method of claim 10 , further comprising:

identifying a first expiration interval corresponding to the first master; and

terminating processing the first request when the first time reaches the first expiration interval.

16 . The method of claim 15 , further comprising providing a message indicating a failure of allocating the semaphore to the first master when the first time reaches the first expiration interval.

17 . A system comprising:

a bus;

a resource sharing interface connected to the bus;

a slave connected to the resource sharing interface; and

a plurality of masters each configured to transmit a request for accessing the slave to the resource sharing interface through the bus,

wherein the resource sharing interface is configured to identify a first expiration interval corresponding to a first master of the plurality of masters, and to measure a first time from when a first request is received from the first master, and

wherein the resource sharing interface is further configured to provide a first message indicating a failure of allocating the semaphore to the first master when the first time reaches the first expiration interval,

wherein the resource sharing interface is further configured to identify a first throttle interval corresponding to the first master, and to provide a second message to the first master when the first time reaches the first throttle interval, and

wherein the first master is configured to be interrupted in response to the second message.

18 . The system of claim 17 , wherein the resource sharing interface is further configured to identify a second expiration interval corresponding to a second master of the plurality of masters, and wherein the second expiration interval is different from the first expiration interval.

Priority Claims (1)
KR 10-2021-0040543 · Mar 29, 2021 · national
Continuity (2)
Continuation 17579882 · Jan 20, 2022
Related Publication 20240168900A1 · May 23, 2024
References Cited (64)
US 3999170A · Lyman · 1976 [cited by examiner]
US 4987529A · Craft et al. · 1991 [cited by applicant]
US 5179669A · Peters · 1993 [cited by examiner]
US 5287486A · Yamasaki et al. · 1994 [cited by applicant]
US 5301329A · Frame et al. · 1994 [cited by applicant]
US 5369751A · Kambayashi · 1994 [cited by examiner]
US 5392436A · Jansen · 1995 [cited by examiner]
US 5440698A · Sindhu · 1995 [cited by examiner]
US 5572686A · Nunziata et al. · 1996 [cited by applicant]
US 5574849A · Sonnier · 1996 [cited by examiner]
US 5754887A · Damron et al. · 1998 [cited by applicant]
US 5764931A · Schmahl et al. · 1998 [cited by applicant]
US 5894562A · Moyer · 1999 [cited by applicant]
US 5907688A · Hauck et al. · 1999 [cited by applicant]
US 5943483A · Solomon · 1999 [cited by examiner]
US 5956493A · Hewitt et al. · 1999 [cited by applicant]
US 6098117A · Foote · 2000 [cited by examiner]
US 6105094A · Lindeman · 2000 [cited by examiner]
US 6108735A · Pawlowski · 2000 [cited by applicant]
US 6115799A · Ogawa · 2000 [cited by applicant]
US 6157978A · Ng et al. · 2000 [cited by applicant]
US 6178475B1 · O'Brien · 2001 [cited by applicant]
US 6212589B1 · Hayek et al. · 2001 [cited by applicant]
US 6301642B1 · Jones · 2001 [cited by examiner]
US 6708240B1 · Willke, II · 2004 [cited by examiner]
US 7062582B1 · Chowdhuri · 2006 [cited by applicant]
US 7159220B2 · Buch · 2007 [cited by examiner]
US 8307031B1 · Grieve · 2012 [cited by examiner]
US 8751715B1 · Shubel · 2014 [cited by applicant]
US 9940278B2 · Cho et al. · 2018 [cited by applicant]
US 10339085B2 · Cho · 2019 [cited by applicant]
US 10862704B2 · Sai et al. · 2020 [cited by applicant]
US 11914536B2 · Cho · 2024 [cited by examiner]
US 20020013915A1 · Migita et al. · 2002 [cited by applicant]
US 20020073259A1 · Grisenthwaite · 2002 [cited by applicant]
US 20020116438A1 · Tu et al. · 2002 [cited by applicant]
US 20020133530A1 · Koning · 2002 [cited by examiner]
US 20030005195A1 · Davis · 2003 [cited by examiner]
US 20030135537A1 · Mikael et al. · 2003 [cited by applicant]
US 20030177296A1 · Kurth · 2003 [cited by examiner]
US 20030191880A1 · Lin · 2003 [cited by applicant]
US 20030223453A1 · Stoler et al. · 2003 [cited by applicant]
US 20040117755A1 · Blodget · 2004 [cited by examiner]
US 20040193822A1 · Kareenahalli · 2004 [cited by examiner]
US 20040203773A1 · Balasubramanian · 2004 [cited by examiner]
US 20070038792A1 · Shin · 2007 [cited by examiner]
US 20070112986A1 · Chang · 2007 [cited by examiner]
US 20070118843A1 · Seelig · 2007 [cited by examiner]
US 20070121494A1 · Kobayashi · 2007 [cited by examiner]
US 20080089361A1 · Metcalf et al. · 2008 [cited by applicant]
US 20080288692A1 · Mine · 2008 [cited by examiner]
US 20090172675A1 · Grossman · 2009 [cited by examiner]
US 20110131348A1 · Onozuka · 2011 [cited by examiner]
US 20120331282A1 · Yurzola · 2012 [cited by examiner]
US 20130297837A1 · Satta · 2013 [cited by examiner]
US 20150323956A1 · Goyal · 2015 [cited by examiner]
US 20160328436A1 · Govind · 2016 [cited by examiner]
US 20180004455A1 · Kim · 2018 [cited by examiner]
US 20220291976A1 · Goel et al. · 2022 [cited by applicant]
US 20220309015A1 · Cho · 2022 [cited by applicant]
US 20240049341A1 · Agiwal · 2024 [cited by examiner]
JP 2972491 · 1999 [cited by applicant]
JP 4022719 · 2007 [cited by applicant]
JP 2011065359 · 2011 [cited by applicant]