IP Library Granted Patent US 7,505,890
Granted Patent B2
US 7,505,890 · App. 10/342,682 · Granted Mar 17, 2009

Hard disk drive emulator

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 7,505,890
App. No.
10/342,682
Granted
Mar 17, 2009
Kind
B2
Abstract

A hard disk drive (HDD) emulator comprises a dynamic random access memory, a controller that refreshes content of the dynamic random access memory, and an input/output port coupled to the controller. The input/output port provides a hard disk drive interface. An operating system of a computing system in which the HDD emulator is installed uses the dynamic random access memory as a swap storage space.

Claims (59)

1. A hard disk drive (HDD) emulator for use in a computing system comprising:

a dynamic random access memory;

a controller that refreshes content of the dynamic random access memory; and

an input/output port coupled to the controller, the input/output port providing a hard disk drive interface,

wherein an operating system of the computing system in which the HDD emulator is installed uses the dynamic random access memory as a swap storage space, wherein the dynamic random access memory has data storage cells and error correction coding (ECC) cells, and the controller causes the dynamic random access memory to store swapped data in both the data storage cells and the ECC cells.

2. The HDD emulator in accordance with claim 1 , wherein the dynamic random access memory comprises at least one dual in-line memory module.

3. The HDD emulator in accordance with claim 1 , wherein a virtual memory manager of the computing system in which the HDD emulator is installed uses the dynamic random access memory to store a swap directory and swap data.

4. The HDD emulator in accordance with claim 1 , further comprising non-volatile memory, wherein the controller causes the non-volatile memory to store at least one of boot operating system files and application files.

5. The HDD emulator in accordance with claim 4 , wherein the non-volatile memory comprises electrically erasable programmable read only memory.

6. The HDD emulator in accordance with claim 1 , further comprising non-volatile memory, wherein the controller causes the non-volatile memory to store at least one of partition information and file directory information.

7. The HDD emulator in accordance with claim 6 , wherein the non-volatile memory comprises a non-wearable memory.

8. The HDD emulator in accordance with claim 6 , wherein the non-volatile memory comprises a non-volatile static random access memory.

9. The HDD emulator in accordance with claim 1 , wherein the controller comprises a hard drive emulator controller, and a dynamic random access memory controller for refreshing content of the dynamic random access memory; the dynamic random access memory comprises at least one dual in-line memory module having data storage cells and ECC cells; and the dynamic random access memory controller causes the dynamic random access memory to store swapped data in both the data storage cells and the ECC cells; and the HDD emulator further comprises:

electrically erasable programmable read only memory for storing boot operating system files; and

non-volatile static random access memory for storing at least one of partition information and file directory information.

10. A server blade using a hard disk drive emulator in solid state memory, comprising:

one or more processors running an operating system;

a main memory;

a hard disk drive (HDD) controller coupled to at least one processor: and

the hard disk drive (HDD) emulator comprising:

solid state memory comprising dynamic random access memory;

an emulator controller communicatively coupled to receive requests from the HDD controller, by which the operating system causes the HDD emulator to use at least a portion of the dynamic random access memory as a swap storage space, wherein the dynamic random access memory includes at least one dual in-line memory module having data storage cells and error correction coding (ECC) cells, and the emulator controller causes the dynamic random access memory to store swapped data in both the data storage cells and the ECC cells.

11. The server blade of claim 10 , further comprising a hard drive interface connector coupled to the HDD controller, wherein:

the HDD emulator has an input/output port connected to the emulator controller, and

the input/output port is connected to the hard drive interface connector.

12. The server blade of claim 10 , further comprising electrically erasable programmable read only memory, wherein the electrically erasable programmable read only memory stores at least one of boot operating system files and application files.

13. The server blade of claim 10 , further comprising non-volatile static random access memory, wherein the non-volatile static random access memory stores at least one of partition information and file directory information.

14. The server blade of claim 10 , further comprising a bootable BIOS.

15. A server including a server blade, the server blade using a hard disk drive emulator in solid state memory and comprising:

one or more processors running an operating system;

a main memory;

a hard disk drive (HDD) controller coupled to at least one processor; and

the hard disk drive (HDD) emulator comprising:

solid state memory comprising dynamic random access memory;

an emulator controller communicatively coupled to receive requests from the HDD controller, by which the operating system causes the HDD emulator to use at least a portion of the dynamic random access memory as a swap storage space,

wherein the dynamic random access memory includes at least one dual in-line memory module having data storage cells and error correction coding (ECC) cells, and

the emulator controller causes the dynamic random access memory to store swapped data in both the data storage cells and the ECC cells.

16. The server of claim 15 , wherein the server is included in a headend system, which serves at least one thin client application running in a set top box of at least one user.

17. The server of claim 16 , wherein:

the server is a head-end content server having a plurality of server blades,

each of the plurality of server blades includes a respective hard drive emulator, and

the server is coupled by a broad-band cable system to at least one thin client, and the server serves data to the thin client.

18. A computer system using a hard disk drive emulator in solid state memory, comprising:

one or more general purpose processors configured to run an operating system having virtual memory;

a hard disk drive (HDD) controller coupled to at least one processor of the one or more general purpose processors; and

the hard disk drive (HDD) emulator comprising:

solid state memory comprising dynamic random access memory;

an emulator controller communicatively coupled to receive requests from the HDD controller;

wherein a swap partition of the virtual memory is located in the dynamic random access memory, to support virtual memory operations of the operating system, wherein the dynamic random access memory includes at least one dual in-line memory module having data storage cells and error correction coding (ECC) cells, and the emulator controller causes the dynamic random access memory to store swapped data in both the data storage cells and the ECC cells.

19. The computer system of claim 18 , further comprising:

a system bus coupled to the one or more processors; and

a hard disk interface coupled to the system bus,

wherein the hard disk drive emulator is connected to the hard disk interface.

20. A method for emulating a hard disk drive in a computing system, comprising the steps of:

receiving swap data from a processor of a server blade by way of a hard disk drive connector interface of a hard disk drive (HDD) emulator; and

storing the swap data in a dynamic random access memory of the hard disk drive emulator, wherein the dynamic random access memory has data memory cells and error correction coding (ECC) cells the method further comprising storing a first portion of the swap data in the data storage memory cells and a second portion of the swap data in the ECC cells.

21. The method of claim 20 , further comprising storing at least one of partition information, file directory information, and a boot operating system in a non-volatile memory of the hard disk drive emulator.

22. The method of claim 21 , wherein partition information and file directory information are stored in a non-volatile static random access memory of the hard disk drive emulator.

23. The method of claim 21 , wherein a boot operating system is stored in a flash electrically erasable programmable read only memory of the hard disk drive emulator.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 11, 2008
From: SEDNA PATENT SERVICES, LLC
To: COX COMMUNICATIONS, INC.
Reel/Frame 021817/0486 →
CHANGE OF NAME Recorded Sep 20, 2004
From: TVGATEWAY, LLC
To: SEDNA PATENT SERVICES, LLC
Reel/Frame 015177/0980 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2004
From: WORLDGATE COMMUNICATIONS, INC.
To: TVGATEWAY, LLC
Reel/Frame 014406/0176 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2003
From: KUZNETSOV, SERGEI; DENISON, JOHN
To: WORLDGATE SERVICE, INC.
Reel/Frame 014197/0377 →