1460901977-42db91c5-d921-48c2-8a8d-09348fc2c144

1. A non-volatile semiconductor memory device comprising:
a memory core circuit including a cell array in which electrically rewritable and non-volatile memory cells are arranged therein, decoders configured to select the memory cells, and sense amplifiers configured to perform data read and write of said cell array; and
a peripheral circuit including a memory controller configured to control data read and write in communication with said memory core circuit, wherein
said memory controller comprises:
an oscillator configured to generate an internal clock signal;
a timing control circuit configured to control timings of data read and write of said cell array as synchronous with said internal clock signal; and
a merge clock generation circuit configured to generate based on an external timing signal and said internal clock signal a merge clock signal serving for timing controlling a circuit portion in said peripheral circuit, said merge clock signal being defined as having a first signal period in which said external timing signal serves as a clock source and a second signal period without overlapping said first signal period, in which said internal clock signal serves as a clock source.
2. The non-volatile semiconductor memory device according to claim 1, wherein
said circuit portion includes an address circuit having an address register and address counter, and a command circuit configured to decode a command signal.
3. The non-volatile semiconductor memory device according to claim 1, wherein
said merge clock generation circuit comprises:
a first logic gate configured to draw said external timing signal to serve as said merge clock signal in said first signal period under the control of an OR logic of an execute flag activating said timing control circuit and a synchronous execute flag generated by sampling said execute flag with said internal clock signal; and
a second logic gate configured to draw said internal clock signal to serve as said merge clock signal in said second signal period under the control of an AND logic of said execute flag and synchronous execute flag.
4. The non-volatile semiconductor memory device according to claim 1, wherein
said external timing signal includes write enable signal and read enable signal.
5. The non-volatile semiconductor memory device according to claim 1, wherein
said external timing signal includes write enable signal and read enable signal, and wherein
said merge clock signal generation circuit comprises a flip-flop which is set and reset by said write enable signal and read enable signal, respectively, to output an operation mode determining signal supplied to said circuit portion.
6. The non-volatile semiconductor memory device according to claim 3, wherein
said oscillator is configured to be activated by an OR logic of said execute flag and synchronous execute flag.
7. The non-volatile semiconductor memory device according to claim 1, wherein
said oscillator is configured to have an activation delay function for securing a clock blanking period between said first and second signal periods.
8. The non-volatile semiconductor memory device according to claim 3, further comprising
a combination logic circuit configured to set and reset said execute flag based on the operation states of said timing control circuit and said circuit portion.
9. The non-volatile semiconductor memory device according to claim 1, wherein
said cell array is formed of NAND cell units arranged therein, each NAND cell unit having plural memory cells connected in series.
10. An electric card equipped with a non-volatile semiconductor memory device, said device comprising:
a memory core circuit including a cell array in which electrically rewritable and non-volatile memory cells are arranged therein, decoders configured to select the memory cells, and sense amplifiers configured to perform data read and write of said cell array; and
a peripheral circuit including a memory controller configured to control data read and write in communication with said memory core circuit, wherein
said memory controller comprises:
an oscillator configured to generate an internal clock signal;
a timing control circuit configured to control timings of data read and write of said cell array as synchronous with said internal clock signal; and
a merge clock generation circuit configured to generate based on an external timing signal and said internal clock signal a merge clock signal serving for timing controlling a circuit portion in said peripheral circuit, said merge clock signal being defined as having a first signal period in which said external timing signal serves as a clock source and a second signal period without overlapping said first signal period, in which said internal clock signal serves as a clock source.
11. An electric-device comprising:
a card interface;
a card slot connected to said card interface; and
an electric card defined in claim 10 and electrically connectable to said card slot.
12. The electric device according to claim 11, wherein said electric device is a digital still camera.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A method for synchronizing data for a transaction in a distributed applications network, the method comprising:
requesting data resident in a remote computing device by a process running on a local computing device;
providing the requested data from the remote computing device to the local computing device;
copying the requested data into a transaction data cache and a main data cache of the local computing device and delivering the copied data to the transaction;
managing the transaction using the copied data from the transaction cache, thereby accumulating changes in the data stored in the transaction data cache;
updating the main data cache with data changes made at the remote computing device by other users or processes;
detecting local data collision conflicts based upon comparisons of the main data cache and the data changes stored in the transaction data cache;
resolving the local data collision conflicts;
transporting the results of the local data collision conflict resolutions to the remote computing device;
detecting remote data change collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and data items changed by other users and automatic processes;
resolving the remote data collision conflicts;
detecting remote data base collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and the persistent data store on the remote computing device;
resolving the remote data base collision conflicts;
updating the persistent data store on the remote computing device;
transmitting the results of the remote data collision conflict resolutions to the local computing device and other computing devices affected by the remote data collision conflict; and
updating the local data based upon the remote data collision conflict resolutions.
2. The method for synchronizing data for a transaction in a distributed applications network of claim 1, where prior to the step of requesting data resident in a remote computing device, the local computing device performs a local resource check of a local file system.
3. The method for synchronizing data for a transaction in a distributed applications network of claim 1, where prior to the step of requesting data resident in a remote computing device, the local computing devices performs a local resource check of a local data cache.
4. The method for synchronizing data for a transaction in a distributed applications network of claim 1, further comprising requesting data from multiple remote devices.
5. The method for synchronizing data for a transaction in a distributed applications network of claim 4, further comprising checking a directory of multiple remote devices to locate the data and using an address provided by the directory to resolve to the remote computing device containing the data.
6. The method for synchronizing data for a transaction in a distributed applications network of claim 1, wherein the request for data is formed using a data model and object model that is duplicated between the local and remote computing devices thereby employing the syntax determined from the local model to request the needed data, and wherein the remote computing device uses an exact copy of the model to interpret the request for data.
7. The method for synchronizing data for a transaction in a distributed applications network of claim 5, wherein database management software residing on the same computing device that received the data request is used to retrieve the requested data.
8. The method for synchronizing data for a transaction in a distributed applications network of claim 5, wherein database management software resides on a second remote computing device connected to the computing device receiving the data request is used to retrieve the requested data.
9. The method for synchronizing data for a transaction in a distributed applications network of claim 1, wherein the remote computing device registers interest in the data retrieved by the local computing device that requested the data and updates the interest to a persistent storage device.
10. The method for synchronizing data for a transaction in a distributed applications network of claim 9, wherein the update to persistent storage is indexed by a local computing device session identifier and a data identifier related to the data delivered to the local computing device.
11. The method for synchronizing data for a transaction in a distributed applications network of claim 1, wherein after providing the requested data from the remote computing device to the local computing device, the local computing device stores the data in a local memory data cache.
12. The method for synchronizing data for a transaction in a distributed applications network of claim 1, wherein after providing the requested data from the remote computing device to the local computing device, the local computing device stores the data in a local file system.
13. The method for synchronizing data for a transaction in a distributed applications network of claim 1, wherein the accumulation of changes in the data stored in the transaction data cache further comprises a log of data indicating a before value, an after value, and a date and time stamp for individual data items.
14. The method for synchronizing data for a transaction in a distributed applications network of claim 1, wherein the detecting local data collision conflicts based upon comparisons of the data received from the remote computing device and the data stored in the transaction data cache further comprises the local computing device notifying the transaction that the conflict occurred and the local computing device notifying the transaction of the conflicting values of the data item.
15. A method of implementing synchronized distributed objects comprising:
requesting data of a remote computing device by a local computing device to be used in a requested transaction;
receiving the data request at the remote computing device;
transporting the requested data from the remote computing device to the local computing device;
receiving the requested data at the local computing device;
copying the requested data by the local computing device to a main cache and to a transaction cache data store of the local computing device;
delivering the copied data to the requested transaction;
registering the copied data on the local computing device as used by the transaction;
performing the requested transaction;
updating the transaction cache data store to reflect changes made to the copied data by processes and users performing the requested transaction on the local computing device;
updating the main cache with data changes made at the remote computing device by other users or processes
detecting a data collision conflict by comparing the changes made to the copied data by the transaction to the local data storage resources by the local computing device;
notifying the transaction that a data collision conflict occurred and notifying the transaction of the conflicting values of the data
resolving the local data collision conflicts;
transporting the results of the local data collision conflict resolutions to the remote computing device;
detecting remote data change collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and data item changes made by other users and automatic processes;
resolving the remote data change collision conflicts;
detecting remote data base collision conflicts based upon comparison of the results of the local data collision conflict resolutions and the persistent data store on the remote computing device;
resolving the remote data base collision conflicts;
updating the persistent data store on the remote computing device by transmitting the results of the remote data collision conflict resolutions to the local computing device and other computing devices affected by the data collision resolutions; and
updating the local data based upon the remote data collision conflict resolutions.
16. The method of implementing synchronized distributed objects of claim 15, where prior to the step or requesting data resident in a remote computing device, the local computing device performs a local resource check of a local file system.
17. The method of implementing synchronized distributed objects of claim 15, where prior to the step or requesting data resident in a remote computing device, the local computing device performs a local resource check of a local data cache.
18. The method of implementing synchronized distributed objects of claim 15, further comprising requesting data from multiple remote devices.
19. The method of implementing synchronized distributed objects of claim 18, further comprising checking a directory of multiple remote devices to locate the data and using an address provided by the directory to resolve to the remote computing device containing the data.
20. The method of implementing synchronized distributed objects of claim 15, wherein the request for data is formed using a data model and object model that is duplicated between the local and remote computing devices thereby employing the syntax determined from the local model to request the needed data, and wherein the remote computing device uses an exact copy of the model to interpret the request for data.
21. The method of implementing synchronized distributed objects of claim 20, wherein database management software residing on the same computing device that received the data request is used to retrieve the requested data.
22. The method of implementing synchronized distributed objects of claim 20, wherein database management software residing on a second remote computing device connected to the computing device receiving the data request is used to retrieve the requested data.
23. The method of implementing synchronized distributed objects of claim 15, wherein the remote computing device registers interest in the data retrieved by the local computing device that requested the data and updates the interest to a persistent storage device.
24. The method of implementing synchronized distributed objects of claim 23, wherein the update to persistent storage is indexed by a local computing device session identifier and a data identifier related to the data delivered to the local computing device.
25. The method of implementing synchronized distributed objects of claim 15, wherein prior to copying the requested data to a transaction cache data store, the local computing device stores the requested data in a local memory data cache.
26. The method of implementing synchronized distributed objects of claim 15, wherein prior to copying the requested data to a transaction cache data store, the local computing device stores the requested data in a local file system.
27. The method of implementing synchronized distributed objects of claim 15, wherein updating the transaction cache data store to reflect changes made to the copied data further comprises a log of data indicating a before value, an after value, and a date and time stamp for individual data items.
28. The method of implementing synchronized distributed objects of claim 15, wherein the requested data is copied to a transaction data cache separate from a main local data cache and separate from a main local data storage area on the file system of the local computing device.
29. A method of implementing synchronized distributed objects comprising:
a local computing device requests data from a remote computing device to be used in a transaction;
the local computing device checks local resources for the data required;
upon failing to locate the required data locally, the local computing device formats a request to the remote computing device;
the local computing device sends the request to the remote computing device;
the remote computing device receives the request and unpacks the request to remove formatting elements needed for transport;
the remote computing device interprets the data request from the local computing device by comparing the data request to the object model on the remote computing device;
the remote computing devices resolves the data request to a set of data access instructions that operate on database management software;
the database management software retrieves the requested data;
the remote computing device registers interest in the data retrieved by the local computing device that requested the data;
the remote computing device packages the data for transport to the local computing device;
the remote computing device delivers the data to the local computing device;
the local computing device receives the data and unpacks the request to remove formatting elements needed for transport;
the local computing device adds the data to local data storage resources device;
the local computing device copies the data and delivers the data to the requested transaction;
the local computing device stores the data in a transaction data cache used to support the transaction, the transaction data cache being separate from a main local data cache and separate from a main local data mass storage area;
the local computing device registers the data as used by the transaction;
the local data storage resources are updated to reflect changes made at the remote data source by other users and processes;
the local computing device operates the transaction, thereby accumulating changes in the data stored in the transaction data cache;
the changes in the data stored in the transaction data cache are compared against a log of data changes to the local data storage resources device since the remote data was retrieved;
the local computing device detects a local data collision conflict based upon the comparison of the data stored in the transaction data cache and the local data storage resources device;
the local computing device notifies the transaction that the local data collision conflict occurred;
the transaction resolves the local data collision conflict in an application-specific manner;
the local computing device formats the resolved local data collision conflict for transport to the remote computing device;
the local computing device transports the resolved local data collision conflict to the remote computing device for remote data conflict checking and long-term persistence;
the remote computing device receives the resolved local data collision conflicts and unpacks formatting elements added for transport;
the remote computing device compares the resolved local data collision conflicts to data items changed by other users or by automated processes;
the remote computing device stores the data items changed by other users or by automated processes as queued data changes;
the remote computing device detects a remote data change collision conflict based upon the comparison of the resolved local data collision conflicts and the queued data changes;
the remote computing device notifies the local computing device that a remote data change collision conflict occurred;
the local computing device forwards the notification to the transaction for resolution in an application-specific manner and sends a message to the remote computing device indicating resolution of the remote data collision conflict;
the remote computing device then detects remote data base collision conflicts based upon comparison of the results of the local data collision conflict resolutions and the persistent data store on the remote computing device
the remote computing device notifies the local computing device that a remote data base collision conflict occurred;
the local computing device forwards the notification to the transaction for resolution in an application-specific manner and sends a message to the remote computing device indicating resolution of the remote data collision conflict;
the remote computing device updates the persistent data store on the remote computing device;
the remote computing device checks a registration table to determine other computing devices that must be notified of the resolution performed by the local and remote computing devices;
the remote computing device transmits the results of the data collision conflict resolutions to the local computing device and other computing devices affected by the remote data collision resolutions; and
the local computing device and other computing devices update the local main cache based upon the data collision conflict resolution; and
the local computing device purges data from the transaction cache
30. A method of implementing synchronized distributed objects comprising:
requesting data from a remote computing device to be delivered to a local computing device that initiated the request, the requested data to be used in a transaction;
checking local resources available to the local computing device for the data required;
formatting a data request to the remote computing device from the local computing device upon failing to locate the required data locally;
sending the data request from the local computing device to the remote computing device;
receiving the data request at the remote computing device and unpacking the data request to remove formatting elements needed for transport;
interpreting the data request using the remote computing device to compare the data request to an object model on the remote computing device;
resolving the data request to a set of data access instructions that operate on database management software;
retrieving the requested data using the database management software as a retrieval tool;
registering interest of the local computing device that requested the data;
packaging the data for transport from the remote computing device to the local computing device;
delivering the data to the local computing device;
receiving the data at the local computing device and unpacking the requested data to remove formatting elements needed for transport;
adding the data to a local storage resources device available to the local computing device;
copying the data and delivering the data to the requested transaction;
storing the data in a transaction data cache used to support the transaction, the local computing device storing the data, and the transaction data cache being separate from a main local data cache and separate from a main local data mass storage area;
registering the data as used by the transaction;
operating the transaction, thereby accumulating changes in the data stored in the transaction data cache;
comparing the changes in the data stored in the transaction data cache against a log of data changes to the local data storage resources device since the data was retrieved from the remote computing device;
detecting a local data collision conflict by using the local computing device to compare the data stored in the transaction data cache and the local data storage resources device;
notifying the transaction that the local data collision occurred;
resolving the local data collision conflict utilizing the transaction to resolve the local data collision conflict in an application-specific manner;
formatting the resolved local data collision conflict for transport from the local computing device to the remote computing device;
transporting the resolved local data collision conflict from the local computing device to the remote computing device for remote data conflict checking and long-term persistence;
receiving the resolved local data collision conflicts at the remote computing device and unpacking formatting elements that were added for transport;
comparing the resolved local data collision conflicts to data items changed by other users or by automated processes;
storing the data items changed by other users or by automated processes as queued data changes;
detecting a remote data change collision conflict by using the remote computing device to compare the resolved local data collision conflicts and the queued data changes;
detecting a remote data base collisions conflict by using the remote computing device to compare the local data change conflict resolution to the persistent data store;
sending notification of a remote data collision conflict from the remote computing device to the local computing device;
forwarding the notification from the local computing device to the transaction for resolution of the remote data collision conflict in an application-specific manner;
sending a message from the local computing device to the remote computing device indicating resolution of the remote data collision conflict;
updating the persistent data store on the remote computing device;
checking a registration table available to the remote computing device to determine if other computing devices must be notified of the resolution performed by the local computing device;
transmitting the results of the remote data collision conflict resolutions from the remote computing device to the local computing device and to other computing devices affected by the remote data collision conflict; and
updating the main cache at the local and other computing devices based upon the remote data collision conflict resolution.
cleaning data from the transaction cache at the local device;
31. The method of implementing synchronized distributed objects of claim 30, where the step of checking local resources further comprises checking a local file system.
32. The method of implementing synchronized distributed objects of claim 31, where the step of checking local resource check further comprises checking a local data cache.
33. The method of implementing synchronized distributed objects of claim 31, where the step of requesting data from a remote computing device further comprising checking multiple remote devices to locate the data.
34. The method of implementing synchronized distributed objects of claim 33, further comprising checking a directory of multiple remote devices to locate the data and using an address provided by the directory to resolve to the remote computing device containing the data.
35. The method of implementing synchronized distributed objects of claim 30, wherein the request for data from a remote computing device is formed using a data model and object model that is duplicated between the local and remote computing devices thereby employing the syntax determined from the local model to request the needed data, and wherein the remote computing device uses an exact copy of the model to interpret the request for data.
36. The method of implementing synchronized distributed objects of claim 30, wherein the database management software resides on the same computing device that received the data request.
37. The method of implementing synchronized distributed objects of claim 30, wherein the database management software resides on a second remote computing device connected to the computing device receiving the data request.
38. The method of implementing synchronized distributed objects of claim 30, wherein registering interest of the local computing device further comprises updating the registration of interest in the data retrieved by the local computing device to persistent storage.
39. The method of implementing synchronized distributed objects of claim 38, wherein the step of updating to persistent storage further comprises indexing by a local computing device session identifier and a data identifier related to the data delivered to the local computing device.
40. The method of implementing synchronized distributed objects of claim 30, wherein the local data storage resources device is a memory data cache.
41. The method of implementing synchronized distributed objects of claim 30, wherein the local data storage resources device is a local file system.
42. The method of implementing synchronized distributed objects of claim 30, wherein the log of data changes to the local data storage resources device since the remote data was retrieved comprises a before value, an after value, and a date and time stamp for individual data items.
43. The method of implementing synchronized distributed objects of claim 30, wherein the step of the local computing device notifying the transaction that the local data collision conflict occurred further comprises the local computing device notifying the transaction of the conflicting values of the data item.
44. A method for synchronizing data for a transaction in a distributed applications network, the method comprising:
requesting, by a local computing device, data resident in a remote computing device;
copying the requested data into a transaction data cache and a main data cache of the local computing device;
accumulating changes in the data stored in the transaction data cache based on transaction processing in the local computing device;
updating the main data cache with data changes made at the remote computing device by other users or processes;
detecting local data collision conflicts based upon comparisons of the main data cache and the data changes stored in the transaction data cache;
resolving the local data collision conflicts; and
transporting the results of the local data collision conflict resolutions to the remote computing device.
45. The method for synchronizing data for a transaction in a distributed applications network as recited in claim 44, further comprising:
detecting remote data change collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and data items changed by other users and automatic processes;
resolving the remote data collision conflicts;
detecting remote data base collision conflicts based upon comparisons of the results of the local data collision conflict resolutions and the persistent data store on the remote computing device;
resolving the remote data base collision conflicts;
updating the persistent data store on the remote computing device;
transmitting the results of the remote data collision conflict resolutions to the local computing device and other computing devices affected by the remote data collision conflict; and
updating the local data based upon the remote data collision conflict resolutions.
46. A method for accomplishing a transaction in a distributed applications network comprising:
determining a transaction process to be executed by a local computing device;
determining a transaction data set for the transaction to be executed by the local computing device;
transferring the data objects in the transaction data set from a database on a remote computing device to the local computing device;
processing the transaction at the local computer and making changes to the data set reflect the transaction processing;
resolving local data conflicts due to the changes to the data set;
committing the transaction after resolving the local data conflicts; and
resolving data conflicts between the database and the local computing device.