JP2008269363A - 記憶制御装置および記憶制御方法 - Google Patents

記憶制御装置および記憶制御方法 Download PDF

Info

Publication number
JP2008269363A
JP2008269363A JP2007112363A JP2007112363A JP2008269363A JP 2008269363 A JP2008269363 A JP 2008269363A JP 2007112363 A JP2007112363 A JP 2007112363A JP 2007112363 A JP2007112363 A JP 2007112363A JP 2008269363 A JP2008269363 A JP 2008269363A
Authority
JP
Japan
Prior art keywords
block
data
controller
storage
unit
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.)
Pending
Application number
JP2007112363A
Other languages
English (en)
Inventor
Mutsumi Hosoya
睦 細谷
Akira Fujibayashi
昭 藤林
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 JP2007112363A priority Critical patent/JP2008269363A/ja
Priority to US12/007,531 priority patent/US7937542B2/en
Priority to EP08250280A priority patent/EP1983421A3/en
Publication of JP2008269363A publication Critical patent/JP2008269363A/ja
Priority to US13/077,444 priority patent/US8250318B2/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1014Compression, i.e. RAID systems with parity using compression techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0661Format or protocol conversion arrangements

Abstract

【課題】トランザクション性能を改善すること。
【解決手段】ホストコンピュータ20からリードコマンドおよびライトコマンを受信するディスク制御装置10と、ディスク制御装置10とデータの授受を行う外部ディスク制御装置および内部ディスク装置40を備え、外部ディスク制御装置30または内部ディスク制御装置40の記憶デバイスは、ディスク制御装置10からのアクセスを物理サブブロック単位で処理し、ディスク制御装置10は、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位で外部ディスク制御装置30または内部ディスク装置40の記憶デバイスに対してアクセスするときに、論理サブブロックと物理サブブロックとの最小公倍数単位でアクセスするとともに、保証コード長を変化させる。
【選択図】図1

Description

本発明は、上位装置が使用するデータの入出力を制御する記憶制御装置に関し、特に、コントローラとコントローラのアクセス対象となる記憶デバイスとを有する記憶制御装置において、コントローラと記憶デバイスが互いに異なるサイズのデータを扱う技術に関する。
記憶制御装置(ストレージ装置)として、複数の記憶デバイスと上位装置(ホスト)からのコマンドを処理して複数の記憶デバイスに対する入出力を処理するコントローラとを備えているものがある。コントローラは、上位装置からのデータに保証コードを付けて処理し、データの信頼性を向上させている。コントローラは、記憶デバイスにアクセスする際、論理サブブロック単位でデータを入出力する。一方、記憶デバイスは、コントローラに対して物理サブブロック単位で処理する。記憶デバイスがATA(AT Attachment)をプロトコルとするハードディスクドライブの場合、論理サブブロック単位(第1のブロック単位)と物理サブブロック(第2のブロック単位)とが異なるために、論理サブブロック単位と物理サブブロック単位の各単位の公倍数分のサイズを有する第3のブロック単位で記憶デバイスにデータの書込みを指示するようにしたものが提案されている(特許文献1参照)。
特開2006−195851号公報
従来技術においては、コントローラがライトコマンドにしたがってデータの入出力処理を実行する際に、論理サブブロック単位と物理サブブロック単位のサイズが異なることを考慮し、両者のサイズの公倍数分のサイズを有する第3のブロック単位で記憶デバイスに対するデータの書込みを指示しているが、データのアクセス単位が大きくなり、ランダムアクセス時のオーバーヘッドが増加するとともに、キャッシュヒット率が低下し、トランザクション性能が劣化することが危惧される。
そこで、本発明の第1の目的は、トランザクション性能を改善することにある。また、本発明の第2の目的は、外部接続記憶デバイスに対するアクセスを改善することにある。
前記第1の目的を達成するために、本発明は、ユーザコードに保証コードを付加した論理サブブロックと物理サブブロックとの最小公倍数単位でアクセスする際に、保証コード長を変化させることによってデータ信頼性を確保しながらトランザクション性能とデータ利用率のバランスを調整することを特徴とする。
前記第2の目的を達成するために、本発明は、外部接続記憶デバイス(外部接続ドライブ)にアクセスする際に、サイドファイルに格納したデータ保証コードを使ってデータの信頼性を向上させ、外部接続ドライバに対するアクセスを改善することを特徴とする。
すなわち、本発明は、上位装置からリードコマンド及びライトコマンドを受信するコントローラと、前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスと、を有する記憶制御装置であって、前記コントローラは、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位を設定する論理サブブロック単位設定部と、前記付加コードのコード長を変更可能な付加コード長設定部と、を有し、当該付加コード長設定部で設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスし、前記記憶デバイスは、前記コントローラからのアクセスを物理サブブロック単位で処理し、前記論理サブブロック単位と前記物理サブブロック単位とはブロックサイズが異なっており、前記コントローラは、前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する、ことを特徴とする。
本発明の好適な形態は、さらに以下の特徴を備える。前記記憶デバイスは、外部接続された記憶デバイスを含み、前記コントローラは、前記外部接続された記憶デバイスをアクセス対象としてなる。前記論理サブブロック単位を構成する保証コードは複数個である。前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する暗号化部と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する復号化部と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックするデータチェック部と、を備えてなる。前記付加コード長設定部は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する。前記付加コード長設定部は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする。前記付加コードは、ユーザ指定の情報を付与するためのパッドデータを含む。
また、他の発明は、上位装置からリードコマンド及びライトコマンドを受信するコントローラと、前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスとの間でのデータの入出力を制御する、記憶制御方法であって、前記記憶デバイスは、前記コントローラからのアクセスを物理サブブロック単位で処理する工程を実行し、前記コントローラは、ユーザデータに保証コードを含むコードであって、コード長を変更可能な付加コードを加えた論理サブブロック単位を設定する第1工程と、前記設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスする第2工程と、前記物理サブブロック単位とはブロックサイズが異なる前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する第3工程と、を実行する、ことを特徴とする。
本発明の好適な形態においては、前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する第4工程と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する第5工程と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックする第6工程と、を実行する。前記第1工程は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する工程を含む。前記第1工程は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする工程を含む。
本発明によれば、データの信頼を確保しながらトランザクション性能を改善することができる。また、外部接続ドライブに対するアクセスを改善することができる。
次に、本発明の実施形態は、図面を用いて説明する。図1は、本発明の実施形態が適用された記憶制御装置(ストレージ制御装置)のブロック構成を示した図である。図1において、記憶制御装置は、ディスク制御装置10、内部ディスク装置40を備え、ディスク制御装置10は、ファイバチャネルなどの通信ネットワークを介して、上位装置(上位計算機)としての、2台のホストコンピュータ20に接続されているとともに、内部ディスク装置40に接続され、またLAN12を介して管理端末14に接続されているとともに、外部ディスク制御装置30に接続されている。
内部ディスク装置40は、複数の記憶デバイス40aを有し、外部ディスク制御装置30は、複数の記憶デバイス30aを有し、ディスク制御装置10は、各ホストコンピュータ20からリードコマンドおよびライトコマンドを受信するコントローラとして構成され、内部ディスク装置40の記憶デバイス40aまたは外部ディスク制御装置30の記憶デバイス30aに対するデータの入出力を制御するようになっている。この際、ディスク制御装置10は、コントローラとして、ユーザデータに保証コードを付加した論理サブブロックと物理サブブロックとの最小公倍数単位で各記憶デバイス40a、30aにアクセスする際に、保証コード長を変化させることによって、データの信頼性を確保しながらトランザクション性能(単位時間当たりに処理できるIO(Input Output)数)とデータ利用率のバランスを調整し、外部ディスク制御装置30の記憶デバイス30aにアクセスする際には、サイドファイルに格納したデータ保証コードを使ってデータの信頼性を向上させて、記憶デバイス30aに対するアクセスを改善することとしている。
具体的には、ディスク制御装置10は、2台のフロントエンドパッケージ100、1台のフロントエンドパッケージ102、1台のバックエンドパッケージ200、2台のマイクロプロセッサパッケージ300、2台のキャッシュメモリパッケージ400、2台のスイッチパッケージ500を備えており、各フロントエンドパッケージ100は、それぞれホストコンピュータ20に接続され、フロントエンドパッケージ102は、外部ディスク制御装置30に接続され、バックエンドパッケージ200は、内部ディスク装置40に接続されている。
各フロントエンドパッケージ100は、ローカルルータ(LR)110、ホストメモリ(HM)120、複数のプロトコルエンジン(PE)130を備えて構成され、フロントエンジンパッケージ102は、ローカルルータ210、ホストメモリ220、複数のプロトコルエンジン230を備えて構成され、バックエンドパッケージ200は、ローカルルータ210、ホストメモリ220、複数のプロトコルエンジン230を備えて構成されている。
各マイクロプロセッサパッケージ300は、メモリコントローラ(MC)310、ローカルルータ(LM)320、複数のマイクロプロセッサ(MP)330を備えて構成され、キャッシュメモリパッケージ400は、キャッシュメモリコントローラ(CMC)410、キャッシュメモリ(CM)420を備えて構成されている。各スイッチパッケージ500は、それぞれスイッチ(SW)510を備えて構成され、各スイッチ510は、ローカルルータ110と、ローカルルータ210と、メモリコントローラ310およびキャッシュメモリコントローラ410を互いに接続する通信路を開閉するようになっている。
バックエンドパッケージ200は、図2に示すように、キャッシュメモリ420と内部ディスク装置40との間でのデータの入出力を制御するようになっている。この際、キャッシュメモリ420は、データ本体DTと論理アドレスLAを含む論理ブロック5000を格納し、キャッシュメモリ420に格納された論理ブロック5000は、保証コード生成部4110で保証コードCC1が付加された論理ブロック5010としてバックエンドパッケージ200に出力される。論理ブロック5010は、データチェック部2010で保証コードCC1に関するチェックが行われる。データチェック部2010の出力による論理ブロックは、暗号化部2030で暗号化されたデータEDTが付加され、論理ブロック5020として出力される。この論理ブロック5020には、保証コード生成部2410で保証コードCC2が付加され、論理ブロック5032としてホストメモリ220に格納される。ホストメモリ220に格納された論理ブロック5032はデータチェック部2310で保証コードCC2についてチェックされ、チェックされた論理ブロックは論理ブロック5042として内部ディスク装置40に格納される。
一方、内部ディスク装置40に格納された論理ブロック5042は、FC(Fiber Chanel)プロトコルでカプセル化され、保証コード生成部2320で保証コードCC2が付加された後、ホストメモリ220に格納される。ホストメモリ220に格納された論理ブロック5037は、データチェック部2520で保証コードCC2についてのチェックが行われ、復号化部2040に出力される。復号化部2040ではデータの復号化が行われ、複合化された論理ブロック5025はデータチェック部2020で保証コードCC1についてのチェックが行われ、チェックされた論理ブロック5015は、キャッシュメモリパッケージ400の保証コードチェック部4120で保証コードCC1についてのチェックが行われ、チェック後の論理ブロック5005はキャッシュメモリ420に格納される。
一方、フロントエンドパッケージ102は、図3に示すように、キャッシュメモリ420と外部ディスク制御装置30との間のデータの入出力を制御するために、データチェック部1110、1120、暗号化部1130、復号化部1140、保証コード生成部1510、データチェック部1520、論理アクセスブロック生成・分解論理部1500、保証コード生成部1530、データチェック部1540、ホストメモリ220、データチェック部2310、保証コード生成部2320を備えて構成されている。
すなわち、フロントエンドパッケージ102は、保証コード生成部1510および保証コードチェック部1520と、ホストメモリ220との間に、論理アクセスブロック生成・分解論理部1500、保証コード生成部1530、データチェック部1540を設け、論理アクセスブロック生成・分解論理部1500で論理アクセスブロック5030を生成または論理アクセスブロック5035に分解し、ダイレクトメモリアクセスコントローラ(DMAC)150とプロトコルエンジン230との間で、ホストメモリ220を介して論理アクセスブロック5040または論理アクセスブロック5045の授受を行い、プロトコルエンジン230と外部ディスク制御装置30との間で、論理アクセスブロック5050または論理アクセルブロック5055の授受を行うようにしたものであり、他の構成はバックエンドパッケージ200と同様である。またフロントパッケージ100も、フロントエンドパッケージ102と同様の機能を備え、プロトコルエンジン130がそれぞれホストコンピュータ20に接続されている。
具体的には、ダイレクトメモリアクセスコントローラ(DMAC)150は、図4に示すように、保証コードCC2を生成する保証コード生成部1510、保証コードCC2をチェックするためのデータチェック部1520、保証コードCC2の冗長度を設定する冗長度設定部1504、論理アクセスブロックを生成する論理アクセスブロック生成論理部1501、論理アクセスブロックを分解する論理アクセスブロック分解論理部1502、論理サブブロック長を設定する論理サブブロック長設定部1505、アクセスブロック長を設定するアクセスブロック長設定部1506、アクセスブロックバッファ1503、保証コードCC3を生成する保証コード生成部1530、保証コードCC3をチェックするチェック部1540、保証コードCC3の生成に関する数をカウントするカウンタ1507、保証コードCC3のチェック数をカウントするカウンタ1508を備えて構成されている。
次に、論理アクセスブロック生成論理部1501の処理を図5(a)のフローチャートにしたがって説明する。まず、論理アクセスブロック生成論理部1501は、パラメータとして、例えば、論理サブブロック長、論理アクセスブロック長、アクセスブロックフォーマットを各設定部1505、1506から取得し、論理アクセスブロックフォーマットを分析し(S2)、論理サブブロックを取得し(S3)、保証コード、例えばCC3を生成し(S4)、論理アクセスブロック長を長くするか否かを判定し(S5)、シーケンシャル性能が要求されるときには保証コード長を長くし、トランザクション性能が要求されるときには保証コード長を短くするために、論理アクセスブロック長が長くないときにはステップS3の処理に戻り、論理アクセスブロック長が長いときには論理アクセスブロックを生成し、このルーチンでの処理を終了する。論理アクセスブロックの生成例を図6と図7および図8に示す。
図6(a)は、保証コード長(LA+CC1+CC2)が8B(ビット)の場合であって、外部ディスク制御装置の記憶デバイス(外部接続ドライブ)30aにおける物理サブブロックb1は512Bで構成され、ディスク制御装置10における論理サブブロックb2は、データが512Bで保証コードが8Bで構成され、論理アクセルブロックb3は、33280Bで構成されている例を示す。図6(b)は、保証コード長(LA+CC1+CC2)が128B(ビット)の場合であって、外部ディスク制御装置の記憶デバイス(外部接続ドライブ)30aにおける物理サブブロックb1は512Bで構成され、ディスク制御装置10における論理サブブロックb2は、データが512Bで、保証コードが128Bで構成され、論理アクセルブロックb3は、2560Bで構成されている例を示す。
図7(A)は、データ本体DATAにハミング符号D、C2と保証コードLA、C1を付加したディスク制御装置10における論理ブロックの構成を示し、図7(B)は、(A)の論理ブロックに対して、さらにハミング符号D、C2と保証コードLA、C1、C2を付加した、ディスク制御装置10における論理サブブロックb2の構成を示し、図7(C)は、外部ディスク制御装置の記憶デバイス(外部接続ドライブ)30aにおける物理サブブロックb1の構成を示し、図7(D)は、外部ディスク制御装置の記憶デバイス(外部接続ドライブ)30aにおける物理サブブロックb1に保証コードC3を付加したときの物理サブブロックb1の構成を示す。
図8(A)は、データ本体DATAに保証コードLA、C1を付加したときの論理ブロックの構成を示し、図8(B)は、暗号化されたデータ本体DATAに保証コードLA、C1、C2(暗号化された保証コード)、アクセル履歴Ac1、アクセス権限Ac2が付加された、ディスク制御装置10における論理サブブロックb2の構成を示し、図8(C)は、外部ディスク制御装置の記憶デバイス(外部接続ドライブ)30aにおける物理サブブロックb1の構成を示す。
次に、論理アクセスブロック分解論理部1502の処理を図5(b)のフローチャートにしたがって説明する。論理アクセスブロック分解論理部1502は、論理アクセスブロックを分解するに際して、パラメータとして、例えば論理ブロック長、論理アクセスブロック長、アクセスブロックフォーマットを取得し(S11)、論理アクセスフォーマットを分析し(S12)、各設定部1505,1506から論理アクセスブロックを取得し(S13)、論理アクセスブロックを論理サブブロックに分解し(S14)、次に保証コードを分解し、検証を行う(S15)。次に、論理アクセスブロック分解論理部1502は、論理アクセスブロックが長いか否かを判定し(S16)、論理アクセスブロックが長すぎるときにはステップS14の処理に戻り、論理アクセスブロックが長くないときにはこのルーチンでの処理を終了し、論理アクセスブロックの分解処理を終了する。
本実施形態によれば、ディスク制御装置10から内部ディスク装置40または外部ディスク制御装置30に対してアクセスする際に、ユーザコードに保証コードを付加した論理サブブロックb2と物理サブブロックb1との最小公倍数単位でアクセスするとともに、保証コード長、例えば、保証コードCC2の長さを変化させるようにしたため、データの信頼性を確保しながら、トランザクション性能とデータ利用率のバランスを調整することができる。
具体的には、図9(a)に示すように、保証コード長を0、64、128に選択することで、それぞれデータ利用率大・中・小となり、要求トランザクション性能は小・中・大となる。またデータ変換種別としては、図9(b)に示すように、平文では保証コード長8に対して、暗号では保証コード長は16、圧縮では保証コード長は16、圧縮+暗号では、保証コード長は32となる。また1ビットエラー訂正が可能な情報ブロック長に選択すると、1ビット訂正可能情報ブロック247、120、57、26、11、4に対して、保証コード長はそれぞれ8、16、32、64、256、512となる。
図10に、本実施形態にあるディスク制御装置の効果例を示す。このとき用いるハミングコードの内容を図11に示す。図11において、符号化率は、情報ビット/符号長である。
次に、本発明の第2実施形態を図12にしたがって説明する。本実施形態は、ダイレクトメモリアクセスコントローラ150の代わりに、ダイレクトメモリアクセスコントローラ(DMAC)160を用いたものであり、他の構成は図3に示す実施形態と同様である。
すなわち、ダイレクトメモリアクセスコントローラ160は保証コードCC1を再構成するためのCC1再構成論理部1600と、保証コードCC2を生成する保証コード生成部1630と、保証コードCC2をチェックするためのチェック部1640を備えて構成されており、プロトコルエンジン230に対して論理ブロック50502と保証コードCC2を付加して論理ブロック5060をホストメモリ220を介して転送し、プロトコルエンジン230からの論理ブロック5075をホームメモリ220を介して論理ブロック5065として入力し、論理ブロック5065の保証コードCC2をチェックし、チェック後の論理ブロック5055をCC1再構成論理部1600で再構成して論理ブロック5025として復号化部1140に出力するようにしたものである。
この際、ローカルルータ210におけるホストメモリ120は、図13に示すように、ライトアクセスに応答してプロトコルエンジン230を介して外部接続ドライブ30aにデータを格納し、リードアクセスに応答して、外部接続ドライブ30aに格納されたデータをプロトコロルエンジン230を介して取り込み、保証コード格納領域1210に保証コードCC2を格納するようになっている。このとき、ホストメモリ120とマイクロプロセッサパッケージ300のローカルルータ320との間でデータの授受が行われるとともに、ローカルルータ320は、キャッシュメモリ420とデータの授受を行い、キャッシュメモリ420には保証コードCC1が格納されたドライブ35のデータが格納されるようになっている。
具体的には、ホームメモリ120には、図14に示すように、ホームメモリ120上のパラメータリスト120aに格納された「Fromアドレス」、「TOアドレス」、「転送長」、「ステータス返送アドレス」、「保証コード格納アドレス」、「転送コマンド」・・・「パラメータリンクアドレス」・・・がホストメモリ120の保証コード格納領域1210に格納される。そして外部接続ドライブ30aに対するリード時には保証コード期待値を保証コード格納領域120にロードし、外部接続ドライブ30aへのライト時には保証コードをセーブする。この際、キャッシュメモリ420は必要に応じて保証コードをキャッシュメモリ上に展開し、外部接続ドライブ30aから得られたデータを保証コード用ドライブ30aに格納する。
論理アクセスブロックフォーマットを管理する際には、図15に示すように、管理端末14の画面上にテーブルT1の内容が論理アクセスブロックフォーマットとして表示される。この際、パリティ(RAID)グループなどの構成が定まった論理ボリューム単位で、サイズ、論理サブブロック長、論理アクセスブロック長、保証コードフォーマットなどでの指定を行うことでデータ変換が行われる。この場合、その方法、例えば、暗号、圧縮などの方法を指定すれば、適切な論理サブブロック長、論理アクセスブロック長、保証コードフォーマットを設定するような構成サポートツールを利用することも可能である。
本実施形態によれば、外部ディスク制御装置30または内部ディスク制御装置40の記憶デバイスは、ディスク制御装置10からのアクセスを物理サブブロック単位で処理し、ディスク制御装置10は、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位で外部ディスク制御装置30または内部ディスク装置40の記憶デバイスに対してアクセスするときに、論理サブブロックと物理サブブロックとの最小公倍数単位でアクセスするとともに、保証コード長を変化させるようにしたため、データ信頼性を確保しながらトランザクション性能の改善を図ることができる。
また、本実施形態によれば、ディスク制御装置10から外部接続ドライバにアクセスするときに、サイドファイルに格納したデータ保証コードを用いるようにしたため、データ信頼性を向上させることができる。
本発明の第1実施形態を示す記憶制御装置のブロック構成図である。 内部接続ドライブに対する処理を説明するためのディスク制御装置の機能とデータの構成を示す図である。 外部接続ドライブに対するディスク制御装置の処理を説明するための構成とデータの変化を示す図である。 ダイレクトメモリアクセスコントローラの構成とデータの構成を説明するための図である。 (a)は、論理アクセスブロック生成処理を説明するためのフローチャート、(b)は、論理アクセスブロック分解処理を説明するためのフローチャートである。 論理アクセスブロックの構成説明図である。 論理アクセスブロックの構成説明図である。 論理アクセスブロックの構成説明図である。 保証コード長の選択ポリシーを説明するための図であって、(a)は、データ利用率、トランザクション性能による選択を説明するための図、(b)は、データ変換種別による選択を説明するための図、(c)は、1ビットエラー訂正が可能な情報ブロック長による選択を説明するための図である。 本発明に係るディスク制御装置の効果を示すための図である。 ハミングコードの構成説明図である。 本発明の第2実施形態を示すディスク制御装置の要部構成とデータの構成を示す図である。 ローカルルータと外部接続ドライブとの関係を説明するための構成図である。 ディスク制御装置で用いられるDMAパラメータリストの構成を説明するための図である。 論理アクセスブロックフォーマット管理画面を説明するための図である。
符号の説明
10 ディスク制御装置、14 管理端末、20 ホストコンピュータ、30 外部ディスク制御装置、40 内部ディスク装置、100、102 フロントエンドパッケージ、200 バックエンドパッケージ、30 マイクロプロセッサパッケージ、400 キャッシュメモリパッケージ、500 スイッチパッケージ、150、160、250 ダイレクトメモリアクセスコントローラ、1500 論理アクセスブロック生成・分解論理部、1501 論理アクセスブロック生成論理部、1502 論理アクセスブロック分解論理部、1503 アクセスブロックバッファ

