IP Library Granted Patent US 8,949,537
Granted Patent B2
US 8,949,537 · App. 14/241,841 · Granted Feb 3, 2015

Storage control apparatus and method for detecting write completion of data

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,949,537
App. No.
14/241,841
Granted
Feb 3, 2015
Kind
B2
Abstract

A processor transmits, to a communication control module, at least one write request packet with which at least one data block element configuring a data block is respectively associated, and updates a first counter to a value corresponding to the number of the transmitted write request packets. The communication control module writes a data block element associated with the write request packet to a cache memory, updates a third counter to a value corresponding to the number of the transmitted data block elements, and reflects the third counter to a second counter. The processor determines that the data block is written to the cache memory when the second counter reaches the first counter after all write request packets are transmitted.

Claims (35)

1. A storage control apparatus comprising:

a first and a second processors;

a first and a second cache memories;

a local memory;

a processor interface module that is an interface to the first processor; and

a cache interface module that is an interface to the first cache memory,

wherein

the local memory has a first table including at least one first counter and a second table including at least one second counter;

the processor interface module has a third table including at least one third counter;

a data size of the third table and the second table is same and equal to a data size of which the local memory can be written at one time;

each of the first, second, and third counters has an ID that shows mutual correspondence relationship;

the first processor is configured to associate a job on the first processor with the ID, and transmit a takeover request of the job including the ID to the second processor, and transmit at least one write request packet including the ID, which is associated with at least one data block element configuring a data block relevant to the takeover of the job respectively, to the processor interface module, and update a value of the first counter to a value corresponding to the number of the transmitted write request packets; and

the processor interface module is configured to transmit the write request packet received from the first processor to the cache interface module; and

the cache interface module is configured to write the data block element, which is associated with the write request packet received from the processor interface module, to the first cache memory, and update a value of the third counter, which is corresponding to the ID included in the write request packet, to a value corresponding to the number of the data block element received from the processor interface module; and

the processor interface module is configured to asynchronously execute updating a value of the third counter and reflecting all value of the third counter included in the third table to all value of the second counter included in the second table at one time writing; and

the first processor is configured to, after transmitting all the write request packet, determine whether or not the second counter corresponding to the ID reaches the first counter corresponding the ID, and when that determination is positive, update the flag corresponding to the ID on the second cache memory to a write completion; and

the second processor is configured to, when the takeover request of the job including the ID is received from the first processor, determine whether or not the flag corresponding to the ID on the second cache memory is a write completion, and when that determination is positive, read the data block relevant to the takeover of job corresponding to the ID, and take over the job corresponding to the ID from the first processor.

2. A method, in a storage control apparatus is configured to:

a first and a second processors;

a first and a second cache memories;

a local memory;

a processor interface module that is an interface to the first processor, and

a cache interface module that is an interface to the first cache memory, and

wherein

the local memory has a first table including at least one first counter and a second table including at least one second counter;

the processor interface module has a third table including at least one third counter;

a data size of the third table and the second table is same and equal to a data size of which the local memory can be written at one time;

each of the first, second, and third counters has an ID that shows mutual correspondence relationship;

the method comprising step of:

the first processor associates a job on the first processor with the ID, and transmits a takeover request of the job including the ID to the second processor, and transmits at least one write request packet including the ID, which is associated with at least one data block element configuring a data block relevant to the takeover of the job respectively, to the processor interface module, and updates a value of the first counter to a value corresponding to the number of the transmitted write request packets; and

the processor interface module transmits the write request packet received from the first processor to the cache interface module; and

the cache interface module writes the data block element, which is associated with the write request packet received from the processor interface module, to the first cache memory, and updates a value of the third counter, which is corresponding to the ID included in the write request packet, to a value corresponding to the number of the data block element received from the processor interface module; and

the processor interface module asynchronously executes updating a value of the third counter and reflecting all value of the third counter included in the third table to all value of the second counter included in the second table at one time writing; and

the first processor, after transmitting all the write request packet, determines whether or not the second counter corresponding to the ID reaches the first counter corresponding the ID, and when that determination is positive, updates the flag corresponding to the ID on the second cache memory to a write completion; and

the second processor, when the takeover request of the job including the ID is received from the first processor, determines whether or not the flag corresponding to the ID on the second cache memory is a write completion, and when that determination is positive, reads the data block relevant to the takeover of job corresponding to the ID, and takes over the job corresponding to the ID from the first processor.

Assignments (2)
COMPANY SPLIT Recorded Aug 20, 2024
From: HITACHI, LTD.
To: HITACHI VANTARA, LTD.
Reel/Frame 069518/0761 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 4, 2014
From: MORITOKI, NAOKI; ASAKAWA, SHOHEI; YAMAUCHI, TAKESHI; SHIMOTAYA, SUGURU
To: HITACHI, LTD.
Reel/Frame 032343/0409 →