專利名稱:用于快速傳輸數(shù)據(jù)到顯示驅動器的系統(tǒng)和方法
技術領域:
本發(fā)明涉及快速傳輸數(shù)據(jù)到顯示驅動器的系統(tǒng)和方法。
背景技術:
具有數(shù)據(jù)輸入和顯示功能的手持數(shù)據(jù)處理設備已經(jīng)越來越多地在許多場合中使用。這種設備的眾所周知的示例包括蜂窩電話和“個人數(shù)字助理”(PDA)設備。隨著更大的處理能力和減小的設備尺寸變得更容易得到,手持數(shù)據(jù)處理設備在衛(wèi)生、保健、金融、工程技術及其它環(huán)境中的使用將變得越來越普遍。用戶的有效數(shù)據(jù)輸入以及這種數(shù)據(jù)的快速處理和顯示在手持數(shù)據(jù)處理設備中是重要因素。然而,在由當前可用的手持數(shù)據(jù)處理器提供的數(shù)據(jù)輸入和顯示中存在著各種缺點。
尤其是,這種手持設備的小尺寸經(jīng)常使經(jīng)由字母數(shù)字小鍵盤、鍵盤或者觸摸屏的數(shù)據(jù)輸入變得復雜。在手持設備中已經(jīng)使用了各種各樣用于字母數(shù)字字符的用戶輸入的機構。一種這樣的方法是在設備顯示器上的一個完整“QWERTY”鍵盤的使用,如在許多PDA設備中出現(xiàn)的那樣。完整鍵盤是為大部分用戶所熟知的,而且輸入和顯示相應的字母數(shù)字字符需要按壓或者激活僅僅單個鍵。然而,在一個小設備上顯示一個完整的鍵盤要求各個鍵或者按鈕是非常小的,而且指示筆的使用是數(shù)據(jù)輸入所必需的。
另一種數(shù)據(jù)輸入的方法是使用了一個傳統(tǒng)的電話字母數(shù)字小鍵盤,其中多次按壓或者激活一個單獨鍵允許在與該鍵有關的幾個字符中的每一個之間循環(huán)。例如,當“2”鍵最初被按壓時,在設備顯示器上相應地顯示“2”。再次按壓“2”鍵則把顯示的“2”改變?yōu)椤癆”,而第三次按壓“2”鍵導致“B”的顯示,等等。雖然這種方法允許利用一個相對小的字母數(shù)字小鍵盤輸入數(shù)據(jù),但是個別字母數(shù)字符號的輸入可能需要多至四次按鍵以獲得一個期望的字符。用這樣的方式輸入字母數(shù)字字符串是不直觀的,而且對于未經(jīng)訓練的用戶來說是很困難的。此外,許多電話小鍵盤沒有規(guī)定“Q”和“Z”字符,而這些字符的輸入必須通過按壓兩個或更多鍵的一個組合或者通過其它數(shù)據(jù)輸入方案提供。
還有另一種數(shù)據(jù)輸入的方法是在不同的屏幕圖象上提供不同的顯示部分,并提供了一個按鈕或者鍵以允許在多個屏幕圖象之間切換。例如,一個第一屏幕可以用來顯示數(shù)字,而另外的屏幕用來顯示字母字符。顯示所有字母數(shù)字字符所需要的屏幕總數(shù)取決于該顯示器的尺寸。一個小的顯示器經(jīng)常需要三個或者四個這樣的屏幕。由于在屏幕之間切換的必要性,字母數(shù)字字符串的輸入可能是十分復雜和費時的。
在手持數(shù)據(jù)處理設備操作中的另一個重要考慮是對于由該設備處理的數(shù)字數(shù)據(jù)的錯誤檢測。一般使用循環(huán)冗余校驗(CRC)計算來執(zhí)行錯誤檢測,該計算一般由以軟件體現(xiàn)的一種除法算法實現(xiàn),該算法是相對緩慢的而且涉及相當多的計算開銷。
一種更快的CRC計算方法是通過結合AND和XOR操作使用一個軟件查找表來執(zhí)行等效的除法算法。這個技術對于大的數(shù)據(jù)流仍然是相對緩慢的,而且需要大量的存儲器來存儲該檢查表(例如,對于一個16位CRC需要512個字節(jié))。一種更快的技術是利用以硬件體現(xiàn)的一個CRC電路,以及一個貫穿該數(shù)據(jù)流遞增的軟件循環(huán),該循環(huán)把每個字節(jié)寫入到執(zhí)行除法算法的CRC電路中。雖然CRC電路的使用增加了速度,但對于大的數(shù)據(jù)流來說,軟件循環(huán)的開銷可能仍然需要比較長的時間。
在手持數(shù)據(jù)處理設備中還有一個考慮是與寫入數(shù)據(jù)到設備顯示器有關的時間,其中該設備顯示器一般是一個基于像素的液晶顯示器(LCD)。數(shù)據(jù)輸出到一個顯示控制器一般涉及一個貫穿該輸出數(shù)據(jù)流遞增的軟件執(zhí)行循環(huán),其一次寫入一個字節(jié)到該顯示控制器。這個方案對于基于像素的顯示器來說是緩慢的,因為為了在該顯示器上繪制一個字母數(shù)字字符或者圖標通常必須寫入許多字節(jié),而且軟件循環(huán)的開銷隨著因此寫入的每個字節(jié)而增加。
許多工作環(huán)境要求多個用戶能訪問手持數(shù)據(jù)處理設備,而且被批準用戶的驗證又是一個在這種設備設計和操作中的重要因素。用于用戶驗證的標準技術是由用戶輸入一個標識(ID)字符串。輸入的字符串和在該設備存儲器中的一個數(shù)組或者列表中保持的一個授權字符串列表進行比較。軟件搜尋該列表并且把所關心的字符串和每個存儲的條目進行比較直到找到一個匹配或者存儲的字符串列表用完為止。該列表一般以排序次序布置,并且執(zhí)行一個折半查找。然而用這樣的方式執(zhí)行字符串比較,在該列表大而且字符串長度長的地方,可能需要大量的存儲器來存儲授權的字符串列表。例如,存儲具有最大長度18個字符的4,000個字符串需要72,000個字節(jié)。此外,取決于字符串長度的、字符串比較所需要的時間,可能是非常長的而且導致在用戶驗證期間很大的延遲。
因此需要這樣一種手持數(shù)據(jù)處理設備和方法,其允許由用戶快速容易的輸入字母數(shù)字字符,其為在操作期間的快速數(shù)據(jù)錯誤檢查和快速寫入數(shù)據(jù)到一個顯示器作了準備,而且為用于用戶驗證的快速字符串比較作了準備。本發(fā)明滿足了這些要求,以及其它需求,而且一般說來克服了在背景技術中發(fā)現(xiàn)的不足之處。
發(fā)明內(nèi)容
本發(fā)明提供了用于從一個存儲器或者存儲設備快速傳輸數(shù)據(jù)到一個顯示控制器的裝置和方法。該裝置概括地說包含一個存儲器、一個可操作地與該存儲器相連的直接存儲器存取控制器、以及一個可操作地與該直接存儲器存取控制器相連并且被配置為從該存儲器傳輸一個數(shù)據(jù)流到該顯示控制器的顯示控制器。該裝置還可以包含被配置為用用于該數(shù)據(jù)流的一個顯示地址設置該顯示控制器的存儲程序設計。該裝置可以另外包含被配置為用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的一個尺寸來設置直接存儲器存取控制器的存儲程序設計。該裝置可以進一步包含被配置為通過直接存儲器存取控制器啟動傳輸數(shù)據(jù)流到顯示控制器的存儲程序設計。
在某些實施例中,該裝置還可以包含一個可操作地與直接存儲器存取控制器相連并且被配置為從存儲器傳輸一個檢查數(shù)據(jù)流到該循環(huán)冗余校驗電路的一個循環(huán)冗余校驗電路,該循環(huán)冗余校驗電路被配置為計算一個用于該檢查數(shù)據(jù)流的檢查值。該裝置可以另外包含被配置為用一個選擇的初始值種子化該循環(huán)冗余校驗電路的存儲程序設計。該裝置可以進一步包含被配置為用用于該檢查數(shù)據(jù)流的源地址、用于該檢查數(shù)據(jù)流的目的地址、以及用于該檢查數(shù)據(jù)流的一個尺寸來設置該直接存儲器存取控制器的存儲程序設計。該裝置可以更進一步包含被配置為通過直接存儲器存取控制器啟動從存儲器傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗電路的存儲程序設計。在某些實施例中,該裝置還可以包含被配置為從該循環(huán)冗余校驗電路讀取一個計算的循環(huán)冗余校驗值并且在該存儲器中存儲該計算的循環(huán)冗余校驗值的存儲程序設計。
本方法一般來說,包含使用一個直接存儲器存取控制器從存儲器傳輸一個數(shù)據(jù)流到一個顯示控制器。該傳輸可以包含用用于該數(shù)據(jù)流的顯示地址設置該顯示控制器。該傳輸還可以包含用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的一個尺寸來設置該直接存儲器存取控制器。該傳輸可以另外包含通過直接存儲器存取控制器啟動傳輸數(shù)據(jù)流到顯示控制器。
在某些實施例中,該方法還可以包含使用直接存儲器存取控制器從存儲器傳輸一個檢查數(shù)據(jù)流到該循環(huán)冗余校驗電路,并且由該循環(huán)冗余校驗電路計算一個用于該檢查數(shù)據(jù)流的循環(huán)冗余校驗值。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗電路可以包含用一個選擇的初始值種子化該循環(huán)冗余校驗電路。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗電路還可以包含用用于該檢查數(shù)據(jù)流的源地址、用于該檢查數(shù)據(jù)流的目的地址、以及用于該檢查數(shù)據(jù)流的尺寸來設置直接存儲器存取控制器。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗電路另外可以包含通過直接存儲器存取控制器啟動傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗電路。傳輸檢查數(shù)據(jù)流到循環(huán)冗余校驗電路可以進一步包含通過該直接存儲器存取控制器傳輸在檢查數(shù)據(jù)流中的每一個字節(jié)到循環(huán)冗余校驗電路。在某些實施例中,該方法還可以包含從該循環(huán)冗余校驗電路中讀取一個計算的循環(huán)冗余校驗值并且在該存儲器中存儲該計算的循環(huán)冗余校驗值。
通過參考以下僅僅用于說明性目的的附圖,本發(fā)明將得到更全面地理解。
圖1是依據(jù)本發(fā)明的一個小鍵盤示意圖。
圖2A到圖2H說明了在圖1中的小鍵盤上輸入一個字母數(shù)字字符串。
圖3是依據(jù)本發(fā)明的一個數(shù)據(jù)處理設備的功能框圖。
圖4說明了依據(jù)本發(fā)明、從一個直接存儲器存取控制器到一個CRC電路的數(shù)據(jù)傳輸?shù)牧鞒虉D。
圖5說明了依據(jù)本發(fā)明、從一個直接存儲器存取控制器到一個顯示控制器的數(shù)據(jù)傳輸?shù)牧鞒虉D。
圖6A是一個說明了用于字母數(shù)字字符串的一個授權檢驗字列表的創(chuàng)建的流程圖。
圖6B是一個說明了把一個字母數(shù)字字符串和授權的檢驗字列表的比較的流程圖。
具體實施例方式
在進一步描述本發(fā)明之前,應當理解,由于可以對特定實施例進行各種變化而且仍然屬于后附權利要求的范圍之內(nèi),本發(fā)明并不局限于如下所述的本發(fā)明的特定實施例。還要理解在這里使用的術語是為了描述特定實施例的目的,而不是用來限制。相反,本發(fā)明的范圍將由后附權利要求確定。
在此的任何定義是為了清楚的原因而提供的,不應當被認作是限制。在此使用的技術和科學術語和本發(fā)明所屬領域中的普通技術人員的通常理解具有相同的意思。
在此使用的術語“字母數(shù)字字符”和“字母數(shù)字符號”以及它們的語法等效意指可以在由一個用戶從一個鍵盤或者小鍵盤輸入數(shù)據(jù)中使用的任何數(shù)字、按字母順序的字母、單音節(jié)符號、多音節(jié)符號、文本符號、數(shù)學符號或者任何其它符號。示例的“字母數(shù)字字符”舉例來說包含羅馬字母表字母、阿拉伯數(shù)字、以及諸如“句號”、“逗號”、“連字號”等等的標點符號。
本發(fā)明提供了用于快速、容易和有效利用手持數(shù)據(jù)處理設備的設備和方法。手持計算設備常常僅僅具有小的小鍵盤和可用的顯示區(qū)域,以及有限的存儲能力。本發(fā)明的設備和方法在其中提供了,在一個小的小鍵盤或者鍵盤上的快速和容易的字母數(shù)字字符的輸入、用于數(shù)據(jù)傳輸?shù)目焖贆z查字的計算、快速寫入數(shù)據(jù)到設備顯示器中、以及快速和有效地驗證用戶標識字符串。
更具體地參考附圖,為了說明性的目的,本發(fā)明主要在圖1到圖6中顯示的裝置和方法中加以體現(xiàn)。將要理解本裝置可以隨配置和部件詳情的變化而變化,而且該方法可以隨事件或者動作的詳情和次序的變化而變化,而不背離在此公開的基本概念。本發(fā)明主要依據(jù)在手持數(shù)據(jù)處理器或者計算機中的使用而公開。然而,對于那些在本領域的技術人員來說很顯然本發(fā)明可以和任何類型的數(shù)據(jù)處理器一起使用,這些數(shù)據(jù)處理器包含例如桌面和便攜式計算機。同樣對于那些在本領域的技術人員來說也應是很顯然的,即,如在此描述的本發(fā)明各個功能部件可以共享相同的邏輯而且可以在同一個電路內(nèi)實現(xiàn),或者以不同的電路布局實現(xiàn)。
現(xiàn)在參考圖1,其中顯示了一個依據(jù)本發(fā)明的鍵盤或者小鍵盤10。小鍵盤10包含多個第一、“硬”或者“固定”鍵12,以及多個第二、“軟”鍵14。在該小鍵盤上的每一個第一或者固定鍵12具有至少一個主字母數(shù)字符號15。另外,一個或多個固定鍵可以具有一個或一個以上與其相關的輔助字母數(shù)字符號16。如圖所示,以單個數(shù)或者數(shù)字形式的主字母數(shù)字符號15位于每一個第一鍵12的中心、靠下部分,而以三個或者四個羅馬字母字符或者文本相關符號形式的輔助字母數(shù)字符號16位于第一鍵12的靠上部分。第一鍵12因此以類似于傳統(tǒng)電話小鍵盤的方式顯示字母數(shù)字字符。第一鍵12把數(shù)字“1”顯示為一個主字母數(shù)字符號,并且包含用于“下劃線”、“句號”、“斜杠”和“破折號”的符號而不是字母表字母作為輔助字母數(shù)字字符。第一鍵12把數(shù)字“0”顯示為一個主字母數(shù)字符號,同樣顯示對應于“空格”、“反斜杠”、“冒號”和“逗號”的非字母輔助符號。
主和輔助字母數(shù)字符號15、16可以顯示在第一鍵12上的別處,或者可以緊挨著第一鍵12顯示或者顯示在與第一鍵12有關的別處。包含一個刪除或者退格鍵18以允許刪除如下所述輸入的字母數(shù)字字符,以及提供一個“輸入”鍵20,其可以用來輸入完成的字符串,或者作為一個復位鍵,或者可以被編程以依據(jù)鍵20的動作執(zhí)行一個可選的功能。
如圖所示,第二、軟鍵14的數(shù)目對應于與每一個第一鍵12有關的輔助字母數(shù)字符號16的最大數(shù)目。依據(jù)一個第一鍵12的選擇和動作,與該啟動的第一鍵12有關的相應輔助字母數(shù)字符號16與第二鍵14相關聯(lián)地顯示,其中一個輔助字母數(shù)字符號16與一個相應第二鍵14有關聯(lián)地顯示。該輔助字母數(shù)字符號16可以如圖所示直接顯示在第二鍵14上,或者緊挨著第二鍵14顯示,或者顯示在與第二鍵14有關聯(lián)的別處。
在如圖1所示的實施例中,小鍵盤10以一個覆蓋在顯示器22上或者與顯示器22重疊的觸摸屏的形式。顯示器22可以包含一個液晶、LED、CRT或者其它形式的顯示器。在手持實施例中,顯示器22常常將為一個液晶顯示器或者LCD的形式。觸摸屏/顯示器22包含一個在其中顯示字母數(shù)字字符的區(qū)域24,這些字母數(shù)字字符是依據(jù)如下所述的、主或者第一鍵12以及第二鍵14的選擇性動作而選擇的。
通過適當?shù)牡谝绘I12和第二鍵14的選擇性動作,可以在該小鍵盤10上輸入任何字母數(shù)字字符串。按壓或者啟動一個選擇的第一鍵12導致在顯示區(qū)域24上顯示所述選擇的第一鍵12的主字母數(shù)字字符15,而且還導致在軟鍵14上顯示相應的輔助字母數(shù)字符號16。如果在顯示器24上顯示的主字母數(shù)字符號15是用戶希望輸入的符號,則不啟動輔助鍵14。如果相反,用戶希望輸入與第二鍵14有關的一個輔助字母數(shù)字字符,則該用戶可以啟動適當?shù)牡诙I14。這使得在區(qū)域24中顯示的主字母數(shù)字字符(數(shù)字)被替換為所選擇的輔助字母數(shù)字字符(字母)。
在圖2A到圖2H中說明了圖1中的小鍵盤的操作。在圖2A中,由一個用戶選擇并按壓或者啟動一個顯示了主字母數(shù)字字符“4”以及輔助字母數(shù)字字符組“G”、“H”、和“I”的第一固定鍵12。第一鍵12的動作導致在顯示區(qū)域24中顯示數(shù)字“4”,并導致在第二鍵14上顯示字母“G”、“H”和“I”。如果此時用戶僅僅希望輸入數(shù)字“4”,則可以選擇該輸入按鈕20。如果相反用戶希望輸入“G”、“H”或者“I”,則選擇和啟動適當?shù)牡诙I14。
如圖2B所示,由用戶選擇和啟動顯示字母“H”的第二鍵14,這導致在顯示區(qū)域24中用字母“H”替換數(shù)字“4”。用戶可以從這組輔助字母數(shù)字字符中選擇“G”或者“I”。如果如圖2B所示字母“H”表示用戶希望輸入的整個字符串,則可以按壓輸入鍵20。
用戶可以通過選擇和啟動適當?shù)牡谝绘I12及/或第二鍵14繼續(xù)擴展輸入的字母數(shù)字字符列表。如圖2C所示,其中顯示了選擇和啟動一個具有主字母數(shù)字符號“2”和一組輔助字母數(shù)字符號“A”、“B”和“C”的第二固定鍵12,這導致在區(qū)域24中緊接著先前選擇的“H”顯示數(shù)字“2”,并且在軟鍵14上顯示字母“A”、“B”和“C”。用戶此時可以按下輸入鍵20以輸入字符串“H2”?;蛘?,如圖2D所示,選擇和啟動對應于字母“A”的第二鍵14從這個第二組字母數(shù)字字符中選擇“A”,并且導致在顯示區(qū)域22中用字母“A”替換數(shù)字“2”,這樣在區(qū)域24中顯示“HA”。用戶可以輸入字符串“HA”或者繼續(xù)選擇性地啟動第一鍵12和第二鍵14以增加字符串的長度。
在圖2E中,用戶選擇和啟動與主字母數(shù)字符號“9”以及輔助字母數(shù)字符號組“W”、“X”、“Y”和“Z”有關的第一鍵12,這導致顯示數(shù)字“9”以便在顯示區(qū)域24中顯示“HA9”,同時導致在第二鍵14中顯示字母“W”、“X”、“Y”和“Z”。用戶可以輸入字符串“HA9”,或者繼續(xù)選擇附加的字符。如圖2F所示,選擇和啟動對應于“W”的第二鍵14導致用所選擇的字符“W”替換顯示的“9”,這樣區(qū)域24顯示字母數(shù)字字符“HAW”。
圖2G顯示了選擇性啟動對應于主字母數(shù)字字符“5”和一個第四組字母數(shù)字字符“J”、“K”和“L”的第四固定鍵12,以便在區(qū)域24中顯示“HAW5”。用戶可以輸入字符串“HAW5”或者通過按壓額外的鍵改變或者延長該字符串。例如,選擇啟動對應于“K”的第二鍵14,在區(qū)域24中用“K”替換“5”,以便如圖2H所示,顯示期望的字母數(shù)字字符串“HAWK”。此時,用戶可以啟動“輸入”鍵20以輸入所選擇的字母數(shù)字字符串“HAWK”用于如下面進一步描述的數(shù)據(jù)處理?;蛘?,用戶可以通過以如上所述的方式選擇和啟動適當?shù)牡谝弧⒐潭ㄦI12和第二、軟鍵14,繼續(xù)輸入額外的字母數(shù)字字符。如果已經(jīng)選擇和顯示了一個不正確的字母數(shù)字符號,用戶可以按下“刪除”鍵18,以從顯示區(qū)24中“回退”和刪除不需要的字符,然后通過啟動適當鍵選擇正確的字母數(shù)字字符。
通過僅僅啟動第一鍵,而不用顯示了輔助字母符號的軟鍵就可以實現(xiàn)純粹數(shù)字符號字符串的輸入。例如,可以通過順序地啟動具有適當?shù)摹?”、“2”、“3”和“4”主字母數(shù)字符號在其上的第一鍵12,而不用啟動任何第二鍵14,可以輸入數(shù)字符號字符串“1234”。在其它實例中,一個期望的字符串可能需要連續(xù)地啟動各個第二鍵14而不用任何介于其間的第一鍵12啟動。因此,例如,可以通過啟動具有“3”在其上的第一鍵以在第二鍵14上顯示字符“D”、“E”和“F”,繼之以連續(xù)地啟動適當?shù)牡诙I14以輸入“FEED”,來輸入字符串“FEED”。
小鍵盤10方便地允許輸入長、復雜的混合字母和數(shù)字字符串,而不用在顯示器22上的視圖屏幕間的任何切換。也就是說,在經(jīng)由小鍵盤10的數(shù)據(jù)輸入期間,第一鍵12在顯示器22上保持外表不變,而視覺變化僅僅出現(xiàn)在顯示在第二鍵14上的字母數(shù)字字符中以及顯示區(qū)域24中。因此,小鍵盤10的用戶能夠輸入任何字母數(shù)字字符16,同時讓第一鍵12和第二鍵14保持在視圖中。
在如圖1和圖2所示的實施例中,小鍵盤10的十二個第一鍵12和四個第二鍵14允許高達四個輔助字母數(shù)字字符與每個第一鍵12相關聯(lián)并且同時顯示在第二鍵14上。小鍵盤10類似于傳統(tǒng)的電話字母數(shù)字小鍵盤而且小鍵盤的使用很直觀,因此小鍵盤的新用戶利用最少的指導就能夠理解它的操作。在這個實施例中,啟動一個第一鍵12導致在區(qū)域24中直接顯示相關的數(shù)字符號,同時在軟鍵14上顯示非數(shù)字的、字母符號。啟動第二鍵14提供了對非數(shù)字、字母字符的快速存取而不需要切換顯示屏幕的圖像。在其它實施例中,啟動第一鍵12可以導致在軟鍵14上顯示所有相關的字母數(shù)字字符15、16,且沒有在區(qū)域24中出現(xiàn)字符顯示,直到按壓一個第二鍵14為止。圖1和圖2中的實施例把每個第一鍵12都顯示為包含主和輔助字母數(shù)字符號15,16。然而,在其它實施例中,某些第一鍵12可以僅僅包含主字母數(shù)字符號15,而不包含輔助字母數(shù)字符號。通常至少有一個第一鍵12將包含主和輔助字母數(shù)字符號15、16,然而在許多實施例中,多個第一鍵12包含如圖1和圖2所示的主和輔助字母數(shù)字符號15、16。
依據(jù)本公開的評論將給那些本領域的技術人員提供小鍵盤10的多種變化的建議,這些變化認為是在本公開范圍之內(nèi)的。具有不同數(shù)量和布局的第一鍵12和軟鍵14的小鍵盤可以用來允許有選擇地輸入對應于多個不同的字母表及/或書寫系統(tǒng)的字母數(shù)字字符。例如,依據(jù)本發(fā)明的一個小鍵盤可用于允許多個平假名、片假名及/或漢字字符與單個第一鍵相關聯(lián),而且這些字符依據(jù)適當?shù)陌磯旱谝绘I可以被有選擇地顯示在軟鍵上。
現(xiàn)在參考圖3,本發(fā)明中的小鍵盤10與一個數(shù)據(jù)處理設備26相關聯(lián)使用。數(shù)據(jù)處理設備26可以包含一個諸如個人數(shù)字助理或者“PDA”的手持計算機。在其它實施例中,數(shù)據(jù)處理設備可以包含小型計算機、微型計算機、諸如基于INTEL的處理計算機或其兼容PC機、APPLE計算機或其兼容機、SUN工作站、或者其他類似的計算機。在設備26中,小鍵盤10可操作地經(jīng)由模-數(shù)轉換器或者ADC(沒有示出)與一個中央處理單元或者CPU 28相連。
CPU 28可操作地經(jīng)由一個地址和數(shù)據(jù)總線30以及一個控制/狀態(tài)信號接口32與設備26的各個硬件部件相連。其中這些部件包含,一個可以包含各種存儲單元(沒有示出)的系統(tǒng)存儲器34,這些存儲單元諸如是一個DRAM主要或者主存儲器、一個或多個SRAM緩沖器、以及一個或多個以ROM、PROM、EPROM、EEPROM等形式的只讀存儲器單元。數(shù)據(jù)處理器26還包含一個直接存儲器存取(DMA)控制器36、循環(huán)冗余校驗(CRC)電路38、以及一個顯示控制器40。CPU 28執(zhí)行各個與加載到存儲器34中的軟件有關的程序操作。以如上所述方式由用戶經(jīng)由小鍵盤10輸入的數(shù)據(jù)由CPU 28處理并且存儲或者緩存到存儲器34中,用于在與加載到存儲器34中的軟件有關的程序操作中使用。如在下面進一步描述的那樣,DMA控制器允許快速地從存儲器34傳輸數(shù)據(jù)到CRC電路38和顯示控制器40。顯示控制器40可以包含一個顯示控制器,該顯示控制器可操作地和如圖1和圖2所示以及如上所述的顯示器22相連、并且提供用于顯示器22的操作。顯示控制器40包含一個用于存儲顯示數(shù)據(jù)的存儲器(沒有示出)。
CPU 28、存儲器34、DMA控制器36、CRC電路38和顯示控制器40以一種傳統(tǒng)的方式布置在一個主板(沒有示出)上,而且在其上通過地址和數(shù)據(jù)總線30以及控制/處理接口32互連。數(shù)據(jù)處理設備26可以包含諸如硬盤驅動器、軟盤驅動器、NIC、CD驅動器、及/或其它傳統(tǒng)硬件單元的各種額外部件(也沒有示出)。數(shù)據(jù)處理設備26包含一個允許經(jīng)由一個接口電纜或者連接件46連接數(shù)據(jù)處理器26到一個外部計算機44的接口適配器42。適配器42和接口46可以是一個GPIB、RS-232、PCI、USB、SCSI、ETHERNET、FIREWIRE或者其它IEEE 1394接口、或者其它通信接口系統(tǒng)的形式,用于從外部計算機44傳輸數(shù)據(jù)到設備26。
系統(tǒng)存儲器34通常將包含一個適于各個硬件元件操作的合適的操作系統(tǒng)和軟件,這些硬件元件可操作地經(jīng)由地址/數(shù)據(jù)總線30和控制/狀態(tài)信號接口32與存儲器34和CPU 28相連。存儲器34也包含能夠執(zhí)行依據(jù)本發(fā)明的各個操作的存儲程序設計或者軟件。
存儲器34包含這樣的程序48,該程序能夠通過執(zhí)行用一個期望的初始值種子化CRC電路38,用源和目的地址以及用于數(shù)據(jù)傳輸?shù)臄?shù)據(jù)流尺寸設置DMA控制器電路36,通過DMA控制器電路36啟動從存儲器34到CRC電路38的數(shù)據(jù)傳輸,以及從CRC電路38中讀出計算的CRC值返回給存儲器34中的操作,通過DMA控制器36開始從存儲器34到CRC電路38的數(shù)據(jù)流傳輸。
存儲器34另外包含能夠實施經(jīng)由DMA控制器36從存儲器34傳輸數(shù)據(jù)到顯示控制器40的程序50,其中執(zhí)行用目的地址信息設置顯示控制器40,用源和目的地址信息以及數(shù)據(jù)流尺寸信息設置DMA控制器36,以及通過DMA控制器36啟動從存儲器34傳輸數(shù)據(jù)到顯示控制器40的操作。
在存儲器34中還包含能夠把壓縮的輸入字符串和在存儲器34中存儲的壓縮字符串列表進行比較用于授權的軟件或者程序52,其具有用于接受字符串輸入、傳輸該輸入字符串到用于壓縮的CRC電路38、在存儲器34中存儲的壓縮ID字符串列表中搜索和該壓縮的輸入字符串的一個匹配、以及驗證該壓縮的輸入字符串的程序操作。這些程序操作在下面進一步進行描述。
CRC電路38通過計算被用于在一個目的地處驗證數(shù)據(jù)流的校驗數(shù),為在數(shù)據(jù)處理設備各個硬件部件之間的二進制數(shù)據(jù)傳輸中的錯誤檢測作準備。通過用一個初始值種子化一個多項式,然后順序地貫穿該多項式分成的數(shù)據(jù)流,執(zhí)行該CRC計算。在每個步驟處使用該被除數(shù)作為一個新的種子,并且讓該除法算法由CRC電路38所執(zhí)行。這種類型的CRC電路在本技術領域是眾所周知的并且不需要在此進行描述。
用一個CRC電路計算CRC值或數(shù)傳統(tǒng)上涉及由程序操作執(zhí)行的、用于貫穿數(shù)據(jù)流遞增并且寫入字節(jié)到CRC電路中的一個軟件循環(huán)。用這樣的方式的CRC計算導致一個大的軟件開銷并且導致在計算用于大數(shù)據(jù)流的檢查值期間的延遲。對于其中設備的尺寸在可用的存儲器和處理能力上施加了限制的手持計算設備而言,軟件開銷的考慮尤其重要。
本發(fā)明通過結合CRC電路38利用DMA控制器電路36來執(zhí)行CRC計算從而克服了這個缺點。軟件48被用于用一個期望的初始值種子化CRC電路38、以及用在該數(shù)據(jù)流中的第一個字節(jié)的地址以及在其中進行CRC計算的流中的字節(jié)數(shù)目來加載DMA控制器電路36。DMA控制器電路36然后自動地傳輸字節(jié)流到CRC電路38中用于計算一個檢查值。一旦整個數(shù)據(jù)流已經(jīng)由CRC電路38處理了,則軟件用于從CRC電路38中讀取產(chǎn)生的計算檢查值來執(zhí)行用于該數(shù)據(jù)流的一個完整性檢驗。因為軟件48僅僅在與配置CRC電路38和DMA控制器電路36、通過DMA控制器電路36啟動數(shù)據(jù)傳輸、以及讀出該檢查值有關時被使用,所以計算檢查值所需要的整個軟件開銷會很小。使用上述過程的CRC計算所需要的時間能夠比通過僅僅經(jīng)由軟件傳輸數(shù)據(jù)到CRC電路38可達到的時間要小一個數(shù)量級。
通過參考圖4,以及圖3,依據(jù)本發(fā)明使用DMA控制器電路36以及CRC電路38計算檢查值將得到更完全地理解。在事件100處,開始或者啟動加載到存儲器34中的軟件48,該軟件48包含用于執(zhí)行與種子化CRC電路38、設置DMA控制器電路36、通過DMA控制器電路36啟動到CRC電路38的數(shù)據(jù)傳輸、以及從CRC電路38中讀出計算的CRC值有關的操作的程序。
在事件110處,用一個期望的初始值種子化CRC電路38,用于要計算CRC值的數(shù)據(jù)流。該初始值將根據(jù)數(shù)據(jù)流的大小和CRC值以及在數(shù)據(jù)流完整性中所需要的置信度而變化。該數(shù)據(jù)流可以包含,例如,與由用戶在鍵盤10上輸入的一串字母數(shù)字字符有關的數(shù)據(jù)、保存在存儲器34中的關鍵性數(shù)據(jù)、被傳輸?shù)酵獠坑嬎銠C44中或者從外部計算機44中傳輸?shù)臄?shù)據(jù)流、或者任何與存儲器34有關的可執(zhí)行代碼。
在事件120處,為從存儲器34傳輸一個數(shù)據(jù)流到CRC電路38,設置DMA控制器36。這個設置通常將包含向DMA控制器36提供用于該數(shù)據(jù)傳輸?shù)脑吹刂泛湍康牡刂罚约霸谠摂?shù)據(jù)傳輸中涉及的字節(jié)數(shù)目。
在事件130處,由DMA控制器36啟動或者開始該數(shù)據(jù)流的傳輸,而且該數(shù)據(jù)流的第一個字節(jié)由DMA控制器36傳輸?shù)紺RC電路。DMA控制器36可以臨時地“占有”地址和數(shù)據(jù)傳輸總線30以創(chuàng)建一個用于快速傳輸數(shù)據(jù)流到CRC電路38的DMA通道。
在事件140處,DMA控制器36依據(jù)在事件120中向DMA控制器36提供的設置信息,繼續(xù)經(jīng)由地址和數(shù)據(jù)總線30發(fā)送數(shù)據(jù)流中的字節(jié)到CRC電路38。
在事件150處,DMA控制器36進行一個關于在該數(shù)據(jù)流中的所有字節(jié)是否已經(jīng)被傳輸?shù)紺RC電路38的查詢。這個查詢定期在每個字節(jié)傳輸之后進行。如從來自事件120的設置信息中的數(shù)據(jù)流尺寸中確定的那樣,如果還沒有發(fā)送在數(shù)據(jù)流中的所有字節(jié),則重復事件140。如果在該數(shù)據(jù)流中的所有字節(jié)都已經(jīng)被傳輸了,則執(zhí)行事件160。
在事件160處,由CRC電路38使用一種除法算法為該數(shù)據(jù)流計算一個CRC值或者校驗數(shù)。
在事件170處,從CRC控制器電路38中讀取計算的CRC值到存儲器34中,用于在該數(shù)據(jù)流的完整性檢驗中使用。在事件180處,完成檢查值計算。
本發(fā)明還使用DMA控制器36用于快速傳輸數(shù)據(jù)流到顯示控制器40,以便減小軟件開銷和加速數(shù)據(jù)顯示?,F(xiàn)有技術的數(shù)據(jù)處理系統(tǒng)一般使用程序來執(zhí)行一個逐個字節(jié)遞增數(shù)據(jù)的循環(huán),用于輸出到一個顯示控制器,該軟件循環(huán)的開銷隨著寫入顯示驅動器中的每個字節(jié)而增加。本發(fā)明通過執(zhí)行經(jīng)由DMA控制器36從存儲器34到顯示控制器40的直接數(shù)據(jù)傳輸、僅僅在設置或者配置DMA控制器36和顯示控制器40中使用程序、以及通過DMA控制器36啟動數(shù)據(jù)傳輸來克服這個不足之處。通過消除在從存儲器傳輸字節(jié)到顯示控制器40中涉及的軟件開銷,來快速地執(zhí)行這種傳輸,而且信息(文字及/或圖形)的顯示需要鉸少的時間,這些都可以通過顯示器22的用戶視圖得到理解。用這樣的方式使用DMA控制器36來驅動顯示控制器40比傳統(tǒng)的使用一個軟件循環(huán)來寫入像素數(shù)據(jù)字節(jié)到顯示控制器的方式能夠節(jié)省多達80%或更多的時間。
通過參考圖5、以及圖3,依據(jù)本發(fā)明使用DMA控制器36的數(shù)據(jù)顯示將得到更充分的理解。在事件200處,開始或者啟動加載到存儲器34中的軟件50,該軟件包含用于執(zhí)行與設置顯示控制器40、設置DMA控制器36、以及通過DMA控制器36啟動傳輸數(shù)據(jù)到顯示控制器40有關的操作的程序。
在事件210處,通過向顯示控制器40提供一個“寫”命令以及用于要被傳輸?shù)斤@示控制器40的數(shù)據(jù)流的顯示目的地址(在顯示控制器40的存儲器中),來設置顯示控制器40。該數(shù)據(jù)流可以包含任何可顯示的數(shù)據(jù),諸如例如,與用于顯示圖標或者其它特征的存儲程序設計有關的圖形用戶界面(GUI)數(shù)據(jù)、與由用戶在鍵盤10上輸入的一個字符或者字母數(shù)字字符串有關的數(shù)據(jù)、或者其它保存在存儲器34中的數(shù)據(jù)。
在事件220中設置DMA控制器36用于從存儲器34傳輸一個數(shù)據(jù)流到顯示控制器40。這個設置包含向DMA控制器36提供用于該數(shù)據(jù)傳輸?shù)拇鎯ζ髟吹刂泛惋@示目的地址,以及在該數(shù)據(jù)傳輸中涉及的字節(jié)數(shù)目。
在事件230處,由DMA控制器36啟動或者開始該數(shù)據(jù)流的傳輸,而且該數(shù)據(jù)流的第一個字節(jié)由DMA控制器36傳輸?shù)斤@示控制器40。DMA控制器36可以如上所述臨時地“占有”地址和數(shù)據(jù)傳輸總線30以創(chuàng)建一個用于快速傳輸數(shù)據(jù)流到顯示控制器40的DMA通道。
在事件240處,通過經(jīng)由地址和數(shù)據(jù)總線30發(fā)送該數(shù)據(jù)流中的下一個字節(jié)到顯示控制器40,DMA控制器36繼續(xù)數(shù)據(jù)傳輸。
在事件250處,DMA控制器36依據(jù)在事件220中提供給DMA控制器36的設置信息,進行一個關于是否在該數(shù)據(jù)流中的所有字節(jié)都已經(jīng)被傳輸?shù)斤@示控制器40的查詢。這個查詢定期在每個字節(jié)傳輸之后進行。如從來自事件220的設置信息中的數(shù)據(jù)流尺寸中確定的那樣,如果還沒有把在數(shù)據(jù)流中的所有字節(jié)發(fā)送給顯示控制器40,則重復事件240。如果在該數(shù)據(jù)流中的所有字節(jié)都已經(jīng)被傳輸了,則在事件260處完成該處理過程。
本發(fā)明還通過減少為驗證用戶標識(ID)字符串所需的時間和存儲器需求來為增加在數(shù)據(jù)處理設備中的效率作準備。手持數(shù)據(jù)處理器設備一般不具有充足的存儲器來存儲一個未壓縮的ID字符串。在這點上,本發(fā)明通過為每個授權的ID字符串創(chuàng)建CRC或者檢查值,來為用戶ID字符串的壓縮作準備。
用于授權的字符串的CRC值是被排序并且被保存在一個外部計算機44的存儲器的列表或者查找表中。外部計算機44可以包含,例如,小型計算機、微型計算機、UNLX計算機、大型機、諸如基于INTEL處理計算機的個人計算機(PC)或其兼容機、APPLE計算機或其兼容機、或者SUN工作站、或者其它具有諸如主板、中央處理單元(CPU)、隨機存取存儲器(RAM)、硬盤驅動器、顯示適配器、其它存儲介質(zhì)、監(jiān)視器、鍵盤、鼠標、及其它用戶接口裝置、網(wǎng)絡接口卡(NIC)、軟盤驅動器、CD驅動器、及/或其它傳統(tǒng)的輸入/輸出設備的傳統(tǒng)硬件部件的適當計算機。
外部計算機44已經(jīng)在它的RAM中加載一個諸如UNIX、WINDOWS98、WINDOWSME、等等的操作系統(tǒng)。雖然具有一個適于存儲一個未壓縮ID字符串列表的大存儲器部件,外部計算機48可以具有一個類似于圖3所示、用于數(shù)據(jù)處理器26的體系結構和硬件部件。能夠為多個ID字符串計算CRC值、排序該CRC值、以及存儲一個CRC值列表的程序54被加載到外部計算機44的存儲器中。該排序、存儲的CRC值然后經(jīng)由接口46被傳輸或者下載到數(shù)據(jù)處理器26并且被保存在存儲器34中用于授權數(shù)據(jù)處理器26的用戶。
當從小鍵盤10鍵入或者輸入的ID字符串必須和用于授權字符串的、存儲的CRC值列表進行比較時,通過由加載到存儲器34中的程序為此計算一個CRC值來壓縮該用戶輸入的ID字符串,并且為那個計算的CRC值在存儲的授權CRC值列表中執(zhí)行一個折半查找。如果在存儲器34中的授權CRC值列表中找到該輸入ID字符串的CRC值,則該輸入的ID字符串被驗證。如果沒有在該列表中找到該輸入ID字符串的CRC值,則該輸入的ID字符串是未授權的。
能夠使用不同尺寸的CRC值來提供在授權中不同的可信度。例如,32位CRC值的使用將導致在4294967296次機會中僅有一次無效輸入的字符串將被驗證或者授權的機會。16位CRC值的使用在65536個機會中提供一次機會或者一次輸入字符串的不正確驗證,而且8位CRC值將導致在256次機會中有一次驗證一個無效字符串的機會。使用的CRC值尺寸可以依據(jù)所需要的安全等級變化。
使用字符串的CRC值用于驗證輸入字符串的CRC值和使用整個字符串用于驗證相比,提供了某些重要的優(yōu)點。因此相當大地減小了存儲一個授權字符串列表或者表所需要的、在存儲器34中的空間數(shù)量。例如,存儲4000個每個具有高達18個字符的授權ID字符串需要大約72000字節(jié)的RAM空間用于未壓縮的字符串,這超出了用于典型手持數(shù)據(jù)處理器的存儲能力。然而依據(jù)本發(fā)明把這4000個ID字符串壓縮為32位CRC值,需要16000個字節(jié)的存儲空間用于存儲整個列表。如上所述用于這些存儲、壓縮的ID字符串的可信度是非常高的,在4294967296次機會中僅有一次錯誤驗證的機會。
把授權的ID字符串壓縮到CRC值中還減少了從一個計算機傳輸一個授權字符串列表到另一個計算機所需要的時間量。在手持數(shù)據(jù)處理器的情況下,授權ID字符串列表常常從另一個計算機被下載到該手持數(shù)據(jù)處理器。以一個經(jīng)由傳統(tǒng)RS-232鏈接、9600波特數(shù)據(jù)傳送率的速度,在計算機之間傳輸一個4000個18字節(jié)ID字符串的列表需要大約72秒。當4000個ID字符串被壓縮為4000個32位CRC值時,以9600波特率,數(shù)據(jù)傳輸僅僅需要大約16秒。
通過參考圖6A和圖6B、以及圖3,以CRC值形式的壓縮ID字符串的使用將得到更充分的理解。圖6A說明了依據(jù)本發(fā)明、在一個外部計算機44中一個壓縮ID字符串的存儲列表的創(chuàng)建。也就是說,與駐留在一個具有足夠存儲未壓縮用戶ID字符串的實際列表的存儲器的分離的、外部計算機44上的程序54相關聯(lián)地執(zhí)行圖6A中的事件。圖6B中的事件顯示了使用在數(shù)據(jù)處理器26中的壓縮ID字符串列表用于驗證一個用戶輸入的ID字符串。用于標識或者驗證目的的壓縮數(shù)據(jù)字符串的使用還在授予發(fā)明者David Hohl等人、代理人概要號為LIFE 060的、與此專利一起提出的美國專利申請____中進行了說明,在此插入此公開內(nèi)容作為參考。
在圖6A的事件300處,啟動或者開始在外部計算機44中的程序54來創(chuàng)建一個壓縮的、授權的標識或者ID字符串列表。這個程序執(zhí)行與獲取授權的ID字符串、通過為此計算CRC值壓縮該ID字符串、以及排序和存儲一個壓縮的ID字符串列表有關的操作。
在事件310處,從外部計算機44的存儲器中獲得第一個ID字符串,以及在事件320中,通過為該字符串計算一個CC值壓縮該ID字符串。這個壓縮事件可以由傳統(tǒng)的軟件技術來實現(xiàn),因為外部計算機44通常將具有足夠的存儲器和處理能力用于一個全軟件的壓縮操作。做為選擇,可以利用一個CRC電路連同一個用于執(zhí)行除法算法的軟件循環(huán)來執(zhí)行壓縮。同時可以考慮到外部計算機44可以以數(shù)據(jù)處理器26的方式進行配置,其中與每個字符串有關的數(shù)據(jù)以如圖4所示以及如上所述的方式經(jīng)由DMA電路從存儲器直接傳輸?shù)紺RC電路,以在壓縮中涉及最少的軟件方面。在事件320中獲得的、壓縮的CRC值被保存在外部計算機存儲器中的一個壓縮的字符串列表中。
在事件330處,由在外部計算機中的程序進行一個關于要被壓縮的最后一個字符串是否已經(jīng)從外部計算機的存儲器中檢索了的查詢。如果要被壓縮的最后字符串還沒有被接收和壓縮,則執(zhí)行事件340。如果已經(jīng)從存儲器中接收了該最后一個字符串并且已經(jīng)壓縮了,則執(zhí)行事件350。
事件340為從存儲器中檢索下一個未壓縮的ID字符串作準備,在其之后重復事件320以通過為此計算一個CRC值來壓縮該字符串。在壓縮了最后一個的ID字符串之后,在事件350處排序現(xiàn)在以一個相應的CRC值列表形式的、壓縮的ID字符串列表。在事件360中,排序的列表被保存在用于圖6A中的壓縮過程的外部計算機的存儲器中。
在事件370處,存儲的CRC值列表被下載或者傳輸?shù)绞殖謹?shù)據(jù)處理器26,用于在如圖6B所示的用戶授權中使用。可以通過經(jīng)由GPIB、RS-232、PCI、USB、SCSI、ETHERNET、FIREWIRE/IEEE 1394、或者其它類型的通信接口從外部計算機44到數(shù)據(jù)處理器26的數(shù)據(jù)傳輸,執(zhí)行該存儲的壓縮ID字符串列表的傳輸。該CRC值列表被保存在系統(tǒng)存儲器34中。在事件380處,完成該ID字符串列表壓縮操作。必須注意到,在某些實施例中,如果存儲器34具有足夠的能力的話,事件300到370可以在數(shù)據(jù)處理器26上執(zhí)行。在這樣的情況下,可以省略在事件370中下載或者傳輸完整的壓縮ID字符串列表。
現(xiàn)在參考圖6B,在事件400處,啟動在存儲器34中的程序用于把用戶輸入的ID字符串與如上所述準備的壓縮ID字符串存儲列表進行比較。這個程序執(zhí)行與把對應于輸入的ID字符串的數(shù)據(jù)流從存儲器34傳輸?shù)紺RC電路38用于壓縮、在壓縮的ID字符串列表中搜索與該壓縮的輸入ID字符串的一個匹配、以及為該壓縮的輸入ID字符串進行一個驗證決定有關的操作。在某些實施例中,事件400可以由如下所述的事410觸發(fā)。
同樣參考圖1和圖2,在事件410處,用戶通過以如上所述的方式在小鍵盤10上的適當?shù)谝绘I12和第二鍵14的有選擇性動作,輸入一個對應于用戶ID字符串的字母數(shù)字字符串。
在事件420處,由用戶輸入的輸入ID字符串被轉變?yōu)橐砸粋€相應CRC值形式的、壓縮的輸入ID字符串。事件420包含如上參考圖4所述的事件110到170。也就是說,用一個期望的初始值種子化CRC電路38,為從存儲器34傳輸對應于事件410中的輸入ID字符串的數(shù)據(jù)流到CR電路38而設置DMA控制器36,由CRC電路38計算用于該輸入ID字符串的CRC值,以及從CRC電路38讀取為該輸入ID字符串計算的CRC值返回給存儲器34。
在事件430處,為與在事件420中計算的、用于輸入ID字符串的CRC值相匹配,搜索在如上所述的310-360中創(chuàng)建的、在RAM 34中用于授權ID字符串的CRC值列表。用于輸入ID字符串的CRC值與在該列表中的各個存儲的CRC值相比,直到發(fā)現(xiàn)一個匹配為止。
在事件440處,進行一個關于是否已經(jīng)找到一個匹配,即用于輸入ID字符串的CRC值是否在用于授權字符串的存儲CRC值列表中找到的查詢。如果在該列表中找到用于輸入ID字符串的CRC值,則執(zhí)行事件450。如果沒有在該列表中找到用于輸入ID字符串的CRC值,則執(zhí)行事件460。可以為在輸入ID字符串的CRC值和各個存儲的、用于授權字符串的CRC值之間的每次比較執(zhí)行事件440,以便能夠依據(jù)一個匹配的檢測并且在搜索整個列表之前發(fā)生事件440中的確定。
在事件450處,依據(jù)在用于輸入ID字符串的CRC值和用于授權的ID字符串的一個存儲CRC值之間的一個匹配,在事件410中輸入的輸入用戶ID字符串被授權。在事件450之后,在事件470處完成該用戶ID字符串的驗證??梢园l(fā)生與用戶ID字符串驗證有關的額外事件(沒有示出),諸如與向用戶提供對存儲的安全信息訪問有關的程序操作。
在事件460處,在事件410中輸入的用戶ID字符串沒有被授權。沒有執(zhí)行,如在事件450中提供的那樣,可以與用戶ID字符串的授權一起發(fā)生的任何后續(xù)事件,并且發(fā)生事件470。在某些實施例中,可以由用戶重復事件410以允許重新輸入一個ID字符串,再次繼之以事件420-440以確定該重新輸入的用戶ID字符串的有效性。
雖然已經(jīng)參考它的特定實施例描述了本發(fā)明,應當理解那些本領域的技術人員可以進行各種變化和等效替換而不背離本發(fā)明的真實精神和范圍。此外,可以進行許多修改以使一個特定場合、資料、以及事情、過程、處理過程的一個或者多個步驟的組合適應本發(fā)明的目的、精神和范圍。所有這樣的修改都被確定為在后附權利要求書的范圍之內(nèi)。
權利要求
1.一種數(shù)據(jù)處理裝置,包含(a)一個存儲器;(b)一個可操作地與所述存儲器相連的直接存儲器存取控制器;以及(c)一個可操作地與所述直接存儲器存取控制器相連的顯示控制器;(d)所述直接存儲器存取控制器被配置為從所述存儲器傳輸一個數(shù)據(jù)流到所述顯示控制器。
2.如權利要求1所述的裝置,進一步包含被配置為用一個用于所述數(shù)據(jù)流的顯示地址設置所述顯示控制器的存儲程序設計。
3.如權利要求1或者2所述的裝置,進一步包含被配置為用一個用于所述數(shù)據(jù)流的源地址、用于所述數(shù)據(jù)流的目的地址、以及用于所述數(shù)據(jù)流的尺寸設置所述直接存儲器存取控制器的存儲程序設計。
4.如權利要求1或者2或者3所述的裝置,進一步包含被配置為由所述直接存儲器存取控制器啟動傳輸所述數(shù)據(jù)流到所述顯示控制器的存儲程序設計。
5.如權利要求1所述的裝置,進一步包含(a)一個可操作地與所述直接存儲器存取控制器相連的循環(huán)冗余校驗電路;(b)所述直接存儲器存取控制器被配置為從所述存儲器傳輸一個檢查數(shù)據(jù)流到所述循環(huán)冗余校驗電路;以及(e)所述循環(huán)冗余校驗電路被配置為為所述檢查數(shù)據(jù)流計算一個檢查值。
6.如權利要求5所述的裝置,進一步包含被配置為用一個選擇的初始值種子化所述循環(huán)冗余校驗電路的存儲程序設計;
7.如權利要求6所述的裝置,進一步包含被配置為用一個用于所述檢查數(shù)據(jù)流的源地址、用于所述檢查數(shù)據(jù)流的目的地址、以及用于所述檢查數(shù)據(jù)流的尺寸設置所述直接存儲器存取控制器的存儲程序設計。
8.如權利要求7所述的裝置,進一步包含被配置為由所述直接存儲器存取控制器啟動從所述存儲器傳輸所述檢查數(shù)據(jù)流到所述循環(huán)冗余校驗電路的存儲程序設計。
9.如權利要求7或者8所述的裝置,進一步包含被配置為從所述循環(huán)冗余校驗電路中讀取所述計算的循環(huán)冗余校驗值以及在所述存儲器中存儲所述計算的循環(huán)冗余校驗值的存儲程序設計。
10.一種用于處理數(shù)據(jù)的方法,包含使用一個直接存儲器存取控制器從一個存儲器中傳輸一個數(shù)據(jù)流到一個顯示控制器,其特征在于所述傳輸包含用用于所述數(shù)據(jù)流的一個顯示地址設置所述顯示控制器。
11.如權利要求10所述的方法,進一步包含(a)使用所述直接存儲器存取控制器從所述存儲器傳輸一個檢查數(shù)據(jù)流到一個循環(huán)冗余校驗電路;以及(b)由所述循環(huán)冗余校驗電路計算一個用于所述檢查數(shù)據(jù)流的循環(huán)冗余校驗值。
全文摘要
用于從一個存儲器或者存儲設備快速傳輸數(shù)據(jù)到一個顯示控制器的裝置和方法。該裝置包含:一個存儲器、一個可操作地與該存儲器相連的直接存儲器存取控制器、以及一個可操作地與該直接存儲器存取控制器相連并且被配置為從該存儲器傳輸一個數(shù)據(jù)流到該顯示控制器的顯示控制器。該裝置還可以包含:被配置為用用于該數(shù)據(jù)流的顯示地址設置該顯示控制器,用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的尺寸設置該直接存儲器存取控制器,以及由該直接存儲器存取控制器啟動傳輸數(shù)據(jù)流到該顯示控制器的存儲程序設計。該方法包含使用一個直接存儲器存取控制器從存儲器傳輸一個數(shù)據(jù)流到一個顯示控制器。該傳輸可以包含:用用于該數(shù)據(jù)流的顯示地址設置該顯示控制器,用用于該數(shù)據(jù)流的源地址、用于該數(shù)據(jù)流的目的地址、以及用于該數(shù)據(jù)流的尺寸設置該直接存儲器存取控制器,以及由該直接存儲器存取控制器啟動傳輸數(shù)據(jù)流到該顯示控制器。
文檔編號G09G5/00GK1423180SQ02160
公開日2003年6月11日 申請日期2002年11月8日 優(yōu)先權日2001年11月9日
發(fā)明者D·霍爾 申請人:生命掃描有限公司