Claims (12)

  1. 上位装置からリードコマンド及びライトコマンドを受信するコントローラと、
    前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスと、
    を有する記憶制御装置であって、
    前記コントローラは、ユーザデータに保証コードを含む付加コードを加えた論理サブブロック単位を設定する論理サブブロック単位設定部と、
    前記付加コードのコード長を変更可能な付加コード長設定部と、
    を有し、当該付加コード長設定部で設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスし、
    前記記憶デバイスは、前記コントローラからのアクセスを物理サブブロック単位で処理し、
    前記論理サブブロック単位と前記物理サブブロック単位とはブロックサイズが異なっており、
    前記コントローラは、前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する、ことを特徴とする記憶制御装置。
  2. 前記記憶デバイスは外部接続された記憶デバイスを含み、前記コントローラは、前記外部接続された記憶デバイスをアクセス対象とする、ことを特徴とする請求項1に記載の記憶制御装置。
  3. 前記論理サブブロック単位を構成する保証コードは複数個である、ことを特徴とする請求項1に記載の記憶制御装置。
  4. 前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する暗号化部と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する復号化部と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックするデータチェック部と、を備えてなる、ことを特徴とする請求項1に記載の記憶制御装置。
  5. 前記付加コード長設定部は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する、ことを特徴とする請求項1に記載の記憶制御装置。
  6. 前記付加コード長設定部は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする、ことを特徴とする請求項1に記載の記憶制御装置。
  7. 前記付加コードは、論理アドレスを含む、ことを特徴とする請求項1に記載の記憶制御装置。
  8. 前記付加コードは、ユーザ指定の情報を付与するためのパッドデータを含む、ことを特徴とする請求項1に記載の記憶制御装置。
  9. 上位装置からリードコマンド及びライトコマンドを受信するコントローラと、前記コントローラに接続されて、当該コントローラの制御に基づいてデータが読み出され、又はデータが書き込まれる複数の記憶デバイスとの間でのデータの入出力を制御する、記憶制御方法であって、
    前記記憶デバイスは、
    前記コントローラからのアクセスを物理サブブロック単位で処理する工程を実行し、
    前記コントローラは、
    ユーザデータに保証コードを含むコードであって、コード長を変更可能な付加コードを加えた論理サブブロック単位を設定する第1工程と、
    前記設定されたコード長の付加コードを含む前記論理サブブロック単位で前記記憶デバイスにアクセスする第2工程と、
    前記物理サブブロック単位とはブロックサイズが異なる前記論理サブブロックと前記物理サブブロックとの公倍数からなる特定ブロックサイズで前記記憶デバイスとの間のアクセスを処理する第3工程と、
    を実行する、ことを特徴とする記憶制御方法。
  10. 前記コントローラは、前記上位装置または前記記憶デバイスとの間で入出力処理するデータを暗号化する第4工程と、前記上位装置または前記記憶デバイスからのデータのうち暗号化されたデータを復号化する第5工程と、前記暗号化部で暗号化されたデータまたは前記復号化部で復号化されたデータの信頼性を前記保証コードに従ってチェックする第6工程と、を実行する、ことを特徴とする請求項9に記載の記憶制御方法。
  11. 前記第1工程は、前記上位装置の業務アプリケーションプログラムの特性に応じて付加コード長を変更する工程を含む、ことを特徴とする請求項9に記載の記憶制御方法。
  12. 前記第1工程は、トランザクション性能が要求されるときには、前記付加コードを短くし、シーケンシャル性能が要求されるときには、前記付加コードを長くする工程を含む、ことを特徴とする請求項9に記載の記憶制御方法。
