本實用新型涉及一種可編程儲存裝置,尤其關于一種應用具有寫入次數限制的儲存媒介的可編程儲存裝置。
背景技術:
可編程儲存裝置,例如一次性可編程儲存裝置(one-time programmable storage,OTP),通常作為記錄重要數據的用途。然而,當需要更新所記錄的重要數據時,由于一次性可編程儲存裝置僅能寫入一次,往往必須要將整個一次性可編程儲存裝置替換,才能達到更新內部數據的目的。
技術實現要素:
本實用新型所要解決的技術問題在于,針對現有技術的不足提供一種可多次寫入的可編程儲存裝置。
本實用新型所要解決的技術問題是通過如下技術方案實現的:
實用新型提供一種可編程儲存裝置,包括:具有寫入次數限制的多個儲存區塊與指示多個所述儲存區塊中至少一第一儲存區塊的至少一第一指針區塊,該至少一第一儲存區塊的一被寫入次數等于該至少一第一儲存區塊的該寫入次數限制;其中所述第一指針區塊具有寫入次數限制。
更好地,所述第一指針區塊包括多個指針位,多個所述指針位分別對應部分的多個所述儲存區塊。
更好地,該至少一第一儲存區塊為多個第一儲存區塊,且多個所述第一儲存區塊在邏輯上連續。
更好地,該至少一第一儲存區塊為多個第一儲存區塊,且多個所述第一儲存區塊在實體位置上連續。
更好地,還包括指示每一所述儲存區塊的地址的一第二指針區塊。
本實用新型還提供一種可編程儲存裝置,包括:具有寫入次數限制的多個儲存區塊,其中多個所述儲存區塊被區分為多個第一儲存區塊與多個第二儲存區塊;所述裝置還包括用以指示多個所述第一儲存區塊中存有數據的第一儲存區塊的一第一指針區塊與用以指示多個所述第二儲存區塊中存有數據的第二儲存區塊的一第二指針區塊。
更好地,所述第一指針區塊包括多個第一指針位,所述第二指針區塊包括多個第二指針位。
更好地,每一所述儲存區塊的寫入次數限制為一次,所述第一指針位與所述第二指針位的寫入次數限制為一次。
更好地,多個所述第一儲存區塊在邏輯上不連續。
更好地,所述第一指針區塊的位值與所述第二指針區塊的位值不同。
綜上所述,本實用新型所提供的可編程儲存裝置,應用具有寫入次數限制的儲存媒介,而能實現較儲存媒介本身的寫入次數限制更多次的數據寫入。
以上關于本實用新型內容的說明及以下的實施方式的說明用以示范與解釋本實用新型的精神與原理,并且提供本實用新型的權利要求更進一步的解釋。
附圖說明
圖1為本實用新型一實施例的可編程儲存裝置示意圖;
圖2為本實用新型一實施例的可編程儲存裝置儲存狀態示意圖;
圖3為本實用新型另一實施例的可編程儲存裝置儲存狀態示意圖;
圖4為本實用新型另一實施例的可編程儲存區塊儲存狀態示意圖;
圖5為本實用新型另一實施例的可編程儲存裝置示意圖。
【附圖標記說明】
1000 可編程儲存裝置
1100~1800 儲存區塊
1900、1950 指針區塊
1901~1908 指針位
1901’~1907’ 指針位
B0~B15 儲存區塊
P1~P3 指針區塊
具體實施方式
以下在具體實施方式中詳細敘述本實用新型的詳細特征以及優點,其內容足以使本領域技術人員了解本實用新型的技術內容并據以實施,且根據本說明書所記載的內容、權利要求及附圖,本領域技術人員可輕易地理解本實用新型相關的目的及優點。以下的實施例進一步詳細說明本實用新型的觀點,但非以任何觀點限制本實用新型的范疇。
圖1為本實用新型一實施例的可編程儲存裝置示意圖,如圖1所示,依據本實用新型一實施例的可編程儲存裝置1000具有儲存區塊1100、儲存區塊1200、儲存區塊1300、儲存區塊1400、儲存區塊1500、儲存區塊1600、儲存區塊1700、儲存區塊1800與第一指針區塊1900。于一實施例中,儲存區塊1100至儲存區塊1800在邏輯上是連續的。換句話說,當可編程儲存裝置1000電性耦接至一計算機2000時,計算機2000所得到的儲存區塊1100至儲存區塊1800的地址范圍是連續的。于另一實施例中,儲存區塊1100至儲存區塊1800在實體位置上是連續的。
此外,于一實施例中,各儲存區塊有對應的寫入次數限制。舉例來說,儲存裝置1000可以是一個一次性可編程儲存裝置(one-time programmable storage,OTP),因此儲存裝置1000的各儲存區塊與指針區塊1900的寫入次數限制為一。于其他實施例中,寫入次數限制可以大于一,并且并非每個儲存區塊都必須具有相同的寫入次數限制。于另一實施例中,儲存裝置1000的各儲存區塊與第一指針區塊1900中,各位的位值默認為一,并且各位的位值僅能被覆寫為零。位值被覆寫為零的無法再次被覆寫為一。
于一實施例中,圖2為本實用新型一實施例的可編程儲存裝置儲存狀態示意圖,圖3為本實用新型另一實施例的可編程儲存裝置儲存狀態示意圖,于圖2的實施例中,第一指針區塊1900具有8個指針位1901至1908。指針位1901對應于儲存區塊1100,指針位1902對應于儲存區塊1200,依序對應,因此指針位1908對應于儲存區塊1800。每個指針位用來指示對應的儲存區塊的可寫入性。于此實施例中,儲存區塊1100的寫入次數已經達到寫入次數限制,也就是說儲存區塊1100不能再次被寫入任何資料。而儲存區塊1200至儲存區塊1800被寫入的次數仍未到達寫入次數限制。因此僅有指針位1901的位值被覆寫為0,其他的指針位的位值均維持1。而于圖3的實施例中,儲存區塊1100至儲存區塊1300的寫入次數已經達到寫入次數限制,因此指針位1901至指針位1903的位值被覆寫為0,其他的指針位的位值均維持1。換句話說,于本實施例中,寫入次數已經達到寫入次數限制的儲存區塊可稱的為第一儲存區塊,而寫入次數未達到寫入次數限制的儲存區塊可稱的為第二儲存區塊。而第一指針區塊1900用來指示第一儲存區塊的范圍。于一實施例中,各第一儲存區塊在邏輯地址上是連續的,且各第二儲存區塊在邏輯上也是連續的。
圖4為本實用新型另一實施例的可編程儲存區塊儲存狀態示意圖,如圖4所示,于另一實施例中,第一指針區塊1900僅具有指針位1901’至指針位1907’。指針位1901’至指針位1907’分別對應指示儲存區塊1100至儲存區塊1700的可寫入性。具體來說,當一個計算機在讀取本實施例的可編程儲存裝置1000時,一旦確認指針位1901’至指針位1907’的位值都被覆寫為0,則表示儲存區塊1100至儲存區塊1700的寫入次數都達到寫入次數上限。于此狀況下,計算機若欲寫入數據則將直接對儲存區塊1800進行覆寫。
于另一實施例中,請再次參考圖1所示,可編程儲存裝置1000更具有第二指針區塊1950。第二指針區塊1950儲存有儲存區塊1100至儲存區塊1800各儲存區塊的起始地址。因此當計算機對可編程儲存裝置1000進行數據寫入時,計算機得以依據第一指針區塊1900而得知當前可寫入的儲存區塊分別為何。并且計算機得以依據第二指針區塊1950得知當前各可寫入的儲存區塊的起始地址。
于一實施例中,計算機被規定需要從儲存區塊1100開始寫入數據。而后依序為儲存區塊1200、儲存區塊1300乃至儲存區塊1800。并且各儲存區塊的寫入次數限制均為1。因此當計算機要讀取可編程儲存裝置1000的數據時,計算機得以依據第一指針區塊1900得知不具可寫入性的儲存區塊有哪些。并且依據第二指針區塊1950得到該些不具可寫入性的儲存區塊的起始地址。如此,計算機得以取得最新的資料。以圖3為例,最新的數據就是儲存在儲存區塊1300。
實際上,可編程儲存裝置1000例如為一次性可編程儲存裝置(OTP)。舉例來說,可編程儲存裝置1000例如具有1024千字節(kilobyte,kB)的數據容量。并且將最開始的1000千字節的區塊區分為八個儲存區塊。而后面的24千字節的數據區分為前述的第一指針區塊1900與第二指針區塊1950。第二指針區塊1950中儲存有八個儲存區塊的起始地址。而第一指針區塊1900的各位值于可編程儲存裝置1000出廠時的默認值均為1。當可編程儲存裝置1000第一次儲存數據時,第一指針區塊的對應位的位值被覆寫為0。此后每次要寫數據進入可編程儲存裝置1000時,計算機即檢查最后的24千字節的數據,以便決定要哪一段地址范圍內寫入數據。每次要讀出數據時,計算機依據最后的24千字節的數據,決定可編程儲存裝置1000中最新的數據是儲存在哪一段地址范圍內。
圖5為本實用新型另一實施例的可編程儲存裝置示意圖,如圖5所示,于一實施例中,可編程儲存裝置具有儲存區塊B0至儲存區塊B15與指針區塊P1至指針區塊P3。其中第一指針區塊P1、第二指針區塊P2與第三指針區塊P3是用于不同的應用下,用來指示該應用當前所應使用的數據應從哪一個儲存區塊取得。舉例來說,第一指針區塊P1用于第一密鑰,第二指針區塊P2用于第二密鑰,而第三指針區塊P3用于第三密鑰。于一實施例中,預設第一指針區塊P1的位值為1111,表示預設第一密鑰儲存在儲存區塊B15。當第一密鑰的密鑰值需要被變更時,計算機先將第一指針區塊P1的位值修正為1110,表示第一密鑰儲存在儲存區塊B14。接著計算機將更新的第一密鑰的密鑰值寫入儲存區塊B14,因此下次計算機要讀取第一密鑰時,依據第一指針區塊P1的位值,計算機從儲存區塊B14取得第一密鑰值。每次要更動第一密鑰的密鑰值時,第一指針區塊P1的位值依照1111、1110、1100、1000的順序修改。換句話說,第一指針區塊P1所對應指示的當前使用中的儲存區塊為儲存區塊B15、儲存區塊B14、儲存區塊B12與儲存區塊B8。而第二指針區塊P2的位值依照0111、0011、0010、0000的順序修改,表示第二密鑰可能被儲存在儲存區塊B7、儲存區塊B3、儲存區塊B2與儲存區塊B0。第三指針區塊P3的位值依照1101、1001、0001的順序修改,表示第三密鑰可能被儲存在儲存區塊B13、儲存區塊B9、儲存區塊B1。因此,利用本實施例的精神,可以用少量的指針區塊指針位數來讓可編程儲存裝置同時儲存多筆數據,更加有效率地使用可編程儲存裝置。以上指針區塊的位值修改方式僅為舉例,本領域普通技術人員當能依據上述實施例的精神適當的修飾,因此本實用新型并不以此為限。此外,每個儲存區塊的邏輯大小可以相同或相異,本實用新型也不加以限制。
依據本實用新型各實施例的可編程儲存裝置,可以應用一次性可編程儲存裝置而實現多次的數據寫入。