TW202125243A - 一次性可編程記憶體裝置及其容錯方法 - Google Patents

一次性可編程記憶體裝置及其容錯方法 Download PDF

Info

Publication number
TW202125243A
TW202125243A TW108147502A TW108147502A TW202125243A TW 202125243 A TW202125243 A TW 202125243A TW 108147502 A TW108147502 A TW 108147502A TW 108147502 A TW108147502 A TW 108147502A TW 202125243 A TW202125243 A TW 202125243A
Authority
TW
Taiwan
Prior art keywords
time programmable
programmable memory
variable
block
storage
Prior art date
Application number
TW108147502A
Other languages
English (en)
Other versions
TWI715371B (zh
Inventor
吳坤益
李鈺珊
Original Assignee
新唐科技股份有限公司
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 新唐科技股份有限公司 filed Critical 新唐科技股份有限公司
Priority to TW108147502A priority Critical patent/TWI715371B/zh
Priority to CN202010825916.6A priority patent/CN113031854B/zh
Priority to US17/014,162 priority patent/US11397535B2/en
Application granted granted Critical
Publication of TWI715371B publication Critical patent/TWI715371B/zh
Publication of TW202125243A publication Critical patent/TW202125243A/zh

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0608Saving storage space on storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1014One time programmable [OTP] memory, e.g. PROM, WORM

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Programmable Controllers (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本發明提供了一種一次性可編程記憶體裝置。一次性可編程記憶體裝置可包括一次性可編程記憶體和記憶體控制器。一次性可編程記憶體包含第一區塊和第二區塊。第一區塊包括複數起始位址單元,且每一起始位址單元會對應一變數,以紀錄每一上述變數對應之儲存位址。第二區塊包含複數儲存單元,且每一儲存單元具有一對應的儲存位址。記憶體控制器耦接一次性可編程記憶體,以及分配儲存位址給變數。每一變數所對應之資料內容會儲存在其對應之儲存位址所對應之儲存單元中。複數起始位址單元之數量會小於複數儲存單元之數量。

Description

一次性可編程記憶體裝置及其容錯方法
本發明之實施例主要係有關於一次性可編程記憶體(one-time programmable memory)技術,特別係有關於在一次性可編程記憶體配置起始位址單元之一次性可編程記憶體。
一次性可編程記憶體(one-time programmable memory)係常見資料儲存空間,其主要的特性是只容許一次燒錄並且無法抹除或是改變。當使用者想要修改內容時,一次性可編程記憶體的不可逆特性,常會造成使用者極大困惱。因此,一次性可編程記憶體控制器需要容錯(fault tolerance)機制,以提供使用者再次修改變數內容功能。
對於一次性可編程記憶體容錯機制而言,最簡單的做法是基於版本的一次性可編程記憶體容錯機制。此機制會先根據可修改次數的限制值,直接分配多份相同大小空間。每一份空間將會被視為一個版本(version),並且被指定一個特定版本編號。此機制還需配置一個變數 “執行版本編號”,以便通知控制器目前正在使用哪一個版本編號。當使用者欲修改變數之資料內容時,必須將變數內容燒錄到新的版本空間,並且修改執行版本編號為新版本編號。然而,在此機制下,當要修改某一個變數時,就必須放棄原先版本其他正確變數的儲存空間。舉例來說,當版本1中的某一變數之資料內容需要修改時,就必須將版本1中所有的變數燒錄到新的版本空間(例如:版本2),並且廢棄掉版本1之儲存空間。因此,雖然此機制簡單且實現容易,但卻造成大量儲存空間的浪費。
有鑑於上述先前技術之問題,本發明之實施例提供了一次性可編程記憶體裝置和一次性可編程記憶體容錯方法。
根據本發明之一實施例提供了一種一次性可編程記憶體裝置。上述一次性可編程記憶體裝置可包括一一次性可編程記憶體和一記憶體控制器。一次性可編程記憶體包含一第一區塊和一第二區塊。第一區塊包括複數起始位址單元,且每一起始位址單元會對應一變數,以紀錄每一上述變數對應之儲存位址。第二區塊包含複數儲存單元,且每一儲存單元具有一對應的儲存位址。記憶體控制器耦接一次性可編程記憶體,以及分配儲存位址給變數。每一上述變數所對應之資料內容會儲存在其對應之上述儲存位址所對應之上述儲存單元中。上述複數起始位址單元之數量會小於上述複數儲存單元之數量。
在一些實施例中,一次性可編程記憶體裝置更包括一第三區塊和一第四區塊。第三區塊用以紀錄已燒錄至上述一次性可編程記憶體之上述變數之數量。第四區塊用以紀錄已使用之上述儲存位址之數量。
在一些實施例中,上述第一區塊、上述第三區塊以及上述第四區塊儲存之內容係採用一次有效性編碼技術進行編碼所產生。
在一些實施例中,當要加入一新的變數至一次性可編程記憶體時,上述記憶體控制器判斷已燒錄至上述一次性可編程記憶體之上述變數之數量是否已到達一上限值。若已燒錄至上述一次性可編程記憶體之上述變數之數量未到達上限值,上述記憶體控制器根據已燒錄至上述一次性可編程記憶體之上述變數之數量設定上述新的變數之一變數名稱。
在一些實施例中,當要對上述複數變數之一者進行修改時,上述記憶體控制器判斷已使用之上述儲存位址之數量是否已到達一上限值。若已使用之上述儲存位址之數量未到達上述上限值,上述記憶體控制器分配上述第二區塊中還未使用之上述儲存位址給要進行修改之上述變數。當修改完後,上述記憶體控制器更將已使用之上述儲存位址之數量加一。
在一些實施例中,當要讀取燒錄在一次性可編程記憶體之上述變數對應之資料內容時,上述記憶體控制器先讀取對應需要被讀取之上述變數之上述起始位址單元所儲存之上述儲存位址,再根據上述儲存位址取得需要被讀取之上述變數之資料內容。
在一些實施例中,每一上述起始位址單元更紀錄其對應之上述變數之變數編號和變數名稱。
根據本發明之一實施例提供了一種一次性可編程記憶體之容錯方法。上述一次性可編程記憶體之容錯方法之步驟包括,在一一次性可編程記憶體裝置之一一次性可編程記憶體配置一第一區塊和一第二區塊,其中上述第一區塊包括複數起始位址單元,且每一上述起始位址單元會對應一變數,以紀錄每一上述變數對應之儲存位址,以及其中上述第二區塊包含複數儲存單元,且每一上述儲存單元具有一對應的儲存位址;以及藉由上述一次性可編程記憶體裝置之一記憶體控制器,分配上述儲存位址給上述變數,其中每一上述變數所對應之資料內容會儲存在其對應之上述儲存位址所對應之上述起始位址單元中,以及其中上述複數起始位址單元之數量會小於上述複數儲存單元之數量。
於本發明其他附加的特徵與優點,此領域之熟習技術人士,在不脫離本發明之精神和範圍內,當可根據本案實施方法中所揭露之一次性可編程記憶體裝置和一次性可編程記憶體之容錯方法,做些許的更動與潤飾而得到。
本章節所敘述的是實施本發明之較佳方式,目的在於說明本發明之精神而非用以限定本發明之保護範圍,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
第1圖係顯示根據本發明之一實施例所述之一次性可編程記憶體(one-time programmable memory)裝置100之方塊圖。如第1圖所示,一次性可編程記憶體裝置100包括一一次性可編程記憶體110,以及一記憶體控制器120。注意地是,在第1圖中所示之方塊圖,僅係為了方便說明本發明之實施例,但本發明並不以第1圖為限。一次性可編程記憶體裝置100中亦可包含其他元件。
根據本發明一實施例,一處理器(圖未顯示)可經由一匯流排(例如:一高級高性能匯流排(Advanced High-performance Bus))下指令給記憶體控制器120,記憶體控制器120再根據處理器所下達之指令,對一次性可編程記憶體110進行對應之操作。此外,根據本發明之一實施例,可藉由燒錄工具或燒錄軟體將變數燒錄至一次性可編程記憶體110。
第2圖係顯示根據本發明之一實施例所述之一次性可編程記憶體110之方塊圖。如第2圖所示,一次性可編程記憶體110可包括一第一區塊111、一第二區塊112、一第三區塊113以及一第四區塊114。特別說明地是,第2圖僅係用以說明本發明之實施例,但本發明並不以此為限。
根據本發明一實施例,第一區塊111、第三區塊113以及第四區塊114所儲存之內容係採用一次有效性編碼(One-Hot Encoding)的方式進行編碼。
如第2圖所示,一次性可編程記憶體110之第一區塊111可包含16個起始位址單元A0~A15(即表示可燒錄16個變數至一次性可編程記憶體110),且每個起始位址單元會占用64位元,但本發明並不以此為限。一次性可編程記憶體110之第二區塊112可包含48個儲存單元B0~B47(即表示有48個儲存位址可供配置),且每個儲存單元會占用64位元,但本發明並不以此為限。一次性可編程記憶體110之第三區塊113會占用16位元,但本發明並不以此為限。一次性可編程記憶體110之第四區塊114會占用48位元,但本發明並不以此為限。
根據本發明一實施例,第一區塊111會包含複數起始位址單元。每當要燒錄一新的變數至一次性可編程記憶體110時,記憶體控制器120就會配置一起始位址單元給要燒錄至一次性可編程記憶體110之變數。也就是說,每一起始位址單元會對應一變數。在本發明之實施例中,每一起始位址單元會紀錄其對應之變數所對應之儲存位址。根據本發明一實施例,當在燒錄變數至一次性可編程記憶體110時,記憶體控制器120會依序分配給每一變數一個變數編號。每一起始位址單元亦會紀錄其對應之變數所對應之變數編號和變數名稱。底下將會以表1-1和表2-1來做說明。
根據本發明一實施例,第二區塊112會包含複數儲存單元。每一儲存單元會具有一對應的儲存位址。每一儲存位址會有對應之一儲存位址編號(如底下表1-1、2-1和3-1所示)。每當燒錄一新的變數至一次性可編程記憶體110時,記憶體控制器120會配置一儲存位址給燒錄至一次性可編程記憶體110之變數。燒錄至一次性可編程記憶體110之變數所對應之資料內容會儲存在其對應之儲存位址所對應之儲存單元中,且每一起始位址單元會紀錄其對應之變數所對應之儲存位址。如第2圖所示,在本發明之實施例中,可燒錄至一次性可編程記憶體110之變數之數量會小於儲存單元之數量(即儲存位址之數量)。此外,如第2圖所示,根據本發明一實施例,一起始位址單元之尺寸會和一儲存單元之尺寸相同。
在本發明之實施例中,當有變數之內容要更改時,記憶體控制器120會配置一新的儲存位址給該變數,且原來儲存該變數對應之資料內容之儲存單元就會被廢棄,不再繼續使用。
根據本發明一實施例,第三區塊113係用以紀錄已燒錄至一次性可編程記憶體110之變數之數量(底下會以變數MAX_USED_NO表示)。MAX_USED_NO的初始值會設為0(編碼後之內容可係16’h0000)。每當有一新的變數燒錄至一次性可編程記憶體110後,MAX_USED_NO的數值就會加1。在本發明之實施例中,第三區塊113中會預先設定可燒錄至一次性可編程記憶體110之變數之數量之上限值(即MAX_USED_NO之上限值)。當MAX_USED_NO的數值已到達上限值時,就無法繼續燒錄新的變數至一次性可編程記憶體110中。也就是說,在本發明之實施例中,當有新的變數要燒錄至一次性可編程記憶體110時,記憶體控制器120會先判斷MAX_USED_NO之數值是否已到上限值。若MAX_USED_NO之數值已到上限值,記憶體控制器120就不會繼續再一次性可編程記憶體110建立新的變數。此外,若MAX_USED_NO之數值已到上限值,當指示要進行修正之變數並非係已燒錄至一次性可編程記憶體110中的變數,記憶體控制器120就會將該變數視為無效的變數。關於第三區塊113,底下將會更進一步以第2圖、表1-2和表2-2來做說明。
根據本發明一實施例,第四區塊114係用以紀錄已使用之儲存位址之數量(底下會以變數MAX_USED_ADDR表示)。MAX_USED_ADDR的初始值會設為0(編碼後之內容可係48’h0000_0000_0000)。每當記憶體控制器120分配一儲存位址給一變數時,MAX_USED_ADDR的數值就會加1。在本發明之實施例中,第四區塊114中會預先設定儲存位址之數量之上限值(即MAX_USED_ADDR之上限值)。當MAX_USED_ADDR的數值已到達上限值時(即儲存單元都已被使用),記憶體控制器120就無法繼續分配儲存位址給變數。關於第四區塊114,底下將會更進一步以第2圖、表1-3和表2-3來做說明。
變數編號 變數名稱 儲存位址 儲存位址對應之編號
0 Setting 0 64’h0000_0000_0000_0000 0
表1-1
  變數之數量之上限值 編碼後之內容 已燒錄之變數之數量(即MAX_USED_NO之數值)
第三區塊 16 16’h0001        1
表1-2
  儲存位址之數量之上限值 編碼後之內容 已使用之儲存位址之數量(即MAX_USED_ADDR之數值)
第四區塊 48 48’h0000_0000_0001        1
表1-3
表1-1~表1-3係根據本發明一實施例所述之燒錄第1筆變數時,第一區塊111、第三區塊113和第四區塊114紀錄之資訊。特別說明地是,表1-1~表1-3僅係用以說明本發明之實施例,但本發明並不以此為限。參考第2圖和表1-1,當第1筆變數Setting 0要燒錄至一次性可編程記憶體110時,記憶體控制器120可根據第三區塊所儲存之初始值(即MAX_USED_NO之初始值0,編碼後之內容可係16’h0000)給予變數Setting 0一變數編號0。此外,記憶體控制器120可根據第四區塊所儲存之初始值(即MAX_USED_ADDR之初始值0,編碼後之內容可係48’h0000_0000_0000),配置一儲存位址64’h0000_0000_0000_0000給變數Setting 0,且第一區塊111之起始位址單元A0會記錄變數Setting 0所對應之儲存位址64’h0000_0000_0000_0000,其中儲存位址64’h0000_0000_0000_0000會對應一儲存位址編號0。變數Setting 0所對應之資料內容會儲存在儲存位址64’h0000_0000_0000_0000對應之儲存單元B0中。接著,參考第2圖和表1-2,當變數Setting 0燒錄至一次性可編程記憶體110後,第三區塊113所儲存之數值會加1(即MAX_USED_NO之數值會變為1,編碼後之內容可係16’h0001)。在此實施例中,記憶體控制器120可根據表1-2所示之第三區塊113所儲存之數值,設定下1筆變數Setting 1之變數編號。此外,參考第2圖和表1-3,當變數Setting 0燒錄至一次性可編程記憶體110後,第四區塊114所儲存之數值會加1(即MAX_USED_ADDR之數值會變為1,編碼後之內容可係48’h0000_0000_0001)。在此實施例中,記憶體控制器120可根據表1-3所示之第四區塊114所儲存之數值,配置一儲存位址給下1筆變數Setting 1。
變數編號 變數名稱 儲存位址 儲存位址對應之編號
0 Setting 0 64’h0000_0000_0000_0000      0
1 Setting 1 64’h0000_0000_0000_0001      1
2 Setting 2 64’h0000_0000_0000_0003      2
3 Setting 3 64’h0000_0000_0000_0007      3
4 Setting 4 64’h0000_0000_0000_000F      4
5 Setting 5 64’h0000_0000_0000_001F      5
. . .      
     15 Setting 15 64’h0000_0000_0000_7FFF 15
表2-1
  變數之數量之上限值 內容 已燒錄之變數之數量(即MAX_USED_NO之數值)
第三區塊 16 16’hFFFF 16
表2-2
  儲存位址之數量之上限值 內容 已使用之儲存位址之數量(即MAX_USED_ADDR之數值)
第四區塊 48 48’h0000_0000_FFFF 16
表2-3
表2-1~表2-3係根據本發明一實施例所述之燒錄完所有變數時,第一區塊111、第三區塊113和第四區塊114紀錄之資訊。特別說明地是,表2-1表2-3僅係用以說明本發明之實施例,但本發明並不以此為限。參考第2圖和表2-1,當變數Setting 0~Setting 15都燒錄至一次性可編程記憶體110後,第一區塊111之起始位址單元A0~A15會分別記錄變數Setting 0~Setting 15所對應之儲存位址,其中變數Setting 0~ Setting 15所對應之每一儲存位址會分別對應儲存位址編號0~15。變數Setting 0~Setting 15所對應之資料內容會分別儲存在儲存單元B0~B15中。接著,參考第2圖和表2-2,當變數Setting 0~Setting 15都燒錄至一次性可編程記憶體110後,第三區塊113所儲存之數值會係16(即MAX_USED_NO之數值會係16,編碼後之內容可係16’hFFFF)。由於第三區塊113所儲存之數值已到達上限值,因此,記憶體控制器120不會(無法)再建立新的變數於一次性可編程記憶體110中。此外,參考第2圖和表2-3,當變數Setting 0~Setting 15都燒錄至一次性可編程記憶體110後,第四區塊114所儲存之數值會係16(即MAX_USED_ADDR之數值會係16,編碼後之內容可係48’h0000_0000_FFFF)。即表示第四區塊114剩下32個儲存位址可供記憶體控制器120配置。當變數Setting 0~Setting 15之一者之資料內容需要更改時,記憶體控制器120可根據表2-3所示之第四區塊113所儲存之數值,配置未被使用之儲存位址給需要更新資料內容之變數。關於如何變數之資料內容如何做修改,底下會更進一步以表3-1~表3-3來做說明。
變數編號 變數名稱 儲存位址 儲存位址對應之編號
0 Setting 0 64’h0000_0000_0000_0000      0
1 Setting 1 64’h0000_0000_0000_FFFF     16
2 Setting 2 64’h0000_0000_0000_0003      2
3 Setting 3 64’h0000_0000_0000_0007      3
. . .      
     15 Setting 15 64’h0000_0000_0000_7FFF 15
表3-1
  變數之數量之上限值 內容 已燒錄之變數之數量(即MAX_USED_NO之數值)
第三區塊 16 16’hFFFF 16
表3-2
  儲存位址之數量之上限值 內容 已使用之儲存位址之數量(即MAX_USED_ADDR之數值)
第四區塊 48 48’h0000_0001_FFFF 17
表3-3
表3-1~表3-3係根據本發明一實施例所述之更改變數之資料內容時,第一區塊111、第三區塊113和第四區塊114紀錄之資訊。特別說明地是,表3-1~表3-3僅係用以說明本發明之實施例,但本發明並不以此為限。參考第2圖和表3-1,當變數Setting 1之資料內容需要更改時,記憶體控制器120可根據表2-3所示之第四區塊113所儲存之數值,配置新的儲存位址給變數Setting 1。第一區塊111之起始位址單元A1會記錄變數Setting 1所對應之新的儲存位址64’h0000_0000_0000_FFFF。變數Setting 1所更新之資料內容會儲存在儲存位址64’h0000_0000_0000_FFFF對應之儲存單元B16中。此外,原先配置給變數Setting 1之儲存單元B1就會廢棄不再使用。接著,參考第2圖和表3-2,由於第三區塊113所儲存之數值已到達上限值,因此表3-2之內容會和表2-2之內容相同。此外,參考第2圖和表3-3,當變數Setting 1之資料內容修改後,第四區塊114所儲存之數值會加1(即MAX_USED_ADDR之數值會變為17,編碼後之內容可係48’h0000_0001_FFFF)。當下一次需要更改變數之資料內容時,記憶體控制器120可根據表3-3所示之第四區塊114所儲存之數值,配置新的儲存位址給需要更改資料內容之變數。
根據本發明一實施例,當需要讀取變數所對應之資料內容時,記憶體控制器120會先根據需要被讀取之變數之變數編號,讀取變數所對應之起始位址單元所紀錄之儲存位址,接著,記憶體控制器120會從對應該儲存位址之儲存單元中讀取變數所對應之資料內容。舉例來說,參考第2圖和表2-1,當記憶體控制器120根據一讀取指令所指示之變數編號(例如:變數編號1),得知要讀取變數Setting 1之資料內容時,記憶體控制器120會先讀取變數Setting 1所對應之起始位址單元A1所紀錄之儲存位址64’h0000_0000_0000_0001,接著,記憶體控制器120會從對應儲存位址64’h0000_0000_0000_0001之儲存單元B1中讀取變數Setting 1所對應之資料內容。
第3圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法之流程圖300。一次性可編程記憶體之容錯方法可適用一次性可編程記憶體裝置100。在步驟S310, 在一次性可編程記憶體裝置100之一次性可編程記憶體配置一第一區塊和一第二區塊,其中第一區塊包括複數起始位址單元,且每一起始位址單元會對應一變數,以紀錄每一變數對應之儲存位址,以及其中第二區塊包含複數儲存單元,且每一儲存單元具有一對應的儲存位址。在步驟S320,藉由一次性可編程記憶體裝置100之記憶體控制器,分配儲存位址給變數,其中每一變數所對應之資料內容會儲存在其對應之儲存位址所對應之儲存單元中,以及其中複數起始位址單元之數量會小於複數儲存單元之數量。
根據本發明一實施例,在一次性可編程記憶體之容錯方法中更包括,在一次性可編程記憶體裝置100之一次性可編程記憶體配置一第三區塊,以紀錄已燒錄至一次性可編程記憶體之變數之數量,以及在一次性可編程記憶體裝置100之一次性可編程記憶體配置一第四區塊,以紀錄已使用之儲存位址之數量。
根據本發明一實施例,在一次性可編程記憶體之容錯方法中更包括,採用一次有效性編碼技術,產生第一區塊、第三區塊以及第四區塊儲存之內容。
根據本發明一實施例,在一次性可編程記憶體之容錯方法中更包括,藉由每一起始位址單元紀錄其對應之變數之變數編號和變數名稱。
第4圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法中加入新變數之流程圖400。在此實施例所述之一次性可編程記憶體之容錯方法中加入新變數之流程,可適用一次性可編程記憶體裝置100。在步驟S410,當要燒錄一新的變數至一次性可編程記憶體裝置100之一次性可編程記憶體時,藉由一次性可編程記憶體裝置100之記憶體控制器判斷已燒錄至一次性可編程記憶體之變數之數量是否已到達一上限值(即MAX_USED_NO之數值是否已到達上限值)。若已燒錄至一次性可編程記憶體之變數之數量已到達上限值,結束此流程。
若已燒錄至一次性可編程記憶體之變數之數量未到達上限值,進行步驟S420。在步驟S420,藉由一次性可編程記憶體裝置100之記憶體控制器,根據已燒錄至一次性可編程記憶體之變數之數量(即MAX_USED_NO之數值)設定新的變數之一變數名稱。在步驟S430,藉由一次性可編程記憶體裝置100之記憶體控制器,根據已使用之儲存位址之數量(即MAX_USED_ADDR之數值),配置儲存位址給新的變數。
在步驟S440,藉由一次性可編程記憶體裝置100之記憶體控制器,將已燒錄至一次性可編程記憶體之變數之數量(即MAX_USED_NO之數值)加1,以及將已使用之儲存位址之數量(即MAX_USED_ADDR之數值)加1。在步驟S450,藉由一次性可編程記憶體裝置100之記憶體控制器,判斷是否還有其他新的變數要燒錄至一次性可編程記憶體裝置100之一次性可編程記憶體。若還有其他新的變數要燒錄至一次性可編程記憶體裝置100之一次性可編程記憶體時,回到步驟S410。
第5圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法中修改變數之資料內容之流程圖500。在此實施例所述之一次性可編程記憶體之容錯方法中修改變數之資料內容之流程,可適用一次性可編程記憶體裝置100。在步驟S510,當要對已燒錄至一次性可編程記憶體裝置100之一變數進行修改時,藉由一次性可編程記憶體裝置100之記憶體控制器判斷已使用之儲存位址之數量是否已到達一上限值。若已使用之儲存位址之數量已到達上限值,結束此流程。
若已使用之儲存位址之數量尚未到達上限值,進行步驟S520。在步驟S520,藉由一次性可編程記憶體裝置100之記憶體控制器,根據已使用之儲存位址之數量(即MAX_USED_ADDR之數值),分配第二區塊中還未使用之儲存位址給要進行修改之變數。在步驟S530,當變數修改完後,藉由一次性可編程記憶體裝置100之記憶體控制器,將已使用之儲存位址之數量加一。在步驟S540,藉由一次性可編程記憶體裝置100之記憶體控制器,判斷是否還有其他已燒錄至一次性可編程記憶體之變數之資料內容要進行修改。若還有其他已燒錄至一次性可編程記憶體之變數之資料內容要進行修改時,回到步驟S510。
第6圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法中讀取變數之資料內容之流程圖600。在此實施例所述之一次性可編程記憶體之容錯方法中讀取已燒錄至一次性可編程記憶體之變數之資料內容之流程,可適用一次性可編程記憶體裝置100。在步驟S610,當要讀取燒錄在一次性可編程記憶體裝置100之一次性可編程記憶體之變數對應之資料內容時,藉由一次性可編程記憶體裝置100之記憶體控制器,讀取對應需要被讀取之變數之儲存單元所儲存之儲存位址。在步驟S620,藉由一次性可編程記憶體裝置100之記憶體控制器,根據儲存位址取得需要被讀取之變數之資料內容。
根據本發明之實施例所提出之一次性可編程記憶體之容錯方法,當一變數需要進行修改時,其他變數不需要一起被重新燒錄。因此,將可節省一次性可編程記憶體之儲存空間。此外,根據本發明之實施例所提出之一次性可編程記憶體之容錯方法,使用者可以更彈性去修正變數之資料內容。
在本說明書中以及申請專利範圍中的序號,例如「第一」、「第二」等等,僅係為了方便說明,彼此之間並沒有順序上的先後關係。
本發明之說明書所揭露之方法和演算法之步驟,可直接透過執行一處理器直接應用在硬體以及軟體模組或兩者之結合上。一軟體模組(包括執行指令和相關數據)和其它數據可儲存在數據記憶體中,像是隨機存取記憶體(RAM)、快閃記憶體(flash memory)、唯讀記憶體(ROM)、可抹除可規化唯讀記憶體(EPROM)、電子可抹除可規劃唯讀記憶體(EEPROM)、暫存器、硬碟、可攜式應碟、光碟唯讀記憶體(CD-ROM)、DVD或在此領域習之技術中任何其它電腦可讀取之儲存媒體格式。一儲存媒體可耦接至一機器裝置,舉例來說,像是電腦/處理器(爲了說明之方便,在本說明書以處理器來表示),上述處理器可透過來讀取資訊(像是程式碼),以及寫入資訊至儲存媒體。一儲存媒體可整合一處理器。一特殊應用積體電路(ASIC)包括處理器和儲存媒體。一用戶設備則包括一特殊應用積體電路。換句話說,處理器和儲存媒體以不直接連接用戶設備的方式,包含於用戶設備中。此外,在一些實施例中,任何適合電腦程序之產品包括可讀取之儲存媒體,其中可讀取之儲存媒體包括和一或多個所揭露實施例相關之程式碼。在一些實施例中,電腦程序之產品可包括封裝材料。
以上段落使用多種層面描述。顯然的,本文的教示可以多種方式實現,而在範例中揭露之任何特定架構或功能僅為一代表性之狀況。根據本文之教示,任何熟知此技藝之人士應理解在本文揭露之各層面可獨立實作或兩種以上之層面可以合併實作。
雖然本揭露已以實施例揭露如上,然其並非用以限定本揭露,任何熟習此技藝者,在不脫離本揭露之精神和範圍內,當可作些許之更動與潤飾,因此發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:一次性可編程記憶體裝置 110:一次性可編程記憶體 111:第一區塊 112:第二區塊 113:第三區塊 114:第四區塊 120:記憶體控制器 300、400、500、600:流程圖 A0~A15:起始位址單元 B0~B47:儲存單元 S310~S320、S410~S450、S510~S540、S610~S620:步驟
第1圖係顯示根據本發明之一實施例所述之一次性可編程記憶體裝置100之方塊圖。 第2圖係顯示根據本發明之一實施例所述之一次性可編程記憶體110之方塊圖。 第3圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法之流程圖。 第4圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法中加入新變數之流程圖400。 第5圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法中修改變數之資料內容之流程圖500。 第6圖係根據本發明之一實施例所述之一次性可編程記憶體之容錯方法中讀取變數之資料內容之流程圖600。
110:一次性可編程記憶體
111:第一區塊
112:第二區塊
113:第三區塊
114:第四區塊
A0~A15:起始位址單元
B0~B47:儲存單元

Claims (20)

  1. 一種一次性可編程記憶體裝置,包括: 一一次性可編程記憶體,包含一第一區塊和一第二區塊,其中上述第一區塊包括複數起始位址單元,且每一上述起始位址單元會對應一變數,以紀錄每一上述變數對應之儲存位址,以及其中上述第二區塊包含複數儲存單元,且每一上述儲存單元具有一對應的儲存位址;以及 一記憶體控制器,耦接上述一次性可編程記憶體,以及分配上述儲存位址給上述變數; 其中每一上述變數所對應之資料內容會儲存在其對應之上述儲存位址所對應之上述儲存單元中;以及 其中上述複數起始位址單元之數量會小於上述複數儲存單元之數量。
  2. 如申請專利範圍第1項所述之一次性可編程記憶體裝置,更包括: 一第三區塊,用以紀錄已燒錄至上述一次性可編程記憶體之上述變數之數量;以及 一第四區塊,用以紀錄已使用之上述儲存位址之數量。
  3. 如申請專利範圍第2項所述之一次性可編程記憶體裝置,其中上述第一區塊、上述第三區塊以及上述第四區塊儲存之內容係採用一次有效性編碼技術進行編碼所產生。
  4. 如申請專利範圍第2項所述之一次性可編程記憶體裝置,其中當要加入一新的變數至一次性可編程記憶體時,上述記憶體控制器判斷已燒錄至上述一次性可編程記憶體之上述變數之數量是否已到達一上限值。
  5. 如申請專利範圍第4項所述之一次性可編程記憶體裝置,其中若已燒錄至上述一次性可編程記憶體之上述變數之數量未到達上述上限值,上述記憶體控制器根據已燒錄至上述一次性可編程記憶體之上述變數之數量,設定上述新的變數之一變數名稱。
  6. 如申請專利範圍第2項所述之一次性可編程記憶體裝置,其中當要對上述複數變數之一者進行修改時,上述記憶體控制器判斷已使用之上述儲存位址之數量是否已到達一上限值。
  7. 如申請專利範圍第6項所述之一次性可編程記憶體裝置,其中若已使用之上述儲存位址之數量未到達上述上限值,上述記憶體控制器根據已使用之上述儲存位址之數量,分配上述第二區塊中還未使用之上述儲存位址給要進行修改之上述變數。
  8. 如申請專利範圍第7項所述之一次性可編程記憶體裝置,其中當修改完後,上述記憶體控制器更將已使用之上述儲存位址之數量加一。
  9. 如申請專利範圍第1項所述之一次性可編程記憶體裝置,其中當要讀取燒錄在一次性可編程記憶體之上述變數對應之資料內容時,上述記憶體控制器先讀取對應需要被讀取之上述變數之上述起始位址單元所儲存之上述儲存位址,再根據上述儲存位址取得需要被讀取之上述變數之資料內容。
  10. 如申請專利範圍第1項所述之一次性可編程記憶體裝置,其中每一上述起始位址單元更紀錄其對應之上述變數之變數編號和變數名稱。
  11. 一種一次性可編程記憶體之容錯方法,包括: 在一一次性可編程記憶體裝置之一一次性可編程記憶體配置一第一區塊和一第二區塊,其中上述第一區塊包括複數起始位址單元,且每一上述起始位址單元會對應一變數,以紀錄每一上述變數對應之儲存位址,以及其中上述第二區塊包含複數儲存單元,且每一上述儲存單元具有一對應的儲存位址;以及 藉由上述一次性可編程記憶體裝置之一記憶體控制器,分配上述儲存位址給上述變數; 其中每一上述變數所對應之資料內容會儲存在其對應之上述儲存位址所對應之上述儲存單元中;以及 其中上述複數起始位址單元之數量會小於上述複數儲存單元之數量。
  12. 如申請專利範圍第11項所述之一次性可編程記憶體之容錯方法,更包括: 在上述一次性可編程記憶體配置一第三區塊,以紀錄已燒錄至上述一次性可編程記憶體之上述變數之數量;以及 在上述一次性可編程記憶體配置一第四區塊,以紀錄已使用之上述儲存位址之數量。
  13. 如申請專利範圍第12項所述之一次性可編程記憶體之容錯方法,更包括: 採用一次有效性編碼技術,產生上述第一區塊、上述第三區塊以及上述第四區塊儲存之內容。
  14. 如申請專利範圍第12項所述之一次性可編程記憶體之容錯方法,更包括: 當要加入一新的變數至一次性可編程記憶體時,判斷已燒錄至上述一次性可編程記憶體之上述變數之數量是否已到達一上限值。
  15. 如申請專利範圍第14項所述之一次性可編程記憶體之容錯方法,更包括: 若已燒錄至上述一次性可編程記憶體之上述變數之數量未到達上述上限值,根據已燒錄至上述一次性可編程記憶體之上述變數之數量設定上述新的變數之一變數名稱。
  16. 如申請專利範圍第12項所述之一次性可編程記憶體之容錯方法,更包括: 當要對上述複數變數之一者進行修改時,上述記憶體控制器判斷已使用之上述儲存位址之數量是否已到達一上限值。
  17. 如申請專利範圍第16項所述之一次性可編程記憶體之容錯方法,更包括: 若已使用之上述儲存位址之數量未到達上述上限值,根據已使用之上述儲存位址之數量,分配上述第二區塊中還未使用之上述儲存位址給要進行修改之上述變數。
  18. 如申請專利範圍第17項所述之一次性可編程記憶體之容錯方法,更包括: 當修改完後,上述記憶體控制器更將已使用之上述儲存位址之數量加一。
  19. 如申請專利範圍第11項所述之一次性可編程記憶體之容錯方法,更包括: 當要讀取燒錄在一次性可編程記憶體之上述變數對應之資料內容時,讀取對應需要被讀取之上述變數之上述起始位址單元所儲存之上述儲存位址;以及 根據上述儲存位址取得需要被讀取之上述變數之資料內容。
  20. 如申請專利範圍第11項所述之一次性可編程記憶體之容錯方法,更包括: 藉由每一上述起始位址單元紀錄其對應之上述變數之變數編號和變數名稱。
TW108147502A 2019-12-25 2019-12-25 一次性可編程記憶體裝置及其容錯方法 TWI715371B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
TW108147502A TWI715371B (zh) 2019-12-25 2019-12-25 一次性可編程記憶體裝置及其容錯方法
CN202010825916.6A CN113031854B (zh) 2019-12-25 2020-08-17 一次性可编程存储器装置及其容错方法
US17/014,162 US11397535B2 (en) 2019-12-25 2020-09-08 One-time programmable memory device and fault tolerance method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108147502A TWI715371B (zh) 2019-12-25 2019-12-25 一次性可編程記憶體裝置及其容錯方法

Publications (2)

Publication Number Publication Date
TWI715371B TWI715371B (zh) 2021-01-01
TW202125243A true TW202125243A (zh) 2021-07-01

Family

ID=75237163

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108147502A TWI715371B (zh) 2019-12-25 2019-12-25 一次性可編程記憶體裝置及其容錯方法

Country Status (3)

Country Link
US (1) US11397535B2 (zh)
CN (1) CN113031854B (zh)
TW (1) TWI715371B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489516B (zh) * 2022-02-08 2024-06-25 合肥芯颖科技有限公司 一种数据存储装置及方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003713B2 (en) * 2002-05-16 2006-02-21 Broadcom Corporation Variable Hamming error correction for a one-time-programmable-ROM
US7047381B2 (en) * 2002-07-19 2006-05-16 Broadcom Corporation System and method for providing one-time programmable memory with fault tolerance
TWI223145B (en) * 2003-03-04 2004-11-01 Megawin Technology Co Ltd Method for detecting logical address of non-volatile storage medium
TWI271620B (en) * 2005-06-16 2007-01-21 Ememory Technology Inc Method and apparatus for performing multi-programmable function with one-time programmable memories
US8102710B2 (en) * 2007-10-17 2012-01-24 Micron Technology, Inc. System and method for setting access and modification for synchronous serial interface NAND
US8275929B2 (en) * 2008-10-29 2012-09-25 Macronix International Co., Ltd. Memory and operating method thereof
JP5328020B2 (ja) * 2009-01-15 2013-10-30 セイコーインスツル株式会社 メモリ装置及びメモリアクセス方法
CA2690237C (en) * 2009-02-06 2011-03-15 Sidense Corp. High reliability otp memory
CN102486937A (zh) * 2010-12-06 2012-06-06 慧荣科技股份有限公司 单次可编程存储器的数据编程电路及方法
TWI435217B (zh) * 2011-02-16 2014-04-21 Pixart Imaging Inc 可程式化記憶體及其寫入和讀取方法
US8446170B2 (en) * 2011-05-05 2013-05-21 Actel Corporation FPGA RAM blocks optimized for use as register files
US9076526B2 (en) * 2012-09-10 2015-07-07 Shine C. Chung OTP memories functioning as an MTP memory
US9684853B2 (en) * 2014-04-15 2017-06-20 Kyocera Document Solutions Inc. Image forming apparatus that writes data from volatile memory to non-volatile memory
US9891966B2 (en) 2015-02-10 2018-02-13 Red Hat, Inc. Idempotent mode of executing commands triggered by complex event processing
JP2018514868A (ja) * 2015-04-30 2018-06-07 マイクロチップ テクノロジー インコーポレイテッドMicrochip Technology Incorporated 改良された命令セットを有する中央処理ユニット
US10768819B2 (en) * 2016-07-22 2020-09-08 Pure Storage, Inc. Hardware support for non-disruptive upgrades
WO2019119310A1 (zh) * 2017-12-20 2019-06-27 深圳市汇顶科技股份有限公司 处理配置文件的方法、处理单元、触摸芯片、装置及介质
IT201900005020A1 (it) * 2019-04-03 2020-10-03 Stmicroelectronics Application Gmbh Sistema di elaborazione, relativo circuito integrato, dispositivo e procedimento
US11599481B2 (en) 2019-12-12 2023-03-07 Western Digital Technologies, Inc. Error recovery from submission queue fetching errors

Also Published As

Publication number Publication date
CN113031854A (zh) 2021-06-25
US11397535B2 (en) 2022-07-26
TWI715371B (zh) 2021-01-01
US20210200440A1 (en) 2021-07-01
CN113031854B (zh) 2023-12-08

Similar Documents

Publication Publication Date Title
CN102929786B (zh) 非易失性存储设备集合的易失性存储器表示
US10977171B2 (en) Method for creating multi-namespace and accessing data therein
JP4828816B2 (ja) メモリカード、半導体装置、及びメモリカードの制御方法
US9329802B2 (en) Fail safe refresh of data stored in NAND memory device
JP2008130088A (ja) 不揮発性メモリ管理方法及び装置
JP2008112445A (ja) 不揮発性メモリを管理する装置及び方法
JP2007012060A (ja) 逆階層構造を有するファイルシステム
JP4460967B2 (ja) メモリカード、不揮発性半導体メモリ、及び半導体メモリの制御方法
TWI249670B (en) System and method capable of sequentially writing a flash memory
TWI715371B (zh) 一次性可編程記憶體裝置及其容錯方法
JP2016184402A (ja) メモリコントローラ、不揮発性記憶装置、不揮発性記憶システム、及びメモリ制御方法
JP4751037B2 (ja) メモリカード
JP2006072441A (ja) メモリ装置および不揮発性メモリの制御方法
TWI719779B (zh) 一次性可編程記憶體裝置及其容錯方法
JP2009259145A (ja) メモリコントローラ、メモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP5395163B2 (ja) メモリ管理装置及びメモリ領域設定方法
JP6020071B2 (ja) プログラマブルコントローラシステム、その支援装置、プログラマブルコントローラ
JP4636046B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びにフラッシュメモリの制御方法
JP4818453B1 (ja) 電子機器およびデータ読み出し方法
JP2009276883A (ja) 半導体補助記憶装置
US7634612B2 (en) Method of recording and reproducing information
TWI664569B (zh) 資料儲存裝置及系統資訊的編程方法
JP6012432B2 (ja) 半導体記憶装置
JP2010039676A (ja) データ管理方法
JP2018169688A (ja) メモリシステム及びメモリの管理方法