JP2007112363A 2007-04-20 2007-04-20 記憶制御装置および記憶制御方法 Pending JP2008269363A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007112363A JP2008269363A (ja) 2007-04-20 2007-04-20 記憶制御装置および記憶制御方法
US12/007,531 US7937542B2 (en) 2007-04-20 2008-01-11 Storage controller and storage control method for accessing storage devices in sub-block units
EP08250280A EP1983421A3 (en) 2007-04-20 2008-01-22 Storage controller and storage control method
US13/077,444 US8250318B2 (en) 2007-04-20 2011-03-31 Storage controller and storage control method for accessing storage devices in sub-block units

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007112363A JP2008269363A (ja) 2007-04-20 2007-04-20 記憶制御装置および記憶制御方法

Publications (1)

Publication Number Publication Date
JP2008269363A true JP2008269363A (ja) 2008-11-06

Family

ID=39526345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007112363A Pending JP2008269363A (ja) 2007-04-20 2007-04-20 記憶制御装置および記憶制御方法

Country Status (3)

Country Link
US (2) US7937542B2 (ja)
EP (1) EP1983421A3 (ja)
JP (1) JP2008269363A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010532520A (ja) * 2007-06-29 2010-10-07 エミュレックス デザイン アンド マニュファクチュアリング コーポレーション 割り当て単位に基づく仮想フォーマッティング法および割り当て単位に基づく仮想フォーマッティング法を利用するデバイス

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012137256A1 (en) * 2011-04-06 2012-10-11 Hitachi, Ltd. Disk array apparatus and control method thereof
US9239781B2 (en) 2012-02-07 2016-01-19 SMART Storage Systems, Inc. Storage control system with erase block mechanism and method of operation thereof
US9213486B2 (en) 2012-02-22 2015-12-15 International Business Machines Corporation Writing new data of a first block size to a second block size using a write-write mode
US9671962B2 (en) * 2012-11-30 2017-06-06 Sandisk Technologies Llc Storage control system with data management mechanism of parity and method of operation thereof
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9329928B2 (en) 2013-02-20 2016-05-03 Sandisk Enterprise IP LLC. Bandwidth optimization in a non-volatile memory system
US9183137B2 (en) 2013-02-27 2015-11-10 SMART Storage Systems, Inc. Storage control system with data management mechanism and method of operation thereof
US10049037B2 (en) 2013-04-05 2018-08-14 Sandisk Enterprise Ip Llc Data management in a storage system
US9170941B2 (en) 2013-04-05 2015-10-27 Sandisk Enterprises IP LLC Data hardening in a storage system
US9543025B2 (en) 2013-04-11 2017-01-10 Sandisk Technologies Llc Storage control system with power-off time estimation mechanism and method of operation thereof
US10546648B2 (en) 2013-04-12 2020-01-28 Sandisk Technologies Llc Storage control system with data management mechanism and method of operation thereof
US9367353B1 (en) 2013-06-25 2016-06-14 Sandisk Technologies Inc. Storage control system with power throttling mechanism and method of operation thereof
US9244519B1 (en) 2013-06-25 2016-01-26 Smart Storage Systems. Inc. Storage system with data transfer rate adjustment for power throttling
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US9448946B2 (en) 2013-08-07 2016-09-20 Sandisk Technologies Llc Data storage system with stale data mechanism and method of operation thereof
US9361222B2 (en) 2013-08-07 2016-06-07 SMART Storage Systems, Inc. Electronic system with storage drive life estimation mechanism and method of operation thereof
US9431113B2 (en) 2013-08-07 2016-08-30 Sandisk Technologies Llc Data storage system with dynamic erase block grouping mechanism and method of operation thereof
US9747157B2 (en) 2013-11-08 2017-08-29 Sandisk Technologies Llc Method and system for improving error correction in data storage
US9152555B2 (en) 2013-11-15 2015-10-06 Sandisk Enterprise IP LLC. Data management with modular erase in a data storage system
US9880750B1 (en) * 2014-12-05 2018-01-30 Vexata, Inc. Storage architecture for storage class memories
WO2016113831A1 (ja) * 2015-01-13 2016-07-21 株式会社日立製作所 ストレージシステム、及び、記憶制御方法
TWI776215B (zh) * 2020-08-24 2022-09-01 奇蹟行動科技有限公司 產生使用者介面的描述碼之方法、系統及非暫態電腦可讀取儲存媒體

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03166681A (ja) * 1989-11-25 1991-07-18 Tonami Denki Eng:Kk データカードおよびリーダライタ
JPH0860910A (ja) * 1994-08-16 1996-03-05 Kokusai Gijutsu Kaihatsu Kk 情報処理方法
JPH08255438A (ja) * 1995-03-15 1996-10-01 Sony Corp データレコーダー
US20020184556A1 (en) * 2001-06-05 2002-12-05 Ebrahim Hashemi Data storage array employing block verification information to invoke initialization procedures
JP2003316527A (ja) * 2002-04-25 2003-11-07 Hitachi Ltd 外部記憶装置におけるデータの整合性保証チェック方式
JP2005084799A (ja) * 2003-09-05 2005-03-31 Hitachi Ltd データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置
JP2006195851A (ja) * 2005-01-17 2006-07-27 Hitachi Ltd ストレージシステム
JP2006344353A (ja) * 2006-06-16 2006-12-21 Toshiba Corp データ記録システム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2831602B2 (ja) * 1995-01-13 1998-12-02 富士通株式会社 圧縮データ管理装置及び圧縮データ管理方法
JP4585052B2 (ja) 1997-09-18 2010-11-24 株式会社東芝 データ記録システム
US6467060B1 (en) * 1998-06-26 2002-10-15 Seagate Technology Llc Mass storage error correction and detection system, method and article of manufacture
US7634614B2 (en) * 2003-01-13 2009-12-15 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves and that support virtual disk formatting
JP2004288078A (ja) * 2003-03-25 2004-10-14 Hitachi Ltd 固定長ディスクを利用したディスクアレイシステム
US7610319B1 (en) * 2004-03-01 2009-10-27 Symantec Operating Corporation Efficient operations using assistance from secondary site
US7685360B1 (en) * 2005-05-05 2010-03-23 Seagate Technology Llc Methods and structure for dynamic appended metadata in a dynamically mapped mass storage device
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
JP4459153B2 (ja) 2005-10-21 2010-04-28 本田技研工業株式会社 小型電動車両の後部懸架装置
US7512767B2 (en) * 2006-01-04 2009-03-31 Sony Ericsson Mobile Communications Ab Data compression method for supporting virtual memory management in a demand paging system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03166681A (ja) * 1989-11-25 1991-07-18 Tonami Denki Eng:Kk データカードおよびリーダライタ
JPH0860910A (ja) * 1994-08-16 1996-03-05 Kokusai Gijutsu Kaihatsu Kk 情報処理方法
JPH08255438A (ja) * 1995-03-15 1996-10-01 Sony Corp データレコーダー
US20020184556A1 (en) * 2001-06-05 2002-12-05 Ebrahim Hashemi Data storage array employing block verification information to invoke initialization procedures
JP2003316527A (ja) * 2002-04-25 2003-11-07 Hitachi Ltd 外部記憶装置におけるデータの整合性保証チェック方式
JP2005084799A (ja) * 2003-09-05 2005-03-31 Hitachi Ltd データ転送装置の制御方法、データ転送回路、及びディスクアレイ装置
JP2006195851A (ja) * 2005-01-17 2006-07-27 Hitachi Ltd ストレージシステム
JP2006344353A (ja) * 2006-06-16 2006-12-21 Toshiba Corp データ記録システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010532520A (ja) * 2007-06-29 2010-10-07 エミュレックス デザイン アンド マニュファクチュアリング コーポレーション 割り当て単位に基づく仮想フォーマッティング法および割り当て単位に基づく仮想フォーマッティング法を利用するデバイス

Also Published As

Publication number Publication date
US20110179238A1 (en) 2011-07-21
US8250318B2 (en) 2012-08-21
EP1983421A2 (en) 2008-10-22
US20080263289A1 (en) 2008-10-23
EP1983421A3 (en) 2011-12-07
US7937542B2 (en) 2011-05-03

Similar Documents

Publication Publication Date Title
JP2008269363A (ja) 記憶制御装置および記憶制御方法
US10445179B2 (en) Securely storing data in a dispersed storage network
US9509514B2 (en) Deleting encoded data slices in a dispersed storage network
US9819484B2 (en) Distributed storage network and method for storing and retrieving encryption keys
US9274977B2 (en) Storing data integrity information utilizing dispersed storage
US8468137B2 (en) Distributed storage network that processes data in either fixed or variable sizes
US9015499B2 (en) Verifying data integrity utilizing dispersed storage
US9710199B2 (en) Non-volatile memory data storage with low read amplification
US8621268B2 (en) Write threshold utilization in a dispersed storage system
WO2012050935A2 (en) Apparatus, system, and method for data transformations within a data storage device
JP2012090286A (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
JP5118494B2 (ja) イン−ストリームデータ暗号化/復号の機能を有するメモリシステム
JP2008524969A5 (ja)
US10802958B2 (en) Storage device, its controlling method, and storage system having the storage device
JP6342013B2 (ja) 不揮発性メモリ・アレイを含むデータ・ストレージ・システムを動作させるための方法、システム及びコンピュータ・プログラム
JP2019204463A (ja) ストレージシステム及びその制御方法
US9058295B2 (en) Encrypt data of storage device
US20220377054A1 (en) Data storage device data recovery using remote network storage
US20220342755A1 (en) Adjusting Error Encoding Parameters for Writing Encoded Data Slices

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090225

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090626

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111114

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120316

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120731