亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

閃速存儲(chǔ)器系統(tǒng)的制作方法

文檔序號:6415597閱讀:199來源:國知局
專利名稱:閃速存儲(chǔ)器系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及非易失性存儲(chǔ)器的閃速存儲(chǔ)器,更詳細(xì)地講涉及具有用于適當(dāng)?shù)毓芾黹W速存儲(chǔ)器的管理系統(tǒng)的閃速存儲(chǔ)器系統(tǒng)。
背景技術(shù)
作為計(jì)算機(jī)系統(tǒng)使用的存儲(chǔ)媒體,當(dāng)前正在使用硬盤,軟盤等磁記錄媒體。其中大容量而且可以高速動(dòng)作的硬盤由于能夠存儲(chǔ)大量的數(shù)據(jù)因而位于系統(tǒng)的中心記錄媒體的位置。
然而,硬盤的制作工藝復(fù)雜,難以謀求小型,輕量化和低成本化,為了使結(jié)構(gòu)部分進(jìn)行工作需要比較大的消耗功率,特別是在便攜設(shè)備等的應(yīng)用方面存在問題。
作為硬盤以外的存儲(chǔ)媒體,已知作為非易失性的存儲(chǔ)元件的閃速存儲(chǔ)器。閃速存儲(chǔ)器不需要用于維持存儲(chǔ)的電源,能夠小型,輕量化。
閃速存儲(chǔ)器其構(gòu)造上訪問次數(shù)具有1010左右的有限的物理壽命。因而,為了長期間比較安全地穩(wěn)定地使用閃速存儲(chǔ)器,需要檢測壽命完結(jié)的存儲(chǔ)元件和發(fā)生了不良的位置,回避這些元件和位置,保存數(shù)據(jù)。進(jìn)而,在閃速存儲(chǔ)器的情況下,在已經(jīng)存儲(chǔ)著數(shù)據(jù)的位置不能夠上寫新的數(shù)據(jù)。從而,在要存儲(chǔ)新的數(shù)據(jù)的情況下,要清除暫時(shí)存儲(chǔ)的內(nèi)容后寫入數(shù)據(jù)。然而,可消除單位不是以一個(gè)個(gè)的存儲(chǔ)單元(比特)單位,而是例如以4k字節(jié)和8K字節(jié)這樣的塊單位進(jìn)行。因此,通常需要從消除塊暫時(shí)使要改寫的數(shù)據(jù)以外的部分避開以后,消除數(shù)據(jù),然后再次加入新的數(shù)據(jù)進(jìn)行寫入。
在特開平2-292798號公報(bào)中,記述著以提高向閃速存儲(chǔ)器的寫入/讀出速度和管理不良單元等為目的的閃速EEprom系統(tǒng)。這里記錄著的閃速EEprom系統(tǒng)通過采用超高速緩沖存儲(chǔ)器謀求提高訪問時(shí)間。然而,依賴于超高速緩沖存儲(chǔ)器的訪問時(shí)間的縮短其自身具有界限,因而為了進(jìn)一步提高對閃速存儲(chǔ)器的寫入/讀出速度,需要使閃速存儲(chǔ)器系統(tǒng)總體的動(dòng)作速度提高。
另外,在上述公報(bào)中為了管理不良單元等,使得在冗余部分中具有ECC等的信息和交換比特,交換扇區(qū)的信息等,僅用該冗余部分的信息進(jìn)行不良扇區(qū)等的管理。然而,由于僅用冗余部分進(jìn)行不良扇區(qū)等的管理,因此必須加大該冗余部分的存儲(chǔ)容量,壓縮存儲(chǔ)實(shí)際數(shù)據(jù)的區(qū)域。進(jìn)而,在該系統(tǒng)中由于僅用冗余部分進(jìn)行不良扇區(qū)等的管理,因此在實(shí)際數(shù)據(jù)的讀出之前,要讀出上述冗余數(shù)據(jù),進(jìn)行存儲(chǔ)在存儲(chǔ)器內(nèi)的數(shù)據(jù)的是否適宜的判斷以及修復(fù)等,因而成為大幅度延遲訪問時(shí)間的原因。
閃速存儲(chǔ)器系統(tǒng)雖然是非易失性存儲(chǔ)器,但是在開啟電源時(shí)和復(fù)位時(shí),其控制器為了把握閃速存儲(chǔ)器的內(nèi)容和狀態(tài),需要讀出閃速存儲(chǔ)器的內(nèi)容特別是上述冗余數(shù)據(jù)。然而,如上所述,閃速存儲(chǔ)器的讀出速度由于比通常的RAM等緩慢,因此為了把握所有的數(shù)據(jù)需要很長的時(shí)間,其結(jié)果,成為上升緩慢的系統(tǒng)。
這種上升的延遲,例如對于數(shù)字照相機(jī)等那樣需要從開啟電源后立即成為能夠使用的狀態(tài)的系統(tǒng)來講是致命的問題,因此希望能夠更高速地上升的閃速存儲(chǔ)器系統(tǒng)。
發(fā)明的公開本發(fā)明的目的在于實(shí)現(xiàn)能夠加速開啟電源時(shí)和復(fù)位后的上升速度,減少寫入/讀出時(shí)間的延遲,能夠比較簡單地進(jìn)行寫入動(dòng)作,能夠進(jìn)行高速動(dòng)作,能夠適宜地進(jìn)行不良扇區(qū)和不良比特等的管理的閃速存儲(chǔ)器系統(tǒng)。
本發(fā)明者們反復(fù)進(jìn)行了提高向閃速存儲(chǔ)器的寫入/讀出速度的研究,其結(jié)果,提出了地址變換表。形成在S-RAM等能夠高速訪問的存儲(chǔ)媒體上的地址變換表把從主計(jì)算機(jī)一側(cè)指定的邏輯地址和作為閃速存儲(chǔ)器的實(shí)際地址的物理地址之間建立關(guān)系,將它們相互進(jìn)行變換。
該地址變換表還規(guī)定在每個(gè)作為閃速存儲(chǔ)器的最小消除單位的塊中,上述地址分別處理為邏輯塊地址,物理塊地址。這樣,通過在每個(gè)對應(yīng)于最小消除單位的塊進(jìn)行地址變換,使得寫入動(dòng)作中的閃速存儲(chǔ)器的管理特別容易,能夠高速地進(jìn)行寫入動(dòng)作。
另外,上述邏輯地址的區(qū)域和物理地址的區(qū)域大小不同,把邏輯地址的區(qū)域設(shè)定為小于物理地址的區(qū)域。通過這樣設(shè)定,能夠把兩者之差的區(qū)域靈活地利用為預(yù)備區(qū)域。即,把該預(yù)備區(qū)域作為使用待機(jī)狀態(tài)的隊(duì)列(Queue),與不良塊進(jìn)行交換,或者在寫入動(dòng)作時(shí)替代為寫入了數(shù)據(jù)的區(qū)域。由此能夠進(jìn)一步提高動(dòng)作速度。
進(jìn)而,在上述地址變換表的基礎(chǔ)上,作為表示閃速存儲(chǔ)器上各物理塊的狀態(tài)的數(shù)據(jù),還設(shè)置至少具有表示其塊是否良好,有無不良扇區(qū)以及是否正在使用的數(shù)據(jù)的塊狀態(tài)表。通過設(shè)置該塊狀態(tài)表,能夠不訪問一個(gè)個(gè)動(dòng)作速度比較遲緩的閃速存儲(chǔ)器,而迅速地把握閃速存儲(chǔ)器內(nèi)的各塊的狀態(tài),能夠容易地進(jìn)行不良塊,不良扇區(qū)的管理,進(jìn)一步提高動(dòng)作速度。
而這些地址變換表,塊狀態(tài)表,隊(duì)列(Queue)等內(nèi)部信息通常形成在能夠高速訪問的存儲(chǔ)媒體(S-RAM)上。然而,由于這樣的存儲(chǔ)媒體是易失性的,因此在電源切斷和復(fù)位時(shí)或者消失或者失去了可靠性。因而,需要使其保存數(shù)據(jù)即上述的內(nèi)部信息存儲(chǔ)在作為非易失性的存儲(chǔ)媒體的閃速存儲(chǔ)器上。而且,在開啟電源時(shí)和復(fù)位時(shí)訪問閃速存儲(chǔ)器,把地址變換表,塊狀態(tài)表,隊(duì)列(Queue)等內(nèi)部信息根據(jù)存儲(chǔ)的數(shù)據(jù)復(fù)原為以前的狀態(tài)。
但是,這樣的內(nèi)部信息由于在每次進(jìn)行向閃速存儲(chǔ)器的寫入/讀出動(dòng)作等時(shí)發(fā)生變化,把它們一個(gè)個(gè)地進(jìn)行保存需要巨大的存儲(chǔ)區(qū)域。另外,在每次寫入/讀出等時(shí)進(jìn)行這樣的操作,用于保存的時(shí)間越長,就越消耗多余的時(shí)間,其結(jié)果動(dòng)作速度遲緩。進(jìn)而,如果在開啟電源時(shí)和復(fù)位時(shí)訪問閃速存儲(chǔ)器的所有區(qū)域,把地址變換表,塊狀態(tài)表,隊(duì)列(Queue)等內(nèi)部信息進(jìn)行復(fù)原,則進(jìn)一步需要很長的時(shí)間,從而構(gòu)成上升非常遲緩的系統(tǒng)。
因此,如果把這些內(nèi)部信息一起進(jìn)行保存,立即讀出則將很便利。另外,如果保存的內(nèi)容也只是保存初始值+增量記錄,即僅初始值保存全部數(shù)據(jù),其后產(chǎn)生的變化僅保存其變化部分的數(shù)據(jù)(增量記錄),則數(shù)據(jù)容量將減少,訪問時(shí)間也能夠大幅度縮短,另外,通過一起記錄表示在該時(shí)刻在增量記錄中產(chǎn)生的故障的位置和大小的糾錯(cuò)碼數(shù)據(jù),則能夠極大地提高數(shù)據(jù)的可靠性。而且,在開啟電源時(shí)和復(fù)位時(shí)能夠使用這些數(shù)據(jù)復(fù)原為以前的狀態(tài)。
即,上述目的通過以下的結(jié)構(gòu)實(shí)現(xiàn)。
(1)一種閃速存儲(chǔ)器系統(tǒng),具有管理主計(jì)算機(jī)與閃速存儲(chǔ)器的數(shù)據(jù)傳送的存儲(chǔ)器管理器,上述存儲(chǔ)器管理器把從上述主計(jì)算機(jī)能夠訪問閃速存儲(chǔ)器的邏輯地址與作為閃速存儲(chǔ)器的實(shí)際地址的物理地址相互進(jìn)行變換,而且,作為增量記錄把內(nèi)部信息的變化保存在上述閃速存儲(chǔ)器中,復(fù)位后使用上述增量記錄的信息把內(nèi)部狀態(tài)復(fù)原為復(fù)位前的狀態(tài)。
(2)上述(1)中的閃速存儲(chǔ)器系統(tǒng),其中上述增量記錄為了進(jìn)行復(fù)位后的內(nèi)部信息的恢復(fù),順序存儲(chǔ)作為顯示內(nèi)部信息相對于初始值的其后變化的數(shù)據(jù)。
(3)上述(1)或(2)中的閃速存儲(chǔ)器系統(tǒng),其中上述增量記錄具有糾錯(cuò)碼數(shù)據(jù)。
(4)上述(1)~(3)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述增量記錄連續(xù)地寫入到預(yù)定的存儲(chǔ)區(qū)中。
(5)上述(1)~(4)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器把上述邏輯地址區(qū)的大小設(shè)定為小于作為閃速存儲(chǔ)器的實(shí)際地址的物理地址區(qū)的大小,而且,在物理地址區(qū)不與邏輯地址區(qū)對應(yīng)的剩余區(qū)域中具有上述增量記錄。
(6)上述(1)~(5)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器在每個(gè)對應(yīng)于閃速存儲(chǔ)器的最小消除單位分割的塊中處理上述物理地址以及邏輯地址。
(7)上述(1)~(6)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器具有用于把邏輯塊地址與物理塊地址相互進(jìn)行變換的地址變換表,而且在上述增量記錄中具有該地址變換表及其變化的信息。
(8)上述(1)~(7)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器還具有塊狀態(tài)表,該塊狀態(tài)表具有表示閃速存儲(chǔ)器上的上述各物理塊的狀態(tài)的數(shù)據(jù),至少表示塊是否良好,有無不良扇區(qū)以及是否正在使用的數(shù)據(jù),而且在上述增量記錄中具有該塊狀態(tài)表及其變化的信息。
(9)上述(5)~(8)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器在上述物理地址區(qū)不與邏輯地址區(qū)對應(yīng)的剩余區(qū)域中具有使用待機(jī)狀態(tài)的隊(duì)列,而且在上述增量記錄中具有該隊(duì)列的信息。
(10)上述(1)~(9)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器在向閃速存儲(chǔ)器寫入數(shù)據(jù)時(shí),在隊(duì)列內(nèi)的預(yù)定塊中寫入新的數(shù)據(jù),把該數(shù)據(jù)作為寫入預(yù)定目標(biāo)的邏輯塊地址,把寫入預(yù)定目標(biāo)的塊作為隊(duì)列。
(11)上述(1)~(10)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器在具有更新了寫入預(yù)定目標(biāo)的塊的數(shù)據(jù)以外的數(shù)據(jù)的情況下,在來自主計(jì)算機(jī)的預(yù)定量的數(shù)據(jù)的傳送結(jié)束以后,從寫入預(yù)定目標(biāo)的塊向?qū)懭肓诵碌臄?shù)據(jù)的隊(duì)列內(nèi)的預(yù)定塊傳送原來的數(shù)據(jù)。
(12)上述(1)~(11)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述存儲(chǔ)器管理器在物理地址區(qū)內(nèi)的任意的塊中發(fā)生故障時(shí),與上述隊(duì)列內(nèi)的任意的塊進(jìn)行交換。
(13)上述(1)~(12)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中該系統(tǒng)是IC芯片。
(14)上述(1)~(13)的任一項(xiàng)中的閃速存儲(chǔ)器系統(tǒng),其中上述系統(tǒng)是與閃速存儲(chǔ)器一體化的卡片形狀的外部存儲(chǔ)系統(tǒng)。
附圖的簡單說明

