TWI439926B - 用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法 - Google Patents

用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法 Download PDF

Info

Publication number
TWI439926B
TWI439926B TW101105447A TW101105447A TWI439926B TW I439926 B TWI439926 B TW I439926B TW 101105447 A TW101105447 A TW 101105447A TW 101105447 A TW101105447 A TW 101105447A TW I439926 B TWI439926 B TW I439926B
Authority
TW
Taiwan
Prior art keywords
signal
memory
selection
block
memory blocks
Prior art date
Application number
TW101105447A
Other languages
English (en)
Other versions
TW201327373A (zh
Inventor
You Chang Hsiao
ding yun Chen
Original Assignee
Skymedi Corp
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 Skymedi Corp filed Critical Skymedi Corp
Publication of TW201327373A publication Critical patent/TW201327373A/zh
Application granted granted Critical
Publication of TWI439926B publication Critical patent/TWI439926B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0653Configuration or reconfiguration with centralised address assignment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Read Only Memory (AREA)

Description

用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法
本發明是有關於一種用以設定複數個記憶區塊的電路及其方法,尤指一種用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法。
請參照第1圖,第1圖是為說明記憶體陣列100的示意圖。記憶體陣列100分為一唯讀記憶區(read only memory area)102、一隨機存取記憶區(random access memory area)104和一輸入輸出程式區106,其中隨機存取記憶區104又分為一系統內程式區1042和一資料緩衝區1044。唯讀記憶區102是用以存放固定不變的程式,輸入輸出程式區106是用以存放用以控制輸入輸出裝置的程式,系統內程式區1042係用以存放記憶體的驅動程式,以及資料緩衝區1044係用以存放資料。
在現有技術中,唯讀記憶區102、輸入輸出程式區106、系統內程式區1042和資料緩衝區1044分別有一組記憶區塊組。請參照第2圖,第2圖係為說明唯讀記憶區102的記憶區塊組與位置解碼線108示意圖。如第2圖所示,唯讀記憶區102的記憶區塊組具有4個記憶區塊1021-1024,其中4個記憶區塊1021-1024中的每個記憶區塊具有256個記憶單元,其中唯讀記憶區102的記憶區塊的數目可隨使用者需求而改變。如第2圖所示,位置解碼線108可區分為記憶區塊定址區1082和記憶單元定址區1084。因此,使用者可通過位置解碼線108上的記憶區塊定址區1082決定唯讀記憶區102的記憶區塊的4個記憶區塊1021-1024中的一相對應記憶區塊,以及通過位置解碼線108上的記憶單元定址區1084決定4個記憶區塊1021-1024中的相對應記憶區塊中的一相對應記憶單元。
然而,因為系統內程式區1042的大小係為固定,所以當使用者開發程式時,使用者需要注意程式碼的大小是否超過系統內程式區1042的大小。如此,對於使用者而言,固定大小的系統內程式區1042會降低使用者撰寫程式的彈性。
本發明的一實施例提供用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路。該電路包含一系統內程式區位置解碼單元、一資料緩衝區位置解碼單元及一區塊選擇單元。該系統內程式區位置解碼單元係用以根據複數個區塊定址訊號及一定址選擇訊號,產生對應於該複數個記憶區塊的複數個第一解碼訊號;該資料緩衝區位置解碼單元係用以根據該複數個區塊定址訊號及該定址選擇訊號,產生對應於該複數個記憶區塊的複數個第二解碼訊號;該區塊選擇單元包含複數個選擇單元,其中每一選擇單元是對應該複數個記憶區塊中的一記憶區塊、該複數個第一解碼訊號中的一第一解碼訊號、複數個選擇訊號中的一選擇訊號和該複數個第二解碼訊號中的一第二解碼訊號,並根據該選擇訊號決定輸出該第一解碼訊號或該第二解碼訊號,以致能該記憶區塊。
本發明的另一實施例提供用以設定複數個記憶區塊為系統內程式區和資料緩衝區的方法。該方法包含產生複數個選擇訊號;根據該複數個選擇訊號,將該複數個記憶區塊中的部分記憶區塊設定為該系統內程式區的記憶區塊。
本發明提供一種用以設定複數個記憶區塊為一系統內程式區和一資料緩衝區的電路及其方法。該電路及該方法係利用一判斷單元比較欲寫入該系統內程式區的一程式大小和該系統內程式區的大小,並根據一比較結果,產生複數個選擇訊號,或是根據一使用者的實際需求設定該複數個選擇訊號。然後,一區塊選擇單元可根據該複數個選擇訊號,將該複數個記憶區塊中的部分記憶區塊設定為該系統內程式區的記憶區塊,以及將該複數個記憶區塊中的其餘記憶區塊設定為該資料緩衝區的記憶區塊。如此,本發明不僅可增加一記憶體陣列的該使用者開發該程式的彈性,亦可降低該記憶體陣列因為該記憶體陣列架構問題改版的機率。
請參照第3圖,第3圖是為本發明的一實施例說明一種用以設定記憶體陣列的隨機存取記憶區304的8個記憶區塊3042-3056為系統內程式區3058和資料緩衝區3060的電路301的示意圖,其中SS0-SS7中的一選擇訊號和8個第二解碼訊號CSD0-CSD7中的一第二解碼訊號,並根據選擇訊號決定輸出第一解碼訊號或第二解碼訊號,以致能記憶區塊。因此,電路301即可根據欲寫入系統內程式區3058的程式大小將8個記憶區塊3042-3056中的部分記憶區塊設定為系統內程式區3058的記憶區塊以及將8個記憶區塊3042-3056中的其餘記憶區塊設定為資料緩衝區3060的記憶區塊。在本發明的另一實施例,電路301可根據使用者的需求設定將8個記憶區塊3042-3056中的部分記憶區塊設定為系統內程式區3058的記憶區塊以及將8個記憶區塊3042-3056中的其餘記憶區塊設定為資料緩衝區3060的記憶區塊(亦即使用者根據需求設定8個選擇訊號SS0-SS7)。另外,本發明並不受限於隨機存取記憶區304具有8個記憶區塊3042-3056,亦即隨機存取記憶區304的記憶區塊的數目可隨隨機存取記憶區304的使用者的需求改變。
請參照第4圖,第4圖係為說明系統內程式區位置解碼單元3012的示意圖。如第4圖所示,系統內程式區位置解碼單元3012根據3個區塊定址訊號(第一區塊定址訊號A8、第二區塊定址訊號A9及第三區塊定址訊號A10)及定址選擇訊號A11通過複數個及閘和複數個反相器,產生對應於8個記憶區塊3042-3056的8個第一解碼訊號CSI0-CSI7。如第4圖所示,因為系統內程式區位置解碼單元3012的操作方式是此領域者所熟知,因此系統內程式區位置解碼單元3012的複數個及閘和複數個反相器之間的耦接關係不再贅述。
8個記憶區塊3042-3056中的每一記憶區塊包含256個記憶單元且是為一隨機存取記憶體(Random Access Memory)區塊,且8個記憶區塊3042-3056中的記憶區塊3042-3048係預設為系統內程式區3058的記憶區塊(起始位置為(0000h)和終點位置為(03FFh))以及記憶區塊3050-3056係預設為資料緩衝區3060的記憶區塊(起始位置為(0800h)和終點位置為(0BFFh))。電路301包含一系統內程式區位置解碼單元3012、一資料緩衝區位置解碼單元3014、一判斷單元3016及一區塊選擇單元3018。系統內程式區位置解碼單元3012係用以根據3個區塊定址訊號(一第一區塊定址訊號A8、一第二區塊定址訊號A9及一第三區塊定址訊號A10)及一定址選擇訊號A11,產生對應於8個記憶區塊3042-3056的8個第一解碼訊號CSI0-CSI7,其中第一區塊定址訊號A8、第二區塊定址訊號A9、第三區塊定址訊號A10及定址選擇訊號A11係為二進制訊號;資料緩衝區位置解碼單元3014係用以根據3個區塊定址訊號及定址選擇訊號A11,產生對應於8個記憶區塊3042-3056的8個第二解碼訊號CSD0-CSD7;判斷單元3016係用以比較欲寫入系統內程式區3058的程式大小和系統內程式區3058的大小(亦即記憶區塊3042-3048的大小),並根據一比較結果,產生8個選擇訊號SS0-SS7。但本發明並不受限於判斷單元3016產生8個選擇訊號SS0-SS7。在本發明的另一實施例中,可根據一使用者的需求設定8個選擇訊號SS0-SS7。區塊選擇單元3018包含8個選擇單元30180-30187,其中每一選擇單元係對應8個記憶區塊3042-3056中的一記憶區塊、8個第一解碼訊號CSI0-CSI7中的一第一解碼訊號、8個選擇訊號請參照第5圖,第5圖係為說明資料緩衝區位置解碼單元3014的示意圖。如第5圖所示,資料緩衝區位置解碼單元3014根據3個區塊定址訊號(第一區塊定址訊號A8、第二區塊定址訊號A9及第三區塊定址訊號A10)及定址選擇訊號A11通過複數個及閘和複數個反相器,產生對應於8個記憶區塊3042-3056的8個第二解碼訊號CSD0-CSD7。如第5圖所示,因為資料緩衝區位置解碼單元3014的操作方式是此領域者所熟知,因此系統內程式區位置解碼單元3012的複數個及閘和複數個反相器之間的耦接關係不再贅述。
請參照第6圖,第6圖係為說明判斷單元3016和區塊選擇單元3018的示意圖。區塊選擇單元3018包含8個選擇單元30180-30187。如第6圖所示,8個選擇單元30180-30187中的第一選擇單元30180係對應於第零第一解碼訊號CSI0、第七第二解碼訊號CSD7、8個選擇訊號SS0-SS7中的第一選擇訊號SS0及8個記憶區塊3042-3056中的第零記憶區塊3042;8個選擇單元30180-30187中的第二選擇單元30181係對應於第一第一解碼訊號CSI1、第六第二解碼訊號CSD6、8個選擇訊號SS0-SS7中的第二選擇訊號SS1及8個記憶區塊3042-3056中的第一記憶區塊3044;8個選擇單元30180-30187中的第三選擇單元30182係對應於第二第一解碼訊號CSI2、第五第二解碼訊號CSD5、8個選擇訊號SS0-SS7中的第三選擇訊號SS2及8個記憶區塊3042-3056中的第二記憶區塊3046;8個選擇單元30180-30187中的第四選擇單元30183係對應於第三第一解碼訊號CSI3、第四第二解碼訊號CSD4、8個選擇訊號SS0-SS7中的第四選擇訊號SS3及8個記憶區塊3042-3056中的第三記憶區塊3048;8個選擇單元30180-30187中的第五選擇單元30184係對應於第四第一解碼訊號CSI4、第三第二解碼訊號CSD3、8個選擇訊號SS0-SS7中的第五選擇訊號SS4及8個記憶區塊3042-3056中的第四記憶區塊3050;8個選擇單元30180-30187中的第六選擇單元30185係對應於第五第一解碼訊號CSI5、第二第二解碼訊號CSD2、8個選擇訊號SS0-SS7中的第六選擇訊號SS5及8個記憶區塊3042-3056中的第五記憶區塊3052;8個選擇單元30180-30187中的第七選擇單元30186係對應於第六第一解碼訊號CSI6、第一第二解碼訊號CSD1、8個選擇訊號SS0-SS7中的第七選擇訊號SS6及8個記憶區塊3042-3056中的第六記憶區塊3054;8個選擇單元30180-30187中的第八選擇單元30187係對應於第七第一解碼訊號CSI7、第零第二解碼訊號CSD0、8個選擇訊號SS0-SS7中的第八選擇訊號SS7及8個記憶區塊3042-3056中的第七記憶區塊3056。但本發明並不受限於8個選擇單元30180-30187依序對應於8個第二解碼訊號CSD7-CSD0。亦即在本發明的另一實施例中,8個選擇單元30180-30187依序對應於8個第二解碼訊號CSD0-CSD7。
請參照第7圖,第7圖係為說明選擇單元30180的示意圖。如第7圖所示,選擇單元30180根據第一選擇訊號SS0通過一反相器301802、一第一及閘301804、一第二及閘301806和一或閘301810,輸出第七第二解碼訊號CSD7或第零第一解碼訊號CSI0。另外,8個選擇單元30180-30187中的其餘選擇單元的電路架構和操作方式皆和選擇單元30180相同,在此不再贅述。
如第7圖所示,當第一選擇訊號SS0係為二進制訊號“0”時,第一及閘301804的輸出訊號總是二進制訊號“0”(亦即第零第一解碼訊號CSI0被忽略),所以選擇單元30180根據第一選擇訊號SS0輸出第七第二解碼訊號CSD7,以致能第零記憶區塊3042。亦即第零記憶區塊3042被設定為資料緩衝區3060的記憶區塊。當第一選擇訊號SS0係為二進制訊號“1”時,第二及閘301806的輸出訊號總是二進制訊號“0”(亦即第七第二解碼訊號CSD7被忽略),所以選擇單元30180根據第一選擇訊號SS0輸出第零第一解碼訊號CSI0,以致能第零記憶區塊3042。亦即第零記憶區塊3042被設定為系統內程式區3058的記憶區塊。另外,8個選擇單元30180-30187中的其餘選擇單元的操作原理皆和選擇單元30180相同,在此不再贅述。
請參照第8圖和第9圖,第8圖和第9圖係為說明當判斷單元3016根據欲寫入系統內程式區3058的程式大小,產生8個選擇訊號SS0-SS7時,區塊選擇單元3018根據8個選擇訊號SS0-SS7,將8個記憶區塊3042-3056中的部分記憶區塊設定為系統內程式區3058的記憶區塊以及將8個記憶區塊3042-3056中的其餘記憶區塊設定為資料緩衝區3060的記憶區塊的示意圖。如第6圖、第7圖和第8圖所示,判斷單元3016根據欲寫入系統內程式區3058的程式大小所產生的8個選擇訊號SS0-SS7依序為二進制訊號“1”、“1”、“1”、“0”、“0”、“0”、“0”、“0”。因為第一選擇訊號SS0係為二進制訊號“1”,所以選擇單元30180根據第一選擇訊號SS0輸出第零第一解碼訊號CSI0,以致能第零記憶區塊3042,亦即第零記憶區塊3042被設定為系統內程式區3058的記憶區塊;因為第二選擇訊號SS1係為二進制訊號“1”,所以選擇單元30181根據第二選擇訊號SS1輸出第一第一解碼訊號CSI1,以致能第一記憶區塊3044,亦即第一記憶區塊3044被設定為系統內程式區3058的記憶區塊;因為第三選擇訊號SS2係為二進制訊號“1”,所以選擇單元30182根據第三選擇訊號SS2輸出第二第一解碼訊號CSI2,以致能第二記憶區塊3046,亦即第二記憶區塊3046被設定為系統內程式區3058的記憶區塊;因為第四選擇訊號SS3係為二進制訊號“0”,所以選擇單元30183根據第四選擇訊號SS3輸出第四第二解碼訊號CSD4,以致能第三記憶區塊3048,亦即第三記憶區塊3048被設定為資料緩衝區3060的記憶區塊;因為第五選擇訊號SS4係為二進制訊號“0”,所以選擇單元30184根據第五選擇訊號SS4輸出第三第二解碼訊號CSD3,以致能第四記憶區塊3050,亦即第四記憶區塊3050被設定為資料緩衝區3060的記憶區塊;因為第六選擇訊號SS5係為二進制訊號“0”,所以選擇單元30185根據第六選擇訊號SS5輸出第二第二解碼訊號CSD2,以致能第五記憶區塊3052,亦即第五記憶區塊3052被設定為資料緩衝區3060的記憶區塊;因為第七選擇訊號SS6係為二進制訊號“0”,所以選擇單元30186根據第七選擇訊號SS6輸出第一第二解碼訊號CSD1,以致能第六記憶區塊3054,亦即第六記憶區塊3054被設定為資料緩衝區3060的記憶區塊;因為第八選擇訊號SS7係為二進制訊號“0”,所以選擇單元30187根據第八選擇訊號SS7輸出第零第二解碼訊號CSD0,以致能第七記憶區塊3056,亦即第七記憶區塊3056被設定為資料緩衝區3060的記憶區塊。如第8圖所示,因為第零記憶區塊3042(對應第零第一解碼訊號CSI0)、第一記憶區塊3044(對應第一第一解碼訊號CSI1)及第二記憶區塊3046(對應第二第一解碼訊號CSI2)被設定為系統內程式區3058的記憶區塊,所以系統內程式區3058的記憶區塊的起始位置(0000h)沒有改變,但因為第三記憶區塊3048被設定為資料緩衝區3060的記憶區塊,所以系統內程式區3058的終點位置由(如第3圖所示的03FFh)改變至(02FFh)。如第8圖所示,因為第三記憶區塊3048(對應第四第二解碼訊號CSD4)、第四記憶區塊3050(對應第三第二解碼訊號CSD3)、第五記憶區塊3052(對應第二第二解碼訊號CSD2)、第六記憶區塊3054(對應第一第二解碼訊號CSD1)及第七記憶區塊3056(對應第零第二解碼訊號CSD0)被設定為資料緩衝區3060的記憶區塊,所以資料緩衝區3060的記憶區塊的起始位置(0800h)沒有改變,但因為第三記憶區塊3048被設定為資料緩衝區3060的記憶區塊,所以終點位置由(如第3圖所示的0BFFh)改變至(0CFFh)。亦即第七記憶區塊3056係為資料緩衝區3060預設的第一記憶區塊、第六記憶區塊3054係為資料緩衝區3060預設的第二記憶區塊、第五記憶區塊3052係為資料緩衝區3060預設的第三記憶區塊、第四記憶區塊3050係為資料緩衝區3060預設的第四記憶區塊。而第三記憶區塊3048從系統內程式區3058預設的第四記憶區塊變為資料緩衝區3060的第五記憶區塊,所以資料緩衝區3060的終點位置由(如第3圖所示的0BFFh)改變至(0CFFh)。
如第6圖、第7圖和第9圖所示,判斷單元3016根據欲寫入系統內程式區3058的程式大小所產生的8個選擇訊號SS0-SS7依序為二進制訊號“1”、“1”、“1”、“1”、“1”、“0”、“0”、“0”。因為第一選擇訊號SS0係為二進制訊號“1”,所以選擇單元30180根據第一選擇訊號SS0輸出第零第一解碼訊號CSI0,以致能第零記憶區塊3042,亦即第零記憶區塊3042被設定為系統內程式區3058的記憶區塊;因為第二選擇訊號SS1係為二進制訊號“1”,所以選擇單元30181根據第二選擇訊號SS1輸出第一第一解碼訊號CSI1,以致能第一記憶區塊3044,亦即第一記憶區塊3044被設定為系統內程式區3058的記憶區塊;因為第三選擇訊號SS2係為二進制訊號“1”,所以選擇單元30182根據第三選擇訊號SS2輸出第二第一解碼訊號CSI2,以致能第二記憶區塊3046,亦即第二記憶區塊3046被設定為系統內程式區3058的記憶區塊;因為第四選擇訊號SS3係為二進制訊號“1”,所以選擇單元30183根據第四選擇訊號SS3輸出第三第一解碼訊號CSI3,以致能第三記憶區塊3048,亦即第三記憶區塊3048被設定為系統內程式區3058的記憶區塊;因為第五選擇訊號SS4係為二進制訊號“1”,所以選擇單元30184根據第五選擇訊號SS4輸出第四第一解碼訊號CSI4,以致能第四記憶區塊3050,亦即第四記憶區塊3050被設定為系統內程式區3058的記憶區塊;因為第六選擇訊號SS5係為二進制訊號“0”,所以選擇單元30185根據第六選擇訊號SS5輸出第二第二解碼訊號CSD2,以致能第五記憶區塊3052,亦即第五記憶區塊3052被設定為資料緩衝區3060的記憶區塊;因為第七選擇訊號SS6係為二進制訊號“0”,所以選擇單元30186根據第七選擇訊號SS6輸出第一第二解碼訊號CSD1,以致能第六記憶區塊3054,亦即第六記憶區塊3054被設定為資料緩衝區3060的記憶區塊;因為第八選擇訊號SS7係為二進制訊號“0”,所以選擇單元30187根據第八選擇訊號SS7輸出第零第二解碼訊號CSD0,以致能第七記憶區塊3056,亦即第七記憶區塊3056被設定為資料緩衝區3060的記憶區塊。如第9圖所示,因為第零記憶區塊3042(對應第零第一解碼訊號CSI0)、第一記憶區塊3044(對應第一第一解碼訊號CSI1)、第二記憶區塊3046(對應第二第一解碼訊號CSI2)、第三記憶區塊3048(對應第三第一解碼訊號CSI3)及第四記憶區塊3050(對應第四第一解碼訊號CSI4)被設定為系統內程式區3058的記憶區塊,所以系統內程式區3058的記憶區塊的起始位置(0000h)沒有改變,但因為第三記憶區塊3048被設定為資料緩衝區3060的記憶區塊,所以終點位置由(如第3圖所示的03FFh)改變至(04FFh)。如第9圖所示,因為第五記憶區塊3052(對應第二第二解碼訊號CSD2)、第六記憶區塊3054(對應第一第二解碼訊號CSD1)及第七記憶區塊3056(對應第零第二解碼訊號CSD0)被設定為資料緩衝區3060的記憶區塊,所以資料緩衝區3060的記憶區塊的起始位置(0800h)沒有改變,但因為第四記憶區塊3050被設定為資料緩衝區3060的記憶區塊,所以終點位置由(如第3圖所示的0BFFh)改變至(0AFFh)。亦即第七記憶區塊3056係為資料緩衝區3060預設的第一記憶區塊、第六記憶區塊3054係為資料緩衝區3060預設的第二記憶區塊及第五記憶區塊3052係為資料緩衝區3060預設的第三記憶區塊。而第四記憶區塊3050從資料緩衝區3060預設的第四記憶區塊變為系統內程式區3058的第五記憶區塊,所以系統內程式區3058的終點位置由(如第3圖所示的0BFFh)改變至(0AFFh)。
由於系統內程式區3058的記憶區塊的起始位置(0000h)和資料緩衝區3060的記憶區塊的起始位置(0800h)皆沒有改變,所以記憶體陣列的使用者可以輕易改寫所開發的程式。但本發明並不受限於第6圖中8個選擇單元30180-30187、8個選擇訊號SS0-SS7、8個第一解碼訊號CSI0-CSI7、8個第二解碼訊號CSD0-CSD7及8個記憶區塊3042-3056的對應關係。也就是說系統內程式區3058的記憶區塊的起始位置(0000h)和資料緩衝區3060的記憶區塊的起始位置(0800h)亦可隨記憶體陣列的使用者的需求改變。
請參照第10圖和第3圖,第10圖係為本發明的另一實施例說明用以設定複數個記憶區塊為系統內程式區和資料緩衝區的方法的流程圖。第10圖之方法係利用第3圖的電路301說明,詳細步驟如下:
步驟1000:開始;
步驟1002:判斷單元3016比較欲寫入系統內程式區3058的程式大小和系統內程式區3058的大小,並產生一比較結果;
步驟1004:判斷單元3016根據比較結果,產生8個選擇訊號SS0-SS7;
步驟1006:區塊選擇單元3018根據8個選擇訊號SS0-SS7,將8個記憶區塊3042-3056中的部分記憶區塊設定為系統內程式區3058(資料緩衝區3060)的記憶區塊;
步驟1008:區塊選擇單元3018根據8個選擇訊號SS0-SS7,將8個記憶區塊3042-3056的其餘記憶區塊設定為資料緩衝區3060(系統內程式區3058)的記憶區塊;
步驟1010:結束。
在步驟1002,判斷單元3016比較欲寫入系統內程式區3058的程式大小和系統內程式區3058的大小,並產生一比較結果。亦即判斷單元3016比較欲寫入系統內程式區3058的程式大小和記憶區塊3042-3048的大小,以產生比較結果。在步驟1004中,在本發明的另一實施例中,使用者可設定8個選擇訊號SS0-SS7。亦即使用者可根據實際需求,設定8個選擇訊號SS0-SS7。如果使用者是根據實際需求,設定8個選擇訊號SS0-SS7,則步驟1002可被省略。在步驟1006和步驟1008中,如第6圖所示,8個選擇單元30180-30187中的每一選擇單元係對應8個記憶區塊3042-3056中的一記憶區塊、8個第一解碼訊號CSI0-CSI7中的一第一解碼訊號、8個選擇訊號SS0-SS7中的一選擇訊號和8個第二解碼訊號CSD0-CSD7中的一第二解碼訊號,並根據所對應的選擇訊號決定輸出第一解碼訊號或第二解碼訊號,以致能記憶區塊。因此,電路301即可根據欲寫入系統內程式區3058的程式大小將8個記憶區塊3042-3056中的部分記憶區塊設定為系統內程式區3058的記憶區塊,以及將8個記憶區塊3042-3056中的其餘記憶區塊設定為資料緩衝區3060的記憶區塊。在本發明的另一實施例中,電路301可根據使用者的實際需求(亦即使用者可根據實際需求,設定8個選擇訊號SS0-SS7),將8個記憶區塊3042-3056中的部分記憶區塊設定為系統內程式區3058的記憶區塊,以及將8個記憶區塊3042-3056中的其餘記憶區塊設定為資料緩衝區3060的記憶區塊。
綜上所述,本發明所提供的用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法,係利用判斷單元比較欲寫入系統內程式區的程式大小和系統內程式區的大小,並根據比較結果,產生複數個選擇訊號,或是根據使用者的實際需求設定複數個選擇訊號。然後,區塊選擇單元可根據複數個選擇訊號,將複數個記憶區塊中的部分記憶區塊設定為系統內程式區的記憶區塊,以及將複數個記憶區塊中的其餘記憶區塊設定為資料緩衝區的記憶區塊。如此,本發明不僅可增加記憶體陣列使用者開發程式的彈性,亦可降低記憶體陣列因為記憶體陣列架構問題改版的機率。
以上所述僅為本發明之較佳實施例,凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
100...記憶體陣列
102...唯讀記憶區
104、304...隨機存取記憶區
106...輸入輸出程式區
108...位置解碼線
301...電路
1021-1024、3042-3056...記憶區塊
1042、3058...系統內程式區
1044、3060...資料緩衝區
1082...記憶區塊定址區
1084...記憶單元定址區
3012...系統內程式區位置解碼單元
3014...資料緩衝區位置解碼單元
3016...判斷單元
3018...區塊選擇單元
30180-30187...選擇單元
301802...反相器
301804...第一及閘
301806...第二及閘
301810...或閘
A8...第一區塊定址訊號
A9...第二區塊定址訊號
A10...第三區塊定址訊號
A11...定址選擇訊號
CSI0-CSI7...第一解碼訊號
CSD0-CSD7‧‧‧第二解碼訊號
SS0-SS7‧‧‧選擇訊號
1000-1010‧‧‧步驟
第1圖是為說明記憶體陣列的示意圖。
第2圖係為說明唯讀記憶區的記憶區塊組與位置解碼線示意圖。
第3圖是為本發明的一實施例說明一種用以設定記憶體陣列的隨機存取記憶區的8個記憶區塊為系統內程式區和資料緩衝區的電路的示意圖。
第4圖係為說明系統內程式區位置解碼單元的示意圖。
第5圖係為說明資料緩衝區位置解碼單元的示意圖。
第6圖係為說明判斷單元和區塊選擇單元的示意圖。
第7圖係為說明選擇單元的示意圖。
第8圖和第9圖係為說明當判斷單元根據欲寫入系統內程式區的程式大小,產生8個選擇訊號時,區塊選擇單元根據8個選擇訊號,將8個記憶區塊中的部分記憶區塊設定為系統內程式區的記憶區塊以及將8個記憶區塊中的其餘記憶區塊設定為資料緩衝區的記憶區塊的示意圖。
第10圖係為本發明的另一實施例說明用以設定複數個記憶區塊為系統內程式區和資料緩衝區的方法的流程圖。
301...電路
304...隨機存取記憶區
3042-3056...記憶區塊
3012...系統內程式區位置解碼單元
3014...資料緩衝區位置解碼單元
3016...判斷單元
3018...區塊選擇單元
3058...系統內程式區
3060...資料緩衝區
30180-30187...選擇單元
A8...第一區塊定址訊號
A9...第二區塊定址訊號
A10...第三區塊定址訊號
A11...定址選擇訊號
CSI0-CSI7...第一解碼訊號
CSD0-CSD7...第二解碼訊號
SS0-SS7...選擇訊號

Claims (7)

  1. 一種用以設定揮發性記憶體內的複數個記憶區塊為系統內程式區和資料緩衝區的電路,其中該揮發性記憶體是多次寫入(multi-time programming)記憶體,該電路包含:一系統內程式區位置解碼單元,用以根據複數個區塊定址訊號及一定址選擇訊號,產生對應於該複數個記憶區塊的複數個第一解碼訊號;一資料緩衝區位置解碼單元,用以根據該複數個區塊定址訊號及該定址選擇訊號,產生對應於該複數個記憶區塊的複數個第二解碼訊號;及一區塊選擇單元,包含複數個選擇單元,其中每一選擇單元是對應該複數個記憶區塊中的一記憶區塊、該複數個第一解碼訊號中的一第一解碼訊號、複數個選擇訊號中的一選擇訊號和該複數個第二解碼訊號中的一第二解碼訊號,並根據該選擇訊號決定輸出該第一解碼訊號或該第二解碼訊號,以致能該記憶區塊;其中當該區塊選擇單元根據該選擇訊號,輸出該第一解碼訊號時,該記憶區塊被設定為該系統內程式區的一記憶區塊,以及當該區塊選擇單元根據該選擇訊號,輸出該第二解碼訊號時,該記憶區塊被設定為該資料緩衝區的一記憶區塊,其中該系統內程式區的記憶區塊數目和該資料緩衝區的記憶區塊數目是被動態調整。
  2. 如請求項1所述的電路,另包含:一判斷單元,用以比較欲寫入該系統內程式區的一程式大小和該系統內程式區的大小,並根據一比較結果,產生該複數個選擇訊號。
  3. 如請求項1所述的電路,其中該複數個選擇訊號是由一使用者決定。
  4. 如請求項1所述的電路,其中該複數個區塊定址訊號包含一第一區塊定址訊號、一第二區塊定址訊號及一第三區塊定址訊號,以及該複數個記憶區塊包含8個記憶區塊。
  5. 一種用以設定揮發性記憶體內的複數個記憶區塊為系統內程式區和資料緩衝區的方法,其中該揮發性記憶體是多次寫入記憶體,該方法包含:根據複數個區塊定址訊號及一定址選擇訊號,產生對應於該複數個記憶區塊的複數個第一解碼訊號;根據該複數個區塊定址訊號及該定址選擇訊號,產生對應於該複數個記憶區塊的複數個第二解碼訊號;產生複數個選擇訊號;及根據該複數個選擇訊號、該複數個第一解碼訊號和該複數個第二解碼訊號,將該複數個記憶區塊中的部分記憶區塊設定為該系統內程式區的記憶區塊以及該複數個記憶區塊中的 其他記憶區塊設定為該資料緩衝區的記憶區塊;其中該系統內程式區的記憶區塊數目和該資料緩衝區的記憶區塊數目是被動態調整。
  6. 如請求項5所述的方法,其中產生該複數個選擇訊號包含:比較欲寫入該系統內程式區的一程式大小和該系統內程式區的大小,並產生一比較結果;及根據該比較結果,產生該複數個選擇訊號。
  7. 如請求項5所述的方法,其中該複數個選擇訊號是由一使用者決定。
TW101105447A 2011-12-29 2012-02-20 用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法 TWI439926B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/339,376 US20130173881A1 (en) 2011-12-29 2011-12-29 Circuit for setting a plurality of blocks as an in-system programming area and a data buffer area and method therefore

Publications (2)

Publication Number Publication Date
TW201327373A TW201327373A (zh) 2013-07-01
TWI439926B true TWI439926B (zh) 2014-06-01

Family

ID=48677653

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101105447A TWI439926B (zh) 2011-12-29 2012-02-20 用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法

Country Status (3)

Country Link
US (1) US20130173881A1 (zh)
CN (1) CN103186478A (zh)
TW (1) TWI439926B (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260156B1 (en) * 1998-12-04 2001-07-10 Datalight, Inc. Method and system for managing bad areas in flash memory
JP2003208359A (ja) * 2002-01-16 2003-07-25 Mitsubishi Electric Corp マイクロコンピュータ
TW591388B (en) * 2003-02-21 2004-06-11 Via Tech Inc Memory address decoding method and related apparatus by bit-pattern matching
KR100626371B1 (ko) * 2004-03-30 2006-09-20 삼성전자주식회사 캐쉬 읽기 동작을 수행하는 비휘발성 메모리 장치, 그것을포함한 메모리 시스템, 그리고 캐쉬 읽기 방법
US8331128B1 (en) * 2008-12-02 2012-12-11 Adesto Technologies Corporation Reconfigurable memory arrays having programmable impedance elements and corresponding methods
US8266409B2 (en) * 2009-03-03 2012-09-11 Qualcomm Incorporated Configurable cache and method to configure same

Also Published As

Publication number Publication date
CN103186478A (zh) 2013-07-03
TW201327373A (zh) 2013-07-01
US20130173881A1 (en) 2013-07-04

Similar Documents

Publication Publication Date Title
US7660160B2 (en) Flash memory device and method of operating the same
US8850102B2 (en) Flash memory with small data programming capability
US7623379B2 (en) Semiconductor integrated circuit device and non-volatile memory system using the same
US7646636B2 (en) Non-volatile memory with dynamic multi-mode operation
US7965553B2 (en) Method of verifying a program operation in a non-volatile memory device
CN102132354B (zh) 闪存中的数据的快速低功率读取
JP4455524B2 (ja) 複数のストリングを使用して状態情報を保存する方法及び不揮発性保存装置
TWI774830B (zh) 記憶體系統及其操作方法
US8289771B2 (en) Data reading method and control circuit and memory controller using the same
US9058296B2 (en) Data processing method, memory storage device and memory control circuit unit
US7826277B2 (en) Non-volatile memory device and method of operating the same
US20080172521A1 (en) Memory System Determining Storage Mode According to Host Provided Data Information
US7885141B2 (en) Non-volatile memory device and method for setting configuration information thereof
JP2011044200A (ja) 不揮発性半導体記憶装置
US8270219B2 (en) Method of operating nonvolatile memory device capable of reading two planes
KR20190051570A (ko) 메모리 시스템 및 그것의 동작 방법
US20080205152A1 (en) Flash memory device for over-sampling read and interfacing method thereof
CN113066517A (zh) 存储器系统及其操作方法
US20180335942A1 (en) Data reading method, memory control circuit unit and memory storage device
JP5731622B2 (ja) フラッシュメモリ、バッドブロックの管理方法および管理プログラム
TWI439926B (zh) 用以設定複數個記憶區塊為系統內程式區和資料緩衝區的電路及其方法
KR20100013962A (ko) 불휘발성 메모리 장치의 프로그램 방법
TWI530957B (zh) 快閃記憶體、壞區塊的管理方法及管理程式
KR20120088442A (ko) 비휘발성 메모리 시스템 및 이를 위한 플래그 데이터 입출력 방법
US11443814B1 (en) Memory structure with marker bit and operation method thereof