本發(fā)明有關(guān)于一種記憶裝置,特別是有關(guān)于一種可在內(nèi)部的邏輯電路停止運(yùn)作時(shí)重置邏輯電路的記憶裝置。
背景技術(shù):
一般的電子裝置具有一重置開關(guān),用以重置電子裝置的操作系統(tǒng)。當(dāng)電子裝置發(fā)生當(dāng)機(jī)時(shí),用戶可按下重置開關(guān)使電子裝置重新啟動,以恢復(fù)正常運(yùn)作。然而,由于電子裝置里的記憶裝置可能正在進(jìn)行寫入操作或讀取操作,因此,當(dāng)使用者按下重置開關(guān)時(shí),很有可能造成數(shù)據(jù)的流失。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種記憶裝置,包括一處理器、一控制器以及一開關(guān)。處理器用以控制一邏輯電路的操作,并在一主重置信號被致能時(shí),根據(jù)邏輯電路的操作狀態(tài)產(chǎn)生一次重置信號??刂破鞲鶕?jù)主重置信號以及次重置信號產(chǎn)生一屏蔽信號。當(dāng)屏蔽信號被致能時(shí),開關(guān)不傳送主重置信號予邏輯電路。當(dāng)屏蔽信號未被致能時(shí),開關(guān)傳送主重置信號予邏輯電路,用以重置邏輯電路。
本發(fā)明另提供一種重置方法,用以重置一記憶裝置里的一邏輯電路。本發(fā)明的重置方法包括,根據(jù)一主重置信號調(diào)整一計(jì)數(shù)值,并令邏輯電路在完成一工作后便停止運(yùn)作,其中該工作系為邏輯電路正在進(jìn)行的工作;判斷該邏輯電路是否停止運(yùn)作;當(dāng)該邏輯電路未停止運(yùn)作時(shí),重置該計(jì)數(shù)值,并重新調(diào)整該計(jì)數(shù)值;判斷該計(jì)數(shù)值是否等于一默認(rèn)值;以及當(dāng)該計(jì)數(shù)值等于該默認(rèn)值時(shí),重置該邏輯電路。
為讓本發(fā)明的特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉出較佳實(shí)施例,并配合附圖,作詳細(xì)說明如下:
附圖說明
圖1a及1b為本發(fā)明的記憶裝置的示意圖。
圖2為圖1b的記憶裝置的控制時(shí)序圖。
圖3為本發(fā)明的重置方法的流程示意圖。
符號說明
100a、100b:記憶裝置;110a、110b:開關(guān);
120a、120b:處理器;130a、130b:邏輯電路;
140a、140b:控制器;141a、141b:計(jì)數(shù)器;
150:檢測器;151:低通濾波器;
210、220、230、240:期間;s-m:屏蔽信號;
hw_rstn:主重置信號;sc:控制信號;
ssr:次重置信號;sn:通知信號;
out150、out110b:輸出信號;val:計(jì)數(shù)值;
t1、t2:時(shí)間點(diǎn);s311~s315:步驟。
具體實(shí)施方式
圖1a為本發(fā)明的記憶裝置的示意圖。如圖所示,記憶裝置100a包括一開關(guān)110a、一處理器120a、一邏輯電路130a以及一控制器140a。開關(guān)110a根據(jù)一屏蔽信號s-m決定是否傳送一主重置信號hw_rstn予處理器120a與邏輯電路130a。在一可能實(shí)施例中,當(dāng)屏蔽信號s-m被致能時(shí),開關(guān)110a不傳送主重置信號hw_rstn予處理器120a與邏輯電路130a。當(dāng)屏蔽信號s-m未被致能時(shí),開關(guān)110a傳送主重置信號hw_rstn予處理器120a及邏輯電路130a。
在一可能實(shí)施例中,開關(guān)110a系根據(jù)屏蔽信號s-m的電位傳送主重置信號hw_rstn。舉例而言,當(dāng)屏蔽信號s-m為高電位時(shí),表示屏蔽信號s-m被致能。因此,開關(guān)110a不傳送主重置信號hw_rstn。當(dāng)屏蔽信號s-m為低電位時(shí),表示屏蔽信號s-m不被致能。因此,開關(guān)110a傳送主重置信號hw_rstn。在其它實(shí)施例中,當(dāng)屏蔽信號s-m為低電位時(shí),表示屏蔽信號s-m被致能。因此,開關(guān)110a不傳送主重置信號hw_rstn。當(dāng)屏蔽信號s-m為高電位時(shí),表示屏蔽信號s-m不被致能。因此,開關(guān)110a傳送主重置信號hw_rstn。
處理器120a用以控制邏輯電路130a的操作。在一可能實(shí)施例中,處理器120a透過邏輯電路130a將一外部數(shù)據(jù)寫入一內(nèi)存(未顯示)中。在一可能實(shí)施例中,內(nèi)存至少包括一只讀存儲器(rom)以及一隨機(jī)存取內(nèi)存(ram)。在另一可能實(shí)施例中,處理器120a透過邏輯電路130a讀取內(nèi)存所儲存的數(shù)據(jù),并將讀取數(shù)據(jù)提供予一外部裝置(未顯示)。在一可能實(shí)施例中,該外部裝置系獨(dú)立在記憶裝置100a之外。
在本實(shí)施例中,當(dāng)開關(guān)110a輸出主重置信號hw_rstn,并且主重置信號hw_rstn被致能時(shí),處理器120a根據(jù)邏輯電路130a的操作狀態(tài)產(chǎn)生一次重置信號ssr。舉例而言,當(dāng)主重置信號hw_rstn被致能時(shí),處理器120a發(fā)出一控制信號sc,用以命令邏輯電路130a完成目前正在執(zhí)行的工作,如一寫入操作或是一讀取操作。邏輯電路130a在接收到控制信號sc后,先完成正在進(jìn)行的工作,然后停止運(yùn)作。
在一可能實(shí)施例中,處理器120a在發(fā)出控制信號sc后,每隔一固定時(shí)間便檢測邏輯電路130a是否已停止運(yùn)作。若邏輯電路130a尚未停止運(yùn)作,則處理器120a致能次重置信號ssr。若邏輯電路130a已停止運(yùn)作,處理器120a不致能次重置信號ssr。在一可能實(shí)施例中,當(dāng)次重置信號ssr為高電位時(shí),表示次重置信號ssr被致能。相反地,當(dāng)次重置信號ssr為低電位時(shí),表示重置信號ssr不被致能。在另一可能實(shí)施例中,當(dāng)次重置信號ssr為低電位時(shí),表示次重置信號ssr被致能,當(dāng)次重置信號ssr為高電位時(shí),表示次重置信號ssr不被致能。
在其它實(shí)施例中,次重置信號ssr維持在一固定電位,如高電位或低電位。當(dāng)處理器120a致能次重置信號ssr時(shí),次重置信號ssr的電位會有短暫的變化,因而使得次重置信號ssr具有至少一正脈沖(positivepulse)或是至少一負(fù)脈沖(negativepulse)。在此例中,脈沖的數(shù)量等于處理器120a致能次重置信號ssr的次數(shù)。
本發(fā)明并不限定處理器120a如何得知主重置信號hw_rstn已被致能。在本實(shí)施例中,處理器120a系根據(jù)控制器140a所產(chǎn)生的通知信號sn,得知主重置信號hw_rstn是否已被致能。在另一可能實(shí)施例中,處理器120a直接接收主重置信號hw_rstn,用以判斷主重置信號hw_rstn是否被致能。
本發(fā)明并不限定主重置信號hw_rstn被致能時(shí)的電位。在一可能實(shí)施例中,當(dāng)主重置信號hw_rstn被致能時(shí),主重置信號hw_rstn為高電位。當(dāng)主重置信號hw_rstn不被致能時(shí),主重置信號hw_rstn為低電位時(shí)。在另一可能實(shí)施例中,當(dāng)主重置信號hw_rstn被致能,主重置信號hw_rstn為低電位。當(dāng)主重置信號hw_rstn不被致能時(shí),主重置信號hw_rstn為高電位。在一些實(shí)施例中,主重置信號hw_rstn被致能時(shí)的電位可能等于或不等于次重置信號ssr被致能時(shí)的電位。在其它實(shí)施例中,主重置信號hw_rstn被致能時(shí)的電位可能等于或不等于屏蔽信號sm被致能時(shí)的電位。
控制器140a根據(jù)主重置信號hw_rstn以及次重置信號ssr產(chǎn)生一屏蔽信號sm。舉例而言,當(dāng)次重置信號ssr被致能時(shí),表示邏輯電路130a正在運(yùn)作。由于邏輯電路130a的部分操作是不能夠被中斷,如果直接重置邏輯電路130a,很有可能造成部分組件發(fā)生故障。因此,當(dāng)主重置信號hw_rstn被致能時(shí),控制器140a判斷次重置信號ssr是否被致能。若次重置信號ssr被致能,控制器140a致能屏蔽信號sm,用以不導(dǎo)通開關(guān)110a,使得開關(guān)110a不傳送主重置信號hw_rstn予處理器120a與邏輯電路130a。
然而,當(dāng)次重置信號ssr不被致能時(shí),表示邏輯電路130a已停止運(yùn)作。因此,控制器140a不致能屏蔽信號sm,用以導(dǎo)通開關(guān)110a。此時(shí),開關(guān)110a傳送主重置信號hw_rstn予處理器120a與邏輯電路130a。處理器120a與邏輯電路130a根據(jù)主重置信號hw_rstn進(jìn)行一重置動作。在一可能實(shí)施例中,處理器120a具有一邏輯重置電路(logicresetroot)。邏輯重置電路根據(jù)主重置信號hw_rstn重置處理器120a以及邏輯電路130a。
本發(fā)明并不限定控制器140a的內(nèi)部架構(gòu)。在一可能實(shí)施例中,控制器140a為一計(jì)數(shù)器(counter)141a。計(jì)數(shù)器141a可能是一上數(shù)計(jì)數(shù)器(upcounter)或是一下數(shù)計(jì)數(shù)器(downcounter)。當(dāng)主重置信號hw_rstn被致能時(shí),如果次重置信號ssr未被致能,計(jì)數(shù)器141a逐漸調(diào)整一計(jì)數(shù)值。如果次重置信號ssr被致能時(shí),表示邏輯電路130a尚未停止動作,因此,計(jì)數(shù)器141a的計(jì)數(shù)值會被重置成一初始值,故藉由計(jì)數(shù)器141a的計(jì)數(shù)值可得知邏輯電路130a是否已停止動作。
當(dāng)計(jì)數(shù)器141a的計(jì)數(shù)值不等于一默認(rèn)值時(shí),表示邏輯電路130a尚未停止動作,因此計(jì)數(shù)器141a致能屏蔽信號sm,用以不導(dǎo)通開關(guān)110a。此時(shí),開關(guān)110a不傳送主重置信號hw_rstn予處理器120a與邏輯電路130a。然而,當(dāng)計(jì)數(shù)器141a的計(jì)數(shù)值等于默認(rèn)值時(shí),表示邏輯電路130a已完全停止動作,因此,計(jì)數(shù)器141a不致能屏蔽信號sm,用以導(dǎo)通開關(guān)110a。此時(shí),開關(guān)110a傳送主重置信號hw_rstn予處理器120a與邏輯電路130a。當(dāng)處理器120a與邏輯電路130a接收到主重置信號hw_rstn時(shí),處理器120a與邏輯電路130a分別進(jìn)行一重置操作,用以初始化處理器120a與邏輯電路130a內(nèi)部的緩存器。
本發(fā)明并不限定計(jì)數(shù)器141a如何調(diào)整計(jì)數(shù)值。舉例而言,當(dāng)計(jì)數(shù)器141a為一上數(shù)計(jì)數(shù)器時(shí),計(jì)數(shù)器141a系逐漸增加計(jì)數(shù)值。當(dāng)計(jì)數(shù)器141a為一下數(shù)計(jì)數(shù)器時(shí),計(jì)數(shù)器141a逐漸減少計(jì)數(shù)值。
圖1b為本發(fā)明的記憶裝置的另一示意圖。圖1b相似圖1a,不同之處在于,圖1b的記憶裝置100b多了一檢測器150。檢測器150接收主重置信號hw_rstn,用以判斷主重置信號hw_rstn被致能的時(shí)間是否小于一預(yù)設(shè)時(shí)間。舉例而言,當(dāng)主重置信號hw_rstn被致能的時(shí)間小于預(yù)設(shè)時(shí)間時(shí),表示主重置信號hw_rstn可能受到噪聲的干擾。因此,檢測器150不輸出主重置信號hw_rstn予開關(guān)110b及控制器140b。此時(shí),開關(guān)110b及控制器140b暫不運(yùn)作。
然而,當(dāng)主重置信號hw_rstn被致能的時(shí)間不小于預(yù)設(shè)時(shí)間時(shí),檢測器150輸出主重置信號hw_rstn予開關(guān)110b及控制器140b。此時(shí),控制器140b根據(jù)處理器120b所產(chǎn)生的次重置信號ssr決定是否導(dǎo)通開關(guān)110b。由于開關(guān)110b、控制器140b、處理器120b與邏輯電路130b的動作原理與圖1a的開關(guān)110a、控制器140a、處理器120a與邏輯電路130a的動作原理相同,故不再贅述。本發(fā)明并不限定檢測器150的電路架構(gòu)。只要能夠檢測主重置信號hw_rstn被致能的時(shí)間的電路,均可作為檢測器150。在一可能實(shí)施例中,檢測器150為一低通濾波器151。
圖2為圖1b的記憶裝置的控制時(shí)序圖。符號out150表示檢測器150的輸出信號。符號out110b表示開關(guān)110b的輸出信號。符號val表示計(jì)數(shù)器141b的計(jì)數(shù)值。為方便說明,假設(shè)計(jì)數(shù)器141b為一上數(shù)計(jì)數(shù)器。
在期間210,主重置信號hw_rstn為低電位,表示主重置信號hw_rstn被致能。然而,由于主重置信號hw_rstn被致能的時(shí)間未達(dá)一預(yù)設(shè)時(shí)間,因此,檢測器150不輸出主重置信號hw_rstn。在本實(shí)施例中,檢測器150的輸出信號維持在高電位,但并非用以限制本發(fā)明。在其它實(shí)施例中,當(dāng)主重置信號hw_rstn被致能時(shí)的電位為高電位時(shí),則在主重置信號hw_rstn被致能的時(shí)間小于預(yù)設(shè)時(shí)間或是在主重置信號hw_rstn未被致能時(shí),檢測器150的輸出信號維持在低電位。
在期間220,主重置信號hw_rstn為低電位,表示主重置信號hw_rstn被致能。由于主重置信號hw_rstn被致能的時(shí)間達(dá)預(yù)設(shè)時(shí)間,因此,在時(shí)間點(diǎn)t1,檢測器150輸出主重置信號hw_rstn。如圖所示,在時(shí)間點(diǎn)t1,檢測器150的輸出信號由高電位變化至低電位。此時(shí),由于檢測器150輸出主重置信號hw_rstn,并且主重置信號hw_rstn被致能,因此,計(jì)數(shù)器141b開始計(jì)數(shù)。在本實(shí)施例中,計(jì)數(shù)器141b的計(jì)數(shù)值從0開始逐漸增加。由于計(jì)數(shù)器141b的計(jì)數(shù)值未達(dá)一默認(rèn)值(如8),因此,在時(shí)間點(diǎn)t1,計(jì)數(shù)器141b致能屏蔽信號sm,使得屏蔽信號sm為高電位。由于屏蔽信號sm被致能,故開關(guān)110b不傳送主重置信號hw_rstn。
在期間230與240,處理器120b判斷邏輯電路130b是否停止運(yùn)作。由于邏輯電路130b尚未停止運(yùn)作,因此,處理器120b致能次重置信號ssr。在本實(shí)施例中,次重置信號ssr維持在低電位。當(dāng)處理器120b致能次重置信號ssr時(shí),次重置信號ssr具有一正脈沖。由于處理器120b致能次重置信號ssr兩次,故次重置信號ssr具有兩正脈沖。當(dāng)次重置信號ssr具有正脈沖時(shí),計(jì)數(shù)器141b的計(jì)數(shù)值被重置為0,并重新增加計(jì)數(shù)值。
在時(shí)間點(diǎn)t2,由于計(jì)數(shù)器141b的計(jì)數(shù)值等于默認(rèn)值,因此,計(jì)數(shù)器141b不致能屏蔽信號sm,故屏蔽信號sm由高電位變化至低電位。由于屏蔽信號sm不被致能,因此,開關(guān)110b傳送主重置信號hw_rstn予處理器120b與邏輯電路130b。處理器120b與邏輯電路130b根據(jù)主重置信號hw_rstn進(jìn)行重置動作。
圖3為本發(fā)明的重置方法的流程示意圖。本發(fā)明的重置方法適用于一記憶裝置,用以重置記憶裝置里的邏輯電路。首先,根據(jù)一主重置信號調(diào)整一計(jì)數(shù)值,并令該邏輯電路在完成目前的工作后便停止運(yùn)作(步驟s311)。在一可能實(shí)施例中,利用一計(jì)數(shù)器調(diào)整計(jì)數(shù)值。在此例中,當(dāng)主重置信號被致能時(shí),計(jì)數(shù)器開始增加或減少一計(jì)數(shù)值。然而,當(dāng)主重置信號未被致能時(shí),計(jì)數(shù)器不調(diào)整計(jì)數(shù)值。
在另一可能實(shí)施例中,當(dāng)主重置信號被致能,并且主重置信號被致能的時(shí)間小于一預(yù)設(shè)時(shí)間時(shí),表示主重置信號可能受到噪聲的干擾。因此,計(jì)數(shù)器不調(diào)整計(jì)數(shù)值。然而,當(dāng)主重置信號被致能的時(shí)間不小于預(yù)設(shè)時(shí)間時(shí),計(jì)數(shù)器增加計(jì)數(shù)值。
接著,判斷邏輯電路是否停止運(yùn)作(步驟s312)。當(dāng)邏輯電路未停止運(yùn)作時(shí),重置計(jì)數(shù)值(步驟s313),并回到步驟s311,重新調(diào)整計(jì)數(shù)值。當(dāng)邏輯電路停止運(yùn)作時(shí),判斷計(jì)數(shù)值是否等于一默認(rèn)值(步驟s314)。當(dāng)計(jì)數(shù)值等于默認(rèn)值時(shí),表示邏輯電路已確實(shí)停止運(yùn)作,因此,重置邏輯電路(步驟s315)。在一可能實(shí)施例中,步驟s315初始化邏輯電路內(nèi)部的緩存器所儲存的數(shù)據(jù)。
當(dāng)主重置信號被致能時(shí),便開始調(diào)整計(jì)數(shù)值。但只要邏輯電路還在運(yùn)作,便重置計(jì)數(shù)值,令計(jì)數(shù)值等于一起始值,直到邏輯電路停止運(yùn)作,才停止重置計(jì)數(shù)值。當(dāng)不再重置計(jì)數(shù)值時(shí),計(jì)數(shù)值會逐漸趨近于一默認(rèn)值。當(dāng)計(jì)數(shù)值等于一默認(rèn)值時(shí),發(fā)出主重置信號予邏輯電路,用以重置邏輯電路。此時(shí),由于邏輯電路已停止運(yùn)作,故可避免邏輯電路的操作物,如nand閃存,發(fā)生故障。
除非另作定義,在此所有詞匯(包含技術(shù)與科學(xué)詞匯)均屬本發(fā)明所屬技術(shù)領(lǐng)域中具有通常知識者的一般理解。此外,除非明白表示,詞匯于一般字典中的定義應(yīng)解釋為與其相關(guān)技術(shù)領(lǐng)域的文章中意義一致,而不應(yīng)解釋為理想狀態(tài)或過分正式的語態(tài)。
雖然本發(fā)明已以較佳實(shí)施例揭示如上,然其并非用以限定本發(fā)明,任何所屬技術(shù)領(lǐng)域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當(dāng)可作些許的更動與潤飾,因此本發(fā)明的保護(hù)范圍當(dāng)由權(quán)利要求書界定為準(zhǔn)。