圖1是示出本發(fā)明的閃速存儲(chǔ)器系統(tǒng)的基本結(jié)構(gòu)的框圖。
圖2是示出本發(fā)明閃速存儲(chǔ)器系統(tǒng)的基本結(jié)構(gòu)的框圖,示出從閃速存儲(chǔ)器再現(xiàn)內(nèi)部信息的狀況。
圖3是示出閃速存儲(chǔ)器內(nèi)部的邏輯地址區(qū)的大小和物理地址區(qū)的大小的示意圖。
圖4是示出地址變換表的一結(jié)構(gòu)例的示意圖。
圖5是示出對于閃速存儲(chǔ)器內(nèi)的物理地址區(qū)分配邏輯地址的示意圖,示出對應(yīng)于邏輯地址區(qū)的物理地址區(qū)。
圖6是示出剩余區(qū)域分散配置在物理地址區(qū)中的狀態(tài)的示意圖。
圖7示意地示出隊(duì)列(Queue)的狀況。
圖8是示出塊狀態(tài)表一結(jié)構(gòu)例的示意圖。
圖9是示出把閃速存儲(chǔ)器系統(tǒng)應(yīng)用到存儲(chǔ)器卡中的例子的結(jié)構(gòu)框圖。
圖10是示出閃速存儲(chǔ)器的實(shí)際數(shù)據(jù)區(qū),冗余數(shù)據(jù)區(qū)的狀況的示意圖,示出了在實(shí)際數(shù)據(jù)區(qū)的一個(gè)扇區(qū)中存在不良位置的狀況。
圖11是復(fù)位時(shí)的動(dòng)作,是示出了形成塊狀態(tài)表的狀況的示意圖。
圖12是復(fù)位時(shí)的動(dòng)作,是示出了在閃速存儲(chǔ)器中把地址變換表,塊狀態(tài)表,隊(duì)列的原始數(shù)據(jù)記錄為增量記錄的狀況的示意圖。
圖13是寫入時(shí)的動(dòng)作,是示出了在閃速存儲(chǔ)器中把變更了的地址變換表,塊狀態(tài)表,隊(duì)列的數(shù)據(jù)記錄為增量記錄的狀況的示意圖。
圖14是示出了用于把從閃速存儲(chǔ)器讀出的消除圖形反轉(zhuǎn)的反轉(zhuǎn)器的示意圖。
圖15是示出了用于得到生成多項(xiàng)式的除法器的結(jié)構(gòu)例的示意圖。
圖16示出了用于得到生成多項(xiàng)式的計(jì)算式的一例。
圖17是示出了把通過生成多項(xiàng)式處理的數(shù)據(jù)序列分割為任意大小的狀況的示意圖。
圖18是示出了在表示內(nèi)部信息的變化部分的數(shù)據(jù)上加入用生成多項(xiàng)式得到的多余數(shù)據(jù)的狀況的示意圖。
用于實(shí)施發(fā)明的最佳形態(tài)本發(fā)明的閃速存儲(chǔ)器系統(tǒng)例如如圖1所示,具有管理主計(jì)算機(jī)1與閃速存儲(chǔ)器5的數(shù)據(jù)傳送的存儲(chǔ)器管理器3。該存儲(chǔ)器管理器3把能夠從上述主計(jì)算機(jī)1訪問的閃速存儲(chǔ)器5的邏輯地址與作為閃速存儲(chǔ)器5的實(shí)際地址的物理地址相互進(jìn)行變換,而且把相對于初始值的內(nèi)部信息的變化作為增量記錄保存在上述閃速存儲(chǔ)器中。而且,例如如圖2所示,在復(fù)位以后根據(jù)上述增量記錄的信息把內(nèi)部信息復(fù)原為復(fù)位前的狀態(tài)。
不是把內(nèi)部信息的數(shù)據(jù)全部進(jìn)行記錄,而是僅把作為初始值的原始內(nèi)部信息的數(shù)據(jù)和其以后變化部分的信息記錄為增量記錄,能夠在較小的存儲(chǔ)區(qū)域記錄全部的內(nèi)部信息。而且,即使在開啟電源時(shí)和復(fù)位等時(shí)產(chǎn)生了內(nèi)部數(shù)據(jù)丟失,也能夠根據(jù)該信息復(fù)原內(nèi)部信息,同時(shí)能夠縮短對存儲(chǔ)器的訪問時(shí)間,進(jìn)行高速動(dòng)作。
作為增量記錄被記錄的內(nèi)部信息沒有特別的限定,例如可以舉出伴隨著向閃速存儲(chǔ)器的寫入/讀出動(dòng)作的設(shè)定內(nèi)容及其變化,有關(guān)不良塊,代替塊,不良扇區(qū),代替扇區(qū)等的信息及其變化等。這些數(shù)據(jù)是在把邏輯地址與物理地址建立關(guān)系,進(jìn)行向存儲(chǔ)器的寫入/讀出動(dòng)作方面所需要的數(shù)據(jù),或者是修復(fù)存儲(chǔ)器和數(shù)據(jù)的不良部分所需要的數(shù)據(jù)。這些數(shù)據(jù)如后述那樣在向閃速存儲(chǔ)器進(jìn)行操作時(shí)隨時(shí)間進(jìn)行變化。
該內(nèi)部信息通常保存在S-RAM,D-RAM等能夠比較高速地進(jìn)行訪問的易失性的存儲(chǔ)媒體中。從而,在電源切斷狀態(tài)和復(fù)位時(shí)這些數(shù)據(jù)或者消失或者失去可靠性。因此,通過把這些數(shù)據(jù)存儲(chǔ)在作為非易失性的存儲(chǔ)媒體的閃速存儲(chǔ)器中,在電源切斷時(shí)和復(fù)位時(shí)也保留這些數(shù)據(jù),恢復(fù)時(shí)通過讀出這些數(shù)據(jù),可以復(fù)原為以前的狀態(tài)。
增量記錄最好連續(xù)地記錄在閃速存儲(chǔ)器上的預(yù)定區(qū)域中。通過連續(xù)地進(jìn)行記錄,能夠把增量記錄中需要的存儲(chǔ)容量抑制為最小限度。另外,被記錄的數(shù)據(jù)長度最好調(diào)整為除去初始數(shù)據(jù)以外的預(yù)定長度。增加記錄中作為初始值記錄原始的內(nèi)部信息數(shù)據(jù),接著,在內(nèi)部信息中每次發(fā)生變更時(shí)記錄其變更部分。在通常的動(dòng)作中,內(nèi)部信息中發(fā)生了變更的位置由于僅是一部分,因此記錄其部分即可。而且,在從這些數(shù)據(jù)復(fù)原時(shí),可以在上述原始的數(shù)據(jù)上加入同樣的變更進(jìn)行。
另外,增量記錄最好具有ECC(糾錯(cuò)碼)數(shù)據(jù)。通過保存有ECC數(shù)據(jù),在增量記錄自身發(fā)生了故障的情況下,能夠把握其位置和大小,能夠?qū)⑵溥M(jìn)行修復(fù),或者因具體情況而廢棄。
ECC數(shù)據(jù)是漢明碼的一種。理想的是作為循環(huán)碼的BCH碼,RS碼等。這些代碼能夠用以G(x)提供的生成多項(xiàng)式容易地獲得(通過使用移位寄存器等和應(yīng)用把它們軟件化了的程序而獲得)。根據(jù)ECC數(shù)據(jù),能夠確定出錯(cuò)的位置和大小,由此能夠大幅度地提高增量記錄的可靠性。
在增量記錄上當(dāng)然要添加ECC數(shù)據(jù),然而,通常如果在閃速存儲(chǔ)器5的實(shí)際數(shù)據(jù)區(qū)中記錄增量記錄,則通過閃速存儲(chǔ)器接口ECC數(shù)據(jù)自動(dòng)地添加到冗余區(qū)的部分中。然而,如后所述增量記錄自身是把上述變化部分的數(shù)據(jù)與ECC數(shù)據(jù)組合起來的。因而,冗余區(qū)的數(shù)據(jù)預(yù)先取為消除圖形(111…)。即,變化部分的數(shù)據(jù)+ECC數(shù)據(jù)由于成為用生成多項(xiàng)式切割的值,因此寫入到通常的冗余區(qū)的ECC數(shù)據(jù)作為消除圖形(111…),由此即使在通常系統(tǒng)中也沒有問題地進(jìn)行動(dòng)作。
增量記錄通常在上述內(nèi)部信息每次發(fā)生變更時(shí)順序進(jìn)行記錄。而且,在電源切斷后和復(fù)位后讀出該數(shù)據(jù)復(fù)原內(nèi)部信息。通常,在開啟電源后和復(fù)位后,作為存儲(chǔ)器管理器的控制單元的微處理器通過硬件和軟件上的設(shè)定,進(jìn)行增量記錄的復(fù)原操作。
復(fù)位有開啟電源等時(shí)從硬件(電源監(jiān)視IC,復(fù)位開關(guān)等)自動(dòng)地提供的硬復(fù)位,通過軟件的操作提供的軟復(fù)位等,任一種均可。
主計(jì)算機(jī)1只要是具有微處理器以及該微處理器的周邊元件和鍵盤,通信口,擴(kuò)展總線,監(jiān)視器等輸入輸出裝置,能夠與硬盤等內(nèi)部、外部的存儲(chǔ)媒體進(jìn)行連接,作為計(jì)算機(jī)(個(gè)人計(jì)算機(jī))能夠完成必要的動(dòng)作(無論一般用途,特定用途)即可,而不論其形態(tài)、樣態(tài)如何。
存儲(chǔ)器管理器3管理主計(jì)算機(jī)1與閃速存儲(chǔ)器5的數(shù)據(jù)傳送。即,調(diào)整從主計(jì)算機(jī)1傳送來的數(shù)據(jù)和從閃速存儲(chǔ)器5送出的數(shù)據(jù)的傳送速度,或者把從主計(jì)算機(jī)1指定的用于讀出/寫入的邏輯塊地址數(shù)據(jù)變換為物理地址數(shù)據(jù)。
另外,理想的是如圖3所示,把能夠從上述主計(jì)算機(jī)1訪問閃速存儲(chǔ)器的邏輯地址區(qū)的大小Ln設(shè)定為小于作為閃速存儲(chǔ)器的實(shí)際地址的物理地址區(qū)的大小Pn,而且物理地址區(qū)中不與邏輯地址區(qū)相對應(yīng)的剩余區(qū)域5a構(gòu)成上述隊(duì)列。在從該隊(duì)列取出的塊的一個(gè)中具有上述內(nèi)部信息和上述增量記錄。
另外,存儲(chǔ)器管理器3理想的是使用形成在從控制單元等可參照的存儲(chǔ)媒體上的地址變換表,把從主計(jì)算機(jī)1提供給閃速存儲(chǔ)器5的邏輯地址變換為作為閃速存儲(chǔ)器5的實(shí)際地址的物理地址,或者進(jìn)行其逆變換。
閃速存儲(chǔ)器5是非易失性存儲(chǔ)器,可以視為EEPROM的一種。即,能夠隨時(shí)進(jìn)行數(shù)據(jù)的讀出,然而數(shù)據(jù)的寫入通常在數(shù)據(jù)消除后僅能夠進(jìn)行一次,不能夠進(jìn)行數(shù)據(jù)的改寫。從而,在進(jìn)行數(shù)據(jù)的寫入動(dòng)作之前必須伴隨用于消除存儲(chǔ)著的數(shù)據(jù)的動(dòng)作(除去初始狀態(tài))。消除數(shù)據(jù)的情況下,在閃速存儲(chǔ)器中,其構(gòu)造上成為一起消除預(yù)定的存儲(chǔ)區(qū)。在本發(fā)明中理想地使用的NAND型閃速存儲(chǔ)器中,能夠消除的最小區(qū)域通常是上述8個(gè)或者16個(gè)最小存儲(chǔ)單位(一個(gè)扇區(qū)+冗余部分),即,4k字節(jié)或者8k字節(jié)(除去冗余部分)。
從而,存儲(chǔ)器管理器3理想的是在每個(gè)對應(yīng)于該最小消除單位的塊中處理邏輯地址,物理地址。在每個(gè)塊中處理閃速存儲(chǔ)器,能夠高效地管理閃速存儲(chǔ)器。這種情況下,增量記錄成為存儲(chǔ)在該每個(gè)塊中所規(guī)定的內(nèi)部信息。
閃速存儲(chǔ)器5為了確保預(yù)定的存儲(chǔ)容量,最好構(gòu)成為集合了多個(gè)閃速存儲(chǔ)器元件(IC)的存儲(chǔ)器陣列。
本發(fā)明的系統(tǒng)理想的是還具有總線接口2和閃速存儲(chǔ)器接口4(參照圖1)。
總線接口2是用于與主計(jì)算機(jī)1連接的總線,例如可以舉出SCSI、IDE等外部連接用總線和以這些總線為基準(zhǔn)的PCMCIA等的PC卡接口等。其中,作為理想的形態(tài),在把本發(fā)明的閃速存儲(chǔ)器系統(tǒng)應(yīng)用到PC卡中的情況下,使用PC卡接口。從而,總線接口2是以這些規(guī)格、標(biāo)準(zhǔn)為基準(zhǔn)可以適宜地與主計(jì)算機(jī)連接的接口。另外,該總線接口2從主計(jì)算機(jī)1一側(cè)觀看的情況下,只要是能夠把閃速存儲(chǔ)器5與硬盤同等地進(jìn)行處理即可,能夠直接使用已有的OS、應(yīng)用軟件等。
閃速存儲(chǔ)器接口4自動(dòng)控制或者優(yōu)化向閃速存儲(chǔ)器5的寫入/讀出。即,自動(dòng)地進(jìn)行伴隨消除作業(yè)的向閃速存儲(chǔ)器5的寫入動(dòng)作,或者連續(xù)地自動(dòng)地進(jìn)行從某個(gè)地址到某個(gè)地址的讀出動(dòng)作等。閃速存儲(chǔ)器接口4例如能夠通過閃速存儲(chǔ)器序列發(fā)生器等那樣的具有運(yùn)算功能的控制元件和各種寄存器,用于存儲(chǔ)動(dòng)作順序的存儲(chǔ)元件等構(gòu)成。
另外,本發(fā)明的閃速存儲(chǔ)器系統(tǒng)理想的是具有用于把邏輯塊地址和物理塊地址相互進(jìn)行變換的地址變換表。
物理地址當(dāng)然通常與邏輯地址是1對1相互對應(yīng)的,而這些對應(yīng)關(guān)系最好在每個(gè)塊中規(guī)定。即,兩者分別在每個(gè)塊中處理,對于其起始地址,規(guī)定為物理塊地址和邏輯塊地址。而且,其后的偏移值規(guī)定為物理地址以及邏輯地址。另外,各個(gè)塊使用地址變換表,進(jìn)行從邏輯塊地址到物理塊地址或者從物理塊地址到邏輯塊地址的變換。
圖4是示出地址變換表31的結(jié)構(gòu)例的示意圖。地址變換表31對應(yīng)于閃速存儲(chǔ)器5內(nèi)的最小消除單位(最小消除塊)形成。
地址變換表31例如在圖4所示的例中,在一個(gè)塊內(nèi)的上端配置邏輯塊地址,在下端配置物理塊地址(圖中在編號的起始標(biāo)注#號表示),使得對于某個(gè)特定的邏輯塊地址,通過能夠以1對1與任意的物理塊地址建立關(guān)系。即,相對應(yīng)的邏輯塊地址和物理塊地址配置在預(yù)定的塊內(nèi)。而且,規(guī)定在主計(jì)算機(jī)1一側(cè)開放的可訪問的存儲(chǔ)區(qū)的最大邏輯塊地址Nh和具有對應(yīng)大小的物理塊地址。
這里所謂邏輯塊地址如上所述是從主計(jì)算機(jī)1訪問特定的存儲(chǔ)器內(nèi)的存儲(chǔ)單位時(shí)所指定的地址編號,指把地址分割為對應(yīng)于上述最小消除單位大小的每個(gè)塊而得到的起始地址。所謂物理塊地址是閃速存儲(chǔ)器上的實(shí)際的地址編號,指最小消除單位的起始地址。
如上所述,在地址變換表31中,對于作為實(shí)際存儲(chǔ)區(qū)的物理地址的最大區(qū)的物理地址區(qū),進(jìn)行設(shè)定使得能夠從主計(jì)算機(jī)訪問的邏輯地址區(qū)較小。即,使得能夠進(jìn)行保存(存儲(chǔ))那樣較小地設(shè)定上述增量記錄等。另外,不與該邏輯塊地址對應(yīng)的物理塊地址的剩余區(qū)域的一部分可以作為隊(duì)列(Queue)。
例如,如圖5所示,閃速存儲(chǔ)器5中,在主計(jì)算機(jī)1一側(cè)開放的物理塊區(qū)對應(yīng)于邏輯塊地址成為至其最大值Nh的范圍。另外,作為剩余區(qū)域5a(圖中用斜線表示),存在于在與邏輯塊地址的最大值Nh對應(yīng)的物理塊地址上加1的地址Nh+1開始,到物理塊地址的最大值Nmax為止的區(qū)域。而且,在該區(qū)域中具有增量記錄和隊(duì)列(Queue)。
另外,剩余區(qū)域5a如圖5所示,并不需要連續(xù)地存在于物理地址區(qū)的最后部分,也可以存在于最前部分上,例如,如圖6所示,還可以孤立地分散在物理地址區(qū)內(nèi)。把剩余區(qū)域分散的結(jié)果,在圖示例中邏輯地址區(qū)的最大值與物理地址區(qū)的最大值成為相同的位置。剩余區(qū)域的分散狀態(tài)通常通過反復(fù)地用后述的不良塊和寫入動(dòng)作時(shí)的隊(duì)列(Queue)進(jìn)行置換操作形成。另外,圖6中在塊中記載的數(shù)字與圖5的情況不同表示邏輯塊地址。這樣,具有隊(duì)列(Queue)的剩余區(qū)域5a由于不與邏輯塊地址對應(yīng),因此成為不能夠從主計(jì)算機(jī)一側(cè)進(jìn)行識別。
雖然是根據(jù)地址變換表31把邏輯塊地址與物理塊地址之間建立關(guān)系,但兩者的對應(yīng)關(guān)系不一定必須成為從小的地址數(shù)開始的順序,也可以以任意的地址彼此之間進(jìn)行對應(yīng)。即,形成預(yù)定區(qū)域的兩者的塊地址之間可以是以1對1建立關(guān)系。從而,能夠不使用地址變換表而使用函數(shù)等。
隊(duì)列(Queue)通常在初始狀態(tài)下從上述剩余區(qū)域中的若干個(gè)地址開始順序形成(但是除去不良位置等)。另外,該隊(duì)列(Queue)最好在閃速存儲(chǔ)器5的每個(gè)最小消除單位(塊)中進(jìn)行處理。通過在每個(gè)最小存儲(chǔ)單位處理隊(duì)列(Queue),能夠得到高效的存儲(chǔ)器控制系統(tǒng)。在對應(yīng)于邏輯地址區(qū)的物理地址區(qū)內(nèi)發(fā)生了不良位置的情況下,與隊(duì)列(Queue)進(jìn)行置換,而這些操作也在各塊中進(jìn)行。閃速存儲(chǔ)器5的寫入動(dòng)作雖然需要各塊的消除動(dòng)作,但通過在每個(gè)作為最小消除單位的塊管理閃速存儲(chǔ)器5,能夠高效地進(jìn)行這些操作。
隊(duì)列(Queue)50最好由指針控制。指針例如如圖7所示,進(jìn)行控制使得構(gòu)成隊(duì)列(Queue)50的各塊(以下稱為要素)的數(shù)目成為預(yù)定的范圍。即,在圖示例中在塊上部標(biāo)注著成為要素的塊的順序,在該順序中的預(yù)定位置處存在著取出指針OP(圖示例中是2)和取入指針I(yè)P(n-2)。而且,在每次進(jìn)行隊(duì)列(Queue)50的取出,取入時(shí)移動(dòng)指針。即(取入指針I(yè)P的位置)-(取出指針OP的位置)=要素?cái)?shù)。
另外,隊(duì)列(Queue)自身可以登錄在管理表等中進(jìn)行管理。
剩余區(qū)域中有時(shí)存在著作為不良塊被永久廢棄,不能夠用作為增量記錄和隊(duì)列(Queue)的塊等。該剩余區(qū)域最好為整個(gè)物理地址區(qū)的1~5%,更理想的是2~3%左右。
本發(fā)明的閃速存儲(chǔ)器系統(tǒng)還可以具有塊狀態(tài)表32,該塊狀態(tài)表具有表示閃速存儲(chǔ)器上的各物理塊的狀態(tài)的數(shù)據(jù),至少包括表示塊是否良好,有無不良扇區(qū)以及是否正在使用的數(shù)據(jù)。通過具有塊狀態(tài)表32,能夠在表上迅速地把握各物理塊的狀態(tài),能夠迅速地進(jìn)行隊(duì)列(Queue)的形成,能夠在存儲(chǔ)器的讀出和寫入之前或者與其無關(guān)地進(jìn)行適當(dāng)?shù)拇鎯?chǔ)器管理。
塊狀態(tài)表32例如如圖8所示那樣構(gòu)成。在圖示例中,在一個(gè)塊內(nèi)的上段具有物理塊地址(圖中編號的起始標(biāo)注#號表示),下段配置狀態(tài)值,使得具有對應(yīng)于各個(gè)物理塊地址的狀態(tài)值。而且,規(guī)定與直到閃速存儲(chǔ)器5內(nèi)可訪問存儲(chǔ)區(qū)的最大物理塊地址為止相對應(yīng)的狀態(tài)值。
狀態(tài)值是表示物理決地址的狀態(tài)的值,例如,作為初始狀態(tài)寫入FF,然后,根據(jù)塊地址的狀態(tài),值發(fā)生變化。作為用狀態(tài)值能夠表現(xiàn)的數(shù)據(jù),至少是表示塊是否良好,有無不良扇區(qū)以及其塊是否正在使用的數(shù)據(jù)。另外,除此以外,還可以是表示有關(guān)上述增量記錄的信息,塊良好的程度以及有關(guān)安全的數(shù)據(jù)等的數(shù)據(jù)。作為數(shù)據(jù)的表現(xiàn)形式,沒有特別的限制,可以以特定的數(shù)據(jù)長度例如一個(gè)字節(jié)的代碼進(jìn)行表現(xiàn),也可以通過使特定數(shù)據(jù)長度的各比特具有權(quán)值進(jìn)行表現(xiàn)。
通過具有塊狀態(tài)表32,能夠迅速地把握各邏輯塊的狀態(tài)。從而,在構(gòu)筑地址變換表31時(shí),參考塊狀態(tài)表,能夠排除增量記錄,隊(duì)列(Queue)要素等把邏輯塊地址分配到物理塊地址中,還能夠迅速地檢測具有不良扇區(qū)或者成為不良塊等的塊,并且將它們排除。即,能夠不訪問閃速存儲(chǔ)器而把握各扇區(qū)和塊的狀態(tài),格外地提高處理速度。
實(shí)施例下面示出實(shí)施例,更具體地說明本發(fā)明。
作為實(shí)施例,以圖9所示的裝置中的動(dòng)作為例進(jìn)行說明。圖9是示出閃速存儲(chǔ)器系統(tǒng)一實(shí)施例的框圖。圖示例的閃速存儲(chǔ)器系統(tǒng)具有與主計(jì)算機(jī)連接的PC卡總線2a,與該P(yáng)C卡總線2a連接的緩沖器控制單元35內(nèi)的緩沖器A36和緩沖器B37(該例中以一體進(jìn)行表示,然而也可以分別存在)。另外,上述PC卡總線2a上,連接著PCMCIA塊38和ATA塊39。上述緩沖器控制單元35內(nèi)的緩沖器A36和緩沖器B37中,連接著作為閃速存儲(chǔ)器接口4的閃速序列發(fā)生器41和ECC控制單元42(該例中以一體進(jìn)行表示,然而也可以分別存在)。在該閃速序列發(fā)生器41等上連接著閃速存儲(chǔ)器5的存儲(chǔ)器陣列。
另外,控制單元34連接上述緩沖器控制單元35,PCMCIA塊38,ATA塊39,閃速序列發(fā)生器41,將它們綜合地進(jìn)行控制。該控制單元34上,連接著能夠直接訪問的ROM、RAM,使得存儲(chǔ)控制算法和運(yùn)算所必需的數(shù)據(jù)。另外,地址變換表31和塊狀態(tài)表32通常形成在上述RAM上。
PC卡總線2a是用于連接稱為PC卡的卡片形狀的擴(kuò)展系統(tǒng)(例如,SCSI接口單元,MODEM單元,存儲(chǔ)器卡等)的總線系統(tǒng),在該例中通過PCMCIA標(biāo)準(zhǔn)的規(guī)定的卡片插槽可以連接PC卡。這樣的PC卡特別理想地應(yīng)用在膝上型計(jì)算機(jī)等的便攜設(shè)備以及從這些接口傳送信息的系統(tǒng)中。
緩沖器控制單元35以及緩沖器A36、緩沖器B37在進(jìn)行主計(jì)算機(jī)1一側(cè)與閃速存儲(chǔ)器5一側(cè)的數(shù)據(jù)傳送速度等的調(diào)整的同時(shí)把兩者之間的數(shù)據(jù)傳送進(jìn)行中繼。即,主計(jì)算機(jī)1一側(cè)的數(shù)據(jù)傳送速度和定時(shí)與閃速存儲(chǔ)器5一側(cè)的數(shù)據(jù)傳送速度和定時(shí)分別不同。因而,在數(shù)據(jù)中繼裝置3中具有存儲(chǔ)預(yù)定大小的數(shù)據(jù)的兩個(gè)緩沖器A36、B37,在把一方的緩沖器A(B)作為數(shù)據(jù)寫入一側(cè)時(shí),把另一方的緩沖器B(A)作為數(shù)據(jù)讀出一側(cè)。而且,緩沖器控制單元35如果檢測出作為數(shù)據(jù)寫入一側(cè)的一方的緩沖器A(B)裝滿了預(yù)定長度的數(shù)據(jù),而且作為數(shù)據(jù)讀出一側(cè)的另一方的緩沖器B(A)的數(shù)據(jù)已經(jīng)被讀出,則把兩者進(jìn)行交換,把裝滿了數(shù)據(jù)的一方的緩沖器A(B)作為數(shù)據(jù)讀出一側(cè),把已經(jīng)讀出了數(shù)據(jù)的另一方的緩沖器B(A)作為數(shù)據(jù)讀入一側(cè)。
這樣,在兩個(gè)緩沖器中交互地寫入數(shù)據(jù)的同時(shí),從裝滿了數(shù)據(jù)的緩沖器交互地讀出數(shù)據(jù),由此,即使主計(jì)算機(jī)一側(cè)與閃速存儲(chǔ)器一側(cè)中的數(shù)據(jù)傳送速度不同,也能夠?qū)?yīng)于各自的速度和定時(shí)交換數(shù)據(jù)。這種情況下,由于數(shù)據(jù)傳送速度快的一側(cè)必須成為待機(jī)狀態(tài),因此作為總體的數(shù)據(jù)傳送速度由數(shù)據(jù)傳送速度慢的一側(cè)支配。另外,緩沖器內(nèi)的數(shù)據(jù)被讀出以后,如FIFO存儲(chǔ)器那樣成為空閑,而如果能夠檢測出裝滿了新的數(shù)據(jù)的狀態(tài),則也可以進(jìn)行改寫。
作為在兩個(gè)緩沖器中能夠?qū)懭?讀出的數(shù)據(jù)長度,沒有特別的限制,而理想的是作為一個(gè)扇區(qū)部分的數(shù)據(jù)的512字節(jié),或者是在該長度的數(shù)據(jù)上加入預(yù)定的冗余數(shù)據(jù)的大小。
PCMCIA塊38起到適宜地與上述PC卡總線2a連接的PC卡總線接口作用。即,PC卡總線2a的控制系統(tǒng)(未圖示)存儲(chǔ)著用于識別連接了PC卡的必要的數(shù)據(jù)和為進(jìn)行識別所必需的數(shù)據(jù)等,能夠自動(dòng)地進(jìn)行必要的操作。
ATA塊39的工作寄存器收容從主計(jì)算機(jī)提供作為柱面,磁頭,扇區(qū)等的數(shù)據(jù)的CHS地址,或者反之把它們提供給主計(jì)算機(jī)一側(cè),具有用于變換為主計(jì)算機(jī)一側(cè)的邏輯地址的數(shù)據(jù)等。由此,主計(jì)算機(jī)1能夠把閃速存儲(chǔ)器系統(tǒng)猶如硬盤一樣進(jìn)行處理。
閃速存儲(chǔ)器5在該例中構(gòu)成為集合了多個(gè)存儲(chǔ)器元件的存儲(chǔ)器陣列,能夠確保必要的存儲(chǔ)容量。其它的結(jié)構(gòu)與上述結(jié)構(gòu)例相同,在相同的結(jié)構(gòu)上標(biāo)注相同的符號并且省略說明。
這樣,圖示例的閃速存儲(chǔ)器系統(tǒng)收容在PC卡內(nèi),能夠與SCSI標(biāo)準(zhǔn)的硬盤同樣地進(jìn)行處理。作為PC卡通過裝卸自由地與主計(jì)算機(jī)連接,能夠以小型、輕量的卡自由地移動(dòng)、保存比較大容量的數(shù)據(jù)。而且,由于能夠與可識別的硬盤一樣處理現(xiàn)有的軟件,因此還能夠靈活地運(yùn)用現(xiàn)有的軟件,處理也很容易。
在初始狀態(tài),數(shù)據(jù)中繼裝置的控制單元34對閃速存儲(chǔ)器5內(nèi)的各扇區(qū)進(jìn)行評價(jià)(是否能夠正常地進(jìn)行寫入/讀出,在寫入的數(shù)據(jù)內(nèi)容中有無異常等),將其作為塊單位的評價(jià)內(nèi)容生成塊狀態(tài)表32。
例如,如圖10所示,假設(shè)在具有預(yù)定大小的實(shí)際數(shù)據(jù)存儲(chǔ)部分51和冗余數(shù)據(jù)存儲(chǔ)部分52的閃速存儲(chǔ)器的物理塊地址#0003上存在異常??刂茊卧缛鐖D11所示,按照物理塊地址順序進(jìn)行評價(jià),在S-RAM上的狀態(tài)表形成區(qū)的預(yù)定位置,不存在異常的情況下寫入初始值(圖示例中是“FF”),在檢測出了異常的情況下寫入表示其內(nèi)容的狀態(tài)值(圖示例中是“OF”)。這樣,制作塊狀態(tài)表32。
接著,控制單元對于閃速存儲(chǔ)器5進(jìn)行與邏輯塊地址相當(dāng)?shù)呐R時(shí)編號。這時(shí),根據(jù)塊狀態(tài)表32的信息,從編號的對象中把不良塊排除在外。
控制單元從所得到的數(shù)據(jù)在S-RAM上的地址變換表形成區(qū),狀態(tài)表形成區(qū)上形成地址變換表31以及塊狀態(tài)表32。這時(shí),如果發(fā)現(xiàn)邏輯塊地址是“FFFF”,即成為消除圖形的塊,則視為隊(duì)列(Queue)等的要素,登錄在隊(duì)列表50中。另外,還檢查該隊(duì)列(Queue)的要素內(nèi)的數(shù)據(jù)是否全部為“FFFF”,即是否成為消除圖形。
如果根據(jù)這一系列的操作,形成地址變換表,塊狀態(tài)表和隊(duì)列(Queue),則如圖12所示,把它們作為原始的數(shù)據(jù)保存在閃速存儲(chǔ)器的預(yù)定區(qū)域中。作為被保存的數(shù)據(jù)的大小,例如,在具有512個(gè)物理塊的閃速存儲(chǔ)器的情況下,如果地址變換表為1000字節(jié),塊狀態(tài)表512字節(jié),隊(duì)列為18字節(jié),則總計(jì)成為1530字節(jié)。
作為讀出時(shí)的動(dòng)作,首先控制單元34借助上述緩沖器A36(或者B37)等接收來自主計(jì)算機(jī)1的地址數(shù)據(jù)。這時(shí),從主計(jì)算機(jī)發(fā)送來的地址數(shù)據(jù)如果是LBA方式,則通過使用下述公式(I)的作業(yè),進(jìn)行向邏輯塊地址以及偏移值的變換。
即,如果把從主計(jì)算機(jī)發(fā)送來的邏輯地址記為LBAs,則邏輯塊地址LBA用下式求出LBA=LBAs/k (I)k=最小消除單位內(nèi)的扇區(qū)數(shù)(8或16)余數(shù)m成為表示塊內(nèi)的扇區(qū)位置的偏移值。
另外,從主計(jì)算機(jī)發(fā)送來的數(shù)據(jù)是CHS方式的情況下,通過以下的計(jì)算式(II)變換為LBA方式的數(shù)據(jù)。另外,這種變換功能如ATA塊等那樣,可以獨(dú)立地設(shè)計(jì)為具有用于把CHS方式的數(shù)據(jù)變換為LBA方式的數(shù)據(jù)的專用功能的塊。
LBA=(C×HpC+H)×SpH+S-1(II)這里,C柱面號,H磁頭號,S扇區(qū)號,HpC磁頭/柱面,SpH扇區(qū)/磁頭。
所得到的邏輯塊地址使用地址變換表31變換為物理塊地址,在其上加入偏移值成為物理地址數(shù)據(jù)。
在讀出動(dòng)作中,通常自動(dòng)地進(jìn)行從閃速存儲(chǔ)器5的讀出和向主計(jì)算機(jī)1的傳送。即,如果控制單元34設(shè)定希望讀出的存儲(chǔ)區(qū)的地址,則閃速存儲(chǔ)器接口4例如閃速序列發(fā)生器41自動(dòng)地讀出其存儲(chǔ)區(qū)的數(shù)據(jù)。緩沖器控制單元35與閃速存儲(chǔ)器5一側(cè)和主計(jì)算機(jī)1一側(cè)的傳送速度相吻合順序地送出被傳送來的數(shù)據(jù)。
ATA塊39如果有來自控制單元34的數(shù)據(jù)傳送的指令則解除占線狀態(tài),向主計(jì)算機(jī)1通知數(shù)據(jù)傳送開始。這樣,控制單元34在進(jìn)行了地址變換作業(yè)以后,通過進(jìn)行預(yù)定的設(shè)定操作,從用于數(shù)據(jù)傳送的操作解放出來,能夠先一步地進(jìn)行下一個(gè)地址變換作業(yè)。另外,數(shù)據(jù)變換作業(yè)如上所述能夠高速地處理,因此通常在數(shù)據(jù)傳送過程中結(jié)束。由此,格外地提高數(shù)據(jù)傳送速度。
寫入時(shí)的動(dòng)作作為寫入時(shí)的動(dòng)作,至地址變換為止的動(dòng)作與上述讀出時(shí)的動(dòng)作相同。接著,如圖13所示那樣,進(jìn)行地址變換,進(jìn)行向閃速存儲(chǔ)器5上的預(yù)定地址的寫入動(dòng)作。
閃速存儲(chǔ)器5如上所述不能夠改寫。從而,在寫入動(dòng)作中伴隨著塊單位的消除動(dòng)作。這種情況下,暫時(shí)把寫入預(yù)定的塊內(nèi)的數(shù)據(jù)讀出以后將其消除,也能夠?qū)懭胄碌臄?shù)據(jù)。然而,在該方法中由于在寫入之前伴隨著讀出動(dòng)作,因而訪問速度遲緩。
因此,最好是靈活地運(yùn)用剩余區(qū)域中的隊(duì)列(Queue)。即,從隊(duì)列的起始取出要素,暫時(shí)把新的數(shù)據(jù)寫入該塊內(nèi)的預(yù)定的位置(用偏移值指定),作為交換預(yù)定塊。而且,把原本作為寫入目標(biāo)的塊的邏輯塊地址作為消除預(yù)定地址。
另外,在交換預(yù)定塊的冗余部分中,寫入消除預(yù)定塊的塊地址和狀態(tài)值。這時(shí),地址變換表的邏輯塊也必須進(jìn)行改寫。由此,從上述隊(duì)列(Queue)取出來的塊成為具有寫入后的數(shù)據(jù)的新的邏輯塊地址。
而且,最好在所有的或者預(yù)定量的數(shù)據(jù)傳送結(jié)束的時(shí)刻,把上述消除預(yù)定塊的剩余數(shù)據(jù)傳送到交換預(yù)定塊內(nèi),把消除預(yù)定塊消除。由此,伴隨著寫入的讀出動(dòng)作以及消除動(dòng)作在進(jìn)行全部數(shù)據(jù)傳送后進(jìn)行,外觀上,對于主計(jì)算機(jī)一側(cè)的PC,使得早期完成寫入數(shù)據(jù)的接收,提高寫入時(shí)的動(dòng)作速度。另外,至進(jìn)行所有數(shù)據(jù)的改寫的操作保存在歷史保持表等中,順利地進(jìn)行使用了隊(duì)列(Queue)的寫入操作。
這樣,地址變換表,塊狀態(tài)表和隊(duì)列(Queue)等中發(fā)生了變更。該被變更部分的數(shù)據(jù)如圖13所示,加寫在增量記錄的記錄區(qū)5d的原始數(shù)據(jù)上。
這些數(shù)據(jù),例如,如果是地址變換表則由于物理塊地址值發(fā)生了變更因而其位置(2字節(jié))和大小(2字節(jié))的數(shù)據(jù)被最小限度地變更。塊狀態(tài)表由于判定塊是否良好的信息通常不需要改寫,而表示有無數(shù)據(jù)的數(shù)據(jù)中產(chǎn)生了變更,因而其位置(2字節(jié))和大小(2字節(jié))的數(shù)據(jù)被最小限度地變更。隊(duì)列(Queue)由于取出1個(gè)要素,取入1個(gè)另外的要素,因此指針值移動(dòng),其大小(2字節(jié))、取出指針OP(2字節(jié))與取入指針I(yè)P(2字節(jié))的數(shù)據(jù)被最小限度地變更。這些數(shù)據(jù)在該例中成為總計(jì)11字節(jié)。由于上述初始值的數(shù)據(jù)是1530字節(jié),因此變換部分的數(shù)據(jù)極少。
增量記錄被記錄在閃速存儲(chǔ)器上的實(shí)際數(shù)據(jù)區(qū)中。增量記錄所記錄的實(shí)際數(shù)據(jù)區(qū)的大小通常是256字節(jié)(1/2扇區(qū))或者512字節(jié)(1個(gè)扇區(qū)),作為對應(yīng)該實(shí)際數(shù)據(jù)區(qū)的冗余數(shù)據(jù)區(qū),具有8字節(jié)或者16字節(jié)。在該冗余區(qū)中,通常寫入ECC數(shù)據(jù)等。
增量記錄的生成過程如前所示,從地址變換表,塊狀態(tài)表,隊(duì)列(Queue)等,制作其變化部分例如11字節(jié)部分的數(shù)據(jù)。以下,舉出具體例子說明向閃速存儲(chǔ)器記錄增量記錄的方法。
閃速存儲(chǔ)器消除后的圖形是111……11。這是通過消除操作,從作為閃速存儲(chǔ)器的存儲(chǔ)單元的浮柵抽出負(fù)電荷的狀態(tài),是所謂的正的帶電存儲(chǔ)單元的讀出值。例如,將該值讀出,如圖14所示那樣通過反轉(zhuǎn)器(反相器)61,能夠成為000……00,能夠作出“0”連續(xù)的圖形。
這里,考慮通過用于制作ECC數(shù)據(jù)而使用的多項(xiàng)式G(x),把預(yù)定的數(shù)據(jù)進(jìn)行除法運(yùn)算的情況。例如,在3比特的校正BCH碼的生成多項(xiàng)式的情況下,成為G(x)=X40+X39+X37+X33+X32+X30+X29+X27+X26+X25+X23+X19+X17+X13+X12+X10+X8+X6+X4+X3+X2+1
如果把這樣的生成多項(xiàng)式表示為邏輯式或者裝置,則成為例如圖15所示那樣的除法器。該除法器由移位寄存器(延遲元件)71和異或電路(EXOR)72構(gòu)成,除法器的輸入側(cè)73經(jīng)過上述反轉(zhuǎn)器被輸入閃速存儲(chǔ)器的讀出值。
現(xiàn)在,假設(shè)把閃速存儲(chǔ)器的讀出值(000……00)順序地輸入到除法器中。這種情況下,其商當(dāng)然是0。另外,所生成的余數(shù)也成為000……00,例如連續(xù)40個(gè)比特的0。該余數(shù)的圖形是重要的,如果40個(gè)比特全部為0,則沒有錯(cuò)誤不必進(jìn)行校正。然而,若在余數(shù)的40個(gè)比特中即使存在一個(gè)1的情況下,也存在著錯(cuò)誤,需要進(jìn)行校正。
圖16作為計(jì)算式示出了除法器運(yùn)算的狀況。從圖中可知,000……00的重復(fù)圖形即使在任一個(gè)階段停止除法運(yùn)算,其余數(shù)(R)也成為000……00。該余數(shù)000……00的圖形在如圖17那樣分割到各區(qū)域的情況下,A中,B中,C中都重復(fù)同樣的除法結(jié)果。
例如,考慮上述區(qū)域A的要素?cái)?shù)為16字節(jié)或32字節(jié)部分的0比特圖形連續(xù)的情況,上述的內(nèi)部信息的變化部分的大小例如是11字節(jié),是收容在區(qū)域A中的大小。
因此,與圖15所示的例子相同,如果用上述生成多項(xiàng)式G(x)把該變化部分的數(shù)據(jù)11個(gè)字節(jié)進(jìn)行除法運(yùn)算,作為余數(shù)可以得到5個(gè)字節(jié)部分的數(shù)據(jù)。如圖18所示,如果把該剩余的數(shù)據(jù)83在上述變化部分的數(shù)據(jù)81之后與000……00的數(shù)據(jù)82置換并添加則成為全部16字節(jié)長度的數(shù)據(jù)。從而,把這些數(shù)據(jù)作為一個(gè)單位,在每次產(chǎn)生了變化的數(shù)據(jù)時(shí),可以逐個(gè)地,順序地置換000……00的預(yù)定區(qū)域(A,B,C等)。這樣制作增量記錄。
即,把剩余的數(shù)據(jù)(5字節(jié))添加到變化部分的數(shù)據(jù)(11字節(jié))后面的目的是當(dāng)存在著與由除法運(yùn)算得到的余數(shù)相同位置,相同大小的0或者1的圖形時(shí),它們的“異或”成為000……00,用生成多項(xiàng)式G(x)進(jìn)行除法運(yùn)算的結(jié)果,制作出分割圖形。
由于增量記錄總是用生成多項(xiàng)式分割,因此例如即使置換為圖17的區(qū)域A的000……00,除法結(jié)果余數(shù)仍成為000……00,不發(fā)生變化。該操作同樣地順序置換到區(qū)域B,區(qū)域C……,總體的除法結(jié)果,即余數(shù)的圖形仍成為000……00,不發(fā)生變化。
這樣,即使在實(shí)際數(shù)據(jù)區(qū)上存在著多個(gè)增量記錄,也是沿著ECC編碼/譯碼的計(jì)算(由生成多項(xiàng)式G(x)進(jìn)行的除法運(yùn)算)的數(shù)據(jù)配列。這是由于在與通常的數(shù)據(jù)同樣讀出的同時(shí),遵守通常的ECC編碼規(guī)則,因此能夠進(jìn)行強(qiáng)有力的保護(hù)。
用于使用生成多項(xiàng)式處理內(nèi)部數(shù)據(jù)的作業(yè)還能夠是圖15所示那樣作為除法器用硬件進(jìn)行處理。然而,地址變換表和塊狀態(tài)表以及隊(duì)列(Queue)等由控制單元(微處理器)進(jìn)行。因此,理想的是由把這些數(shù)據(jù)綜合地進(jìn)行管理的控制單元進(jìn)行的運(yùn)算(軟件)操作求出。
這樣的運(yùn)算例如由上述緩沖器控制單元進(jìn)行數(shù)據(jù)傳送動(dòng)作而不需要控制單元的直接操作,而在自動(dòng)的運(yùn)行期間充分地進(jìn)行。例如,緩沖器控制單元的16個(gè)扇區(qū)的數(shù)據(jù)傳送需要6ms左右,另外,上述閃速存儲(chǔ)器的消除動(dòng)作需要3~10ms左右。與此相對,制作出1字節(jié)的增量記錄的時(shí)間最遲是800μs左右。從而,即使控制單元制作增量記錄,也能夠毫不遜色地進(jìn)行高速數(shù)據(jù)寫入操作。
另外,在增量記錄的生成過程中,不限定于上述生成多項(xiàng)式G(x),也能夠使用不同的數(shù)學(xué)公式。還有,增量記錄的方法不限定于BCH碼,也可以使用具有相同功能的RS碼等。
另外,在上述例中為了容易地進(jìn)行說明,例示了000……00連續(xù)的圖形,然而也能夠不用反轉(zhuǎn)器等進(jìn)行處理,直接以111……11的圖形進(jìn)行處理。
另外,在上述例中作為內(nèi)部信息以地址變換表,塊狀態(tài)狀態(tài)表,隊(duì)列(Queue)等為例進(jìn)行了說明,然而作為增量記錄可記錄的數(shù)據(jù)不限定于這些信息,根據(jù)存儲(chǔ)器管理器的構(gòu)成形態(tài)以及所處理的數(shù)據(jù),還能夠記錄各種信息,并且再現(xiàn)這些信息。
另外,本發(fā)明的閃速存儲(chǔ)器系統(tǒng)的使用范圍除去膝上型計(jì)算機(jī)等計(jì)算機(jī)系統(tǒng)以外,還能夠應(yīng)用在便攜通信設(shè)備,數(shù)字照相機(jī)等多媒體系統(tǒng)等處理各種數(shù)據(jù)的領(lǐng)域中。
發(fā)明的效果如上所述,如果依據(jù)本發(fā)明,則能夠?qū)崿F(xiàn)減少寫入/讀出時(shí)間的延遲,能夠比較簡單地進(jìn)行寫入動(dòng)作,能夠以高速進(jìn)行動(dòng)作,能夠適當(dāng)?shù)剡M(jìn)行不良扇區(qū)和不良比特等的管理的閃速存儲(chǔ)器系統(tǒng)。
權(quán)利要求
1.一種閃速存儲(chǔ)器系統(tǒng),其特征在于具有管理主計(jì)算機(jī)與閃速存儲(chǔ)器的數(shù)據(jù)傳送的存儲(chǔ)器管理器,上述存儲(chǔ)器管理器把從上述主計(jì)算機(jī)能夠訪問閃速存儲(chǔ)器的邏輯地址與作為閃速存儲(chǔ)器的實(shí)際地址的物理地址相互進(jìn)行變換,而且,作為增量記錄把內(nèi)部信息的變化保存在上述閃速存儲(chǔ)器中,復(fù)位后使用上述增量記錄的信息把內(nèi)部狀態(tài)復(fù)原為復(fù)位前的狀態(tài)。
2.如權(quán)利要求1中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述增量記錄為了進(jìn)行復(fù)位后的內(nèi)部信息的恢復(fù),順序存儲(chǔ)作為顯示內(nèi)部信息相對于初始值的其后變化的數(shù)據(jù)。
3.如權(quán)利要求1或2中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述增量記錄具有糾錯(cuò)碼數(shù)據(jù)。
4.如權(quán)利要求1~3的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述增量記錄連續(xù)地寫入到預(yù)定的存儲(chǔ)區(qū)中。
5.如權(quán)利要求1~4的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器把上述邏輯地址區(qū)的大小設(shè)定為小于作為閃速存儲(chǔ)器的實(shí)際地址的物理地址區(qū)的大小,而且,在物理地址區(qū)不與邏輯地址區(qū)對應(yīng)的剩余區(qū)域中具有上述增量記錄。
6.如權(quán)利要求1~5的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器在每個(gè)對應(yīng)于閃速存儲(chǔ)器的最小消除單位分割的塊中處理上述物理地址以及邏輯地址。
7.如權(quán)利要求1~6的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器具有用于把邏輯塊地址與物理塊地址相互進(jìn)行變換的地址變換表,而且在上述增量記錄中具有該地址變換表及其變化的信息。
8.如權(quán)利要求1~7的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器還具有塊狀態(tài)表,該塊狀態(tài)表是表示閃速存儲(chǔ)器上的上述各物理塊的狀態(tài)的數(shù)據(jù),至少具有表示塊是否良好,有無不良扇區(qū)以及是否正在使用的數(shù)據(jù),而且在上述增量記錄中具有該塊狀態(tài)表及其變化的信息。
9.如權(quán)利要求5~8的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器在上述物理地址區(qū)不與邏輯地址區(qū)對應(yīng)的剩余區(qū)域中具有使用待機(jī)狀態(tài)的隊(duì)列,而且在上述增量記錄中具有該隊(duì)列的信息。
10.如權(quán)利要求1~9的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器在向閃速存儲(chǔ)器寫入數(shù)據(jù)時(shí),在隊(duì)列內(nèi)的預(yù)定塊中寫入新的數(shù)據(jù),把該數(shù)據(jù)作為寫入預(yù)定目標(biāo)的邏輯塊地址,把寫入預(yù)定目標(biāo)的塊作為隊(duì)列。
11.如權(quán)利要求1~10的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器在具有更新了寫入預(yù)定目標(biāo)的塊的數(shù)據(jù)以外的數(shù)據(jù)的情況下,在來自主計(jì)算機(jī)的預(yù)定量的數(shù)據(jù)的傳送結(jié)束以后,從寫入預(yù)定目標(biāo)的塊向?qū)懭肓诵碌臄?shù)據(jù)的隊(duì)列內(nèi)的預(yù)定塊傳送原來的數(shù)據(jù)。
12.如權(quán)利要求1~11的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述存儲(chǔ)器管理器在物理地址區(qū)內(nèi)的任意的塊中發(fā)生故障時(shí),與上述隊(duì)列內(nèi)的任意的塊進(jìn)行交換。
13.如權(quán)利要求1~12的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于該系統(tǒng)是IC芯片。
14.如權(quán)利要求1~13的任一項(xiàng)中記述的閃速存儲(chǔ)器系統(tǒng),特征在于上述系統(tǒng)是與閃速存儲(chǔ)器一體化的卡片形狀的外部存儲(chǔ)系統(tǒng)。
全文摘要
本發(fā)明的閃速存儲(chǔ)器系統(tǒng)具有管理主計(jì)算機(jī)與閃速存儲(chǔ)器的數(shù)據(jù)傳送的存儲(chǔ)器管理器,上述存儲(chǔ)器管理器把能夠從主計(jì)算機(jī)訪問閃速存儲(chǔ)器的邏輯地址與作為閃速存儲(chǔ)器的實(shí)際地址的物理地址相互進(jìn)行交換,而且作為代碼在上述閃速存儲(chǔ)器中保存有內(nèi)部信息的變化,在復(fù)位以后根據(jù)上述代碼的信息把內(nèi)部狀態(tài)復(fù)原為復(fù)位前的狀態(tài)。由此,能夠?qū)崿F(xiàn)可以減小寫入/讀出時(shí)間的延遲,可以比較簡單地進(jìn)行寫入動(dòng)作,可以以高速進(jìn)行動(dòng)作,可以適宜地進(jìn)行不良扇區(qū)和不良比特等的管理的閃速存儲(chǔ)器系統(tǒng)。
文檔編號G06F12/02GK1248335SQ98802740
公開日2000年3月22日 申請日期1998年12月8日 優(yōu)先權(quán)日1997年12月22日
發(fā)明者柿沼裕二, 北川浩也, 嶌田輝男 申請人:Tdk株式會(huì)社
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1