JP5143601B2 - 情報処理装置と情報処理方法およびストレージシステム - Google Patents

情報処理装置と情報処理方法およびストレージシステム Download PDF

Info

Publication number
JP5143601B2
JP5143601B2 JP2008076430A JP2008076430A JP5143601B2 JP 5143601 B2 JP5143601 B2 JP 5143601B2 JP 2008076430 A JP2008076430 A JP 2008076430A JP 2008076430 A JP2008076430 A JP 2008076430A JP 5143601 B2 JP5143601 B2 JP 5143601B2
Authority
JP
Japan
Prior art keywords
address
flash memory
chipset
register
processor
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
JP2008076430A
Other languages
English (en)
Other versions
JP2009230548A (ja
Inventor
孝英 奥野
達也 角野
光英 佐藤
亮介 松原
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008076430A priority Critical patent/JP5143601B2/ja
Priority to US12/153,417 priority patent/US20090240876A1/en
Publication of JP2009230548A publication Critical patent/JP2009230548A/ja
Application granted granted Critical
Publication of JP5143601B2 publication Critical patent/JP5143601B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4009Coupling between buses with data restructuring
    • G06F13/4018Coupling between buses with data restructuring with data-width conversion

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Description

本発明は、通信ネットワークに接続されたストレージシステム等に用いられる情報処理装置の情報処理技術に関する。
従来、情報処理装置として、プロセッサと、メモリと、インターフェイス制御部と、プロセッサとメモリおよびインターフェイス制御部間の通信を制御するシステム制御部を備え、メモリとシステム制御部との間でデータ転送を行うときに、システム制御部において、データを保護するための誤り検出符号を付加するか否かを、転送対象のデータが読み書きされるメモリのアドレスに基づいて判定し、データを保護するようにしたものが提案されている(特許文献1参照)。
この種の情報処理装置において、制御プログラムを主メモリに格納し、起動プログラムをフラッシュメモリに格納し、プロセッサとフラッシュメモリとの間にチップセットまたはシステムコントローラを配置し、チップセットまたはシステムコントローラによってデータの転送を中継するようにしたものがある。この情報処理装置においては、プロセッサとフラッシュメモリとの間にチップセットまたはシステムコントローラを配置することで、チップセットまたはシステムコントローラはフラッシュメモリを直接アクセスすることができる。
特開2007−207062号公報
従来技術においては、プロセッサとフラッシュメモリとの間にチップセットまたはシステムコントローラを配置することで、チップセットまたはシステムコントローラは、フラッシュメモリを直接アクセスすることができるが、プロセッサとチップセットの仕様が変更になった場合、チップセットを単にフラッシュメモリに接続しても、チップセットからフラッシュメモリを直接アクセスすることができない。
そこで、本発明は、チップセットの仕様が変更になっても、チップセットの構成に合わせてフラッシュメモリをアクセスすることができる情報処理装置と情報処理方法およびこの情報処理装置を用いたストレージシステムを提供することを目的とするものである。
前記目的を達成するために、本発明は、チップセットとフラッシュメモリとの間に論理制御回路を配置し、チップセットとフラッシュメモリ間で情報の授受を行うときに、論理制御回路により、チップセットとフラッシュメモリの論理構成に合わせるための情報変換処理を実行するようにしたことを特徴とする。
本発明によれば、チップセットの構成に合わせてフラッシュメモリをアクセスすることができる。
以下、本発明の実施形態を図面に基づいて説明する。図1は、本発明に係る情報処理装置を適用したストレージシステムのブロック構成図である。図1において、ストレージシステム10は、コントローラ12、14、記憶装置16を備え、各コントローラ12、14は、記憶装置16に接続されているとともに、通信ネットワーク(図示せず)を介してホスト計算機(上位装置)18、20に接続されている。
コントローラ12、14は、デュアル構成の情報処理装置として、ホスト制御部22、プロセッサ(CPU)24、ローカルメモリ26、チップセット28、データ転送制御部30、キャッシュメモリ32、LAN(Local Area Network)コントローラ34、論理制御回路36、フラッシュメモリ38、SAS(Serial Attached SCSI)コントローラ40、エキスパンダ42を備えて構成されており、ホスト制御部22がホスト計算機18、20に接続され、エキスパンダ42が記憶装置16に接続されている。記憶装置16は、ハードディスクドライブ(HDD)などの不揮発性記憶媒体44を複数個備えて構成されている。なお、コントローラ12とコントローラ14は同一の構成であるため、以下、コントローラ12についてのみ説明する。
コントローラ12におけるホスト制御部22は、ホスト計算機18との通信を制御するとともに、ホスト計算機18とコマンドの授受を行うインターフェイスとして構成されている。プロセッサ(CPU)24は、ローカルメモリ26に格納された制御プログラムとフラッシュメモリ38に格納された起動プログラムに基づいてホスト計算機18からのコマンドに応じた処理を実行するとともに、コントローラ12全体の動作を制御する。
チップセット28は、プロセッサ24、ローカルメモリ26、フラッシュメモリ38、データ転送制御部30を転送対象として、これら転送対象に関するデータを中継する。
データ転送制御部30は、コントローラ12とコントローラ14間のデータ転送とコントローラ12内の各要素間におけるデータ転送を制御するとともに、プロセッサ24からの指示にしたがって、ホスト計算機18から与えられたライトデータをキャッシュメモリ32に2重書きする機能を備えて構成されている。キャッシュメモリ32は、データ転送制御部30によって転送されるデータを一時的に記憶する記憶領域を構成している。
ローカルメモリ26は、各種制御プログラム(マイクロプログラム)を格納するとともに、ホスト計算機18から与えられるリードコマンド・ライトコマンドなどの各種コマンドを一時的に保持する記憶領域として構成されている。
SASコントローラ40とエキスパンダ42は、記憶装置16との通信を制御するインターフェイスを構成する通信制御部として、データ転送制御部30の制御によるデータを記憶装置16に転送するとともに、記憶装置16からのデータをデータ転送制御部30に転送するようになっている。
フラッシュメモリ38は、起動プログラムとともに、装置立ち上げ時に必要となる各デバイスの初期設定および診断に関するプログラム、例えば、BIOS(Basic Input/Output System)に関するプログラム(以下、バイオスに関するプログラムと称する。)を格納している。
論理制御回路36は、チップセット28とフラッシュメモリ38との間に配置されて、チップセット28とフラッシュメモリ38間で情報の授受を行うときに、両者の論理に合わせるための情報変換処理を実行するデバイスとして、例えば、PLD(Programmable Logic Device)で構成されている。この論理制御回路36は、図2に示すように、LPC(Low Pin Count)バスインターフェイス46と、バス変換器48と、フラッシュメモリインターフェイス50と、汎用入出力ポート(General Purpose Input Output)52で構成されている。
バス変換器48は、図3に示すように、LPC(Low Pin Count)バス/フラッシュバス変換機能を有するデバイスとして、バッファ54、56、制御レジスタ58、アドレスレジスタ60、第1のデータレジスタ62、第2のデータレジスタ64、バッファ66、68を備えて構成されている。
制御レジスタ58は、チップセット28からLPC(Low Pin Count)バス70、バッファ54を介して、フラッシュメモリ38をアクセスするための信号が入力されたときに、フラッシュメモリ38をリード/ライトアクセスするための制御信号を生成し、制御信号をフラッシュメモリ38に出力する。
アドレスレジスタ60は、LPCバス70からバッファ54を介して、4ビット×7の信号として、時分割で送られてきたメモリアドレス(シリアルのアドレス信号)を24ビットのパラレル信号に変換してフラッシュメモリ38に出力する。
第1のデータレジスタ62は、LPCバス70からバッファ54を介して4ビット×2の信号として、時分割で送られてきたデータ(シリアルのデータ信号)を8ビットのパラレル信号に変換してフラッシュメモリ38に出力する。
一方、第2のデータレジスタ64は、フラッシュメモリ38からバッファ68を介して送られてきた8ビットのパラレル信号を上位4ビット、下位4ビットに分割し、分割されたシリアルのデータ信号を、バッファ56を介してLPCバス70に出力する。
次に、論理制御回路36を用いて、フラッシュメモリ38に対してリード/ライトアクセスを行うときの作用を図4のフローチャートにしたがって説明する。まず、チップセット28から28ビットのアドレス信号が出力されたときには、バス変換器48のアドレスレジスタ60は、チップセット28から送られてきた28ビットのアドレス信号を保持する(S1)。このあとバス変換器48がチップセット28からライトコマンドを取得したときには、第1のデータレジスタ62は、チップセット28から出力された8ビットのデータを保持する(S2)。
このあと、制御レジスタ58は、フラッシュメモリ38に対して、ライトアクセスするための制御信号を出力し、アドレスレジスタ60は、フラッシュメモリ38に対してアクセス対象を特定するためのアドレス信号を出力し、第1のデータレジスタ62は、フラッシュメモリ38に対してライトすべきデータを転送する(S3)。これにより、フラッシュメモリ38に対するライトアクセスは完了する。
一方、バス変換器48がリードコマンドを取得したときには、リードコマンドにしたがった処理として、制御レジスタ58は、フラッシュメモリ38をリードアクセスするための制御信号をフラッシュメモリ38に出力し、アドレスレジスタ60は、アクセス対象を特定するためのアドレス信号をフラッシュメモリ38に出力する(S4)。
このあと、リードアクセスに伴ったフラッシュメモリ38から8ビットのデータが出力されると、この8ビットのデータは第2のデータレジスタ60に入力される(S5)。第2のデータレジスタ64は、入力されて8ビットのデータを、上位4ビットのデータと下位4ビットのデータに分割し、分割されたデータをバッファ56を介してチップセット28に出力する(S6)。これにより、フラッシュメモリ38に対するリードアクセスは完了する。
本実施例によれば、プロセッサ24、チップセット28の仕様の変更に伴ってチップセット28とフラッシュメモリ38とを直接接続できない場合でも、チップセット28とフラッシュメモリ38との間で情報の授受を行うときに、両者の論理構成に合わせるための情報変換処理を論理制御回路36で実行するようにしたため、プロセッサ24はチップセット28、論理制御回路36を介してフラッシュメモリ38をアクセスすることができる。
次に本発明の第2実施例について説明する。
ストレージシステム10においては、コントローラ12から記憶装置16にアクセスするに際して、(a)デバイスの初期設定、(b)デバイスの診断を行うためのプログラムをフラッシュメモリ38に格納する必要があり、フラッシュメモリ38としては容量の大きいものが必要となる。この際、フラッシュメモリ38の容量として、例えば、32MBのものが必要であっても、チップセット28からフラッシュメモリ38にアクセスできる領域が16MBとなっていた場合、チップセット28は、下位16MB領域をアクセスすることは可能であるが、上位16MB領域については、メモリ空間にマッピングされていないため、アクセスすることは不可能となる。
そこで、本実施例においては、論理制御回路36にバンク切替機能を付加するとともに、フラッシュメモリ38として、16MB+16MBの容量を有するものを用い、メモリ空間では16MB分しか配置できないフラッシュメモリ領域を、32MB分の領域として、アクセスできるようにしたものである。
具体的には、図5および図6に示すように、フラッシュメモリ38は、プロセッサ24のアクセス対象となるフラッシュ領域(16MB)A1と、フラッシュ領域(16MB)A1に対応した物理領域として、16MBのバンクB0と16MBのバンクB1を備えて構成されている。フラッシュ領域A1は、メインメモリ領域A2のアドレスを「0x0000 0000」〜「0xFEFF FFFF」としたときに、アドレスとして、「0xFF00 0000」〜「0xFFFF FFFF」が割当てられている。各バンクB0、B1に対するアドレスは同じに設定されている。
一方、バス変換器48には、チップセット28からLPCバス70を介して入力されたアクセスに応答して、バンクB0、B1のいずれかを選択するための切替を指令するバンク切替レジスタ72が付加されているとともに、制御レジスタ58として、バンク切替レジスタ72から、バンクB0を選択するための指令が出力されたときに、バンクB0を選択するためのチップセレクト信号CS0をバンクB0に出力し、バンク切替レジスタ72から、バンクB1を選択するための指令が出力されたときには、バンクB1を選択するためのチップセレクト信号CS1をバンクB1に出力する機能を有するものが用いられている。
次に、本実施例の作用を図7のフローチャートにしたがって説明する。まず、マイクロプロセッサ24からのアクセスがチップセット28を介して論理制御回路36に入力されたときに、論理制御回路36は、プロセッサ24からのリード/ライトアクセスを基に16MB以下の空間にアクセスするか否かを判定し(S11)、16MB以下の空間にアクセスするときには、バンク切替レジスタ72をバンクB0側に設定する(S12)。これにより、制御レジスタ58からバンクB0に対してチップセレクト信号CS0が出力され、バンクB0がリード/ライトアクセスされ、このルーチンでの処理を終了する。
一方、16MB以下の空間にアクセスしないときには、論理制御回路36は、バンク切替レジスタ72をバンクB1側に設定する(S13)。これにより、制御レジスタ58から、バンクB1にチップセレクタ信号CS1が出力され、バンクB1に対するリード/ライトアクセスが実行され、このルーチンでの処理を終了する。
本実施例によれば、フラッシュメモリ38を、プロセッサ24のアクセス対象となるフラッシュ領域(16MB)A1と、フラッシュ領域(16MB)A1に対応した物理領域として、16MBのバンクB0と16MBのバンクB1を備えたもので構成するとともに、論理制御回路36にバンク切替機能を付加し、フラッシュ領域(16MB)A1がアクセスされたときに、バンクB0またはバンクB1のいずれかをアクセスするようにしたため、メモリ空間では16MB分しか配置できないフラッシュメモリ領域A1を、32MB分の領域として、アクセスすることができる。
次に、本発明の第3実施例について説明する。本実施例は、フラッシュメモリ38に、起動プログラムの他に、バイオス(BIOS)プログラムを格納した場合、バイオスプログラムに対して、イレース/ライト処理をセクタごとに実行すると、バイオスプログラムの一部が、そのままではイレースされるので、これを防止するために成されたものである。
具体的には、マイクロプロセッサ24とチップセット28の初期設定をバイオスプログラムによって実行するに際して、図8に示すように、フラッシュメモリ38の論理領域として、ブートブロック領域(先頭アドレス「0xFFFF 0000」)A11、メインバイオス領域(先頭アドレス「0xFFF0 0000」)A12、リザーブ領域(先頭アドレス「0xFFEF 0000」)A13、シャドウバイオス領域(「0xFFE0 0000」)A14が割当てられている。
ブートブロック領域A11は、電源投入時に必要な最小限のデバイスであるプロセッサ24、チップセット28の初期化を行うためのプログラムを格納する領域である。メインバイオス領域A12は、チップセット28の構成の設定を行うためのプログラムを格納するための領域である。シャドウバイオス領域A14は、メインバイオス領域A12が破壊されたときに実行するためのプログラム領域であって、メインバイオス領域A12と同一のプログラムが格納されている。すなわち、メインバイオス領域A12とシャドウバイオス領域A14でバイオスの2重化が施されている。
ブートブロック領域A11とシャドウバイオス領域A14は書き換え不要の領域で固定されているが、メインバイオス領域A12はバイオスのバージョンが更新されることを考慮し、書き換え(サポート)可能な領域とされている。
ここで、ブートブロック領域A11とメインバイオス領域A12は互いに連続したアドレス(リニアアドレス)を設定することが必要となっているが、イレース/ライト処理はセクタごとに実行される。このため、例えば、セクタ0(128KB)の中に、ブートブロック領域A11とメインバイオス領域A12の一部が含まれていると、メインバイオス領域A12のイレース/ライト処理時に、ブートブロック領域A11も同時にイレースされてしまう。
そこで、本実施例においては、ブートブロック領域A11、メインバイオス領域A12、リザーブ領域A13、シャドウバイオス領域A14から構成される論理領域を、ブートブロック領域A21、リザーブ領域A22、シャドウバイオス領域A23、リサーブ領域A24、メインバイオス領域A25からなる物理領域に変換するためのアドレス変換機能を論理制御回路36に付加することとしている。
この際、フラッシュメモリ38の論理アドレスは、「0xFFE0 0000」〜「0xFFFF FFFF」に設定され、この論理アドレスに対応する物理アドレスは、「0xE00000」〜「0xFFFFFF」に設定されているとともに、チップセット28からのアドレスのうち20ビット目が「0」のときには、論理アドレス「0xFFE0 0000」〜「0xFEF FFFF」の領域(シャドウバイオス領域A14、リザーブ領域A13)が対応し、20ビット目が「1」のときには、論理アドレス「0xFFF0 0000」〜「0xFFFF FFFF」の領域(メインバイオス領域A12、ブートブロック領域A11)が対応するようになっている。
また、チップセット28からのアドレスのうち20ビット目が「0」のときに、論理アドレスが「0xFFE00000」〜「0xFFEE FFFF」でアドレス変換するときには、この論理アドレスは、物理アドレス「0xF00000」〜「0xFEFFFF」に変換され、チップセット28からのアドレスのうち20ビット目が「1」のときに、論理アドレスが「0xFFF0 0000」〜「0xFFFE FFFF」でアドレス変換するときには、この論理アドレスは、物理アドレス「0xE00000」〜「0xEEFFFF」に変換される。
さらに、物理領域のうち、例えば、セクタ0(128KB)に属する領域として、ブートブロック領域A21、リザーブ領域(空き領域)A22が割当てられている。また、物理領域のシャドウバイオス領域A23とリザーブ領域A24は、論理領域のシャドウバイオス領域A14とリザーブ領域A13の一部を含む領域に対応して物理アドレス(「0xF00000」〜「0xFEFFFF」」)が設定され、物理領域のメインバイオス領域A25は、論理領域のメインバイオス領域A12に対応して物理アドレス(「0xE00000」〜「0xEEFFFF」」)が設定されている。
すなわち、ブートブロック領域A11の論理アドレス(「0xFFFF 0000」〜「0xFFFF FFFF」」)は、メインバイオス領域A12の論理アドレス(「0xFFF0 0000」〜「0xFFFE FFFF」)に連続したアドレス(リニアアドレス)として設定され、メインバイオス領域A25の物理アドレス(「0xE00000」〜「0xEEFFFF」」)は、メインバイオス領域A12の論理アドレス「0xFFF0 0000」〜「0xFFFE FFFF」とは異なるアドレスであって、ブートブロック領域A21の物理アドレス(「0xFF0000」〜「0xFFFFF」)が属するセクタ(セクタ0)とは異なるセクタ、例えば、セクタ10に属するアドレス、あるいは、ブートブロック領域A21の物理アドレス(「0xFF0000」〜「0xFFFFF」)とは不連続なアドレスとして設定されている。
一方、論理制御回路36は、図9に示すように、アドレス変換機能を有するデバイスとして、アンドゲート74、76、78、バンクレジスタ80、アドレス変換レジスタ82、セレクタ84を備えて構成されている。
アンドゲート74、76、78とバンクレジスタ80およびアドレス変換レジスタ82は、チップセットからのアドレスを判別してアドレス変換の要否を判定する判定器として構成され、セレクタ84は、判定器からアドレス変換を要するとの判定結果が出力されたときに、チップセット28からのアドレスのうちフラッシュメモリ38をアクセスするための論理アドレスを物理アドレスに変換し、変換された物理アドレスに従ってフラッシュメモリ38をアクセスするアドレス変換器として構成されている。
論理制御回路36は、チップセット28からLPCバス70を介してメモリアドレス(アドレス信号)が入力されたときに、28ビット分のアドレス信号を保持し、アドレス23〜21ビットが全て“1”か否か、すなわち16進数で0xEあるいは0xFであるか否かをアンドゲート74が判定し、アドレス19〜16ビットが全て“1”以外、すなわち16進数で0xF以外であるか否かをアンドゲート76が判定する。各アンドゲート74、76は判定結果が肯定のときには“1”の信号をアンドゲート78に出力し、それ以外のときには“0”の信号をアンドゲート78に出力する。
アンドゲート78は、バンクレジスタ80がバンクB0側に設定され、且つアドレス変換レジスタ82から有効(Enable)の信号が出力されているときに、アンドゲート74、76から“1”の信号が出力されていることを条件に、“1”の信号をセレクタ84に出力し、それ以外のときには“0”の信号をセレクタ84に出力する。セレクタ84はアンドゲート78から“1”の信号が出力されたときには、全ての条件が満たされたとして、アドレス20ビット目の値を反転(例えば、「0」を「1」に、または「1」を「0」に反転)させる。一方、アンドゲート78から“0”の信号が出力されたときには、条件を満たしていないとして、アドレス20ビット目の信号をそのままフラッシュメモリ38に出力する。
次に、具体的な処理内容を図10のフローチャートにしたがって説明する。まず、論理制御回路36は、チップセット28から出力された28ビット分のアドレスを保持する(S21)。この後、論理制御回路36では、アドレス23〜21ビットが全て“1”か否かをアンドゲート74が判定し、アドレス19〜16ビットが全て“1”以外か否かをアンドゲート76が判定する。続いて、論理制御回路36は、アドレス変換レジスタ82を“1”に設定し、バンクレジスタ80をバンクB0側に設定するための処理を行う(S22)。
このあと論理制御回路36におけるアンドゲート78は、4つの条件((1)アドレス23〜21ビットが全て“1”、(2)アドレス19〜16ビットが全て“1”以外、(3)アドレス変換レジスタ82が“1”、(4)バンクレジスタ80がバンクB0側)を全て満たしているか否かを判定し、判定結果をセレクタ84に出力する(S23)。4つの条件を全て満たしているときには、セレクタ84は、アドレス20ビット目を反転し(S24)、反転された信号をフラッシュメモリ38に出力して、フラッシュメモリ38をアクセスし(S25)、このルーチンでの処理を終了する。
例えば、論理アドレスが「0xFFE0 0000」〜「0xFFEE FFFF」でアドレス変換するときに、チップセット28からのアドレスのうち20ビット目が「1」から「0」に反転したときに、この論理アドレスは、物理アドレス「0xF00000」〜「0xFEFFFF」に変換される。この場合、論理制御回路36は、フラッシュメモリ38のリザーブ領域A22、シャドウバイオス領域A23をアクセスし、シャドウバイオス領域A23に対する書換やイレースなどの処理を実行する。このとき、イレースなどの処理がセクタ単位で実行されても、ブートブロック領域A21は、シャドウバイオス領域A23とは異なるセクタに属するので、ブートブロック領域A21に格納されたプログラムなどがイレースされるのを防止できる。
また、論理アドレスが「0xFFF0 0000」〜「0xFFFE FFFF」でアドレス変換するときに、チップセット28からのアドレスのうち20ビット目が「0」から「1」に反転したときには、この論理アドレスは、物理アドレス「0xE00000」〜「0xEEFFFF」に変換される。この場合、論理制御回路36は、フラッシュメモリ38のメインバイオス領域A25をアクセスし、メインバイオス領域A25に対する書換やイレースなどの処理を実行する。このとき、イレースなどの処理がセクタ単位で実行されても、ブートブロック領域A21は、メインバイオス領域A25とは異なるセクタに属するので、ブートブロック領域A21に格納されたプログラムなどがイレースされるのを防止できる。
一方、4つの条件を満たしていないときには、セレクタ84はアドレス20ビット目をそのままにしてフラッシュメモリ38に出力し(S26)、アドレス変換を行うことなく、論理アドレスに従ってフラッシュメモリ38をアクセスし(S27)、このルーチンでの処理を終了する。
既述の実施形態によれば、メインバイオス領域A25を全て書き換えることができるとともに、メインバイオス領域A25に対してイレースなどの処理をセクタ単位で実行しても、ブートブロック領域A21を、メインバイオス領域A25とは異なるセクタに設定したので、ブートブロック領域A21に格納されたプログラムなどがイレースされるのを防止できる。
本発明の第1実施例を示すストレージシステムのブロック構成図である。 論理制御回路のブロック構成図である。 論理制御回路とフラッシュメモリの関係を説明するためのブロック構成図である。 フラッシュメモリに対するリード/ライトアクセスを説明するためのフローチャートである。 メモリ空間におけるフラッシュ領域のマッピング構成図である。 本発明の第2実施例における論理制御回路とフラッシュメモリとの関係を説明するための構成図である。 第2実施例の作用を説明するためのフローチャートである。 バイオス領域におけるリニアアドレスと物理アドレスとの関係を説明するための図である。 本発明の第3実施例における論理制御回路のブロック構成図である。 第3実施例の作用を説明するためのフローチャートである。
符号の説明
10 ストレージシステム、12、14 コントローラ、16 記憶装置、18、20 ホスト計算機、22 ホスト制御部、24 マイクロプロセッサ、26 ローカルメモリ、28 チップセット、30 データ転送制御部、32 キャッシュメモリ、36 論理制御回路、38 フラッシュメモリ、58 制御レジスタ、60 アドレスレジスタ、62 第1のデータレジスタ、64 第2のデータレジスタ、72 バンク切替レジスタ、74、76、78 アンドゲート、80 バンクレジスタ、82 アドレス変換レジスタ、84 セレクタ

Claims (4)

  1. 制御プログラムに基づいて記憶装置に対する情報の入出力処理を行うプロセッサと、
    起動プログラムを格納するフラッシュメモリと、
    前記プロセッサと前記フラッシュメモリを転送対象として、当該転送対象に関する情報を中継するチップセットと、
    前記チップセットと前記フラッシュメモリとの間に配置されて情報変換処理を実行する論理制御回路を備え、
    前記フラッシュメモリは、
    前記プロセッサのアクセス対象となるフラッシュ領域に対応した物理領域としての複数のバンクと、
    前記チップセットの構成に関するデータを格納するバイオス領域と、
    起動時の設定・初期化に関するプログラムを格納するブートブロック領域とを備え、
    前記ブートブロック領域の論理アドレスは、
    前記バイオス領域の論理アドレスに連続したアドレスとして設定され、
    前記バイオス領域の物理アドレスは、
    前記バイオス領域の論理アドレスとは異なるアドレスであって、前記ブートブロック領域の物理アドレスとは不連続なアドレス又は前記ブートブロック領域の物理アドレスが属するセクタとは異なるセクタに属するアドレスとして設定され、
    前記論理制御回路は、
    前記チップセットと前記フラッシュメモリとの間で情報の授受を行うときに、両者の論理構成に合わせるための情報変換処理を実行してな
    前記チップセットからのアクセスに応答して前記フラッシュメモリに対する制御信号を生成する制御レジスタと、
    前記チップセットの出力によるシリアルのアドレス信号をパラレルのアドレス信号に変換して前記フラッシュメモリに出力するアドレスレジスタと、
    前記チップセットの出力によるシリアルのデータ信号をパラレルのデータ信号に変換して前記フラッシュメモリに出力する第1のデータレジスタと、
    前記フラッシュメモリの出力によるパラレルのデータ信号をシリアルのデータ信号に変換して前記チップセットに出力する第2のデータレジスタと、
    前記プロセッサからのアクセスに応答して前記バンクの何れかを選択するための切替を指令するバンク切替レジスタと、
    前記バンク切替レジスタの指令によるバンクを前記プロセッサのアクセス対象に選択する制御レジスタと、
    前記チップセットからのアドレスを判別してアドレス変換の要否を判定する判定器と、
    前記判定器からアドレス変換を要するとの判定結果が出力されたときに、前記チップセットからのアドレスのうち前記フラッシュメモリをアクセスするための論理アドレスを物理アドレスに変換するアドレス変換器とを備え、
    前記アドレス変換器により変換された物理アドレスに従って前記フラッシュメモリをアクセスしてなる
    情報処理装置。
  2. 複数の記憶デバイスを有する記憶装置と、
    上位装置からのコマンドに応答して前記記憶装置に対するデータの入出力処理を行うコントローラと、を備え、
    前記コントローラは、
    前記上位装置との通信を制御するホスト制御部と、
    制御プログラムを格納するメモリと、
    起動プログラム及び起動時の設定・初期化に関するプログラムを格納するフラッシュメモリと、
    前記制御プログラムと起動プログラムに基づいて前記コマンドに応じた処理を実行するとともに、コントローラ全体の動作を制御するプロセッサと、
    前記記憶装置に対するアクセスを制御する記憶制御部と、
    前記ホスト制御部と前記記憶制御部との間に配置されて、前記プロセッサの処理に伴うデータの転送を制御するデータ転送制御部と、
    前記プロセッサとメモリとフラッシュメモリおよびデータ転送制御部を転送対象として、当該転送対象に関するデータを中継するチップセットと、
    前記チップセットと前記フラッシュメモリとの間に配置されて、前記チップセットと前記フラッシュメモリ間で情報の授受を行うときに両者の論理構成に合わせるための情報変換処理を実行する論理制御回路とを備え
    前記フラッシュメモリは、
    前記プロセッサのアクセス対象となるフラッシュ領域に対応した物理領域としての複数のバンクと、
    前記チップセットの構成に関するデータを格納するバイオス領域と、
    起動時の設定・初期化に関するプログラムを格納するブートブロック領域とを備え、
    前記ブートブロック領域の論理アドレスは、
    前記バイオス領域の論理アドレスに連続したアドレスとして設定され、
    前記バイオス領域の物理アドレスは、
    前記バイオス領域の論理アドレスとは異なるアドレスであって、前記ブートブロック領域の物理アドレスとは不連続なアドレス又は前記ブートブロック領域の物理アドレスが属するセクタとは異なるセクタに属するアドレスとして設定され、
    前記論理制御回路は、
    前記チップセットからのアクセスに応答して前記フラッシュメモリに対する制御信号を生成する制御レジスタと、
    前記チップセットの出力によるシリアルのアドレス信号をパラレルのアドレス信号に変換して前記フラッシュメモリに出力するアドレスレジスタと、
    前記チップセットの出力によるシリアルのデータ信号をパラレルのデータ信号に変換して前記フラッシュメモリに出力する第1のデータレジスタと、
    前記フラッシュメモリの出力によるパラレルのデータ信号をシリアルのデータ信号に変換して前記チップセットに出力する第2のデータレジスタと、
    前記プロセッサからのアクセスに応答して前記バンクの何れかを選択するための切替を指令するバンク切替レジスタと、
    前記バンク切替レジスタの指令によるバンクを前記プロセッサのアクセス対象に選択する制御レジスタと、
    前記チップセットからのアドレスを判別してアドレス変換の要否を判定する判定器と、
    前記判定器からアドレス変換を要するとの判定結果が出力されたときに、前記チップセットからのアドレスのうち前記フラッシュメモリをアクセスするための論理アドレスを物理アドレスに変換するアドレス変換器とを備え、
    前記アドレス変換器により変換された物理アドレスに従って前記フラッシュメモリをアクセスしてなる
    ストレージシステム。
  3. 制御プログラムに基づいて記憶装置に対する情報の入出力処理を行うプロセッサと、
    起動プログラムを格納するフラッシュメモリと、
    前記プロセッサと前記フラッシュメモリを転送対象として、当該転送対象に関する情報を中継するチップセットと、
    前記チップセットと前記フラッシュメモリとの間に配置されて情報変換処理を実行する論理制御回路を備え、
    前記プロセッサの処理に従って前記記憶装置をアクセスする情報処理方法において、
    前記フラッシュメモリは、
    前記プロセッサのアクセス対象となるフラッシュ領域に対応した物理領域としての複数のバンクと、
    前記チップセットの構成に関するデータを格納するバイオス領域と、
    起動時の設定・初期化に関するプログラムを格納するブートブロック領域とを備え、
    前記ブートブロック領域の論理アドレスは、
    前記バイオス領域の論理アドレスに連続したアドレスとして設定され、
    前記バイオス領域の物理アドレスは、
    前記バイオス領域の論理アドレスとは異なるアドレスであって、前記ブートブロック領域の物理アドレスとは不連続なアドレス又は前記ブートブロック領域の物理アドレスが属するセクタとは異なるセクタに属するアドレスとして設定され、
    前記論理制御回路は、
    制御レジスタが前記チップセットからのアクセスに応答して前記フラッシュメモリに対する制御信号を生成する工程と、
    アドレスレジスタが前記チップセットの出力によるシリアルのアドレス信号をパラレルのアドレス信号に変換して前記フラッシュメモリに出力する工程と、
    第1のデータレジスタが前記チップセットの出力によるシリアルのデータ信号をパラレルのデータ信号に変換して前記フラッシュメモリに出力する工程と、
    第2のデータレジスタが前記フラッシュメモリの出力によるパラレルのデータ信号をシリアルのデータ信号に変換して前記チップセットに出力する工程と、
    バンク切替レジスタが前記プロセッサからのアクセスに応答して前記バンクの何れかを選択するための切替を指令する工程と、
    制御レジスタが前記バンク切替レジスタの指令によるバンクを前記プロセッサのアクセス対象に選択する工程と、
    判定器が前記チップセットからのアドレスを判別してアドレス変換の要否を判定する工程と、
    アドレス変換器が前記判定器からアドレス変換を要するとの判定結果が出力されたときに、前記チップセットからのアドレスのうち前記フラッシュメモリをアクセスするための論理アドレスを物理アドレスに変換する工程と、
    前記アドレス変換器により変換された物理アドレスに従って前記フラッシュメモリをアクセスする工程とを備え情報処理方法。
  4. 請求項記載の各工程をコンピュータに実行させるためのプログラム。
JP2008076430A 2008-03-24 2008-03-24 情報処理装置と情報処理方法およびストレージシステム Expired - Fee Related JP5143601B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008076430A JP5143601B2 (ja) 2008-03-24 2008-03-24 情報処理装置と情報処理方法およびストレージシステム
US12/153,417 US20090240876A1 (en) 2008-03-24 2008-05-19 Information processing apparatus, information processing method and storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008076430A JP5143601B2 (ja) 2008-03-24 2008-03-24 情報処理装置と情報処理方法およびストレージシステム

Publications (2)

Publication Number Publication Date
JP2009230548A JP2009230548A (ja) 2009-10-08
JP5143601B2 true JP5143601B2 (ja) 2013-02-13

Family

ID=41090003

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008076430A Expired - Fee Related JP5143601B2 (ja) 2008-03-24 2008-03-24 情報処理装置と情報処理方法およびストレージシステム

Country Status (2)

Country Link
US (1) US20090240876A1 (ja)
JP (1) JP5143601B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8225069B2 (en) 2009-03-31 2012-07-17 Intel Corporation Control of on-die system fabric blocks
US8898439B2 (en) * 2009-07-17 2014-11-25 Macronix International Co., Ltd. Serial flash memory and address transmission method thereof
US8463979B2 (en) * 2009-09-08 2013-06-11 Ocz Technology Group Inc. Non-volatile storage devices, methods of addressing, and control logic therefor
US20110060869A1 (en) * 2009-09-08 2011-03-10 Ocz Technology Group, Inc. Large capacity solid-state storage devices and methods therefor
US8429391B2 (en) * 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
CN103827776B (zh) 2011-09-30 2017-11-07 英特尔公司 通过pci高速组件减少功耗的活动状态功率管理(aspm)
US20160232057A1 (en) * 2015-02-11 2016-08-11 Sandisk Technologies Inc. Safe mode boot loader
CN107608914B (zh) * 2017-09-29 2020-09-29 北京字节跳动网络技术有限公司 一种多路存储设备的访问方法、装置及移动终端
US10936199B2 (en) * 2018-07-17 2021-03-02 Silicon Motion, Inc. Flash controllers, methods, and corresponding storage devices capable of rapidly/fast generating or updating contents of valid page count table
CN109669729B (zh) * 2018-12-26 2022-11-01 杭州迪普科技股份有限公司 一种处理器的启动引导方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04326138A (ja) * 1991-04-25 1992-11-16 Fujitsu Ltd 高速メモリic
US5473775A (en) * 1991-10-11 1995-12-05 Kabushiki Kaisha Toshiba Personal computer using flash memory as BIOS-ROM
US5826075A (en) * 1991-10-16 1998-10-20 International Business Machines Corporation Automated programmable fireware store for a personal computer system
JPH06176562A (ja) * 1992-12-07 1994-06-24 Matsushita Electric Ind Co Ltd 半導体記憶装置
JP3670041B2 (ja) * 1993-12-10 2005-07-13 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド 不揮発性メモリチップイネーブル符号化方法、コンピュータシステム、およびメモリコントローラ
US6047373A (en) * 1997-01-02 2000-04-04 Intel Corporation Method and apparatus for setting the operating parameters of a computer system
US5987581A (en) * 1997-04-02 1999-11-16 Intel Corporation Configurable address line inverter for remapping memory
AU4334099A (en) * 1998-06-05 1999-12-20 Mylex Corporation Apparatus, system and method for n-way raid controller
TW410291B (en) * 1999-01-13 2000-11-01 Acer Inc A data processing system integrating basic input/output system and system memories
JP4731020B2 (ja) * 2001-01-24 2011-07-20 富士通セミコンダクター株式会社 半導体記憶装置、セクタアドレス変換回路、アドレス変換方法及び半導体記憶装置の使用方法
TWI267024B (en) * 2004-06-18 2006-11-21 Winbond Electronics Corp Method and apparatus for connecting LPC bus and serial flash memory
ITMI20042072A1 (it) * 2004-10-29 2005-01-29 St Microelectronics Srl Dispositivo di memoria flsh dotato di interfaccia di comunicazione low pin count
US7543096B2 (en) * 2005-01-20 2009-06-02 Dot Hill Systems Corporation Safe message transfers on PCI-Express link from RAID controller to receiver-programmable window of partner RAID controller CPU memory
JP2007087284A (ja) * 2005-09-26 2007-04-05 Fujitsu Ltd 集積回路におけるメモリ・インタフェース制御方式
JP4852315B2 (ja) * 2006-02-03 2012-01-11 株式会社日立製作所 データ信頼性向上方法及びその方法を用いた情報処理装置
US7613872B2 (en) * 2006-11-28 2009-11-03 International Business Machines Corporation Providing core root of trust measurement (CRTM) for systems using a backup copy of basic input/output system (BIOS)
TWI341491B (en) * 2007-03-07 2011-05-01 Via Tech Inc Memory access system and memory access method thereof
JP2008299476A (ja) * 2007-05-30 2008-12-11 Fujitsu Microelectronics Ltd 半導体集積回路

Also Published As

Publication number Publication date
US20090240876A1 (en) 2009-09-24
JP2009230548A (ja) 2009-10-08

Similar Documents

Publication Publication Date Title
JP5143601B2 (ja) 情報処理装置と情報処理方法およびストレージシステム
EP3049944B1 (en) Block storage apertures to persistent memory
KR101516580B1 (ko) 컨트롤러, 이를 포함하는 데이터 저장 장치 및 데이터 저장 시스템, 및 그 방법
JP4829365B1 (ja) データ記憶装置及びデータ書き込み方法
EP3436953B1 (en) Method and apparatus for processing sequential writes to a block group of physical blocks in a memory device
KR101562973B1 (ko) 메모리 장치 및 메모리 장치의 동작 방법
KR102565895B1 (ko) 메모리 시스템 및 그것의 동작 방법
US10324651B2 (en) Data transmission method, and storage controller and list management circuit using the same
JP5275623B2 (ja) メモリコントローラ及びメモリシステム
US20180024738A1 (en) Data reading method, data writing method and storage controller using the same
KR20080084082A (ko) 메모리 카드 및 그것을 포함하는 메모리 시스템 그리고그것의 동작 방법
CN107590080B (zh) 映射表更新方法、存储器控制电路单元及存储器存储装置
JP5668279B2 (ja) 不揮発性ランダムアクセスメモリおよび不揮発性メモリシステム
US9619380B2 (en) Data writing method, memory control circuit unit and memory storage apparatus
KR101594029B1 (ko) 데이터 조작 방법 및 그 방법을 이용하는 시스템 장치
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
CN108958642B (zh) 存储器系统及其操作方法
TWI710905B (zh) 資料儲存裝置及邏輯至物理位址映射表之載入方法
CN107943710B (zh) 存储器管理方法及使用所述方法的存储控制器
KR20220059259A (ko) 메모리 시스템 및 그 동작 방법
US20130262748A1 (en) Data protecting method, memory controller and memory storage device using the same
KR20080045833A (ko) 플래쉬 메모리 관리 방법 및 이를 이용하는 플래쉬 메모리시스템
KR20200076534A (ko) 데이터 저장 장치 및 그 동작 방법
KR20220046311A (ko) 스토리지 장치 및 그 동작 방법
KR20210085499A (ko) 저장 장치 및 그 동작 방법

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100906

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120924

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121023

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121121

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5143601

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees