專利名稱:記錄系統(tǒng)、數(shù)據(jù)記錄設(shè)備、存儲設(shè)備和數(shù)據(jù)記錄方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種記錄系統(tǒng)、數(shù)據(jù)記錄設(shè)備、存儲設(shè)備和數(shù)據(jù)記錄方法,其中,將可安裝到一設(shè)備和可從該設(shè)備拆卸的存儲卡用作記錄介質(zhì)。
已知具有閃速存儲器的存儲卡被構(gòu)造成能夠安裝到一設(shè)備和可從該設(shè)備拆卸。采用這種存儲卡,可實現(xiàn)采用存儲卡來替代諸如CD(致密盤)、MD(迷你盤)等的傳統(tǒng)盤形介質(zhì)的數(shù)字音頻記錄和再現(xiàn)設(shè)備。除音頻數(shù)據(jù)外,也可將靜止圖像數(shù)據(jù)和運動圖像數(shù)據(jù)記錄到存儲卡中,并且存儲卡可用作數(shù)碼相機或數(shù)碼攝像機的記錄介質(zhì)。
對于閃速存儲器,稱作段的數(shù)據(jù)單元被分割成預(yù)定數(shù)個簇(固定長度),而一個簇被分割成預(yù)定數(shù)個扇區(qū)(固定長度)。簇也被稱作塊。扇區(qū)也被稱作頁。在閃速存儲器中,以簇為單位一起執(zhí)行刪除,并且以扇區(qū)為單位一起執(zhí)行寫入或讀取操作。
例如,在4MB(兆字節(jié))閃速存儲器情況下,如
圖12所示,一個段被分割成512個簇。該段是用于管理預(yù)定數(shù)個簇的單位。一個簇被分割成16個扇區(qū)。一個簇具有8kB(k字節(jié))的容量。一個扇區(qū)具有512B的容量。16MB容量的存儲器可采用其每個的容量為4MB的四個段構(gòu)成。
如圖13A所示,給16MB的存儲空間分配邏輯簇地址。為了區(qū)分512×4=2048個簇,將邏輯簇地址設(shè)定為2字節(jié)長度。在圖13A中,采用十六進制數(shù)表示邏輯簇地址。Ox是指十六進制表示。邏輯地址是由數(shù)據(jù)處理設(shè)備(軟件)進行邏輯處理的地址。在閃速存儲器中,將物理地址附加到每個簇上。簇與物理地址之間的對應(yīng)關(guān)系不改變。
對于閃速存儲器,通過重寫數(shù)據(jù),絕緣膜變劣,并且重寫次數(shù)受到限制。因此,必須防止發(fā)生對某一相同存儲區(qū)(簇)進行重復(fù)和集中存取的情況。因此,在向存儲在某一物理地址中的某一邏輯地址寫數(shù)據(jù)的情況下,在閃速存儲器的文件系統(tǒng)中,不將更新的數(shù)據(jù)重寫到同一簇中而是將更新的數(shù)據(jù)寫入未使用過的簇中。因此,數(shù)據(jù)更新前的邏輯地址與物理地址之間的對應(yīng)關(guān)系在更新后發(fā)生變化。通過執(zhí)行上述這種交換處理,防止了對同一簇重復(fù)和集中地進行存取的情況,從而可延長閃速存儲器的壽命。
由于邏輯簇地址伴隨著曾被寫入到該簇的數(shù)據(jù),因此,即使其中寫入更新前數(shù)據(jù)和更新后數(shù)據(jù)的物理簇地址改變,仍可從文件管理系統(tǒng)看到相同的地址,并且能夠正確地執(zhí)行后續(xù)的存取。由于通過交換處理改變了的邏輯地址與物理地址之間的對應(yīng)關(guān)系,因此,需要表示它們之間的對應(yīng)關(guān)系的邏輯/物理地址變換表。參照該表,規(guī)定對應(yīng)于所指定的邏輯簇地址的物理簇地址,從而能夠?qū)τ伤?guī)定的物理簇地址表示的簇進行存取。
數(shù)據(jù)處理設(shè)備將邏輯/物理地址變換表存儲到存儲器中。如果數(shù)據(jù)處理設(shè)備的存儲器容量小,則可將該表存儲到閃速存儲器中。圖13B表示了有關(guān)段1的邏輯/物理地址變換表。如圖13B所示,在該邏輯/物理地址變換表中,使物理簇地址(2字節(jié))分別與按遞增順序排列的邏輯簇地址(2字節(jié))相對應(yīng)。按每個段管理邏輯/物理地址變換表,并且邏輯/物理地址變換表的尺寸隨閃速存儲器的容量增大。
有一種希望通過使閃速存儲器的多個存儲區(qū)(storage)并行操作將數(shù)據(jù)寫入速度設(shè)定為高于原始數(shù)據(jù)寫入速度的情況。例如,用于通過網(wǎng)絡(luò)發(fā)布音樂數(shù)據(jù)的電子音樂發(fā)布EMD開始進入實用階段。所發(fā)布的音樂數(shù)據(jù)被存儲到個人計算機的硬盤中,個人計算機將所需樂曲的數(shù)據(jù)復(fù)制或移動到閃速存儲卡中,并且將該存儲卡附到便攜式記錄器中,從而用戶可在其家以外的地方容易地聽到所需音樂。通過(高速)并行寫操作,將多個樂曲的數(shù)據(jù)下載到存儲卡中,并且當再現(xiàn)時,以正常速度從存儲卡讀出音樂數(shù)據(jù)。
圖14表示對于四個存儲區(qū)的傳統(tǒng)邏輯地址的構(gòu)成。在所示的實例中,存儲器中的地址空間采用11個比特A0、A1、...、和A10表示。A0表示LSB(最低有效位),而A10表示MSB(最高有效位)。由MSB(A10)和次MSB(A9)切換其每個的容量為4MB的各存儲區(qū)。將A0至A8的9個比特地址分配給每個存儲區(qū)中的扇區(qū)和段。
當寫數(shù)據(jù)時,在如圖15所示的定時進行操作。首先,將數(shù)據(jù)從主機側(cè)傳送到扇區(qū)尺寸的頁緩沖器。進行傳送所需的時間為T。在下一個寫入忙周期,將數(shù)據(jù)從頁緩沖器傳送到閃速存儲器中的閃速緩沖器中,并將數(shù)據(jù)寫入存儲區(qū)中。
在進行讀取時,如圖16所示,在讀忙周期從閃速存儲器讀出數(shù)據(jù)。將所讀出的數(shù)據(jù)傳送到扇區(qū)尺寸的頁緩沖器。在下一個傳送時間T,將數(shù)據(jù)從頁緩沖器傳送到主機側(cè)。
圖17是表示在將數(shù)據(jù)寫入屬于某一段中不同簇的連續(xù)邏輯扇區(qū)0至3時進行的處理流程的流程圖。在第一步驟S11,相對于作為要被寫入的目標的段形成邏輯/物理變換表。在步驟S12,從主機側(cè)發(fā)送扇區(qū)0。對于該傳送需要時間T。在步驟S13,將扇區(qū)0寫入閃速存儲器。在步驟S14,從主機側(cè)發(fā)送扇區(qū)1。在步驟S15,將扇區(qū)1寫入閃速存儲器。順序執(zhí)行發(fā)送扇區(qū)2(步驟S16)、寫入扇區(qū)2(步驟S17)、發(fā)送扇區(qū)3(步驟S18)、和寫入扇區(qū)3(步驟S19)的處理。至此,例如,即使并行地提供四個存儲區(qū),由于集中地對一個存儲區(qū)進行存取,因此,不能實現(xiàn)高的處理速度。
對于閃速存儲器上一個扇區(qū)的結(jié)構(gòu),如圖18所示,將其中記錄有管理信息的16字節(jié)長的區(qū)域附加到512字節(jié)的數(shù)據(jù)上。該管理信息包括邏輯簇號、簇管理信息、和屬性信息。在某個簇內(nèi)的所有扇區(qū)中,簇管理信息被設(shè)定為相同信息,并且包括表示簇的“有效/無效”等的信息。屬性信息是每個扇區(qū)的信息并包括版權(quán)信息等。例如,當將閃速存儲器附到設(shè)備上時,主機側(cè)讀取管理信息,并相對于該段形成邏輯簇和物理簇的表。
在多個存儲區(qū)并行操作的情況下,必須考慮到對多個存儲區(qū)進行存取的方法。圖19表示的是向四個存儲區(qū)提供地址的結(jié)構(gòu)。圖20表示在4MB×4=16MB的閃速存儲器中的地址。如參照圖14所述,地址由11個比特A0、A1、...、和A10表示。A0是LSB(最低有效位),而A10是MSB(最高有效位)。由MSB(A10)和次MSB(A9)切換容量為4MB的各存儲區(qū)。9比特地址A0至A8被分配給每個存儲區(qū)中的簇。
至此,為了切換四個存儲區(qū),將地址提供給閃速存儲器,如圖19所示。低位的9比特地址A0至A8共同分配給四個存儲區(qū)(0至3)。高位2比特地址A9和A10被提供給2至4解碼器60。從解碼器60生成用于選擇存儲區(qū)的選擇信號CS0、CS1、CS2和CS3。
在(A10,A9)=00的情況下,從解碼器60生成用來選擇存儲區(qū)0的選擇信號CSO。當(A10,A9)=01、(A10,A9)=10或(A10,A9)=11時,從解碼器60生成用于選擇存儲區(qū)1、存儲區(qū)2和存儲區(qū)3中的每個的每個選擇信號CS1、CS2和CS3。
圖20中由箭頭示出了當由于上述存儲區(qū)的切換,地址從所有11個比特等于0的狀態(tài)增大到所有11個比特等于1的狀態(tài)時的地址變化。亦即,當?shù)刂窂拇鎯^(qū)0的開頭簇變化至存儲區(qū)0的最后簇時,簇地址改變,從而接下來移動到存儲區(qū)1的開頭簇。圖21表示段和邏輯簇地址的排列。
在上述閃速存儲器的存儲區(qū)的傳統(tǒng)切換中,采用從地址的MSB開始的幾個比特形成存儲區(qū)選擇信號。因此,將段集中排列到一個存儲區(qū)上,對于每個存儲區(qū),段不同。根據(jù)這種方法,不能同時并行地寫入相同段的多個簇。例如,由于在相同的存儲區(qū)0中包括四個簇(0x004,0x0005,0x0006,0x0007),所以,它們不能同時寫入。
多個段的簇,例如圖21中的四個簇(0x0004,0x0204,0x0404,0x0604)可以同時寫入存儲區(qū)0至3。但是,對于閃速存儲器,由于對每個段構(gòu)成邏輯/物理地址變換表,因此,在存取時必須參照邏輯/物理地址變換表。所以,與上述實例類似,當在四個段上同時寫入四個簇時,需要用于保存四個段的地址變換表。每當一個扇區(qū)的數(shù)據(jù)被寫入每個段中時,必須參照地址變換表。由于由此引起的開銷,寫入時(或讀取時)的性能惡化。
因此,本發(fā)明的目的是提供一種數(shù)據(jù)處理系統(tǒng)、數(shù)據(jù)處理設(shè)備、存儲設(shè)備、和數(shù)據(jù)記錄方法,其中可將數(shù)據(jù)并行寫到多個存儲區(qū)中,并且可改善讀取時的性能。
一個段中的多個簇的數(shù)據(jù)被分布并排列到多個存儲區(qū)中。
根據(jù)本發(fā)明權(quán)利要求2,提供了一種采用具有其中由多個扇區(qū)構(gòu)成一個簇而由多個簇構(gòu)成一個段的多個存儲區(qū)的非易失性存儲設(shè)備作為記錄介質(zhì)的數(shù)據(jù)處理系統(tǒng),其中,一個段中的多個簇的數(shù)據(jù)被寫入存儲設(shè)備中,從而被分布并排列到多個存儲區(qū)中。
根據(jù)本發(fā)明權(quán)利要求3,提供了一種非易失性存儲設(shè)備,其可被安裝到一數(shù)據(jù)處理設(shè)備和從該數(shù)據(jù)處理設(shè)備拆卸,并具有其中由多個扇區(qū)構(gòu)成一個簇而由多個簇構(gòu)成一個段的多個存儲區(qū),其中,一個段中的所述多個簇的數(shù)據(jù)被分布并排列到多個存儲區(qū)中。
根據(jù)本發(fā)明權(quán)利要求6,提供了一種將其中多個扇區(qū)構(gòu)成一個簇、并且存在于多個簇上的數(shù)據(jù)并行地記錄到多個存儲區(qū)中的數(shù)據(jù)記錄方法,包括下列步驟指定簇地址,并將數(shù)據(jù)寫入所指定的簇地址;和在完成并行寫入處理后,將一個段中多個簇的數(shù)據(jù)分布并排列到多個存儲區(qū)中。
根據(jù)本發(fā)明,可并行寫入一個段中多個簇的數(shù)據(jù)。當讀出寫入的數(shù)據(jù)時,如果在相同段中存在數(shù)據(jù),則不引起邏輯/物理地址變換表的切換,從而可改善讀取時的性能。
圖12是表示可采用本發(fā)明的閃速存儲器實例的結(jié)構(gòu)的示意圖;圖13是表示可采用本發(fā)明的閃速存儲器邏輯/物理地址變換表實例的示意圖;圖14是用于解釋傳統(tǒng)地址結(jié)構(gòu)的示意圖;圖15是用于解釋傳統(tǒng)寫入操作的時序圖;圖16是用于解釋傳統(tǒng)讀取操作的時序圖;圖17是用于解釋傳統(tǒng)寫入操作的流程圖;圖18是用于解釋扇區(qū)結(jié)構(gòu)和管理信息的示意圖;圖19是用于解釋傳統(tǒng)的存儲區(qū)切換的框圖;圖20是用于解釋傳統(tǒng)的存儲區(qū)切換的示意圖;和圖21是表示傳統(tǒng)的段與邏輯簇地址之間關(guān)系的示意圖。
實施發(fā)明的最好形式以下將說明本發(fā)明的實施例。圖1表示可采用本發(fā)明的系統(tǒng)結(jié)構(gòu)。在該系統(tǒng)中,主機側(cè)的數(shù)據(jù)處理設(shè)備和存儲卡經(jīng)串行接口相連。圖1中,標號1表示CPU。存儲器2、顯示器3和輸入/輸出單元4連接到CPU 1的總線。
串行接口5設(shè)置在CPU總線和由虛線框住的存儲卡6之間。存儲器2包括用于存儲程序的ROM和用作工作區(qū)域的RAM。具體地講,數(shù)據(jù)處理設(shè)備是個人計算機、數(shù)碼相機、數(shù)碼攝像機、數(shù)字錄音機等。存儲卡6具有閃速存儲器7。閃速存儲器7例如是NAND型閃速存儲器(非易失性存儲器)。還有這樣一種情況,即,在存儲卡6中安裝有加密電路,用于保護所存儲內(nèi)容的版權(quán)。
本發(fā)明也可應(yīng)用于由并行接口而不是由串行接口來執(zhí)行數(shù)據(jù)處理設(shè)備和存儲卡6之間的數(shù)據(jù)發(fā)送和接收的情況。
閃速存儲器7是容量為例如4MB×4=16MB的存儲器。如上述參照圖12所述的,在4MB(兆字節(jié))閃速存儲器情況下,一個段被分成512個簇,而一個簇被分成16個扇區(qū)。一個簇的容量為8kB(k字節(jié)),一個扇區(qū)的容量為512B。如參照圖13A所述的,向16MB的存儲空間分配邏輯簇地址。如參照圖13B所述的,以段為單位形成用于表示邏輯簇地址與物理簇地址之間對應(yīng)關(guān)系的邏輯/物理地址變換表。此外,如上所述,對于4MB×4=16MB的閃速存儲器,采用11個比特A0、A1、...A10的物理簇地址。
如圖2所示,可對閃速存儲器7執(zhí)行并行寫入。為便于解釋,圖2僅表示有關(guān)數(shù)據(jù)輸入/輸出的部分。分別向存儲區(qū)0至3提供四個相應(yīng)的存儲單元MC0至MC3。分別經(jīng)數(shù)據(jù)總線和閃速緩沖器BF0至BF3將數(shù)據(jù)提供給存儲單元MC0至MC3。亦即,當經(jīng)數(shù)據(jù)總線將一頁的寫數(shù)據(jù)累積到閃速緩沖器BF0至BF3中的每個時,將數(shù)據(jù)從閃速緩沖器BF0至BF3同時傳送到存儲單元MC0至MC3。盡管圖2表示的是一個IC組件具有四個存儲區(qū)的實例,但是,也可使用四個不同組件的閃速存儲器。此外,也可組合組件中其每個具有多個存儲區(qū)的多個閃速存儲器。
圖3表示可采用本發(fā)明的存儲卡6的更具體結(jié)構(gòu)。通過使控制塊11和閃速存儲器7構(gòu)成一個芯片IC來形成存儲卡6。數(shù)據(jù)處理設(shè)備的CPU 1與存儲卡6之間的雙向串行接口5包括10根線。4根主要線是在數(shù)據(jù)發(fā)送時發(fā)送時鐘的時鐘線SCK、用于發(fā)送狀態(tài)的狀態(tài)線SBS、用于發(fā)送數(shù)據(jù)的數(shù)據(jù)線DIO、和中斷線INT。設(shè)置兩根GND線和兩根VCC線作為其他電源線。兩個Reserv線是未定義的線。
時鐘線SCK是用于發(fā)送與數(shù)據(jù)同步的時鐘的線。狀態(tài)線SBS是用于發(fā)送表示存儲卡6的狀態(tài)的信號的線。數(shù)據(jù)線DIO是用于輸入和輸出指令和加密的音頻數(shù)據(jù)的線。中斷線INT是用于從存儲卡6發(fā)送用于請求中斷的中斷信號到數(shù)據(jù)處理設(shè)備的CPU1的線。當附加存儲卡6時產(chǎn)生該中斷信號。但是,在該實施例中,由于經(jīng)數(shù)據(jù)線DIO發(fā)送中斷信號,因此,中斷線INT連接到地,并且不使用。
控制塊11中的串行/并行變換、并行/串行變換和接口簇(以下縮寫為S/P、P/S、I/F簇)12連接到接口5。S/P、P/S、I/F塊12將從數(shù)據(jù)處理設(shè)備接收到的串行數(shù)據(jù)變換為并行數(shù)據(jù),將其取到控制塊11,將來自控制塊11的并行數(shù)據(jù)變換成串行數(shù)據(jù),并將其發(fā)送到數(shù)據(jù)處理設(shè)備。
在用來經(jīng)數(shù)據(jù)線DIO發(fā)送數(shù)據(jù)的格式中,首先發(fā)送指令,此后發(fā)送數(shù)據(jù)。S/P、P/S、I/F塊12將指令存儲到指令寄存器13中,將數(shù)據(jù)存儲到頁緩沖器14和寫寄存器15中。與寫寄存器15相關(guān)聯(lián)地設(shè)置糾錯編碼電路(ECC)16。糾錯編碼電路16形成用于暫時存儲到頁緩沖器14中的數(shù)據(jù)的糾錯碼的冗余碼。
指令寄存器13、頁緩沖器14、寫寄存器15和糾錯編碼電路16的輸出數(shù)據(jù)被提供給閃速存儲器接口和序列化器(sequencer)(簡寫成存儲器I/F、序列化器)17。存儲器I/F、序列化器17是控制塊11與閃速存儲器7之間的接口,并控制它們之間的數(shù)據(jù)發(fā)送和接收。通過存儲器I/F、序列化器17將數(shù)據(jù)寫入閃速存儲器7。
從閃速存儲器7讀出的數(shù)據(jù)經(jīng)存儲器I/F、序列化器17提供給頁緩沖器14、讀寄存器18和糾錯電路19。存儲在頁緩沖器14中的數(shù)據(jù)由糾錯電路19進行糾錯。頁緩沖器14和讀寄存器18的糾錯輸出被提供給S/P、P/S、I/F塊12,并經(jīng)串行接口5提供給數(shù)據(jù)處理設(shè)備的CPU1。
標號20表示其中已存儲有存儲卡6的版本信息、各種屬性信息等的配置ROM。對存儲卡6設(shè)置一必要時可由用戶操作的用于防止誤刪除的開關(guān)21。當開關(guān)21處于禁止刪除的連接狀態(tài)時,即使從數(shù)據(jù)處理設(shè)備側(cè)發(fā)送用來命令刪除閃速存儲器7的指令,仍禁止刪除閃速存儲器7。此外,標號22表示用于產(chǎn)生作為存儲卡6的處理定時基準的時鐘的振蕩器。
下面將更進一步詳細描述本發(fā)明實施例中的數(shù)據(jù)處理設(shè)備與存儲卡6之間的串行接口。當從存儲卡6讀出數(shù)據(jù)時,將讀取指令從數(shù)據(jù)處理設(shè)備發(fā)送到存儲卡6,并且存儲卡6接收該讀取指令。在完成指令發(fā)送后,存儲卡6執(zhí)行讀出由從閃速存儲器7接收到的讀取指令指定的地址中的數(shù)據(jù)的處理。在執(zhí)行該處理的同時,將一忙信號(高電平)經(jīng)數(shù)據(jù)線DIO發(fā)送到數(shù)據(jù)處理設(shè)備。在完成從閃速存儲器7讀取數(shù)據(jù)的處理后,忙信號的輸出停止,并且開始輸出用于表示從存儲卡6向數(shù)據(jù)處理設(shè)備發(fā)送數(shù)據(jù)的準備完成的就緒信號(低電平)。
通過從存儲卡6接收就緒信號,數(shù)據(jù)處理設(shè)備得知對應(yīng)于該讀取指令的處理已準備好。存儲卡6將從頁緩沖器讀出的數(shù)據(jù)經(jīng)數(shù)據(jù)線DIO輸出到數(shù)據(jù)處理設(shè)備。由狀態(tài)線SBS的電平變化來表示其中上述各處理中的每個均已執(zhí)行的狀態(tài)。
當將數(shù)據(jù)寫入存儲卡6的閃速存儲器7中時,經(jīng)數(shù)據(jù)線DIO將寫指令從數(shù)據(jù)處理設(shè)備發(fā)送到存儲卡6。與寫指令相關(guān)聯(lián)地發(fā)送寫地址。盡管在閃速存儲器7中以扇區(qū)為單位對數(shù)據(jù)進行寫入和讀取操作,但是,在數(shù)據(jù)處理設(shè)備中以簇為單位管理文件,并且來自數(shù)據(jù)處理設(shè)備的地址是以簇為單位的。接下來,數(shù)據(jù)處理設(shè)備經(jīng)數(shù)據(jù)線DIO將寫數(shù)據(jù)發(fā)送到存儲卡6。在存儲卡6中,將接收到的寫數(shù)據(jù)累積到頁緩沖器中。當寫數(shù)據(jù)的發(fā)送結(jié)束時,存儲卡6執(zhí)行將寫數(shù)據(jù)寫入閃速存儲器7的處理。在寫處理期間,輸出忙信號。當存儲卡6中寫數(shù)據(jù)的寫操作結(jié)束時,停止忙信號的輸出,并將就緒信號(低電平)發(fā)送到數(shù)據(jù)處理設(shè)備。
在經(jīng)串行接口執(zhí)行并行寫操作情況下,發(fā)送用于寫入存儲區(qū)0的指令、地址和數(shù)據(jù),此后,在忙信號處于高電平狀態(tài)下,順序發(fā)送用于寫入存儲區(qū)1的指令、地址和數(shù)據(jù);用于寫入存儲區(qū)2的指令、地址和數(shù)據(jù);及用于寫入存儲區(qū)3的指令、地址和數(shù)據(jù)。再次發(fā)送用于寫入存儲區(qū)0的指令、地址和數(shù)據(jù)。此時,前述將數(shù)據(jù)寫入存儲區(qū)0的處理已結(jié)束,并且忙信號處于低電平。通過重復(fù)這種操作,可執(zhí)行并行寫入。通過并行地使用四個串行接口的方法,也可同時發(fā)送數(shù)據(jù)。
下面將更進一步詳細描述本發(fā)明的上述實施例。圖4表示該實施例中的地址結(jié)構(gòu)。由11個比特A0、A1、...、及A10來表示地址空間。A0表示LSB(最低有效位),而A10表示MSB(最高有效位)。由LSB(A00)和次LSB(A1)切換其每個的容量為4MB的各存儲區(qū)。將A2至A10的9比特地址分配給各個存儲區(qū)中的扇區(qū)和段。
圖5是用于解釋采用存儲卡6作為存儲介質(zhì)的圖1系統(tǒng)中的文件管理方法的示圖。圖5中,標號30表示數(shù)據(jù)文件,例如壓縮音頻數(shù)據(jù)文件中的數(shù)據(jù)。對于壓縮音頻數(shù)據(jù),通常,對每個樂曲形成一文件,將文件以扇區(qū)為單位記錄到存儲卡6中的閃速存儲器7中,并從閃速存儲器7中讀出。
在并行地將這種數(shù)據(jù)30記錄到閃速存儲器7的情況下,如圖5所示,從多個簇中選擇寫扇區(qū),從而在寫處理后在每個簇中連續(xù)排列這些扇區(qū),并且將該數(shù)據(jù)寫入所選扇區(qū)。下面,假設(shè)數(shù)據(jù)30的尺寸與四個簇相一致,將數(shù)據(jù)30記錄到閃速存儲器7的四個簇中。
如圖5所示,記錄數(shù)據(jù),從而在寫入之后按原始順序?qū)⑦@些扇區(qū)排列在每個存儲區(qū)的每個簇中。例如,在并行地將按原始順序編號為0、1、2、3...的扇區(qū)寫入存儲區(qū)0至3情況下,分別將編號0的數(shù)據(jù)記錄到存儲區(qū)0的簇中的開頭扇區(qū),將編號16的數(shù)據(jù)記錄到存儲區(qū)1的簇的開頭扇區(qū),將編號32的數(shù)據(jù)記錄到存儲區(qū)2的簇中的開頭扇區(qū),將編號48的數(shù)據(jù)記錄到存儲區(qū)3的簇中的開頭扇區(qū)。
如上所述,當按每個扇區(qū)對數(shù)據(jù)進行編號時,將其偏移數(shù)等于簇的扇區(qū)數(shù)的四個數(shù)據(jù)單元變換成并行數(shù)據(jù),并同時寫入四個存儲區(qū)。因此,在閃速存儲器7的每個存儲區(qū)中,以與現(xiàn)有閃速存儲器相同的方式將數(shù)據(jù)以原始順序排列在相同存儲區(qū)內(nèi)構(gòu)成的簇中。因此,保持了與現(xiàn)有閃速存儲器的文件格式的兼容。
對每個如上所述地記錄在閃速存儲器中的簇,順序地讀出數(shù)據(jù)。例如,從圖5的存儲區(qū)0中的簇的開頭扇區(qū)中順序讀出數(shù)據(jù)。接下來,從存儲區(qū)1中的簇的開頭扇區(qū)中順序讀出數(shù)據(jù)。以這種方式,從存儲區(qū)2中的簇和存儲區(qū)3的簇中順序讀出數(shù)據(jù)。所讀出數(shù)據(jù)的順序與原始順序相同。按對每個存儲區(qū)構(gòu)成的簇為單位執(zhí)行刪除操作。
如上所述,對于本實施例中在并行寫入后的數(shù)據(jù)排列,以與現(xiàn)有閃速存儲器相同的方式在相同存儲區(qū)中構(gòu)成簇。因此,可保持與現(xiàn)有閃速存儲器的文件格式的兼容。
圖6表示實施例中的寫操作。首先,將數(shù)據(jù)從主機側(cè)傳送到扇區(qū)尺寸的頁緩沖器。此外,將數(shù)據(jù)從頁緩沖器傳送到存儲區(qū)0的閃速緩沖器BF0。傳送需要的時間為T。對于下一個寫入忙周期,將數(shù)據(jù)從閃速緩沖器BF0寫入存儲區(qū)0。在第一個傳送周期T之后,傳送下一個扇區(qū)的數(shù)據(jù),并在寫入忙周期將其寫入存儲區(qū)1。由于如上所述并行地執(zhí)行向存儲區(qū)0至3的寫操作,因此,實現(xiàn)了比圖15所示傳統(tǒng)寫操作高的寫入速度。
在進行讀取時,如圖7所示,在讀取忙周期,從存儲區(qū)0至3中的每個讀出數(shù)據(jù),并將所讀出的數(shù)據(jù)傳送到扇區(qū)尺寸的閃速緩沖器BF0至BF3。在下一個傳送周期T,將數(shù)據(jù)從閃速緩沖器BF0傳送到頁緩沖器,另外,將數(shù)據(jù)從頁緩沖器傳送到主機側(cè)。接下來,數(shù)據(jù)被順序地從閃速緩沖器BF1、BF2和BF3輸出到頁緩沖器,并且該數(shù)據(jù)被從頁緩沖器傳送到主機側(cè)。從而,實現(xiàn)了高于其中順序執(zhí)行讀取忙操作的傳統(tǒng)讀取操作處理(圖16)中的速度的讀取速度。
圖8是表示在將數(shù)據(jù)寫入屬于某一段中的不同扇區(qū)的連續(xù)邏輯扇區(qū)0至3時的處理流程的流程圖。在第一步驟S1,相對于作為要被寫入的目標的段形成一邏輯/物理地址變換表。在步驟S2,將扇區(qū)0從主機側(cè)發(fā)送到頁緩沖器,并將扇區(qū)0中的數(shù)據(jù)從頁緩沖器傳送到閃速緩沖器。傳送所需時間為T。在下一步驟S3,將發(fā)送扇區(qū)1,并且在步驟S4,并行地將扇區(qū)0寫入閃速存儲器的一個存儲區(qū)中。
在步驟S5,發(fā)送扇區(qū)2。在步驟S6,并行地將扇區(qū)1寫入閃速存儲器的一個存儲區(qū)中。接下來,類似地執(zhí)行用于發(fā)送扇區(qū)3(步驟S7)、寫入扇區(qū)2(步驟S8)、和寫入扇區(qū)3(步驟S9)的處理。根據(jù)本發(fā)明的實施例,不出現(xiàn)與傳統(tǒng)設(shè)備中那樣集中地對一個存儲區(qū)進行存取的情況,并且不切換段。因此,由于不必形成邏輯/物理地址變換表,所以可實現(xiàn)高處理速度。
下面將描述當執(zhí)行上述并行寫操作和讀出寫數(shù)據(jù)時的存儲區(qū)切換方法的實例。圖9表示用于將地址提供給四個存儲區(qū)的結(jié)構(gòu)。圖10表示4MB×4=16MB的閃速存儲器中的物理地址。
如參照圖4所述的,由11個比特A0、A1、...、和A10來表示物理地址。AO表示LSB(最低有效位),而A10表示MSB(最高有效位)。
在該本發(fā)明實施例中,當將所形成的11比特地址A0至A10發(fā)送到閃速存儲器時,地址A2至A10被提供給閃速存儲器作為用于規(guī)定扇區(qū)和段地址的地址。低兩位地址A0和A1被提供給閃速存儲器作為用于規(guī)定存儲區(qū)切換的地址。亦即,如圖9所示,高位的9比特地址A2至A10共同發(fā)送給四個存儲區(qū)(0至3)。低位的2個比特地址A0和A1被提供給2至4解碼器40。從解碼器40生成用于選擇每個存儲區(qū)的選擇信號CS0、CS1、CS2和CS3。在(A1,A0)=00的情況下,從解碼器40生成用來選擇存儲區(qū)0的選擇信號CS0。當(A1,A0)=01、(A1,A0)=10或(A1,A0)=11時,分別從解碼器40生成用于選擇存儲區(qū)1、存儲區(qū)2或存儲區(qū)3的選擇信號CS1、CS2和CS3。在圖3所示的構(gòu)造實例中,解碼器40被設(shè)置在存儲器I/F、序列化器17中。
圖10中以箭頭示出在執(zhí)行上述存儲區(qū)切換的情況下,在物理地址從所有11比特均等于0的地址增大到所有11比特均等于1的地址時的地址變化。亦即,地址變化從存儲區(qū)0的開頭簇開始。接下來,指定存儲區(qū)1的開頭簇。當?shù)刂方?jīng)存儲區(qū)2的開頭簇變化為存儲區(qū)3的開頭簇時,物理簇地址變化,從而簇移位到存儲區(qū)0的第二簇。
圖11表示本發(fā)明實施例中段和邏輯簇地址的排列??蓮膱D11中的邏輯簇地址排列看出,一個段中所包含的512個簇由包含在四個存儲區(qū)中的每個的128個簇構(gòu)成。對每個段形成邏輯/物理地址變換表。因此,如果段不發(fā)生變化,則要被參照或更新的邏輯/物理地址變換表不改變,從而,可防止由于對該表格的存取或?qū)Ρ砀竦母乱鸬淖x取性能的惡化。數(shù)據(jù)可同時寫入連續(xù)邏輯簇地址例如0x0004或0x0007中。
當邏輯簇地址如0x000、0x0200、0x0400和0x0600那樣地不連續(xù)時,由于這些地址存在于一個存儲區(qū)中,因此,不能同時寫入數(shù)據(jù)。但是,由于實際發(fā)生將連續(xù)邏輯扇區(qū)寫入這種不連續(xù)簇地址的處理的概率極低,因此,不會出現(xiàn)大問題。
盡管已參照其中一個扇區(qū)由512B構(gòu)成、一個簇由8k字節(jié)構(gòu)成、以及一個存儲區(qū)由512個簇構(gòu)成的4MB的閃速存儲器對實施例進行了描述,但是,這些值是作為實例給出的,本發(fā)明也可應(yīng)用于其他數(shù)值的閃速存儲器。例如一個簇的容量可被設(shè)置成16kB。本發(fā)明也可應(yīng)用于一個存儲區(qū)的容量等于8MB(102四個簇×8kB)、16MB(102四個簇×16kB)、32MB(2048個簇×16kB)、64MB(4096個簇×16kB)的閃速存儲器。
根據(jù)本發(fā)明,當寫入多個簇上存在的數(shù)據(jù)時,該數(shù)據(jù)可同時寫入,因此,可實現(xiàn)高速寫入。當寫入或讀出多個簇上存在的數(shù)據(jù)時,如果該數(shù)據(jù)存在于相同段中,則不必進行邏輯/物理地址變換表的切換,從而可實現(xiàn)高存取速度。
權(quán)利要求
1.一種數(shù)據(jù)處理系統(tǒng),其中,可將具有其中由多個扇區(qū)構(gòu)成一個簇而由多個簇構(gòu)成一個段的多個存儲區(qū)的非易失性存儲設(shè)備安裝到一數(shù)據(jù)處理設(shè)備和從該數(shù)據(jù)處理設(shè)備拆卸,其中,所述數(shù)據(jù)處理設(shè)備包括地址指定裝置,用于指定其中記錄了數(shù)據(jù)的簇地址,所述存儲設(shè)備包括記錄裝置,用于將數(shù)據(jù)記錄到由所述地址指定裝置指定的地址中,和所述一個段中的所述多個簇的數(shù)據(jù)被分布并排列到所述多個存儲區(qū)中。
2.一種采用具有其中由多個扇區(qū)構(gòu)成一個簇而由多個簇構(gòu)成一個段的多個存儲區(qū)的非易失性存儲設(shè)備作為記錄介質(zhì)的數(shù)據(jù)處理系統(tǒng),其中,所述數(shù)據(jù)被寫入所述存儲設(shè)備中,從而所述一個段中的所述多個簇的數(shù)據(jù)被分布并排列到所述多個存儲區(qū)中。
3.一種非易失性存儲設(shè)備,可被安裝到一數(shù)據(jù)處理設(shè)備和從該數(shù)據(jù)處理設(shè)備拆卸,并且具有其中由多個扇區(qū)構(gòu)成一個簇而由多個簇構(gòu)成一個段的多個存儲區(qū),其中,所述一個段中的所述多個簇的數(shù)據(jù)被分布并排列到所述多個存儲區(qū)中。
4.如權(quán)利要求1、2或3中的任一項所述的設(shè)備,其中,參照一邏輯簇地址/物理簇地址變換表來進行存取。
5.如權(quán)利要求3所述的存儲設(shè)備,其中,從低位地址的一個或多個比特開始形成用于切換所述多個存儲區(qū)的信號。
6.一種將其中多個扇區(qū)構(gòu)成一個簇、并且存在于多個所述簇上的數(shù)據(jù)并行地記錄到多個存儲區(qū)中的數(shù)據(jù)記錄方法,包括下列步驟指定簇地址,并將數(shù)據(jù)寫入所指定的簇地址;和在完成并行寫入處理后,將一個段中所述多個簇的數(shù)據(jù)分布并排列到所述多個存儲區(qū)中。
全文摘要
包含在一個段中的512個簇被分布到包含在四個存儲區(qū)中的每個的128個簇中。對于每個段形成一邏輯/物理地址變換表。因此,除非該段改變,否則要被參照或被更新的邏輯/物理地址變換表不改變,從而,可防止由于對該表格的存取或?qū)Ρ砀竦母乱鸬淖x取性能的惡化。數(shù)據(jù)可同時寫入連續(xù)邏輯簇地址例如0x0004或0x0007中,并可實現(xiàn)高速寫入操作。
文檔編號G06F12/02GK1319205SQ00801520
公開日2001年10月24日 申請日期2000年7月28日 優(yōu)先權(quán)日1999年7月28日
發(fā)明者中西健一, 荒木茂生 申請人:索尼公司